:root{--paper:#f6f4ed;--paper-deep:#eeece3;--white:#fdfcf9;--navy:#132c3a;--navy-soft:#243e4b;--rust:#a44c32;--red:#c34c42;--muted:#617078;--line:#d9dcd5;--font:'Alata',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--rust);outline-offset:5px}::selection{background:#e4c6ac;color:var(--navy)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.25}p{color:var(--muted)}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:106px}.eyebrow{font-size:.75rem;letter-spacing:.13em;line-height:1.6;color:var(--muted);display:flex;align-items:center;gap:12px}.short-line{width:28px;height:2px;background:var(--rust);display:inline-block;flex:none}.skip-link{position:fixed;top:-100px;left:20px;background:var(--navy);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.topline{background:var(--navy);color:#e5e9e6}.topline-inner{display:flex;justify-content:space-between;align-items:center;min-height:33px;font-size:.75rem;letter-spacing:.13em}.separator{padding-inline:12px;color:#859ba5}.header{position:sticky;top:0;z-index:30;background:rgba(246,244,237,.98);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:100px}.brand{display:inline-flex;flex-direction:column;line-height:1;flex:none}.wordmark{font-size:1.625rem;letter-spacing:-.045em}.brand-dot{color:var(--red)}.brand-caption{font-size:.75rem;letter-spacing:.07em;margin-top:10px}.brand-caption span{color:var(--muted);margin-left:3px}.navigation{display:flex;gap:26px;align-items:center;margin-left:auto}.navigation a{font-size:.875rem;display:flex;align-items:center;gap:7px;white-space:nowrap;transition:color .2s}.navigation a:hover{color:var(--rust)}.nav-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--red)}.header-contact{padding:10px 16px;border:1px solid #bec6c7;font-size:.875rem;white-space:nowrap;transition:background .2s}.header-contact:hover{background:var(--navy);border-color:var(--navy);color:var(--paper)}.menu-toggle{display:none;width:44px;height:44px;background:none;border:1px solid var(--line);justify-content:center;align-items:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:19px;height:1.5px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.hero{padding-block:68px 58px;display:grid;grid-template-columns:1.08fr 1fr;gap:54px;align-items:center}.hero-copy{padding-bottom:8px}.hero h1{font-size:clamp(3rem,4.5vw,4.35rem);letter-spacing:-.05em;line-height:1.18;margin-block:27px 24px}.hero h1 span{color:var(--rust)}.hero-lead{font-size:1.3125rem;color:var(--navy);line-height:1.5;margin-bottom:20px}.hero-description{max-width:490px;font-size:1rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 21px;font-size:.875rem;line-height:1.5;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;text-align:center}.button-primary{background:var(--navy);color:var(--paper)}.button-primary:hover{background:var(--rust)}.text-link{font-size:.875rem;border-bottom:1px solid #839399;padding-block:5px;line-height:1.5;transition:color .2s,border-color .2s}.text-link:hover{color:var(--rust);border-color:var(--rust)}.hero-note{display:flex;gap:8px;align-items:center;margin-top:25px;font-size:.75rem;color:var(--muted)}.hero-note svg{width:17px;height:19px;flex:none;stroke:currentColor;stroke-width:1.4}.image-frame{background:#eae9e2;aspect-ratio:1/1.03;overflow:hidden;position:relative}.hero-visual img{height:100%;width:100%;object-fit:cover}.hero-visual figcaption{font-size:.75rem;letter-spacing:.07em;display:flex;justify-content:space-between;gap:12px;margin-top:15px;color:var(--muted)}.hero-visual figcaption span:last-child{letter-spacing:0;white-space:nowrap}.expertise-strip{border-block:1px solid var(--line)}.expertise-strip-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:75px;font-size:.75rem;letter-spacing:.07em;color:#53656f}.expertise-strip-inner span{white-space:nowrap}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:49px}.section-heading h2,.faq-grid h2{font-size:clamp(2rem,3vw,2.65rem);letter-spacing:-.035em;line-height:1.3;margin-top:18px}.section-intro{max-width:365px;padding-bottom:4px;font-size:1rem}.expertise-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.service-tabs{border-top:1px solid var(--line)}.service-tab{display:flex;align-items:center;text-align:left;gap:20px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:19px 10px 19px 0;font-size:1.125rem;line-height:1.4;min-height:87px}.service-tab small{font-size:.8125rem;color:var(--muted);display:block;line-height:1.5;margin-top:4px}.tab-number{font-size:.75rem;color:var(--muted);width:22px;flex:none;align-self:flex-start;margin-top:6px}.tab-mark{margin-left:auto;font-size:1.5rem;font-family:Arial,sans-serif;color:#87928f}.service-tab:hover{background:#eeeee7}.service-tab[aria-selected=true]{color:var(--rust)}.service-tab[aria-selected=true] .tab-number,.service-tab[aria-selected=true] .tab-mark{color:var(--rust)}.service-tab[aria-selected=true] small{color:var(--navy)}.service-panel{background:var(--paper-deep);min-height:526px;padding:38px 39px 29px;position:relative;border-top:3px solid var(--navy)}.service-panel[hidden]{display:none}.panel-label{font-size:.75rem;letter-spacing:.13em;margin-bottom:21px}.service-panel h3{font-size:2rem;letter-spacing:-.035em;line-height:1.3;margin-bottom:20px}.service-panel>p:not(.panel-label){line-height:1.8;font-size:.9375rem}.case-list{list-style:none;padding:0;margin:26px 0 29px}.case-list li{position:relative;padding-left:18px;font-size:.875rem;line-height:1.65;margin-top:10px}.case-list li::before{content:'';width:4px;height:4px;background:var(--rust);position:absolute;top:10px;left:0}.panel-bottom{border-top:1px solid #ccd1cb;padding-top:17px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}.technical-label{font-size:.75rem;line-height:1.7;letter-spacing:.06em;color:var(--muted)}.panel-bottom .text-link{font-size:.8125rem}
.approach{background:var(--navy);color:var(--paper);padding-block:88px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px}.approach .eyebrow{color:#b3c1c7}.approach h2{font-size:clamp(2rem,3vw,2.65rem);letter-spacing:-.035em;line-height:1.35;margin-block:22px}.approach-intro>p:not(.eyebrow){color:#b8c7cd;max-width:425px;font-size:.9375rem;line-height:1.85}.approach-signoff{font-size:.8125rem;color:#c7cfcf;display:flex;align-items:center;gap:12px;margin-top:32px}.approach .short-line{background:#bf8267}.principles article{display:flex;gap:24px;padding-block:24px;border-top:1px solid #3c505b}.principles article:first-child{padding-top:0;border-top:none}.principles article:last-child{padding-bottom:0}.principle-number{font-size:.75rem;color:#c18c72;line-height:2;flex:none}.principles h3{font-size:1.125rem;margin-bottom:9px}.principles p{font-size:.875rem;line-height:1.8;color:#b8c7cd}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;list-style:none;padding:0;margin:60px 0 0}.process-grid li{border-top:1px solid #bcc6c7;padding-top:23px}.step-number{display:block;font-size:2.5rem;color:var(--rust);line-height:1;margin-bottom:30px;letter-spacing:-.04em}.process-grid h3{font-size:1.125rem;margin-bottom:12px}.process-grid p{font-size:.875rem;line-height:1.85}.faq-section{background:var(--paper-deep);padding-block:76px}.faq-grid{display:grid;grid-template-columns:.77fr 1.23fr;gap:70px}.faq-grid h2{margin-top:20px}.faq-list details{border-bottom:1px solid #cbd1cc}.faq-list details:first-child{border-top:1px solid #cbd1cc}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px;cursor:pointer;font-size:1rem;list-style:none;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-family:Arial,sans-serif;font-size:1.5rem;font-weight:300;transition:transform .2s;color:var(--rust);flex:none}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:.9375rem;padding:0 34px 24px 0;line-height:1.8}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.contact h2{font-size:clamp(2.3rem,3.6vw,3.25rem);letter-spacing:-.04em;line-height:1.25;color:var(--rust);margin-block:23px}.contact-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8}.care-note{display:flex;gap:12px;max-width:470px;margin-top:29px;align-items:flex-start;color:var(--muted);font-size:.8125rem;line-height:1.8}.care-note svg{width:18px;height:18px;flex:none;stroke:var(--rust);stroke-width:1.4;margin-top:4px}.contact-details{border-left:1px solid var(--line);padding-left:58px}.contact-label{font-size:.75rem;letter-spacing:.12em}.phone-number{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.02em;line-height:1.5;display:inline-block;margin:12px 0 22px;white-space:nowrap}.phone-number:hover,.email-link:hover{color:var(--rust)}.contact-actions{display:flex;flex-wrap:wrap;gap:10px}.button-outline{border-color:#aab7b9}.button-outline:hover{background:var(--navy);color:var(--paper);border-color:var(--navy)}.email-link{display:inline-block;margin-top:26px;font-size:1rem;border-bottom:1px solid #a8b2b4}.contact-footnote{font-size:.8125rem;line-height:1.9;margin-top:25px}.footer{border-top:1px solid var(--line)}.footer-main{padding-block:43px;display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-main>p{font-size:.8125rem;line-height:1.9}.footer-links{display:flex;flex-direction:column;gap:8px;font-size:.8125rem}.footer-links a:hover{color:var(--rust)}.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px;font-size:.75rem;color:var(--muted)}.footer-bottom>a:hover{color:var(--rust)}
@media(min-width:1500px){.hero{padding-block:80px 70px}.hero h1{font-size:4.5rem}.hero-description{font-size:1.0625rem}.image-frame{aspect-ratio:1.03/1}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.header-inner{gap:22px}.navigation{gap:17px}.header-contact{display:none}.hero{gap:34px}.hero h1{font-size:clamp(2.8rem,4.8vw,3.6rem)}.hero-actions{gap:16px}.hero-description{font-size:.9375rem}.hero-visual figcaption{font-size:.75rem}.expertise-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.service-panel{padding:30px;min-height:526px}.service-panel h3{font-size:1.8rem}.approach-grid{gap:64px}.contact{gap:45px}.contact-details{padding-left:35px}.phone-number{font-size:2.35rem}.contact-actions .button{padding-inline:16px}.process-grid{gap:26px}}
@media(max-width:800px){html{scroll-padding-top:95px}.container{width:calc(100% - 44px)}.topline-inner{font-size:.75rem;letter-spacing:.07em}.header-inner{min-height:83px}.wordmark{font-size:1.5rem}.menu-toggle{display:flex;margin-left:auto;flex:none}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 22px 24px;flex-direction:column;gap:0;align-items:stretch;box-shadow:0 10px 12px #132c3a0a}.navigation.is-open{display:flex}.navigation a{padding:14px 4px;font-size:1rem}.header-contact{display:inline-block;margin-left:auto}.hero{padding-block:44px 37px;grid-template-columns:1.03fr .97fr;gap:25px;align-items:center}.hero h1{font-size:2.8rem;line-height:1.2;margin-top:22px}.hero .eyebrow{font-size:.75rem;letter-spacing:.08em}.hero-lead{font-size:1.125rem}.hero-description{font-size:.875rem}.hero-actions{margin-top:24px;gap:14px;align-items:flex-start}.hero .button{font-size:.8125rem;padding-inline:16px;min-height:46px}.hero .text-link{font-size:.8125rem}.hero-note{font-size:.75rem;align-items:flex-start;line-height:1.8}.hero-note svg{margin-top:1px}.hero-visual figcaption{font-size:.75rem;flex-direction:column;gap:4px}.image-frame{aspect-ratio:.73}.expertise-strip-inner{gap:20px;min-height:65px;flex-wrap:wrap;justify-content:center;font-size:.75rem;padding-block:18px}.section{padding-block:74px}.section-heading{gap:35px}.section-heading h2,.faq-grid h2{font-size:2.2rem}.section-intro{max-width:280px;font-size:.9375rem}.expertise-grid{gap:25px;grid-template-columns:.9fr 1.1fr}.service-tab{gap:12px;font-size:1rem;min-height:90px}.service-tab small{font-size:.75rem}.service-panel{padding:26px;min-height:544px}.service-panel h3{font-size:1.65rem}.service-panel>p:not(.panel-label){font-size:.875rem}.case-list li{font-size:.8125rem}.panel-label{font-size:.75rem}.approach{padding-block:64px}.approach-grid{gap:40px}.approach h2{font-size:2.05rem}.principles article{gap:17px}.process-grid{gap:30px;grid-template-columns:repeat(2,1fr);margin-top:43px}.step-number{font-size:2.2rem;margin-bottom:21px}.faq-grid{grid-template-columns:.75fr 1.25fr;gap:35px}.faq-list summary{font-size:.9375rem}.contact{gap:35px}.contact h2{font-size:2.6rem}.contact-details{padding-left:26px}.phone-number{font-size:1.9rem}.contact-actions{flex-direction:column;align-items:flex-start}.contact-actions .button{width:100%;max-width:220px}.footer-main{flex-wrap:wrap;justify-content:flex-start;gap:28px 60px}.footer-main>.brand{flex:1}.footer-main>p{flex:1;min-width:240px}.footer-links{flex-direction:row;gap:28px}.footer-bottom{font-size:.75rem}.footer-bottom span:last-child{display:none}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.topline-inner{min-height:29px;justify-content:center;font-size:.75rem}.topline-inner>span:last-child{display:none}.header-inner{min-height:78px;gap:14px}.header-contact{display:none}.wordmark{font-size:1.4rem}.brand-caption{font-size:.75rem;margin-top:8px}.hero{grid-template-columns:1fr;padding-block:37px 30px;gap:29px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(2.65rem,10.7vw,3.6rem);letter-spacing:-.045em;line-height:1.19;margin-block:22px 22px}.hero-lead{font-size:1.18rem;margin-bottom:16px}.hero-description{font-size:1rem;max-width:none;line-height:1.8}.hero-actions{gap:16px;margin-top:26px;align-items:center}.hero .button{font-size:.875rem;min-height:49px}.hero .text-link{font-size:.8125rem}.hero-note{font-size:.75rem;margin-top:20px}.hero-note svg{margin-top:2px}.image-frame{aspect-ratio:1.13}.hero-visual img{object-position:center 57%}.hero-visual figcaption{flex-direction:row;font-size:.75rem;margin-top:11px}.hero-visual figcaption span:first-child{max-width:70%}.expertise-strip-inner{gap:12px 22px;font-size:.75rem;line-height:1.9;min-height:75px;padding-block:16px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:31px}.section-heading h2,.faq-grid h2{font-size:2.05rem;margin-top:17px}.section-intro{max-width:none;margin-top:22px;font-size:1rem}.eyebrow{font-size:.75rem}.expertise-grid{display:flex;flex-direction:column;gap:22px}.service-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;border-top:1px solid var(--line);gap:0 15px}.service-tab{align-items:flex-start;gap:8px;min-height:94px;padding:16px 0;font-size:.9375rem;line-height:1.5}.service-tab small{font-size:.75rem;line-height:1.55;margin-top:5px}.tab-number{width:17px;font-size:.75rem;margin-top:3px}.tab-mark{display:none}.service-tab[aria-selected=true]{box-shadow:0 2px 0 var(--rust)}.service-panels{width:100%}.service-panel{padding:28px 25px;min-height:0}.service-panel h3{font-size:1.9rem;line-height:1.3}.service-panel>p:not(.panel-label){font-size:1rem}.panel-label{font-size:.75rem}.case-list{margin-block:24px}.case-list li{font-size:.875rem}.panel-bottom{gap:12px;align-items:flex-start;flex-direction:column}.technical-label{font-size:.75rem}.panel-bottom .text-link{font-size:.875rem}.approach{padding-block:59px}.approach-grid{grid-template-columns:1fr;gap:38px}.approach h2{font-size:2.1rem}.approach-intro>p:not(.eyebrow){font-size:1rem}.approach-signoff{margin-top:23px}.principles article{padding-block:23px;gap:20px}.principles article:first-child{padding-top:22px;border-top:1px solid #3c505b}.principles h3{font-size:1.125rem}.principles p{font-size:.9375rem}.process-grid{gap:31px 23px;margin-top:32px}.process-grid h3{font-size:1.05rem;line-height:1.45;min-height:3em}.process-grid p{font-size:.875rem}.step-number{font-size:2rem;margin-bottom:20px}.faq-section{padding-block:55px}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-grid h2 br{display:none}.faq-list summary{font-size:1rem;padding-block:20px}.faq-list details p{font-size:.9375rem;padding-right:10px}.contact{grid-template-columns:1fr;gap:33px}.contact h2{font-size:2.5rem}.contact .eyebrow{font-size:.75rem}.care-note{font-size:.8125rem;margin-top:23px}.contact-details{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.phone-number{font-size:2.55rem;margin-top:10px}.contact-actions{flex-direction:row;align-items:center}.contact-actions .button{width:auto;font-size:.875rem;padding-inline:20px}.email-link{margin-top:23px}.contact-footnote{margin-top:21px}.footer-main{padding-block:34px;display:block}.footer-main>p{margin-top:24px;font-size:.8125rem}.footer-links{flex-wrap:wrap;gap:13px 24px;margin-top:23px}.footer-bottom{font-size:.75rem;gap:15px;line-height:1.7;padding-block:18px}.footer-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Readable content and uncropped illustration at every breakpoint. */
.image-frame{aspect-ratio:1}.hero-visual img{object-fit:contain;object-position:center}
.hero-description,.section-intro,.service-panel>p:not(.panel-label),.case-list li,.approach-intro>p:not(.eyebrow),.principles p,.process-grid p,.faq-list details p{font-size:1rem}
.hero .button,.hero .text-link,.panel-bottom .text-link{font-size:.875rem}
@media(max-width:800px) and (min-width:601px){.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:2.6rem}.hero-description{font-size:1rem}.expertise-grid{grid-template-columns:1fr}.service-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.service-panel{min-height:0}.contact{grid-template-columns:1fr 1fr}.contact h2{font-size:2.25rem}}
