@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/hanken-grotesk.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--pad:clamp(20px,6.5vw,112px);--ink:#1D211F;--body:#353A36;--muted:#5C625D;--line:#E2DED5;--paper:#FFFFFF;--linen:#FBF9F5;--sand:#EFEBE4;--deep:#2F4A3E;
--sage:#8FA088;--sage-d:#4A6B57;--sage-t:#E6EBE3;--forest:#2F4A3E;--clay:#9A5F45;--clay-l:#B57A5E;--blush:#E2C6B4;--blush-t:#F4E7E0;
--serif:'Newsreader', Georgia, serif;--sans:'Hanken Grotesk', system-ui, sans-serif;--logo:'Newsreader', Georgia, serif;--ease:cubic-bezier(.2,.7,.2,1)}
body{margin:0;background:#EFEBE4}
a{color:var(--ink);text-underline-offset:4px;transition:color .25s ease}a:hover{color:var(--deep)}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
:focus-visible{outline:2px solid var(--deep);outline-offset:3px;border-radius:3px}
::selection{background:var(--sage-t);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--deep);color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.page{animation:pageIn .6s ease both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}

/* header + navigation */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,249,245,.92);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);padding:18px var(--pad);transition:box-shadow .35s ease,padding .35s ease}
.site-header[data-scrolled]{box-shadow:0 1px 0 rgba(31,33,28,.06),0 12px 32px rgba(31,33,28,.05);padding-top:13px;padding-bottom:13px}
.hdr{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px 40px}
.hdr > a{position:relative;z-index:3}
.nav-links{display:flex;align-items:center;gap:4px 30px;font-size:15.5px;font-weight:500}
.nav-links > a:not(.btn){text-decoration:none;padding:10px 0;position:relative}
.nav-links > a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1.5px;background:var(--clay-l);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links > a:not(.btn):hover::after,.nav-links > a[aria-current]::after{transform:scaleX(1)}
.nav-crisis{display:none}
.menu-btn,.mobile-actions{display:none}
@media (max-width: 900px){
.mobile-actions{display:flex;gap:10px;align-items:center;position:relative;z-index:3}.menu-btn{display:inline-flex}
.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--linen)}
.nav-links{position:fixed;inset:0;z-index:2;background:var(--linen);flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:110px var(--pad) 120px;opacity:0;visibility:hidden;transform:translate3d(0,-10px,0);transition:opacity .35s ease,transform .5s var(--ease),visibility 0s linear .5s}
.nav-links.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.nav-links > a:not(.btn){font-family:var(--serif);font-size:clamp(30px,8vw,40px);font-weight:400;letter-spacing:-.02em;line-height:1.2;padding:6px 0}
.nav-links > a:not(.btn)::after{display:none}
.nav-links > a[aria-current]{color:var(--sage-d);font-style:italic}
.nav-links .btn{margin-top:28px}
.nav-crisis{display:block;position:absolute;left:var(--pad);right:var(--pad);bottom:32px;margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
}

