@font-face{font-family:Cormorant;src:url('assets/cormorant-regular.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
:root{
  --paper:#f4efe1;--ink:#142e50;--muted:#4e6474;--copper:#9c4d32;--clay:#9c4d32;--mineral:#315d78;--silver:#c2cbd0;--line:#c2cbd0;--panel:#faf7ef;
  --surface:#fffdf8;--surface-open:#fffefb;--control:#f3f0e7;--control-hover:#e9e7dd;
  --serif:Cormorant,Georgia,serif;--sans:DM,Arial,sans-serif;
  --type-hero:clamp(60px,5.7vw,84px);--type-heading:clamp(38px,4.2vw,58px);--type-subheading:clamp(28px,2.7vw,36px);--type-body:16px;--type-lead:clamp(18px,1.6vw,20px);--type-small:14px;--type-caption:13px;
  --space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--prose-gap:20px;
  --section-space:clamp(64px,7vw,96px);--section-gap:clamp(40px,5vw,72px);
  --radius-media:24px;--radius-card:24px;--radius-field:12px;--radius-pill:999px;
  --gutter:clamp(32px,7.5vw,160px);--content-gutter:clamp(32px,10vw,220px);--content-width:1000px;--ease:cubic-bezier(.22,.65,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--type-body)/1.75 var(--sans);-webkit-font-smoothing:antialiased;font-synthesis:none}
body:has(dialog[open]){overflow:hidden}
button,input,textarea{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0;background:none}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:var(--type-heading);line-height:1.1;letter-spacing:-.03em}
h3{font-size:var(--type-subheading);line-height:1.15;letter-spacing:-.025em}
p{text-wrap:pretty}
img{display:block;max-width:100%}
picture{display:block}
::selection{background:#e3cab9;color:var(--ink)}
:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
.skip-link{position:fixed;top:12px;left:16px;z-index:50;padding:12px 18px;background:var(--paper);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.icon{display:inline-block;width:20px;height:20px;flex:none;object-fit:contain;vertical-align:middle}
.arrow-diagonal{transform:rotate(-45deg)}
.arrow-up{transform:rotate(-90deg)}
.wordmark{display:inline-flex;align-items:center;min-height:44px;font:400 33px/1.05 var(--serif);letter-spacing:-.035em;white-space:nowrap}
main{padding-top:0}
.eyebrow{font:500 12px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.bodywork-hero{--hero-inset:0px;position:relative;isolation:isolate;min-height:620px;height:100svh;width:100%;margin:0}
.hero-picture{position:absolute;inset:0;z-index:-1}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center center}
.bodywork-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(250,245,233,.33),rgba(250,245,233,.08) 51%,transparent 72%)}
/* Frame the photographic surface only: copy, notes and document height stay fixed. */
.bodywork-hero>.hero-picture,.bodywork-hero::before{clip-path:inset(0 var(--hero-frame-inset,0px) round var(--hero-frame-radius,0px))}
.bodywork-hero.is-framing>.hero-picture,.bodywork-hero.is-framing::before{will-change:clip-path}
body.reduced-motion .bodywork-hero>.hero-picture,body.reduced-motion .bodywork-hero::before{clip-path:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.bodywork-hero>.hero-picture,.bodywork-hero::before{clip-path:none;will-change:auto}}
@media print{.bodywork-hero>.hero-picture,.bodywork-hero::before{clip-path:none!important;will-change:auto!important}}
.hero-copy{position:relative;padding-top:clamp(144px,12.4vw,196px);margin-left:max(var(--gutter),calc((100vw - 1160px)/2));width:min(48%,590px)}
.hero-copy .eyebrow{color:#71351f;margin-bottom:var(--space-4)}
.hero-copy h1{font-size:var(--type-hero);font-weight:500;line-height:.98;letter-spacing:-.035em}
.hero-copy h1 span{display:block;white-space:nowrap}
.hero-summary{max-width:450px;margin-top:var(--space-4);font-size:var(--type-lead);line-height:1.6}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:12px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--radius-pill);line-height:1.4;font-size:var(--type-small);font-weight:500;transition:background .18s,border-color .18s}
.button .icon{filter:invert(1);width:19px;height:19px}
.button:hover{background:var(--mineral);border-color:var(--mineral)}
.button:disabled{cursor:not-allowed;opacity:.6}
.hero-copy .button{margin-top:var(--space-5)}
.hero-facts{margin-top:var(--space-3);font-size:var(--type-small);line-height:1.6}
.hero-facts span{padding:0 4px}
.section-wrap{width:min(calc(100% - 2*var(--content-gutter)),var(--content-width));margin-inline:auto}
.section-wrap>*{min-width:0}
.editorial-copy>p:not(.eyebrow),.personal-note p,.session-copy p,.contact-intro>p:not(.eyebrow),.answer{color:var(--muted)}
.editorial{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);column-gap:var(--section-gap);padding-block:var(--section-space);align-items:start}
.location{margin-bottom:var(--space-3)}
.editorial-copy h2{margin-bottom:var(--space-4)}
.editorial-copy p:not(.eyebrow){max-width:58ch}
.editorial-copy>p+p{margin-top:var(--prose-gap)}
.editorial-copy .lead{font-size:var(--type-lead);line-height:1.6}
.personal-note{margin-top:var(--space-4)}
.editorial-photo{padding-top:0}
.editorial-photo picture{aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-media)}
.editorial-photo picture img{width:100%;height:100%;object-fit:cover}
figcaption{font-size:var(--type-caption);line-height:1.6;margin-top:var(--space-2);color:var(--muted)}
.session{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--section-gap);border-top:1px solid var(--line);padding-block:var(--section-space);align-items:start}
.session h2{margin-top:0}
.session-heading>.eyebrow+h2{margin-top:var(--space-3)}
.session-copy{padding-top:0;max-width:58ch}
.session-copy p+p{margin-top:var(--prose-gap)}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.text-link:hover{text-decoration-color:var(--copper);color:var(--copper)}
.session .text-link{margin-top:var(--space-4)}
.practical{border-top:1px solid var(--line);padding-block:var(--section-space)}
.practical h2{margin-top:0}
.practical .eyebrow+h2{margin-top:var(--space-3)}
.practical-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-6)}
.practical-facts>div{min-width:0;padding-top:var(--space-4);border-top:1px solid var(--line)}
.practical-facts dt{font-size:var(--type-small);color:var(--muted);margin-bottom:var(--space-2)}
.practical-facts dd{font:400 clamp(48px,5.4vw,64px)/1.08 var(--serif);letter-spacing:-.03em}
.practical-facts dd span{display:block;margin-top:var(--space-1);font:400 var(--type-small)/1.5 var(--sans);letter-spacing:0}
.practical-facts .place{font-size:clamp(30px,3vw,38px);line-height:1.15}
.practical-note{font-size:var(--type-small);color:var(--muted);margin-top:var(--space-4);max-width:68ch}
.practical-note+.practical-note{margin-top:var(--space-2)}
.questions{border-top:1px solid var(--line);padding-block:var(--section-space)}
.questions-heading{text-align:center;margin:0 auto var(--space-6);max-width:760px}
.questions h2{margin-top:0}
.questions-heading>.eyebrow+h2{margin-top:var(--space-3)}
.question-list{display:grid;gap:var(--space-3);max-width:820px;margin-inline:auto}
.question-list details{min-width:0;background:var(--surface);border:1px solid rgba(20,46,80,.07);border-radius:var(--radius-card);box-shadow:0 3px 16px rgba(20,46,80,.025);transition:background .2s,border-color .2s,box-shadow .2s}
.question-list details:hover{border-color:rgba(20,46,80,.16);box-shadow:0 5px 20px rgba(20,46,80,.04)}
.question-list details[open]{background:var(--surface-open);border-color:rgba(20,46,80,.14);box-shadow:0 8px 28px rgba(20,46,80,.045)}
.question-list summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:100px;padding:28px var(--space-5);font-size:18px;font-weight:500;line-height:1.5;list-style:none;cursor:pointer;color:var(--ink);border-radius:calc(var(--radius-card) - 1px);overflow-wrap:anywhere}
.question-list summary::-webkit-details-marker{display:none}
.question-list summary::marker{content:''}
.question-list summary:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
.question-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:var(--radius-pill);background:var(--control);transition:background .2s}
.question-list summary:hover .question-toggle,.question-list summary:focus-visible .question-toggle{background:var(--control-hover)}
.question-toggle .icon{width:18px;height:18px;transition:transform .22s ease;opacity:.85}
.question-list details[open] summary .question-toggle .icon{transform:rotate(180deg)}
.question-list .answer{padding:0 100px var(--space-5) var(--space-5);font-size:var(--type-body);line-height:1.75;overflow-wrap:break-word}
.answer p+p{margin-top:var(--space-3)}
.answer ul{margin:var(--space-3) 0;padding-left:22px}
.answer li+li{margin-top:10px}
.answer .text-link{margin-top:var(--space-4);min-height:44px}
.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--section-gap);padding-block:var(--section-space);align-items:start}
.contact h2{margin:0 0 var(--space-4)}
.contact-intro>.eyebrow+h2{margin-top:var(--space-3)}
.contact-intro{max-width:58ch}
.contact-intro>p:not(.eyebrow){max-width:58ch}
.contact-intro>p+p{margin-top:var(--prose-gap)}
.contact .contact-note{font-size:var(--type-small);line-height:1.7;color:var(--muted);margin-top:var(--space-4);max-width:58ch}
form{padding:var(--space-5);min-width:0;border:1px solid rgba(20,46,80,.1);border-radius:var(--radius-card);background:var(--surface)}
.form-field{margin-bottom:var(--space-4)}
label{display:block;font-size:var(--type-small);font-weight:500;margin-bottom:var(--space-2)}
input,textarea{display:block;width:100%;background:var(--panel);border:1px solid #647b8b;border-radius:var(--radius-field);padding:14px var(--space-3);font-size:var(--type-body);line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input:focus,textarea:focus{border-color:var(--ink)}
textarea{resize:vertical;min-height:164px}
.form-status{font-size:var(--type-small);line-height:1.7;min-height:24px;margin-top:var(--space-3);max-width:460px}
.form-status:empty{display:none}
.form-notice{font-size:var(--type-small);line-height:1.7;margin-top:var(--space-3)}
.site-footer{padding:80px var(--content-gutter) 26px;background:var(--paper);border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:28px;max-width:var(--content-width);margin:0 auto 70px;align-items:start}
.footer-grid>.wordmark{margin-top:2px}
.footer-grid h3{font-family:var(--sans);font-size:13px;letter-spacing:0;font-weight:500;line-height:1.5;margin-bottom:18px}
.footer-grid a:not(.wordmark){display:block;font-size:13px;line-height:1.6;padding:9px 0;min-height:44px;color:var(--muted)}
.footer-grid a:not(.wordmark):hover{text-decoration:underline;text-underline-offset:5px;color:var(--ink)}
.footer-grid>div>p{font-size:13px;line-height:1.7;margin-top:9px;color:var(--muted)}
.footer-note{grid-column:2/5;font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--muted);letter-spacing:-.02em}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;border-top:1px solid var(--line);padding-top:26px;font-size:11px;line-height:1.5;color:var(--muted);max-width:var(--content-width);margin-inline:auto}
.footer-bottom>div{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.footer-bottom button{font:inherit;padding:8px 0;min-height:44px;text-align:left}
.footer-bottom a{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.footer-bottom button:hover,.footer-bottom a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);color:var(--ink)}
dialog::backdrop{background:#142e5066}
.privacy-content{padding:var(--space-5)}
.dialog-close{display:flex;align-items:center;gap:8px;min-height:44px;margin:0 0 24px auto;padding:4px 0;font-size:13px}
.privacy-content h2{margin-block:var(--space-3) var(--space-4)}
.privacy-content>p:not(.eyebrow){margin-top:var(--prose-gap);font-size:var(--type-body)}
body.has-reveals [data-reveal]{opacity:var(--entry-opacity,1);transform:translateY(var(--entry-offset,0));filter:blur(var(--entry-blur,0))}
body.has-reveals [data-reveal].is-clear{opacity:1;transform:none;filter:none}
[data-reveal]:focus-within{opacity:1!important;transform:none!important;filter:none!important}
@media(max-width:1280px){.footer-grid{gap:24px;grid-template-columns:1.1fr 1fr 1fr 1fr}.footer-note{grid-column:2/5;max-width:500px;font-size:25px;margin-top:12px}}
@media(max-width:1100px){
  :root{--gutter:max(clamp(28px,6vw,48px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--content-gutter:max(clamp(28px,10vw,110px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--section-gap:32px;--type-hero:clamp(42px,7.8vw,68px)}
  html{scroll-padding-top:calc(96px + env(safe-area-inset-top,0px))}
  main{padding-top:0}
  .bodywork-hero{width:100%;height:100svh;min-height:720px;margin:0}
  .hero-copy{margin-left:var(--gutter);width:min(calc(100% - 2*var(--gutter)),560px);padding:calc(144px + env(safe-area-inset-top,0px)) 0 70px;background:transparent}
  .hero-copy .eyebrow{margin-bottom:var(--space-4)}
  .hero-copy h1{line-height:1}
  .hero-copy h1 span{white-space:nowrap}
  .hero-summary{max-width:390px;font-size:var(--type-body)}
  .hero-copy .button{margin-top:var(--space-4)}
  .hero-picture{position:absolute;inset:0;z-index:-1;overflow:hidden}
  .hero-picture img{position:absolute;inset:0;object-position:58% center}
  .bodywork-hero::before{background:linear-gradient(90deg,rgba(250,245,233,.72),rgba(250,245,233,.27) 65%,transparent),linear-gradient(180deg,rgba(250,245,233,.14) 35%,transparent 80%)}
  .editorial{display:flex;flex-direction:column;gap:var(--section-gap)}
  .editorial-copy{max-width:58ch}
  .editorial-photo{width:min(100%,420px);align-self:flex-end;padding-top:0}
  .session{grid-template-columns:1fr}
  .questions-heading{margin-bottom:var(--space-5)}
  .contact{grid-template-columns:1fr}
  form{width:100%;max-width:600px}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}
  .footer-bottom>div{column-gap:20px;row-gap:0}
  .privacy-content{padding:var(--space-4)}
}
@media(max-width:720px){
  :root{--content-gutter:max(28px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--type-hero:clamp(38px,10.7vw,60px);--radius-media:20px;--radius-card:20px}
  .hero-copy{width:min(calc(100% - 2*var(--gutter)),540px);padding-top:calc(124px + env(safe-area-inset-top,0px))}
  .hero-summary{max-width:22rem}
  .hero-picture img{object-position:66% center}
  .practical-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4);margin-top:var(--space-5)}
  .practical-facts>div:last-child{grid-column:1/-1}
  .question-list summary{font-size:var(--type-body);gap:var(--space-3);min-height:88px;padding:22px 20px}
  .question-toggle{flex-basis:36px;width:36px;height:36px}
  .question-toggle .icon{width:17px;height:17px}
  .question-list .answer{padding:0 20px var(--space-4)}
  form{padding:var(--space-4)}
  .site-footer{padding-top:58px;padding-bottom:20px}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:29px 25px;margin-bottom:42px}.footer-grid>.wordmark{grid-column:1/-1;font-size:31px;margin-bottom:5px}.footer-grid h3{font-size:12px;margin-bottom:13px}.footer-grid a:not(.wordmark){font-size:12px;min-height:44px;padding:11px 0}.footer-note{grid-column:1/-1;font-size:22px;margin-top:0;max-width:250px}.footer-bottom{font-size:10px;padding-top:22px}
}
@media(max-width:480px){.hero-copy h1 span{white-space:normal}}
@media(max-width:360px){:root{--gutter:max(24px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--content-gutter:max(24px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}.hero-copy{padding-top:calc(112px + env(safe-area-inset-top,0px))}.practical-facts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}body.has-reveals [data-reveal]{opacity:1;transform:none;filter:none}}
body.reduced-motion [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
html.reduced-motion{scroll-behavior:auto}
@media print{html{scroll-behavior:auto}body{font-size:12px}main{padding-top:0}.bodywork-hero{min-height:0;height:auto;aspect-ratio:auto;width:100%}.hero-picture{position:relative;aspect-ratio:16/9}.hero-copy{width:100%;margin:0;padding:20px 0}.hero-copy h1{font-size:56px}form,.footer-bottom button,.hero-copy .button,.contact-note{display:none}.section-wrap{width:100%;padding-block:26px}.editorial{gap:30px}.editorial-photo{width:200px;justify-self:end}body.has-reveals [data-reveal]{opacity:1;transform:none;filter:none}details .answer{display:block}a{color:var(--ink)}}
