:root{--paper:#faf7f4;--ink:#382f2b;--muted:#74645c;--rose:#a76552;--deep:#774533;--line:#dfd3ca;--soft:#eee4dc;--white:#fffdfb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h1{font-size:clamp(40px,4.25vw,66px);letter-spacing:-1.8px;margin-bottom:25px}h2{font-size:clamp(34px,3.1vw,48px);letter-spacing:-1.1px;margin-bottom:23px}h3{font-size:25px;line-height:1.2}p{color:var(--muted);margin-bottom:22px}em{font-weight:400;color:var(--rose)}.wrap{width:min(1240px,calc(100% - 104px));margin:auto}.section{padding:95px 0}.eyebrow{font:11px/1.7 Arial,sans-serif;font-size:12px;letter-spacing:2px;font-weight:600;text-transform:uppercase;color:var(--deep);margin-bottom:22px}.text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--rose);font-size:14px;font-weight:500;color:var(--deep);gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--rose);color:white;padding:16px 25px;border-radius:3px;min-height:52px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button span{font-size:20px}.skip{position:fixed;top:-100px;background:#fff;padding:12px;z-index:99}.skip:focus{top:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--deep);outline-offset:4px}header{background:rgba(250,247,244,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{height:103px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{flex:0 0 102px}.brand img{height:94px;width:102px;object-fit:contain}.nav nav{display:flex;gap:30px;align-items:center}.nav nav a{font-size:14px;padding:15px 0;border-bottom:1px solid transparent}.nav nav a:hover,.nav nav a[aria-current]{color:var(--deep);border-color:var(--rose)}.nav .button{font-size:13px;padding:12px 18px;min-height:44px}.menu-button{display:none}.hero{padding:64px 0 74px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.hero-copy{padding:10px 0}.hero-copy>p:not(.eyebrow){font-size:17px;max-width:510px;line-height:1.8}.hero-copy .eyebrow{letter-spacing:1.8px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:32px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:18px;margin-top:43px;color:var(--muted);font-size:12px;line-height:1.8}.line{width:38px;height:1px;background:var(--rose)}.hero-portrait{position:relative;padding:15px 15px 0}.hero-portrait:before{content:'';position:absolute;inset:0 0 30px;border:1px solid #c49b89;border-radius:230px 230px 7px 7px}.portrait{position:relative;width:100%;height:550px;object-fit:cover;object-position:50% 30%;border-radius:220px 220px 4px 4px}.portrait-label{position:absolute;bottom:27px;left:-23px;background:var(--white);padding:20px 30px;box-shadow:0 8px 25px #382f2b10;display:flex;flex-direction:column;gap:3px}.portrait-label span{font-size:13px;letter-spacing:2px}.portrait-label small{font-size:12px;color:var(--muted)}.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust .wrap{display:grid;grid-template-columns:1fr 1.25fr 1fr;padding:28px 0;gap:25px}.trust span{font-size:12px;text-align:center;color:var(--muted);border-right:1px solid var(--line)}.trust span:last-child{border:0}.trust strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:21px;color:var(--ink);margin-bottom:3px}.heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:35px}.heading-row .section-heading p:last-child{margin-bottom:0;max-width:550px}.heading-row>.text-link{flex-shrink:0;margin-bottom:7px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.feature-card{min-width:0}.card-image{display:block;height:280px;overflow:hidden;background:var(--soft);border-radius:110px 110px 3px 3px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card-image:hover img{transform:scale(1.04)}.card-copy{padding:23px 0 0}.card-copy .eyebrow{font-size:10px;margin-bottom:10px}.card-copy h3{font-size:26px;min-height:62px;margin-bottom:12px}.card-copy p{font-size:14px;line-height:1.7;min-height:96px;margin-bottom:9px}.small-contact{display:block;font-size:13px;margin-top:13px;min-height:44px;line-height:44px;color:var(--deep)}.small-contact span{margin-left:14px}.type-art{height:100%;padding:36px 25px;background:#dcc4b5;display:flex;flex-direction:column;justify-content:center;color:var(--deep)}.type-art span{font-size:11px;letter-spacing:4px;margin-bottom:23px}.type-art i{font-family:Georgia,serif;font-size:37px;line-height:1.2}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:95px}.about-band{background:var(--soft)}.about-photo{position:relative;max-width:460px}.about-photo img{width:100%;height:470px;object-fit:cover;object-position:center 30%;border-radius:3px 120px 3px 3px}.about-photo span{display:block;position:absolute;bottom:20px;left:20px;right:20px;background:var(--paper);padding:15px 22px;font-family:Georgia,serif;font-size:20px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.values article{padding:25px 0 0;border-top:1px solid var(--line)}.values article>span{font-family:Georgia,serif;color:var(--rose);font-size:24px;display:block;margin-bottom:26px}.values p{margin-bottom:0}.videos-band{background:#e8d9cf}.video-strip{display:flex;gap:23px;overflow:auto;padding-bottom:20px;scroll-snap-type:x mandatory}.video-strip figure{flex:0 0 250px;margin:0;scroll-snap-align:start}.video-strip video{width:100%;height:380px;object-fit:cover;background:#382f2b;border-radius:5px}.video-strip figcaption{font-size:13px;padding-top:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.steps span{display:block;font-size:12px;letter-spacing:1.8px;color:var(--deep);margin-bottom:20px}.steps h3{font-size:26px}.location{background:#f0eae4}.location iframe{width:100%;height:380px;border:0;border-radius:4px;filter:saturate(.6)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:start}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 0;list-style:none;font-size:16px;line-height:1.5}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:300;color:var(--rose)}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px;line-height:1.8;padding-right:32px}.faq-grid .text-link{margin-top:25px}.cta-section{padding:75px 0;background:var(--deep);text-align:center;color:var(--paper)}.cta-section p,.cta-section .eyebrow{color:#eadbd1}.cta-section h2{font-size:clamp(34px,3.5vw,52px)}.cta-section .button{background:var(--paper);color:var(--deep);margin-top:10px}footer{background:var(--paper);padding:55px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:70px}.footer-logo{width:120px;height:110px;object-fit:contain;margin:-13px 0 12px}.footer-grid h3{font-family:Arial,sans-serif;font-size:14px;font-weight:600;margin-bottom:25px}.footer-grid p,.footer-grid a{font-size:13px}.footer-grid a{display:block;min-height:36px}.footer-grid p{margin-top:15px}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding:22px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.floating{position:fixed;bottom:24px;right:25px;width:56px;height:56px;display:grid;place-items:center;background:#32684f;color:#fff;border-radius:50%;box-shadow:0 5px 20px #0002;z-index:21}.page-hero{padding:46px 0 64px;background:var(--soft)}.page-hero h1{max-width:900px}.page-hero>div>p:last-child{max-width:720px;font-size:18px;margin-bottom:0}.breadcrumb{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:32px;min-height:25px}.page-hero .eyebrow{margin-bottom:17px}.category{padding:65px 0}.category:nth-child(odd){background:var(--soft)}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.service-row{display:flex;gap:24px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:27px 0}.service-row .eyebrow{font-size:10px}.service-row h3{margin:10px 0}.service-row p{font-size:14px;margin:0;max-width:430px}.round-arrow{flex:0 0 45px;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--deep)}.service-row:hover .round-arrow{background:var(--deep);color:white}.service-detail{display:grid;grid-template-columns:1.1fr .8fr;gap:95px;align-items:start}.service-detail h2{font-size:32px;margin-top:35px}.service-detail h2:first-child{margin-top:0}.service-detail video{width:100%;max-height:630px;background:var(--soft);object-fit:contain;border-radius:4px}.care-note{padding:42px;background:var(--soft);border-radius:90px 4px 4px 4px}.care-note .eyebrow{margin-top:18px}.soft{background:var(--soft)}.narrow{max-width:800px}.prose h2{font-size:30px;margin-top:40px}.prose p{font-size:17px}.education{padding-left:18px;color:var(--muted)}.education li{margin-bottom:16px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.blog-card{border-top:1px solid var(--line);padding-top:25px}.blog-card h2{font-size:31px}.blog-card p{font-size:15px}.article-meta{font-size:13px}.toc{background:var(--soft);padding:25px;margin-bottom:40px}.toc a{display:block;min-height:40px;font-size:14px}.map-consent{min-height:380px;background:#e1d5ca;display:grid;align-content:center;justify-items:center;padding:35px;text-align:center;border:1px solid var(--line);border-radius:4px}.map-consent p{max-width:340px}.map-consent button{border:0}.consent{position:fixed;bottom:16px;left:16px;max-width:450px;background:var(--white);box-shadow:0 5px 40px #0002;border:1px solid var(--line);z-index:30;padding:20px;font-size:13px}.consent p{margin:0 0 10px;font-size:13px}.consent div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.consent button{border:1px solid var(--rose);background:white;color:var(--deep);padding:10px 16px;min-height:44px;font-size:13px}.consent button:first-child{background:var(--deep);color:white}.consent a{text-decoration:underline}.consent[hidden]{display:none}
@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:90px}.portrait{height:590px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.nav nav{gap:20px}.hero-grid{gap:40px}.portrait{height:510px}.hero h1{font-size:48px}.hero-actions{gap:16px}.split,.faq-grid,.service-detail{gap:45px}.feature-grid{gap:18px}.card-image{height:240px}.card-copy h3{font-size:23px}.card-copy p{min-height:120px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}header .nav{height:82px}.brand img{height:77px;width:88px}.brand{flex-basis:88px}.nav .nav-cta{display:none}.menu-button{display:block;background:none;border:1px solid var(--line);width:46px;height:44px;color:var(--deep);font-size:22px;border-radius:3px}.nav nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--paper);padding:20px;box-shadow:0 12px 14px #0001}.nav nav.open{display:flex;flex-direction:column;gap:0;align-items:stretch}.nav nav a{padding:13px 15px}.hero{padding:38px 0 45px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:43px;letter-spacing:-1.3px}.hero-copy .eyebrow{font-size:10px;letter-spacing:1.2px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:100%}.hero-copy{padding:0}.hero-actions{margin-top:23px;gap:14px 22px}.hero-note{margin-top:25px;font-size:11px}.hero-portrait{width:min(100%,410px);justify-self:center;padding:12px 12px 0}.portrait{height:430px;object-position:50% 32%}.portrait-label{left:0;bottom:22px;padding:14px 20px}.trust .wrap{grid-template-columns:1fr;gap:14px;padding:22px 0}.trust span{border-right:0;font-size:12px}.trust strong{display:inline;font-size:17px;margin-right:7px}.section{padding:60px 0}.heading-row{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:25px}h2{font-size:35px}.feature-grid{grid-template-columns:1fr 1fr;gap:35px 18px}.card-image{height:240px}.card-copy h3{font-size:24px;min-height:58px}.card-copy p{font-size:14px;min-height:116px}.card-copy{padding-top:19px}.card-copy .text-link{font-size:12px}.small-contact{font-size:12px}.split,.faq-grid,.service-detail{grid-template-columns:1fr;gap:35px}.about-photo{max-width:100%;width:100%}.about-photo img{height:440px}.values,.steps{grid-template-columns:1fr;gap:28px;margin-top:25px}.values article{display:grid;grid-template-columns:35px 1fr;gap:0 14px}.values article>span{grid-row:1/3;font-size:22px}.values h3{margin-bottom:13px}.values p{grid-column:2}.steps>div{border-top:1px solid var(--line);padding-top:25px}.steps h3{margin-bottom:13px}.steps span{margin-bottom:12px}.video-strip{gap:17px}.video-strip figure{flex-basis:235px}.video-strip video{height:360px}.location iframe{height:330px}.faq-grid{gap:15px}.cta-section{padding:55px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:first-child{display:flex;align-items:center;gap:25px}.footer-grid>div:first-child p{font-size:12px}.footer-logo{margin:0;width:100px}.footer-bottom{font-size:11px;gap:20px}.floating{width:50px;height:50px;right:15px;bottom:15px}.page-hero{padding:25px 0 45px}.page-hero h1{font-size:41px;letter-spacing:-1px}.page-hero>div>p:last-child{font-size:16px}.service-list{grid-template-columns:1fr}.service-detail video{max-height:530px}.care-note{padding:35px}.blog-grid{grid-template-columns:1fr;gap:32px}.blog-card h2{font-size:30px}.consent{max-width:calc(100% - 32px);bottom:12px}.map-consent{min-height:300px}}
@media(max-width:390px){.hero h1{font-size:38px}.card-image{height:205px}.type-art{padding:20px}.type-art i{font-size:30px}.card-copy h3{font-size:21px}.card-copy p{min-height:142px}.button{padding:14px 20px}.hero-actions .text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Lightweight progressive entrance effects and revised service photography. */
.reveal-pending{opacity:0;transform:translateY(22px)}.reveal-ready{transition:opacity .6s ease,transform .6s ease}.reveal-ready.is-visible{opacity:1;transform:none}.hero-copy{animation:intro-in .65s ease both}@keyframes intro-in{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:none}}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.photo-card img{width:100%;height:290px;object-fit:cover;border-radius:5px}.photo-card h3{margin:20px 0 18px;font-size:25px;min-height:60px}.photo-card .button{width:100%;padding:13px 15px;gap:12px}.extra-video{margin-top:35px}.section-contact{margin-top:32px}.floating{background:#25d366;border:2px solid #fff;color:#fff}.floating:hover{background:#20bf5b}.wa-badge{position:absolute;right:-3px;top:-5px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d83638;color:white;font:bold 12px/1 Arial,sans-serif;border:2px solid white}.small-contact{display:inline-flex;align-items:center;gap:12px;line-height:1.4;background:var(--rose);color:white;border-radius:3px;padding:12px 16px;min-height:44px}.small-contact span{margin:0}.small-contact:hover{background:var(--deep)}
@media(max-width:800px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.photo-card img{height:245px}.photo-card h3{font-size:23px;min-height:55px}.photo-card .button{font-size:12px}.small-contact{font-size:12px;padding:11px 12px}}
@media(max-width:390px){.photo-card img{height:205px}.photo-card h3{font-size:21px}.photo-card .button{padding:12px 9px;gap:6px}}
@media(prefers-reduced-motion:reduce){.reveal-pending,.reveal-ready{opacity:1;transform:none;transition:none}.hero-copy{animation:none}}
/* Complete service catalog on the home page. */
.feature-grid{row-gap:46px}.feature-card{display:flex;flex-direction:column}.card-copy{display:flex;flex-direction:column;flex:1}.card-copy p{flex:1}.card-copy .small-contact{align-self:flex-start}.feature-card:nth-last-child(2):nth-child(4n+1){grid-column:2}.card-image{flex-shrink:0}.card-image img{object-position:center}.photo-card img{object-position:center}
@media(max-width:800px){.feature-card:nth-last-child(2):nth-child(4n+1){grid-column:auto}.feature-grid{row-gap:35px}}
/* Mobile corrections: tidy credibility rows and readable service titles. */
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-card,.card-copy{min-width:0}.card-copy h3,.card-copy h3 a{overflow-wrap:anywhere;hyphens:auto}.video-strip{scrollbar-color:var(--rose) var(--soft);scrollbar-width:thin}.video-strip .button{margin-top:15px;width:100%;gap:15px}.video-strip video{object-fit:contain}.video-strip figcaption{min-height:52px;font-size:14px;line-height:1.5}
@media(max-width:800px){
 .trust{background:var(--soft)}.trust .wrap{padding:12px 0;gap:0}.trust .wrap>span{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;padding:20px 15px;font-size:14px;line-height:1.5;border:0;border-bottom:1px solid var(--line)}.trust .wrap>span:last-child{border-bottom:0}.trust .wrap>span strong{display:block;margin:0;font-size:23px;line-height:1.25;color:var(--deep)}
 .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-copy h3{line-height:1.2}.video-strip figure{flex-basis:min(260px,calc(100vw - 65px))}.video-strip video{height:390px}
}
@media(max-width:600px){
 .feature-grid{grid-template-columns:minmax(0,1fr);gap:34px}.feature-card:nth-last-child(2):nth-child(4n+1){grid-column:auto}.feature-card{padding-bottom:28px;border-bottom:1px solid var(--line)}.card-image{height:280px;border-radius:100px 100px 4px 4px}.card-copy{padding-top:20px}.card-copy h3{font-size:27px;min-height:0;margin-bottom:14px;letter-spacing:-.3px}.card-copy p{font-size:16px;min-height:0;line-height:1.7;margin-bottom:14px}.card-copy .eyebrow{font-size:11px;letter-spacing:1.5px}.card-copy .text-link{font-size:14px;align-self:flex-start}.card-copy .small-contact{font-size:14px;padding:14px 20px;min-height:48px}.hero-portrait{min-width:0}
}