/* type */
.eyebrow{margin:0;font-size:clamp(16px,1.25vw,18px);font-weight:600;letter-spacing:-.005em;color:var(--sage-d)}
.display{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.6vw,80px);line-height:1.06;letter-spacing:-.022em}
.h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.2vw,60px);line-height:1.08;letter-spacing:-.02em}
.h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.2vw,46px);line-height:1.12;letter-spacing:-.016em}
.h3{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(21px,1.7vw,24px);line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.it{font-style:italic;color:var(--sage-d)}
.display,.h1,.h2,.quote,.lead{text-wrap:balance}
.body,.muted,.prose p{text-wrap:pretty}
.lead{margin:0;font-size:clamp(18px,1.55vw,22px);line-height:1.5;color:#4B514C;max-width:620px;letter-spacing:-.01em}
.body{margin:0;color:var(--body);max-width:660px;font-size:18px;line-height:1.65}
.muted{margin:0;font-size:17px;line-height:1.6;color:#50564F}
.label{margin:0;font-size:15px;font-weight:600;letter-spacing:-.003em;color:var(--muted)}
.meta{margin:0;font-size:14.5px;font-weight:500;color:var(--muted);letter-spacing:.04em}
.quote{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.3;letter-spacing:-.012em;color:var(--ink)}
.quote::before{content:"\201C";display:block;font-size:1.8em;line-height:.6;color:var(--clay-l);font-style:normal;margin-bottom:.12em}
.tab{font-variant-numeric:tabular-nums lining-nums}
/* words that rise into place */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .07em .16em;margin:0 -.07em -.16em}
.wi{display:inline-block}
.load .wi{animation:wUp 1.05s var(--ease) both;animation-delay:calc(var(--i) * 55ms + 120ms)}
@keyframes wUp{from{transform:translate3d(0,108%,0)}to{transform:none}}

/* layout */
.sec{padding:clamp(80px,8.4vw,128px) var(--pad);position:relative}
.sec > *{position:relative;z-index:2}
.wrap{max-width:1160px;margin:0 auto}
.band{background:linear-gradient(180deg,#FBF9F5 0%,var(--sage-t) 18%,var(--sage-t) 82%,#FBF9F5 100%)}
.band.stone{background:linear-gradient(180deg,#FBF9F5 0%,#F3F0EA 18%,#F3F0EA 82%,#FBF9F5 100%)}
.dark{background:var(--forest);color:#F3F1EC}
.dark .eyebrow{color:#E2C6B4}.dark .it{color:#C7D6C5}.dark .muted{color:#C3CFC6}.dark .label{color:#C3CFC6}.dark a{color:#F3F1EC}.dark a:hover{color:#FFFFFF}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,96px);align-items:center}
.split.top{align-items:start}
.split.narrow-left{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}
.split.wide-left{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.split.book-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.stack{display:flex;flex-direction:column;gap:24px}
.head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:clamp(40px,4.4vw,64px)}
.head > div{align-items:center}
.head > div{display:flex;flex-direction:column;gap:12px;max-width:820px}
.head > p,.head > p.muted{max-width:620px;font-size:clamp(18px,1.45vw,21px);line-height:1.5;color:#55605A;letter-spacing:-.005em;font-weight:400}
.dark .head > p.muted{color:#D3DCD5}
.page-hero{padding-top:clamp(56px,6vw,96px);padding-bottom:clamp(56px,6vw,88px)}
.page-hero::before,.hero::before{display:none}

/* hero: type across the page, photograph bleeding off the right edge */
.hero{position:relative;padding:clamp(40px,4.4vw,72px) 0 clamp(72px,7vw,112px)}
.hero > *{position:relative;z-index:2}
.hero .wrap{padding:0 var(--pad);box-sizing:content-box}
.hero-row{display:grid;grid-template-columns:minmax(var(--pad),1fr) minmax(0,390px) clamp(40px,6vw,104px) minmax(0,666px) minmax(var(--pad),1fr);margin-top:clamp(28px,3vw,44px);align-items:start}
.hero-copy{grid-column:2;display:flex;flex-direction:column;gap:28px;padding-top:4px}
.hero-media{grid-column:4 / 6;margin:0}
.hero-media .frame{border-radius:24px 0 0 24px;aspect-ratio:4 / 3}
.proof{margin:0;padding:22px 0 0;list-style:none;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;font-size:16px;color:var(--body)}
.proof li{display:flex;gap:12px;align-items:baseline}
.proof li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--clay-l);transform:translateY(-2px)}

/* centred product-page hero */
.hero-c .hero-text{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.hero-c .hero-text .lead{max-width:620px}
.hero-c .actions{justify-content:center}
.hero-photo{margin-top:clamp(44px,5vw,72px)}
.hero-photo .frame{aspect-ratio:16 / 8;border-radius:32px}
/* highlights bento */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.b{border-radius:28px;background:#F5F4F0;padding:clamp(26px,2.8vw,40px);display:flex;flex-direction:column;gap:8px;box-sizing:border-box;min-height:220px}
.b .k{margin:0;font-size:17px;font-weight:600;color:var(--sage-d)}
.b .stat{margin:auto 0 0;font-weight:700;font-size:clamp(44px,4.6vw,68px);line-height:1;letter-spacing:-.045em;color:var(--ink)}
.b .stat.sm{font-size:clamp(30px,2.7vw,40px);letter-spacing:-.035em;line-height:1.05}
.b p:not(.k):not(.stat){margin:0;font-size:17px;line-height:1.5;color:#4B514C}
.b.dark{background:var(--deep)}.b.dark .k{color:#E2C6B4}.b.dark .stat{color:#FFFFFF}.b.dark p:not(.k):not(.stat){color:#D3DCD5}
.b.photo{padding:0;overflow:hidden;position:relative;min-height:0}
.b.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.b.photo .cap{position:absolute;left:0;right:0;bottom:0;padding:28px 30px;background:linear-gradient(0deg,rgba(15,20,17,.62),rgba(15,20,17,0));color:#FFFFFF;font-weight:600;font-size:clamp(19px,1.6vw,23px);letter-spacing:-.02em;line-height:1.3}
.s3{grid-column:span 3}.s2{grid-column:span 2}.r2{grid-row:span 2}
/* principles: numbered, typographic, no cards */
.principles{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px clamp(28px,3.4vw,56px);counter-reset:pr}
.principles li{display:flex;flex-direction:column;gap:8px;padding-top:22px;border-top:1px solid var(--line);counter-increment:pr}
.principles li::before{content:counter(pr);font-family:var(--serif);font-style:italic;font-size:30px;line-height:1;color:var(--clay);margin-bottom:6px}
.principles p{margin:0;font-size:16.5px;line-height:1.6;color:#4B514C}
.band .principles li{border-top-color:#CFD8CB}
/* manifesto */
.manifesto{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:30px;text-align:center;align-items:center}
.manifesto .big{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.9vw,42px);line-height:1.28;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.manifesto .body{text-align:center;font-size:clamp(18px,1.4vw,20px);line-height:1.7;max-width:700px}
.signature{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,54px);line-height:1.12;letter-spacing:-.018em;color:var(--ink);text-align:center;text-wrap:balance}
/* the reading line: a thin line under the header that draws as you scroll */
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--sage) 0%,var(--sage-d) 55%,var(--clay-l) 100%);pointer-events:none;opacity:0;transition:opacity .4s ease}
.site-header[data-scrolled] .progress{opacity:1}
[id]{scroll-margin-top:100px}
.body a,.muted a,.faq p a,.prose a,.lead a,.copen a{color:var(--deep);text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-thickness .2s ease}
.body a:hover,.muted a:hover,.faq p a:hover,.prose a:hover,.lead a:hover{text-decoration-thickness:2px}
/* six ideas: a typographic index; a line draws across each one as it arrives */
.ideas{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,6vw,104px);counter-reset:idea}
.ideas li{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 8px;padding:30px 0 36px;counter-increment:idea}
.ideas li::before{content:counter(idea,decimal-leading-zero);grid-row:span 2;font-family:var(--serif);font-style:italic;font-size:30px;line-height:1;color:var(--clay);padding-top:2px}
.ideas li::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.ideas .rule{position:absolute;left:0;top:0;z-index:1;height:1.5px;width:100%;background:linear-gradient(90deg,var(--sage-d),var(--clay-l));transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.ideas li[data-lit] .rule,.ideas li:hover .rule{transform:none}
.ideas .h3{font-size:clamp(22px,1.9vw,27px)}
.ideas p{grid-column:2;margin:0;font-size:17px;line-height:1.6;color:#4B514C;max-width:460px}
/* collapsible cards: open on desktop, tap-to-open on phones */
details.dtile{display:flex;flex-direction:column}
details.dtile > summary{list-style:none;display:flex;flex-direction:column;gap:10px;cursor:default}
details.dtile > summary::-webkit-details-marker{display:none}
details.dtile .chev{display:none}
details.dtile .dbody{display:flex;flex-direction:column;gap:10px;margin-top:10px;flex:1}
details.dtile .st{display:flex;flex-direction:column;gap:6px}
/* page ending for inner pages: one line, one button, the lines in the background */
.cta-band{position:relative;overflow:hidden;background:var(--forest);color:#F3F1EC;padding:clamp(72px,8vw,112px) var(--pad)}
.cta-band .lines{position:absolute;right:-4%;top:50%;width:min(62%,880px);height:auto;transform:translateY(-50%);opacity:.22;pointer-events:none}
.cta-band .lines path{fill:none;stroke-linecap:round}
.cta-in{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 64px}
.cta-in .h2{color:#FFFFFF;max-width:640px}
.cta-in p{margin:14px 0 0;color:#C3CFC6;font-size:18px;max-width:480px}
/* six-pillar inventory preview */
.pillar .q{margin:0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.5;color:#3E4540}
.pillar .pn{display:block;margin:0;font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--clay)}
.scale{display:flex;gap:5px;margin-top:auto;padding-top:18px;align-items:center}
.scale i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.2px #C9C3B8;display:block}
.scale i.on{background:var(--sage);box-shadow:none}
.scale span{font-size:14px;color:var(--muted);margin-right:6px}
.privacy-note{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:36px;text-align:left;font-size:16px;color:#4B514C}
.privacy-note .ic{margin:0;flex:none;width:40px;height:40px;border-radius:12px;background:var(--sage-t);display:grid;place-items:center}
.privacy-note .ic svg{width:22px;height:22px;fill:none;stroke:var(--sage-d);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.privacy-note > span:last-child{max-width:640px}
/* booking */
.stepper{margin:0;padding:0 0 22px;list-style:none;display:flex;flex-wrap:wrap;gap:12px 32px;border-bottom:1px solid var(--line)}
.panel h2{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,32px);letter-spacing:-.015em}
.panel button[aria-pressed]{transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease,transform .18s var(--ease)}
.panel button[aria-pressed="false"]:hover{border-color:#9DB09A!important;background:#FBFCFA!important}
.panel button[aria-pressed]:active{transform:scale(.985)}
.panel button:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
.panel button:disabled{transition:none}
.book-grid > aside{position:sticky;top:110px;align-self:start}
.summary{position:relative;overflow:hidden;background:var(--forest);color:#F3F1EC;border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:10px}
.summary .label{color:#E2C6B4}
.stepper{scroll-margin-top:110px}
.done-mark{width:56px;height:56px;fill:none;stroke-linecap:round;stroke-linejoin:round}
.done-mark circle{stroke:var(--sage);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s var(--ease) .1s forwards}
.done-mark path{stroke:var(--deep);stroke-width:2.6;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .6s var(--ease) .75s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.status-pill{display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 16px 8px 14px;border-radius:999px;background:var(--sage-t);color:#2F4A3E;font-size:15px;font-weight:600;line-height:1.2}
.status-pill .dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--sage-d)}
.status-pill .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--sage-d);opacity:.45}
@media (prefers-reduced-motion: no-preference){.status-pill .dot::after{animation:pillPulse 2.6s var(--ease) infinite}}
@keyframes pillPulse{0%{transform:scale(1);opacity:.45}70%,100%{transform:scale(2.8);opacity:0}}
.hold-note{display:flex;gap:14px;align-items:flex-start;margin:0;max-width:520px;font-size:15px;color:#4B514C}
.hold-note .ic{margin:0;flex:none;width:36px;height:36px;border-radius:12px;background:var(--sage-t);display:grid;place-items:center}
.hold-note .ic svg{width:20px;height:20px;fill:none;stroke:var(--sage-d);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lead a,.cta-in p a,.done-steps a,.foot a{overflow-wrap:anywhere}
.done-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.done-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;align-items:start;padding:20px 22px;border-radius:18px;background:#F3F0EA}
.done-steps .stepn{width:36px;height:36px;border-radius:50%;background:var(--deep);color:#FFFFFF;display:grid;place-items:center;font-weight:650;font-size:15px}
.done-steps .muted{margin-top:4px}
@media (prefers-reduced-motion: reduce){.done-mark circle,.done-mark path{stroke-dashoffset:0}}
@media (max-width: 900px){.book-grid > aside{position:static}}
/* fees as a simple price list */
.ledger{margin:0;padding:0;border-top:1px solid var(--line)}
.ledger > div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 32px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line)}
.ledger dt{margin:0;display:flex;flex-direction:column;gap:4px}
.ledger .nm{font-family:var(--serif);font-size:clamp(22px,1.8vw,26px);letter-spacing:-.01em;color:var(--ink)}
.ledger .ds{font-size:16px;color:#55605A}
.ledger dd{margin:0;font-family:var(--serif);font-size:clamp(32px,2.8vw,42px);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
/* personal commitments */
.promises{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;padding-top:28px;border-top:1px solid var(--line)}
.promises li{display:flex;flex-direction:column;gap:6px}
.promises .h3{font-size:21px}
.promises p{margin:0;font-size:16.5px;line-height:1.55;color:#4B514C}
/* photographs */
.frame{position:relative;overflow:hidden;border-radius:24px;background:var(--sand);box-shadow:0 44px 90px -56px rgba(43,46,37,.5);margin:0;isolation:isolate}
.frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(29,33,31,.06);pointer-events:none;z-index:2}
.frame img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(.96) brightness(1.02)}
[data-motion=on] .frame img[data-parallax]{will-change:transform}
[data-motion=on] .frame[data-reveal]{transform:scale(1.015);transition:transform .9s var(--ease)}
[data-motion=on] .frame[data-reveal][data-shown]{transform:none}
.portrait{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:4 / 5;background:linear-gradient(155deg,#E6EBE3 0%,#EFEBE4 70%,#EFE6DF 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;box-sizing:border-box;margin:0;box-shadow:0 44px 90px -56px rgba(43,46,37,.45),inset 0 0 0 1px rgba(255,253,248,.6)}
.portrait svg{position:absolute;right:-12%;top:-8%;width:78%;height:auto;opacity:.22}
.portrait figcaption{position:relative;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.portrait figcaption b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,36px);letter-spacing:-.02em;color:var(--ink);line-height:1.05;margin-bottom:8px}

/* actions */
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;background:var(--deep);color:#FFFFFF;text-decoration:none;font-weight:600;font-size:16px;box-sizing:border-box;border:0;cursor:pointer;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--sage-d);transform:translate3d(-101%,0,0);transition:transform .6s var(--ease)}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover,.btn:focus-visible{color:#FFFFFF}
.btn:active{transform:scale(.97)!important;transition-duration:.12s}
.btn:focus-visible{outline:2px solid var(--deep);outline-offset:4px}
.btn.light::before{background:#FFFFFF}
.btn.light{background:#F3F1EC;color:var(--forest)}.btn.light:hover{background:#FFFFFF;color:var(--forest)}
.btn.sm{min-height:44px;padding:0 20px;font-size:15px}
.tlink{font-weight:600;font-size:17px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:10px 0;color:var(--deep);line-height:1.1;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 5px)/0 1.5px no-repeat;transition:background-size .5s var(--ease),color .3s ease}
.tlink:hover,.tlink:focus-visible{background-size:calc(100% - 1.4em) 1.5px;color:var(--deep)}
.dark .tlink{color:#F3F1EC}
.arr{display:inline-block;transition:transform .35s var(--ease)}
a:hover .arr,a:focus-visible .arr,button:hover .arr{transform:translate3d(4px,0,0)}
@media (hover:hover) and (pointer:fine){.btn:hover{transform:translate3d(0,-1px,0);box-shadow:0 12px 26px rgba(43,46,37,.2)}}

/* conditions: a large typographic list that opens */
.clist{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.clist > li{border-bottom:1px solid var(--line)}
.clist summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,.9fr) 28px;gap:12px 24px;align-items:center;padding:22px 0;min-height:44px}
.clist summary::-webkit-details-marker{display:none}
.clist .n{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--clay);font-variant-numeric:tabular-nums}
.clist .t{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.1vw,30px);line-height:1.15;letter-spacing:-.015em;transition:transform .5s var(--ease),color .3s ease}
.clist .s{font-size:16px;color:var(--muted)}
.clist summary:hover .t,.clist details[open] .t{transform:translate3d(10px,0,0);color:var(--sage-d)}
.clist details[open] .t{font-style:italic}
.pm{position:relative;width:18px;height:18px;flex:none;justify-self:end}
.pm::before,.pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--ink);transition:transform .35s var(--ease)}
.pm::after{transform:rotate(90deg)}
details[open] > summary .pm::after{transform:rotate(0)}
.copen{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1fr);gap:12px 24px;padding:0 0 32px}
.copen > div{display:flex;flex-direction:column;gap:8px}
.copen > div:first-child{grid-column:2}
.copen p:not(.label){margin:0;font-size:16px;line-height:1.65;color:var(--body);max-width:480px}
[data-motion=on] details[open] .copen{animation:openIn .55s var(--ease) both}
@keyframes openIn{from{opacity:0;transform:translate3d(0,-6px,0)}to{opacity:1;transform:none}}

/* tiles: one idea per card, Apple-style clarity */
.tiles{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(26px,2.6vw,34px);border-radius:22px;background:#F3F0EA;color:var(--ink);text-decoration:none;box-sizing:border-box;height:100%;transition:background-color .3s ease}
.band .tile{background:rgba(255,255,255,.75)}
.tiles > li{display:flex}
.tiles > li > .tile{flex:1 1 auto;width:100%;min-width:0}
.tile .ic{width:48px;height:48px;border-radius:14px;background:var(--sage-t);display:grid;place-items:center;margin-bottom:10px;flex:none}
.band .tile .ic{background:#EEF2EC}
.tile .ic svg{width:26px;height:26px;fill:none;stroke:var(--sage-d);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tile .stepn{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:34px;line-height:1;color:var(--clay);margin-bottom:6px}
.tile p{margin:0;font-size:17px;line-height:1.55;color:#4B514C}
.tile .sub{font-size:15px;font-weight:600;color:var(--sage-d);margin-top:8px}
.tile .more{margin-top:auto;padding-top:14px;font-size:17px;font-weight:600;color:var(--deep);display:inline-flex;gap:6px;align-items:center}
a.tile:hover{background:#EDE9E1}
a.tile:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
a.tile:active{transform:scale(.99)}
.band a.tile:hover{background:#FFFFFF;box-shadow:0 0 0 1px #E2DED5}
a.tile .more{display:none}
a.tile::after{content:"\203A";position:absolute;right:24px;top:22px;font-size:26px;line-height:1;color:var(--sage-d);transition:transform .35s var(--ease)}
a.tile:hover::after{transform:translate3d(3px,0,0)}
a.tile .h3{padding-right:22px}
a.tile:hover .arr{transform:translate3d(4px,0,0)}
/* compact conditions on home: each one links through */
.cgrid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);border-top:1px solid var(--line)}
.cgrid li{border-bottom:1px solid var(--line)}
.cgrid a{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;gap:4px 10px;align-items:baseline;padding:22px 0;text-decoration:none;color:var(--ink)}
.cgrid .n{font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--clay);font-variant-numeric:tabular-nums}
.cgrid .t{font-family:var(--serif);font-weight:420;font-size:clamp(20px,1.6vw,23px);letter-spacing:-.01em;line-height:1.25;transition:color .3s ease}
.cgrid .s{grid-column:2;font-size:15px;color:var(--muted);line-height:1.5}
.cgrid .arr{grid-row:1;grid-column:3;color:var(--sage-d)}
.cgrid a:hover .t{color:var(--deep)}
/* a photographic pause */
.moment{position:relative}
.moment .frame{aspect-ratio:21 / 9;border-radius:24px}
.moment .veil{position:absolute;inset:0;z-index:1;border-radius:24px;background:linear-gradient(90deg,rgba(251,249,245,.9) 0%,rgba(251,249,245,.55) 34%,rgba(251,249,245,0) 60%);pointer-events:none}
/* steps across the page, joined by one line */
.hsteps{position:relative}
.connector{display:block;width:100%;height:64px;overflow:visible;margin-bottom:28px}
.connector path{fill:none;stroke:var(--sage-d);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:0}
.connector circle{fill:var(--linen);stroke:var(--clay-l);stroke-width:1.5}
[data-motion=on] [data-reveal] .connector path{stroke-dashoffset:1}
[data-motion=on] [data-reveal][data-shown] .connector path{stroke-dashoffset:0;transition:stroke-dashoffset 2s var(--ease) .1s}
.hsteps ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px clamp(32px,4vw,64px)}
.hsteps li{display:flex;flex-direction:column;gap:12px}
.hsteps .num{font-family:var(--serif);font-style:italic;font-weight:380;font-size:clamp(30px,2.5vw,36px);line-height:1;color:var(--clay)}

/* editorial spread */
.spread{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,7vw,120px);align-items:center}
.spread .stack{gap:28px}
.cred{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.cred li{font-size:14px;font-weight:600;letter-spacing:.04em;padding:8px 14px;border-radius:999px;background:rgba(255,253,248,.7);box-shadow:inset 0 0 0 1px var(--line)}

/* prices on the dark section */
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.price{position:relative;display:flex;flex-direction:column;gap:8px;padding:clamp(26px,2.6vw,36px);border-radius:24px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.price .label{font-size:17px;color:#F3F1EC}
.price .muted{font-size:17px}
.price .tag{position:absolute;top:22px;right:22px;font-size:13px;font-weight:600;padding:5px 11px;border-radius:999px;background:#E2C6B4;color:#2F4A3E}
.amt{margin:10px 0 4px;font-family:var(--serif);font-weight:400;font-size:clamp(44px,4vw,58px);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}
.pnote{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 48px;margin-top:clamp(48px,5vw,72px);padding-top:28px;border-top:1px solid rgba(243,238,229,.18)}

/* lists */
.cols{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 64px}
.cols.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 40px}
.cols > li{display:flex;flex-direction:column;gap:10px}
.cols .k{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--clay)}
.cols.plain{gap:14px 40px}
.cols.plain > li{color:var(--body);flex-direction:row;gap:12px;align-items:baseline}
.cols.plain > li::before{content:"";flex:none;width:14px;height:1.5px;background:var(--clay-l);transform:translateY(-4px)}
.rows{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.rows > div,.rows > li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:8px 48px;padding:26px 0;border-top:1px solid var(--line)}
.rows > div:last-child,.rows > li:last-child{border-bottom:1px solid var(--line)}
.rows dt,.rows dd{margin:0}
.rows dd{font-size:18px;color:var(--body);line-height:1.6}
.rows dt.label{font-size:16px;color:var(--sage-d)}

/* first visit: sticky photo beside a timeline */
.walk{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,112px);align-items:start}
.walk .sticky{position:sticky;top:120px}
.timeline{margin:0;padding:0;list-style:none;position:relative}
.timeline::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1.5px;background:linear-gradient(180deg,var(--sage-d),var(--clay-l))}
.timeline li{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 28px;padding:0 0 44px 40px}
.timeline li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--linen);box-shadow:0 0 0 1.5px var(--clay-l)}
.timeline .when{font-size:16px;font-weight:600;color:var(--sage-d);padding-top:3px;font-variant-numeric:tabular-nums}
.timeline li > div{display:flex;flex-direction:column;gap:8px}

/* questions */
.faq-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px clamp(40px,6vw,96px);align-items:start}
.faq-grid + .faq-grid{margin-top:clamp(56px,6vw,88px)}
.faq-grid > div:first-child{position:sticky;top:120px;display:flex;flex-direction:column;gap:12px}
.faq{border-bottom:1px solid var(--line)}
.faq:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-family:var(--sans);font-weight:600;font-size:clamp(18px,1.4vw,20px);line-height:1.4;letter-spacing:-.012em;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary{transition:color .3s ease}
.faq summary:hover{color:var(--deep)}
.faq summary:focus-visible{outline:2px solid var(--deep);outline-offset:4px;border-radius:6px}
.faq p{margin:0;padding:0 0 26px;max-width:660px;font-size:18px;line-height:1.65;color:var(--body)}
[data-motion=on] .faq[open] p{animation:openIn .5s var(--ease) both}
.crisis-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 22px;align-items:start;padding:26px 28px;border-radius:20px;background:var(--blush-t);max-width:720px}
.crisis-card .dot{width:12px;height:12px;border-radius:50%;background:var(--clay);margin-top:7px;box-shadow:0 0 0 6px rgba(154,95,69,.14)}

/* legal documents */
.doc{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:24px clamp(40px,6vw,96px);align-items:start}
.toc{position:sticky;top:120px;display:flex;flex-direction:column;gap:4px;font-size:15px}
.toc a{text-decoration:none;color:var(--muted);padding:6px 0}
.toc a:hover{color:var(--ink)}
.prose{max-width:680px;display:flex;flex-direction:column;gap:18px;font-size:17px;line-height:1.75;color:var(--body)}
.prose h2{margin:28px 0 0;font-family:var(--serif);font-weight:450;font-size:clamp(24px,2vw,28px);letter-spacing:-.015em;color:var(--ink);scroll-margin-top:110px}
.prose h2:first-child{margin-top:0}
.prose p,.prose ul{margin:0}.prose ul{padding-left:22px;display:flex;flex-direction:column;gap:8px}
.notice{padding:18px 22px;border-radius:14px;background:var(--sage-t);font-size:15px;color:var(--body)}
.est{width:100%;border-collapse:collapse;font-size:16px}
.est th,.est td{text-align:left;padding:16px 12px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.est th{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.est td:last-child,.est th:last-child{text-align:right;padding-right:0;font-variant-numeric:tabular-nums}
.est tfoot td{font-family:var(--serif);font-size:22px;border-bottom:0;color:var(--ink)}

/* closing */
.closing{position:relative;overflow:hidden;background:var(--linen);padding:0}
.closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88) brightness(1.03)}
@media (min-width: 901px){.closing img{left:auto;right:0;width:62%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%)}}
.closing .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,249,245,1) 0%,rgba(251,249,245,0) 28%,rgba(251,249,245,0) 72%,rgba(243,240,234,1) 100%),linear-gradient(90deg,rgba(251,249,245,.94) 0%,rgba(251,249,245,.7) 36%,rgba(251,249,245,0) 64%)}
.closing .inner{position:relative;z-index:2;padding:clamp(112px,11vw,168px) var(--pad)}

/* footer with a sign-off */
.foot{background:#F3F0EA;color:var(--body);padding:72px var(--pad) 36px;font-size:15px;overflow:hidden}
.foot-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:40px 64px}
.foot nav{display:flex;flex-direction:column;gap:2px}
.foot nav a{text-decoration:none;padding:7px 0;width:fit-content;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 6px)/0 1px no-repeat;transition:background-size .45s var(--ease),color .3s ease}
.foot nav a:hover{background-size:100% 1px;color:var(--deep)}
.foot .label{margin-bottom:10px}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 40px;margin-top:56px;padding-top:22px;border-top:1px solid #DDD7CC;font-size:14px;line-height:1.7;color:var(--muted)}
.foot-legal p{margin:0;max-width:780px}

/* motion */
[data-motion=on] [data-reveal]{transform:translate3d(0,10px,0);transition:transform .6s var(--ease) var(--d,0ms)}
[data-motion=on] [data-reveal][data-shown]{transform:none}
.hfade{animation:hUp 1s var(--ease) both}
.hf1{animation-delay:.05s}.hf2{animation-delay:.18s}.hf3{animation-delay:.42s}.hf4{animation-delay:.56s}.hf5{animation-delay:.7s}
@keyframes hUp{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
.river{position:absolute;left:0;top:0;z-index:1;pointer-events:none;overflow:hidden}
.river path{fill:none;stroke-linecap:round;stroke-linejoin:round}

/* responsive */
@media (max-width: 1080px){
.hero-row{grid-template-columns:minmax(var(--pad),1fr) minmax(0,360px) 40px minmax(0,1fr) 0}
.cols.four,.cgrid,.tiles,.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-top{grid-template-columns:1fr 1fr}
.foot-top > div:first-child{grid-column:1 / -1}
}
@media (max-width: 900px){
.ideas{grid-template-columns:1fr}
.cta-band .lines{width:120%;right:-50%;opacity:.14}
.principles{grid-template-columns:repeat(2,minmax(0,1fr))}
.bento{grid-template-columns:repeat(2,minmax(0,1fr))}
.s3,.s2{grid-column:span 1}.b.photo{grid-column:1 / -1;aspect-ratio:4 / 3}.r2{grid-row:auto}
.hero-photo .frame{aspect-ratio:4 / 3;border-radius:24px}
.split,.split.narrow-left,.split.wide-left,.split.book-grid,.spread,.walk,.faq-grid,.doc{grid-template-columns:1fr}
.walk .sticky,.faq-grid > div:first-child,.toc{position:static}
.hero-row{grid-template-columns:var(--pad) minmax(0,1fr) var(--pad);row-gap:40px}
.hero-copy{grid-column:2;order:2}
.hero-media{grid-column:2 / 4;order:1}
.media-first{order:-1}
.rows > div,.rows > li{grid-template-columns:1fr}
.hsteps ol{grid-template-columns:1fr}
.connector{display:none}
.prices{grid-template-columns:1fr}
.head > p,.head > p.muted{font-size:19px}
.price{padding:26px}
.clist summary{grid-template-columns:40px minmax(0,1fr) 22px}
.clist .s{display:none}
.copen{grid-template-columns:40px minmax(0,1fr)}
.copen > div,.copen > div:first-child{grid-column:2}
.timeline li{grid-template-columns:1fr}
}
@media (max-width: 520px){
.wm > span > span{display:none}
.mobile-actions .btn{min-height:40px;padding:0 16px;font-size:15px}
}
@media (max-width: 620px){
details.dtile{display:block!important;padding:0!important}
details.dtile > summary{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;gap:0 14px;align-items:center;padding:18px 18px 18px 20px;cursor:pointer;min-height:44px}
details.dtile > summary .ic{margin:0}
details.dtile .st{gap:2px}
details.dtile .chev{display:block;width:10px;height:10px;border-right:1.5px solid var(--sage-d);border-bottom:1.5px solid var(--sage-d);transform:rotate(45deg) translate(-2px,-2px);transition:transform .35s var(--ease);justify-self:end}
details.dtile[open] .chev{transform:rotate(225deg) translate(-2px,-2px)}
details.dtile .dbody{margin:0;padding:0 20px 22px 74px}
.ideas li{grid-template-columns:48px minmax(0,1fr);padding:24px 0 28px}
.ideas li::before{font-size:24px}
.cta-in{align-items:flex-start}
.promises,.principles{grid-template-columns:1fr}
.principles.home{gap:0}.principles.home li{padding:16px 0;flex-direction:row;align-items:baseline;gap:14px}.principles.home li::before{font-size:22px;margin:0;min-width:18px}.principles.home p{display:none}
.bento{grid-template-columns:1fr}.b{min-height:0}
.cols,.cols.three,.cols.four,.foot-top,.cgrid,.tiles,.tiles.two,.tiles.four{grid-template-columns:1fr}
.tiles{gap:10px}
.tile{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;row-gap:0;align-content:start;padding:20px 20px 22px;border-radius:20px}
.tile > p{margin-top:5px}
.tile > .ic,.tile > .stepn{grid-column:1;grid-row:1 / span 8;margin:2px 0 0;width:40px;height:40px;border-radius:12px}
.tile > .stepn{border-radius:50%;font-size:16px}
.tile > :not(.ic):not(.stepn){grid-column:2}
.tile .ic svg{width:22px;height:22px}
.tile .h3{font-size:19px}
.tile p{font-size:16px}
a.tile .more{display:none}
a.tile::after{content:"\203A";position:absolute;right:18px;top:18px;font-size:24px;line-height:1;color:var(--sage-d)}
a.tile .h3{padding-right:20px}
.moment .frame{aspect-ratio:4 / 5}
.moment .veil{background:linear-gradient(0deg,rgba(251,249,245,.92) 0%,rgba(251,249,245,.6) 40%,rgba(251,249,245,0) 70%)}
.closing .shade{background:rgba(251,249,245,.84)}
.portrait{aspect-ratio:1 / 1}
}
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-reveal],.frame[data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
.wi{transform:none!important}
}

/* request form */
.rq-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.rq-side{position:sticky;top:120px;display:flex;flex-direction:column;gap:28px}
@media (max-width: 900px){.rq-grid{grid-template-columns:1fr}.rq-side{position:static;order:2}.rq-grid > .rq-card{order:1}}
.rq-card{background:#FFFFFF;border-radius:28px;padding:clamp(24px,4vw,52px);box-shadow:0 1px 0 rgba(29,33,31,.04),0 30px 60px -40px rgba(29,33,31,.25)}
.rq{display:flex;flex-direction:column;gap:40px}
.rq-head{display:flex;flex-direction:column;gap:12px}.rq-head .muted{margin:0;font-size:16px}
.rq .fs{display:flex;flex-direction:column;gap:22px;min-width:0}
.rq .lg{margin:0;font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.2;color:var(--ink)}
.rq .fs + .fs{padding-top:36px;border-top:1px solid #ECE8E0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width: 620px){.row2{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld > label,.rq .lbl{margin:0;font-size:15px;font-weight:600;color:var(--ink);line-height:1.4}
.rq .opt{margin-left:6px;font-weight:500;font-size:14px;color:#6A706B}
.rq .hint{margin:0;font-size:14px;line-height:1.55;color:#5C625D}
.rq .note{margin:0;padding:14px 18px;border-radius:14px;background:#F3F0EA;font-size:15px;color:#353A36}
.rq input[type=text],.rq input[type=email],.rq input[type=tel],.rq select,.rq textarea{width:100%;box-sizing:border-box;min-height:54px;padding:14px 18px;border:1px solid #D9D4CA;border-radius:14px;background:#FFFFFF;color:var(--ink);font:inherit;font-size:17px;line-height:1.4;transition:border-color .25s ease,box-shadow .25s ease;-webkit-appearance:none;appearance:none}
.rq textarea{resize:vertical;min-height:120px}
.rq select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5l4 4 4-4' fill='none' stroke='%234A6B57' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:46px;cursor:pointer}
.rq input:hover,.rq select:hover,.rq textarea:hover{border-color:#B9B3A7}
.rq input:focus,.rq select:focus,.rq textarea:focus{outline:none;border-color:var(--sage-d);box-shadow:0 0 0 4px rgba(74,107,87,.16)}
.rq [aria-invalid=true]{border-color:#9A5F45!important;box-shadow:0 0 0 4px rgba(154,95,69,.12)}
.rq .err{margin:0;font-size:14px;font-weight:600;color:#8A4A33}
.rq .count{margin:2px 0 0;font-size:14px;color:#6A706B;text-align:right}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;display:inline-flex;cursor:pointer}
.chip input,.tick input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;gap:0;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid #D9D4CA;background:#FFFFFF;font-size:15px;font-weight:500;color:#353A36;transition:background-color .25s ease,border-color .25s ease,color .25s ease,gap .25s var(--ease)}
.chip .ck{width:0;height:16px;fill:none;stroke:var(--deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:width .25s var(--ease)}
.chip:hover span{border-color:#9FB29A;background:#F7F9F6}
.chip input:checked + span{background:#EEF3EC;border-color:var(--sage-d);color:var(--deep);gap:8px;box-shadow:inset 0 0 0 1px var(--sage-d)}
.chip input:checked + span .ck{width:16px}
.chip input:focus-visible + span,.tick input:focus-visible + .box{outline:2px solid var(--deep);outline-offset:3px}
.chip:active span{transform:scale(.97)}
.fld > label.tick{font-weight:400;font-size:16px}
.tick{display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;align-items:start;cursor:pointer;font-size:16px;line-height:1.5;color:#353A36}
.tick .box{width:26px;height:26px;box-sizing:border-box;border:1.5px solid #B9B3A7;border-radius:8px;display:grid;place-items:center;background:#FFFFFF;transition:background-color .2s ease,border-color .2s ease}
.tick .box .ck{width:16px;height:16px;fill:none;stroke:#FFFFFF;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .25s var(--ease)}
.tick input:checked + .box{background:var(--deep);border-color:var(--deep)}
.tick input:checked + .box .ck{opacity:1;transform:none}
.tick input[aria-invalid=true] + .box{border-color:#9A5F45}
.teen-only{display:none;flex-direction:column;gap:20px}
.rq:has(input[name=who][value^="My teen"]:checked) .teen-only{display:flex}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.rq-foot{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:8px}
.rq-foot .btn{min-width:220px}
.rq-foot .btn[aria-busy=true]{opacity:.75;pointer-events:none}
.rq-sum{padding:18px 22px;border-radius:16px;background:#F7ECE6;color:#5E3424;font-size:15px;line-height:1.55}
.rq-sum:focus{outline:2px solid #9A5F45;outline-offset:3px}
.rq-sum strong{display:block;margin-bottom:6px;font-size:16px}
.rq-sum ul{margin:0;padding-left:20px}.rq-sum a{color:#5E3424}
.rq-fail{margin:0;padding:16px 20px;border-radius:14px;background:#F7ECE6;color:#5E3424;font-size:15px}
.rq-done{display:flex;flex-direction:column;gap:18px;align-items:flex-start;padding:12px 0}
.rq-done:focus{outline:none}
.rq-done[hidden],.rq[hidden],.rq-sum[hidden],.rq-fail[hidden],.rq .err[hidden]{display:none}
@media (prefers-reduced-motion: no-preference){.rq-done:not([hidden]){animation:pageIn .6s var(--ease) both}}
.rq a{overflow-wrap:anywhere}
.rq-captcha{min-height:65px;display:flex;align-items:center}
.rq-captcha iframe{max-width:100%}
.cap-preview{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:65px;padding:0 18px;border:1px dashed #C9C3B8;border-radius:14px;background:#FBF9F5;font-size:14px;color:#5C625D}
.cap-dot{flex:none;width:22px;height:22px;border-radius:6px;border:1.5px solid #B9B3A7;background:#FFFFFF}
