:root{--cream:#f7f5ef;--ivory:#eeebe3;--ink:#26251f;--muted:#77736b;--line:#d9d4c9;--dark:#292821;--accent:#99846c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.75}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(3rem,6.8vw,7.2rem);letter-spacing:-.048em}h2{font-size:clamp(2.4rem,4.8vw,5.2rem);letter-spacing:-.045em}h3{font-size:clamp(1.65rem,2.5vw,2.6rem);letter-spacing:-.035em}p{max-width:62ch}small,.eyebrow,.nav,.btn,.section-label{font-family:'Manrope',sans-serif}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.wrap{width:min(100% - 104px,1400px);margin-inline:auto}.section{padding:clamp(70px,9vw,140px) 0}.section-tight{padding:75px 0}.muted{color:var(--muted)}.header{height:96px;position:sticky;top:0;z-index:40;background:rgba(247,245,239,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:30px;justify-content:space-between}.brand{display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}.brand-name{font-size:25px;letter-spacing:.25em;font-weight:500}.brand-tag{font-size:7px;letter-spacing:.15em;margin-top:10px}.nav{display:flex;align-items:center;gap:clamp(12px,1.6vw,28px);font-size:10px;letter-spacing:.045em}.nav a:hover,.footer a:hover{color:var(--accent)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:13px 23px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;line-height:1.45;text-align:center;transition:background .2s,color .2s;max-width:100%}.btn:hover{background:#5d564a}.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{color:#fff}.btn-light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn-light:hover{background:#dcd5c9;color:var(--ink)}.arrow{font-size:17px;line-height:1;flex-shrink:0}.header-cta{white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;padding:10px;font-size:24px}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:min(760px,calc(100svh - 96px));background:#eae6de}.hero-copy{padding:clamp(40px,5vw,100px) clamp(30px,5.5vw,105px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero h1{margin:26px 0 22px}.hero h1 em{font-weight:400}.hero-lead{font-family:'Playfair Display',serif;font-size:clamp(18px,2vw,26px);line-height:1.4}.hero-text{color:#68655f;max-width:390px;margin-bottom:28px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-media{min-height:600px;overflow:hidden}.hero-media img{object-position:center}.trust{border-bottom:1px solid var(--line);background:#f9f7f2}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:30px 16px;text-align:center;font-size:10px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.intro-grid h2{max-width:650px}.intro-copy{padding-top:35px;font-size:17px;color:#615e57}.editorial-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid var(--ink);padding:0 0 10px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:18px}.services-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:45px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.service-image{aspect-ratio:1.23;overflow:hidden;background:#ded8cd}.service-image img{transition:transform .6s}.service-card:hover img{transform:scale(1.035)}.service-meta{display:flex;gap:16px;align-items:baseline;margin:24px 0 12px}.service-meta span{font-size:11px;color:var(--accent)}.service-meta h3{font-size:clamp(22px,2.3vw,32px);margin:0}.service-card p{color:#706d66;margin-bottom:8px}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:#e9e5dd}.feature-media{min-height:550px}.feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(35px,7vw,110px)}.feature-copy p{color:#69665e}.process-grid,.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:50px}.process-step{border-top:1px solid #bdb6aa;padding-top:22px}.process-step>span{color:var(--accent);font-size:12px}.process-step h3{font-size:24px;margin:28px 0 12px}.process-step p{color:#716c64}.values-grid{grid-template-columns:repeat(3,1fr);gap:40px}.value{border-top:1px solid var(--line);padding-top:20px}.value h3{font-family:'DM Sans',sans-serif;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.13em}.value p{color:#726d64}.dark-cta{background:var(--dark);color:var(--cream);padding:clamp(75px,9vw,140px) 0}.dark-cta .wrap{display:flex;justify-content:space-between;align-items:end;gap:30px}.dark-cta h2{max-width:700px;margin:25px 0}.dark-cta p{color:#d0c8bd}.page-hero{position:relative;min-height:480px;display:flex;align-items:center;background:#333027;color:white;overflow:hidden}.page-hero>img{position:absolute;inset:0;filter:brightness(.52)}.page-hero .wrap{position:relative;z-index:1;padding-block:100px}.page-hero h1{max-width:800px;margin:22px 0}.page-hero p{max-width:570px;color:#f2ede6}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split .image{height:540px}.bullets{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin:25px 0;padding:0;list-style:none}.bullets li{border-bottom:1px solid var(--line);padding:10px 0}.bullets li:before{content:'—';margin-right:10px;color:var(--accent)}.text-block{max-width:850px}.text-block p{font-size:17px;color:#625e57}.faq-list{max-width:900px;margin:35px auto}.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}.faq-list summary{cursor:pointer;font-family:'Playfair Display',serif;font-size:clamp(20px,2.5vw,29px);list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary:after{content:'+';font-family:'DM Sans';font-size:23px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:#706a61;padding-top:16px}.form-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.field input,.field select,.field textarea{width:100%;min-width:0;background:#fffefa;border:1px solid #ccc5b9;border-radius:0;color:var(--ink);padding:13px 15px;min-height:49px}.field textarea{min-height:150px;resize:vertical}.field :is(input,select,textarea):focus{outline:2px solid #86735f;outline-offset:2px}.field .error{color:#9b302a;font-size:12px;min-height:0}.form-note{font-size:12px;color:#736d65;margin:20px 0}.form-status{padding:15px 18px;border:1px solid var(--line);margin:15px 0}.form-submit{white-space:normal}.legal{max-width:850px}.legal h2{font-size:30px;margin-top:42px}.legal p,.legal li{color:#625e57}.footer{background:#22221e;color:#eae7df;padding:80px 0 35px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer .brand-name{font-size:30px}.footer .brand-tag{font-size:8px}.footer p{color:#b9b5ab}.footer h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-top:0}.footer-links{display:flex;flex-direction:column;gap:12px;font-size:13px}.footer-bottom{border-top:1px solid #4c4a43;margin-top:70px;padding-top:25px;font-size:11px;color:#bbb5aa;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.cookie-banner{position:fixed;bottom:16px;left:16px;z-index:80;width:min(540px,calc(100% - 32px));background:#f9f7f2;box-shadow:0 8px 40px #0002;border:1px solid var(--line);padding:24px}.cookie-banner h3{font-size:24px;margin-bottom:10px}.cookie-banner p{font-size:13px;color:#625e57}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-actions .btn{min-height:42px;padding:10px 13px}.cookie-modal{position:fixed;inset:0;background:#0009;z-index:90;display:grid;place-items:center;padding:16px}.cookie-panel{background:var(--cream);width:min(500px,100%);padding:30px;max-height:90vh;overflow:auto}.cookie-panel label{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line)}.mobile-sticky{display:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #aa8b60;outline-offset:4px}.not-found{min-height:50vh}@media(max-width:1180px){.nav,.header-cta{display:none}.menu-toggle{display:block}.header{height:76px}.mobile-menu{display:block;position:fixed;z-index:39;inset:76px 0 0;background:var(--cream);padding:24px 6vw 60px;overflow:auto;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s}.mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-family:'Playfair Display',serif;font-size:25px}.mobile-menu .btn{margin-top:25px;font-family:'DM Sans';font-size:11px}.hero{min-height:0}.hero-media{min-height:520px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.brand-name{font-size:21px}.brand-tag{font-size:6px;letter-spacing:.09em}.hero{display:flex;flex-direction:column-reverse}.hero-media{min-height:0;height:38svh;max-height:370px}.hero-copy{padding:35px 20px 50px}.hero h1{font-size:clamp(2.7rem,10.5vw,4.8rem);margin:16px 0}.hero-lead{margin-bottom:10px}.hero-actions{width:100%}.hero-actions .btn{flex:1 1 100%}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{padding:19px 8px;font-size:8px}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.intro-grid,.feature,.split,.form-shell{grid-template-columns:1fr;gap:35px}.intro-copy{padding:0}.service-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.services-head{align-items:start;flex-direction:column}.service-meta{gap:9px;margin:14px 0 8px}.service-meta h3{font-size:22px}.service-card p{font-size:13px}.feature-media{min-height:0;height:360px}.feature-copy{padding:55px 20px}.process-grid,.values-grid{grid-template-columns:1fr 1fr;gap:25px}.dark-cta .wrap{display:block}.page-hero{min-height:360px}.page-hero .wrap{padding-block:65px}.split .image{height:340px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.mobile-sticky{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--cream);padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-sticky .btn{width:100%;min-height:44px}body:not(.contact-page){padding-bottom:calc(66px + env(safe-area-inset-bottom))}body.menu-open .mobile-sticky{display:none}}@media(max-width:420px){.service-grid{grid-template-columns:1fr}.service-image{aspect-ratio:1.45}.process-grid,.values-grid,.form-grid,.bullets{grid-template-columns:1fr}.hero h1{font-size:clamp(2.65rem,11vw,3.4rem)}.btn{font-size:9px;letter-spacing:.065em;gap:9px;padding:12px 13px}.footer-grid{grid-template-columns:1fr 1fr}.cookie-actions .btn{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Mobile layout refinements — 2026-10 */
.service-card,.service-meta,.service-meta h3,.service-card p{min-width:0;max-width:100%;overflow-wrap:break-word}
.service-card{display:flex;flex-direction:column;align-items:stretch;gap:0}
.service-image{display:block;position:relative;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;flex:0 0 auto}
.service-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-meta{display:flex;align-items:flex-start;margin:20px 0 10px;gap:12px}
.service-meta h3{flex:1;line-height:1.22}
.service-card p{margin:0 0 16px;line-height:1.65}
.service-card .editorial-link{align-self:flex-start;margin-top:auto}
section[id]{scroll-margin-top:95px}
@media(max-width:760px){
 .service-grid{grid-template-columns:minmax(0,1fr);gap:42px}
 .service-image{aspect-ratio:5/4}
 .service-meta{margin:16px 0 10px}
 .service-meta h3{font-size:clamp(24px,6vw,30px)}
 .service-card p{font-size:14px}
 .feature,.split,.form-shell,.intro-grid{min-width:0}
 .feature-media,.hero-media{overflow:hidden}
 .feature-media img,.hero-media img,.split .image img{width:100%;height:100%;object-fit:cover}
 .trust-item{font-size:9px;line-height:1.5;letter-spacing:.07em}
 .mobile-sticky{padding:7px 16px calc(7px + env(safe-area-inset-bottom))}
 .mobile-sticky .btn{min-height:40px;padding:8px 12px;font-size:10px}
 .cookie-banner{bottom:calc(65px + env(safe-area-inset-bottom));max-height:60svh;overflow:auto;padding:18px}
 .contact-page .cookie-banner{bottom:12px}
 .section{padding-block:65px}
 .section-tight{padding-block:55px}
}
@media(max-width:420px){.service-image{aspect-ratio:5/4}.service-meta h3{font-size:26px}}
@media(min-width:761px) and (max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
