:root{--ink:#111;--paper:#fff;--sand:#f2f2f2;--line:#d5d5d5;--serif:"Playfair Display",Georgia,serif;--sans:Manrope,Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}.site-header{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;min-height:84px;padding:14px clamp(20px,4vw,64px)}.brand{display:block;grid-column:2;grid-row:1;justify-self:center;width:110px}.brand img{display:block;height:auto;mix-blend-mode:multiply;width:100%}nav{display:flex;gap:28px;grid-column:1;grid-row:1;justify-self:start;font:500 11px/1 var(--mono);letter-spacing:.03em;text-transform:uppercase}nav a{opacity:.62}nav a[aria-current],nav a:hover{opacity:1}.header-cta{grid-column:3;grid-row:1;justify-self:end;font:500 11px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}.header-cta span,.button span,.text-link span{margin-left:8px}.section{margin:0 auto;max-width:1280px;padding:clamp(72px,10vw,148px) clamp(20px,5vw,80px)}.hero{min-height:calc(100vh - 84px);align-content:center;display:grid}.eyebrow{font:500 11px/1.4 var(--mono);letter-spacing:.1em;margin:0 0 24px;text-transform:uppercase}.hero h1{font:600 clamp(52px,9vw,128px)/.94 var(--serif);letter-spacing:-.055em;margin:0;max-width:100%}.hero h2{font:500 clamp(24px,3.2vw,42px)/1.1 var(--serif);letter-spacing:-.035em;margin:22px 0 0;max-width:650px}.hero h3{font:500 clamp(24px,3.5vw,48px)/1.08 var(--serif);letter-spacing:-.04em;margin:12px 0 0;max-width:760px}.lead{font-size:clamp(17px,2vw,22px);line-height:1.55;max-width:700px;margin:36px 0}.button{background:var(--ink);color:var(--paper);display:inline-block;font:500 12px/1 var(--mono);letter-spacing:.04em;padding:17px 20px;text-transform:uppercase;transition:.2s}.button:hover{background:#333}.statement{border-top:1px solid var(--line);display:grid;gap:36px;grid-template-columns:1fr 2fr}.statement p:last-child{grid-column:2;max-width:620px}.display-copy{font:600 clamp(28px,4vw,54px)/1.14 var(--serif);letter-spacing:-.035em;margin:0}.section-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:42px}.section h2{font:600 clamp(34px,4.5vw,66px)/1.06 var(--serif);letter-spacing:-.045em;margin:0;max-width:720px}.service-list{border-top:1px solid var(--line)}.service-list article{border-bottom:1px solid var(--line);display:grid;gap:32px;grid-template-columns:90px 1fr;padding:32px 0}.service-list span,.process span{font:500 12px/1 var(--mono)}h3{font:600 clamp(24px,3vw,38px)/1.1 var(--serif);letter-spacing:-.035em;margin:0 0 13px}.service-list p,.split-section p,.process p{max-width:560px;margin:0}.text-link{display:inline-block;font:500 12px/1 var(--mono);letter-spacing:.04em;margin-top:34px;text-transform:uppercase}.split-section{background:var(--sand);display:grid;gap:clamp(48px,10vw,150px);grid-template-columns:1fr 1fr;max-width:none}.split-section>div{max-width:600px}.split-section p+p{margin-top:20px}.process{border-top:1px solid var(--line)}.process>h2{margin-bottom:54px}.process-grid{display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.process-grid article{border-top:1px solid var(--ink);padding-top:16px}.process-grid h3{font-size:27px;margin-top:36px}.faq{max-width:980px}.faq details{border-bottom:1px solid var(--line);padding:25px 0}.faq summary{cursor:pointer;font:600 clamp(19px,2vw,26px)/1.2 var(--serif);list-style:none;padding-right:30px;position:relative}.faq summary:after{content:"+";font:400 25px/1 var(--sans);position:absolute;right:0;top:0}.faq details[open] summary:after{content:"−"}.faq details p{margin:15px 40px 0 0;max-width:650px}.cta{background:var(--ink);color:#fff;max-width:none}.cta h2{max-width:840px}.cta p:not(.eyebrow){max-width:600px;margin-top:20px}.button-light{background:var(--paper);color:var(--ink);margin-top:40px}.button-light:hover{background:#333;color:var(--paper)}footer{border-top:1px solid var(--line);display:grid;gap:22px;grid-template-columns:1fr 1.5fr 1.5fr;padding:45px clamp(20px,5vw,80px)}footer .brand{grid-column:auto;grid-row:auto;justify-self:start}footer p{margin:0;max-width:300px}footer div{display:flex;flex-wrap:wrap;gap:14px 20px;font:500 11px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase}footer small{grid-column:1/-1;margin-top:14px;font:400 10px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.page-hero{min-height:620px}.page-hero h1{font-size:clamp(52px,8vw,112px)}.page-hero h1 em{font-style:italic}.included{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:44px}.included p{border-bottom:1px solid var(--line);font-size:14px;margin:0;padding:15px 22px 15px 0}.included p:nth-child(even){padding-left:22px;padding-right:0}.contact-hero{min-height:calc(100vh - 84px);align-content:center}.contact-hero .button{justify-self:start;min-width:min(100%,420px);padding:21px 28px;text-align:center}.direct-contact{border-top:1px solid var(--line);margin-top:72px;padding-top:20px}.direct-contact .eyebrow{margin-bottom:10px}.direct-contact a{font:600 clamp(23px,3vw,40px)/1 var(--serif)}.contact-note{border-top:1px solid var(--line)}.contact-note>p:last-child{margin:28px 0 0}@media(max-width:700px){.site-header{grid-template-columns:1fr auto 1fr;gap:16px;min-height:76px}.site-header .brand{grid-column:2;grid-row:1;width:88px}.site-header nav{grid-column:1/-1;grid-row:2;gap:19px;justify-content:space-between;overflow:auto;padding-top:7px}.site-header .header-cta{grid-column:3;grid-row:1;font-size:10px}.section{padding:76px 20px}.hero{min-height:calc(100svh - 106px)}.hero h1{font-size:clamp(50px,15vw,78px)}.hero h2{font-size:27px}.hero h3{font-size:30px}.lead{font-size:17px}.statement,.split-section{grid-template-columns:1fr}.statement p:last-child{grid-column:auto}.section-intro{display:block}.section-intro h2{margin-top:20px}.service-list article{gap:18px;grid-template-columns:48px 1fr}.service-list p{font-size:15px}.process-grid{gap:42px;grid-template-columns:1fr}.split-section{padding-left:20px;padding-right:20px}.faq{padding-left:20px;padding-right:20px}footer{grid-template-columns:1fr;padding:36px 20px}.footer-brand{width:100px}.page-hero{min-height:570px}.included{grid-template-columns:1fr;margin-top:32px}.included p:nth-child(even){padding-left:0}.contact-hero{min-height:calc(100svh - 106px)}.contact-hero .button{justify-self:stretch;width:100%;min-width:0}.direct-contact{margin-top:55px}}

/* Home hero: deliberately stepped hierarchy instead of three competing display lines. */
.hero.section{max-width:1280px}.hero.section h1{font-size:clamp(56px,7.2vw,104px);line-height:.94;max-width:920px}.hero.section h2{font:500 clamp(27px,3.1vw,43px)/1.08 var(--serif);letter-spacing:-.035em;margin:28px 0 0;max-width:540px}.hero.section h3{font:500 clamp(30px,3.7vw,52px)/1.05 var(--serif);letter-spacing:-.045em;margin:48px 0 0;max-width:680px}.hero.section .lead{margin-top:28px;max-width:620px}.hero.section .button{margin-top:10px}(max-width:700px){.hero.section h1{font-size:clamp(54px,15vw,74px)}.hero.section h2{font-size:27px;margin-top:20px}.hero.section h3{font-size:31px;margin-top:34px;max-width:440px}}

/* Mobile navigation and homepage hero refinement. */
.mobile-menu{display:none}@media(max-width:700px){.site-header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;min-height:74px;padding:12px 20px}.site-header .brand{grid-column:2;grid-row:1;width:78px}.site-header nav,.site-header .header-cta{display:none}.mobile-menu{display:block;grid-column:3;grid-row:1;justify-self:end;position:static}.mobile-menu summary{cursor:pointer;font:500 11px/1 var(--mono);letter-spacing:.08em;list-style:none;text-transform:uppercase}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:" +"}.mobile-menu[open] summary:after{content:" ×"}.mobile-drawer{background:var(--ink);display:grid;gap:0;left:0;padding:22px 20px;position:absolute;right:0;top:73px;z-index:10}.mobile-drawer a{border-bottom:1px solid rgba(255,255,255,.24);color:var(--paper);font:500 18px/1 var(--serif);padding:16px 0}.mobile-drawer a:last-child{border-bottom:0;padding-bottom:0}.hero.section:not(.page-hero){min-height:auto;padding-bottom:62px;padding-top:78px}.hero.section:not(.page-hero) h1{font-size:clamp(52px,14vw,70px);line-height:.95}.hero.section:not(.page-hero) h2{font-size:28px;margin-top:18px;max-width:350px}.hero.section:not(.page-hero) .lead{font-size:17px;line-height:1.5;margin:24px 0 0;max-width:500px}}

/* Refined hero subheading. */
.hero.section:not(.page-hero) h3{font:600 clamp(17px,2vw,23px)/1.25 var(--sans);letter-spacing:-.02em;margin:24px 0 0;max-width:440px}.hero.section:not(.page-hero) .lead{margin-top:30px}

/* Mobile header: menu on the left, contact CTA on the right. */
@media(max-width:700px){.mobile-menu{grid-column:1;justify-self:start}.site-header .header-cta{display:block;grid-column:3;grid-row:1;justify-self:end;font-size:10px}}
