@font-face{font-family:'Noto Serif Display';src:url('assets/noto-serif-display-normal.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Serif Display';src:url('assets/noto-serif-display-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{--paper:#c6c6c6;--ink:#0F0F0E;--rose:#C38073;--brand-paper:#F4F0E8;--serif:'Noto Serif Display',Georgia,serif;--sans:Inter,Arial,sans-serif;--gutter:clamp(24px,4.1vw,78px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:0;padding:0}button:hover,a:hover{opacity:.66}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:7px}img{display:block;max-width:100%}[hidden]{display:none!important}h1,h2,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}em{font-style:italic}::selection{color:var(--brand-paper);background:var(--ink)}.skip-link{position:fixed;z-index:100;top:-90px;left:24px;background:var(--paper);padding:12px}.skip-link:focus{top:16px}.atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none}#light-canvas{width:100%;height:100%;display:block}.render-status{position:fixed;left:var(--gutter);bottom:110px;z-index:20;font-size:13px;color:#454844;transition:opacity .6s}.render-status.ready{opacity:0;pointer-events:none}
.site-header{position:fixed;top:0;left:0;right:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:30px var(--gutter);pointer-events:none}.site-header>*{pointer-events:auto}.brand{width:280px}.brand-wide{width:100%;height:auto}.brand-compact{display:none}.top-nav{display:flex;gap:36px;align-items:center;font-size:19px;letter-spacing:-.035em}.hero-section{min-height:100svh;position:relative;display:flex;align-items:flex-end;justify-content:center;padding:140px var(--gutter) 150px}.hero-copy{width:590px;max-width:100%;will-change:transform,opacity}.hero-copy h1{font-size:clamp(48px,4.6vw,78px);line-height:1.08}.reveal-line{display:block}.surface-instruction{position:absolute;right:var(--gutter);bottom:153px;font-size:17px;letter-spacing:-.025em}.surface-instruction span{padding-left:12px}
.chapter-nav{position:fixed;z-index:15;left:var(--gutter);right:var(--gutter);bottom:34px;display:flex;gap:clamp(20px,2.9vw,50px);align-items:center;font-size:19px;line-height:1.5;letter-spacing:-.04em;overflow-x:auto;scrollbar-width:none;padding:8px 0;white-space:nowrap}.chapter-nav::-webkit-scrollbar{display:none}.chapter-nav a{position:relative;flex:none}.chapter-nav a::after{content:'';position:absolute;bottom:-4px;height:2px;background:var(--rose);left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .4s}.chapter-nav a[aria-current]::after{transform:scaleX(1)}.chapter-nav a:first-child{margin-right:auto}.eyebrow{font-size:16px;line-height:1.5;letter-spacing:-.025em;margin-bottom:24px}
.owner-section{min-height:140svh;max-width:1760px;margin:auto;padding:200px var(--gutter) 130px;display:grid;grid-template-columns:.80fr 1.9fr .85fr;gap:3vw;align-items:center}.owner-heading{align-self:start;padding-top:24px}.owner-title{font-size:clamp(44px,4.8vw,76px);line-height:1.05}.owner-portrait{position:relative;align-self:center;perspective:1200px}.portrait-window{overflow:hidden;aspect-ratio:4/5;transform:translateZ(0);box-shadow:0 14px 30px #161a160f;will-change:transform}.portrait-window img{width:100%;height:100%;object-fit:cover;will-change:transform}.owner-copy{align-self:end;padding-bottom:40px;max-width:340px}.owner-deck{font-family:var(--serif);font-size:38px;line-height:1.1;letter-spacing:-.035em;margin-bottom:28px}.owner-copy>p:not(.owner-deck){font-size:19px;line-height:1.55;letter-spacing:-.02em;color:#2e332e}.text-link{display:inline-block;font-family:var(--sans);font-size:19px;letter-spacing:-.035em;border-bottom:1px solid #252d2570;padding-bottom:5px;margin-top:28px}.text-link span{padding-left:16px}
.promise-section{height:190svh;position:relative}.promise-sticky{position:sticky;top:0;min-height:100svh;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:140px var(--gutter)}.promise-lines{font-size:clamp(46px,6.3vw,94px);line-height:1.13}.promise-lines>span{display:block;color:#3b403b40;background:linear-gradient(90deg,#151915 var(--word-progress,0%),transparent var(--word-progress,0%));background-clip:text;-webkit-background-clip:text}.chapter-section{min-height:93svh;display:flex;align-items:center;justify-content:center;padding:160px var(--gutter)}.chapter-copy{width:min(1120px,100%);display:grid;grid-template-columns:1.2fr 1fr;column-gap:80px;align-items:start}.chapter-copy .eyebrow{grid-column:1/-1;margin-bottom:24px;color:#343a34}.chapter-copy h2{font-size:clamp(44px,4.8vw,76px);line-height:1.05;grid-column:1;grid-row:2/5;align-self:start}.chapter-deck{font-family:var(--serif);font-size:34px;line-height:1.12;letter-spacing:-.025em;margin-bottom:22px}.chapter-description{font-size:20px;line-height:1.5;letter-spacing:-.025em;color:#343934}.chapter-copy>p:not(.eyebrow),.chapter-copy>.text-link{grid-column:2}.chapter-copy>.text-link{justify-self:start}
.closing-section{min-height:90svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:160px var(--gutter)}.closing-seal{width:100px;height:100px;margin-bottom:25px}.closing-section>.text-link{font-family:var(--serif);font-size:clamp(36px,4vw,58px);line-height:1.1;letter-spacing:-.035em;border:0}.experience-settings{display:flex;gap:28px;margin-top:75px;font-size:16px;letter-spacing:-.02em}dialog{border:0;background:var(--brand-paper);color:var(--ink);padding:70px;width:min(620px,calc(100% - 32px));max-height:85svh;box-shadow:0 30px 120px #18211830}dialog::backdrop{background:#2d352d35;backdrop-filter:blur(12px)}.dialog-close{position:absolute;top:16px;right:24px;font-size:30px}dialog h2{font-size:56px;line-height:1.05;margin-bottom:32px}dialog>p:not(.eyebrow){line-height:1.5;margin-top:22px}.dialog-deck{font-family:var(--serif);font-size:34px;line-height:1.1!important}.booking-note{font-size:16px;color:#4d544d}.detail-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:40px}.detail-bottom img{width:65px;height:65px}.detail-bottom .text-link{margin:0}
.motion-enabled [data-reveal]:not(.hero-copy){opacity:0;transform:translateY(40px);transition:opacity 1.1s,transform 1.1s}.motion-enabled [data-reveal].is-visible{opacity:1;transform:translateY(0)}.motion-off{scroll-behavior:auto}.motion-off .promise-lines>span{color:var(--ink);background:none}
@media(min-width:1700px){.hero-copy{width:660px}.owner-section{max-width:1880px}}
@media(max-width:1000px){.chapter-nav{gap:24px}.chapter-nav a:first-child{margin-right:12px}.owner-section{grid-template-columns:.85fr 1.5fr;gap:35px}.owner-heading{grid-column:1;grid-row:1}.owner-portrait{grid-column:2;grid-row:1/3}.owner-copy{grid-column:1;grid-row:2}.surface-instruction{bottom:110px}.hero-section{padding-bottom:175px}.chapter-copy{column-gap:40px}}
@media(max-width:640px){html{scroll-padding-top:80px}.site-header{padding-top:24px}.brand{width:160px}.top-nav{font-size:16px;gap:18px}.hero-section{justify-content:flex-start;padding-bottom:185px}.hero-copy{width:100%;margin-left:0}.hero-copy h1{font-size:clamp(45px,9vw,58px)}.surface-instruction{left:var(--gutter);right:auto;bottom:126px;font-size:16px}.chapter-nav{bottom:20px;right:0;padding-right:24px;font-size:18px;gap:25px}.owner-section{padding-top:150px;padding-bottom:100px;display:flex;flex-direction:column;gap:40px;min-height:120svh}.owner-heading{align-self:flex-start;padding:0}.owner-title{font-size:52px}.owner-portrait{width:calc(100% + 16px);max-width:500px}.owner-copy{max-width:370px;align-self:center;padding:0}.owner-deck{font-size:36px}.promise-lines{font-size:clamp(44px,9.8vw,56px)}.promise-sticky{align-items:flex-start}.promise-section{height:155svh}.chapter-section{min-height:85svh;padding-top:130px;padding-bottom:130px}.chapter-copy{display:block;max-width:410px}.chapter-copy h2{font-size:56px;margin-bottom:38px}.chapter-copy h2.long-title{font-size:clamp(40px,10vw,49px)}.chapter-deck{font-size:32px}.chapter-description{max-width:320px}.closing-section{min-height:85svh}.render-status{bottom:90px}dialog{padding:56px 28px 36px}dialog h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.promise-lines>span{color:var(--ink);background:none}}
.atmosphere{z-index:0}main{position:relative;z-index:1}

@media(max-width:380px){.brand{width:140px}.top-nav{font-size:15px;gap:13px}.site-header{padding-left:20px;padding-right:20px}.chapter-copy h2{font-size:50px}}

/* JBC's editorial type and restrained rose details, on the approved gray scene. */
.top-nav,.chapter-nav,.text-link{font-weight:500;letter-spacing:-.025em}
.eyebrow{font-weight:500;font-size:14px;letter-spacing:.11em;text-transform:uppercase}
.owner-heading .eyebrow::after{content:'';display:block;width:72px;height:2px;background:var(--rose);margin-top:22px}
.text-link{border-bottom-color:var(--rose)}
.top-nav a,.top-nav button{border-bottom:2px solid transparent;padding-bottom:4px}
.top-nav a:hover,.top-nav button:hover{border-bottom-color:var(--rose);opacity:1}
.closing-seal{width:140px;height:140px}
@media(max-width:640px){.brand-wide{display:none}.brand-compact{display:block;width:100%;height:auto}.brand{width:130px}.eyebrow{font-size:14px;letter-spacing:.08em}.closing-seal{width:120px;height:120px}}
@media(max-width:380px){.brand{width:115px}.top-nav{font-size:14px;gap:13px}}

.artwork-credit{font-size:12px;line-height:1.6;color:#515151;text-align:center;max-width:560px;margin-top:36px}.artwork-credit a{text-decoration:underline;text-underline-offset:3px}

/* A neutral gray resting surface, matched exactly by the artwork renderer. */
html[data-sculpture="stone"]{--paper:#C6C6C6}

/* Version 37: content layout. Original scene, fonts and navigation styling retained. */
.hero-copy{width:min(880px,100%)}
.owner-section{min-height:110svh;max-width:1560px;padding-top:140px;padding-bottom:150px;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(44px,6vw,100px);align-items:center}
.owner-portrait{grid-column:1;grid-row:1;width:100%;min-width:0;align-self:center}
.owner-copy{grid-column:2;grid-row:1;align-self:center;padding:0;max-width:650px;min-width:0}
.owner-deck{font-family:var(--serif);font-size:clamp(40px,3.8vw,60px);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0 0 32px}
.owner-copy>p:not(.owner-deck){font-family:var(--sans);font-size:clamp(18px,1.4vw,21px);line-height:1.6;letter-spacing:-.02em;color:#2e332e}
.owner-copy>p+p{margin-top:26px}
.curriculum-heading{width:min(1120px,calc(100% - var(--gutter) * 2));margin:0 auto;padding-top:120px}
.curriculum-heading h2,.faq-copy h2{font-size:clamp(44px,4.8vw,76px);line-height:1.05}
.faq-section{min-height:80svh;display:flex;align-items:center;justify-content:center;padding:140px var(--gutter)}
.faq-copy{width:min(1120px,100%)}
@media(max-width:1000px){
  .owner-section{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:36px;padding-top:120px;padding-bottom:130px}
  .owner-portrait{grid-column:1;grid-row:1}
  .owner-copy{grid-column:2;grid-row:1}
  .owner-deck{font-size:clamp(34px,4.3vw,43px);margin-bottom:26px}
}
@media(max-width:760px){
  .owner-section{display:flex;flex-direction:column;gap:44px;min-height:auto;padding-top:120px;padding-bottom:140px}
  .owner-portrait{width:100%;max-width:500px;align-self:flex-start}
  .owner-copy{width:100%;max-width:580px;align-self:flex-start}
  .owner-deck{font-size:clamp(35px,6.2vw,46px);margin-bottom:26px}
  .owner-copy>p:not(.owner-deck){font-size:18px;line-height:1.6}
}
@media(max-width:640px){
  .hero-copy h1{font-size:clamp(37px,8.7vw,55px);line-height:1.12}
  .hero-section{padding-bottom:190px}
  .curriculum-heading{padding-top:100px}
  .curriculum-heading h2,.faq-copy h2{font-size:56px}
  .faq-section{min-height:75svh;padding-top:120px;padding-bottom:130px}
}
@media(max-width:360px){.hero-copy h1{font-size:32px}}

/* Updated copy alongside Lindsey's portrait. */
.owner-copy .owner-statement{font-family:var(--serif);font-size:clamp(30px,2.65vw,42px);font-weight:400;line-height:1.2;letter-spacing:-.03em;margin:38px 0 20px;text-wrap:balance}
.owner-copy strong{font-weight:700}
@media(max-width:760px){.owner-copy .owner-statement{font-size:clamp(30px,5.6vw,40px);margin-top:32px}}

/* Separate introduction and Lindsey biography. */
.lindsey-section{align-items:start;min-height:auto;padding-top:90px}
.lindsey-section .owner-portrait,.lindsey-section .owner-copy{align-self:start}
.lindsey-bio .owner-deck>span{display:block}
.lindsey-role{font-size:clamp(28px,2.5vw,38px);line-height:1.2;margin-top:14px;letter-spacing:-.025em}
.lindsey-bio>p:not(.owner-deck){font-family:var(--sans);font-size:clamp(18px,1.3vw,20px);line-height:1.65;letter-spacing:-.015em}
.lindsey-bio>p+p{margin-top:26px}
@media(min-width:1001px) and (min-height:800px){
  .lindsey-section .owner-portrait{position:sticky;top:120px;width:min(100%,calc((100svh - 220px)*.8))}
}
@media(max-width:760px){
  .lindsey-section{padding-top:80px;gap:40px}
  .lindsey-role{font-size:30px;margin-top:12px}
  .lindsey-bio>p:not(.owner-deck){font-size:18px;line-height:1.65}
}

/* Complete homepage: alternating portraits, centered comparison, and a clear offering. */
.lindsey-section,.curriculum-section,.offering-section{min-height:auto;padding-top:110px;padding-bottom:140px;align-items:center}
.lindsey-section{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.owner-section.photo-right .owner-copy{grid-column:1;grid-row:1;align-self:center}
.owner-section.photo-right .owner-portrait{grid-column:2;grid-row:1;position:relative;top:auto;width:100%;align-self:center}
.lindsey-role{max-width:470px}
.lindsey-bio>p:not(.owner-deck){font-size:clamp(18px,1.3vw,20px);line-height:1.65}
.approach-section{max-width:1560px;margin:0 auto;padding:100px var(--gutter) 140px}
.section-intro{margin-bottom:65px}
.section-intro h2{font-size:clamp(42px,4.5vw,68px);line-height:1.12}
.comparison-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr);gap:clamp(28px,3.5vw,56px);align-items:center}
.comparison-copy h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;font-size:clamp(28px,2.5vw,37px);line-height:1.15;margin:0 0 24px}
.comparison-list{padding:0;margin:0;list-style:none}
.comparison-list li{padding:15px 0;border-top:1px solid #15191538}
.comparison-list li:last-child{padding-bottom:0}
.comparison-list strong{display:block;font-size:17px;font-weight:600;line-height:1.45;margin-bottom:5px;letter-spacing:-.015em}
.comparison-list p{font-size:17px;line-height:1.6;letter-spacing:-.012em;color:#2e332e}
.comparison-portrait{width:100%;align-self:center}
.comparison-portrait img{width:100%;height:auto;box-shadow:0 14px 30px #161a160f}
.owner-copy>p.eyebrow{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.11em;line-height:1.5;margin:0 0 24px;text-transform:uppercase}
.curriculum-copy .owner-deck,.offering-copy .owner-deck{font-size:clamp(44px,4.5vw,68px)}
.curriculum-copy>p:not(.owner-deck):not(.eyebrow),.offering-copy>p:not(.owner-deck):not(.eyebrow):not(.offering-price){font-size:18px;line-height:1.65}
.image-caption{font-size:14px;line-height:1.5;margin-top:18px;color:#444;letter-spacing:-.015em}
.curriculum-topics{margin-top:30px;border-top:1px solid #15191538}
.curriculum-topic{width:100%;display:grid;grid-template-columns:28px 1fr 18px;gap:16px;text-align:left;align-items:center;padding:18px 0;border-bottom:1px solid #15191538;transition:opacity .2s}
.topic-number{font-size:14px;color:#4a4a4a;align-self:start;padding-top:3px}
.curriculum-topic strong{font-size:18px;font-weight:500;line-height:1.35;display:block;letter-spacing:-.025em}
.curriculum-topic small{font-size:15px;line-height:1.5;display:block;margin-top:5px;color:#343934}
.topic-more{font-size:23px;font-weight:400}
.owner-copy>p.offering-price{font-family:var(--serif);font-size:clamp(52px,5.3vw,78px);line-height:1.05;color:var(--ink);letter-spacing:-.04em;margin:36px 0 28px}
.offering-price>span{display:block;font-family:var(--sans);font-size:14px;line-height:1.5;font-weight:400;letter-spacing:.035em;margin-top:10px;color:#3d433d}
.offering-inclusions{padding:0;margin:0;list-style:none;border-top:1px solid #15191538}
.offering-inclusions li{padding:18px 0;border-bottom:1px solid #15191538}
.offering-inclusions strong,.offering-inclusions span{display:block;font-size:17px;line-height:1.5}
.offering-inclusions strong{font-weight:600;letter-spacing:-.02em}
.offering-inclusions span{margin-top:5px;color:#343934;font-size:16px}
.apply-button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;padding:17px 24px;min-height:58px;margin-top:32px;border:1px solid var(--ink);background:var(--ink);color:#f2f2ee;font-size:17px;letter-spacing:-.02em;transition:background .2s,color .2s}
.apply-button:hover{opacity:1;background:transparent;color:var(--ink)}
.apply-button>span{font-size:22px;line-height:1}
.faq-section{width:100%;max-width:1560px;min-height:auto;margin:0 auto;padding:110px var(--gutter) 150px;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(44px,8vw,128px);align-items:start}
.faq-intro h2{font-size:clamp(44px,4.8vw,72px);line-height:1.1}
.faq-list{min-width:0;border-top:1px solid #15191548}
.faq-list details{border-bottom:1px solid #15191548}
.faq-list summary,.curriculum-topics summary{list-style:none;cursor:pointer;font-size:19px;line-height:1.5;font-weight:500;letter-spacing:-.025em;padding:24px 38px 24px 0;position:relative}
.faq-list summary::-webkit-details-marker,.curriculum-topics summary::-webkit-details-marker{display:none}
.faq-list summary::after,.curriculum-topics summary::after{content:'+';position:absolute;right:0;top:23px;font-size:24px;font-weight:400}
.faq-list details[open]>summary::after,.curriculum-topics details[open]>summary::after{content:'−'}
.faq-list summary:focus-visible,.curriculum-topics summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.faq-list details>p{font-size:17px;line-height:1.65;max-width:580px;padding:0 24px 26px 0;color:#343934}
.closing-section{min-height:90svh;padding-top:120px;padding-bottom:160px;text-align:center}
.closing-section h2{font-size:clamp(48px,5.8vw,84px);line-height:1.1}
.closing-deck{font-size:18px;line-height:1.6;margin-top:28px}
.closing-section .closing-seal{margin-bottom:40px}
.closing-section .eyebrow{margin-bottom:25px}
.chapter-nav{max-width:calc(100% - var(--gutter)*2)}
@media(max-width:1100px){
  .comparison-layout{grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,1fr);gap:26px}
  .comparison-copy h3{font-size:29px}
  .comparison-list strong,.comparison-list p{font-size:16px}
  .comparison-list li{padding:16px 0}
  .lindsey-section{gap:40px}
  .lindsey-role{font-size:30px}
}
@media(max-width:900px){
  .comparison-layout{grid-template-columns:1fr 1fr;gap:42px}
  .comparison-portrait{grid-column:1/-1;grid-row:1;width:min(62%,390px);justify-self:center}
  .comparison-copy{align-self:start}
  .comparison-copy h3{font-size:32px}
  .comparison-list strong,.comparison-list p{font-size:17px}
  .section-intro{margin-bottom:48px}
}
@media(max-width:760px){
  .lindsey-section,.curriculum-section,.offering-section{padding-top:80px;padding-bottom:100px;gap:42px}
  .owner-section.photo-right .owner-portrait,.owner-section.photo-right .owner-copy{align-self:flex-start}
  .owner-section.photo-right .owner-portrait{max-width:500px}
  .lindsey-role{font-size:clamp(27px,5.7vw,34px);max-width:420px;margin-top:14px}
  .approach-section{padding-top:80px;padding-bottom:100px}
  .section-intro h2{font-size:clamp(39px,7vw,50px)}
  .curriculum-copy .owner-deck,.offering-copy .owner-deck{font-size:clamp(44px,8vw,58px)}
  .faq-section{display:block;padding-top:80px;padding-bottom:100px}
  .faq-intro{margin-bottom:44px}
  .faq-intro h2{font-size:clamp(44px,8vw,60px)}
  .closing-section{padding-top:80px;padding-bottom:150px}
  .chapter-nav{right:0;max-width:calc(100% - var(--gutter));padding-bottom:max(8px,env(safe-area-inset-bottom))}
}
@media(max-width:560px){
  .comparison-layout{display:flex;flex-direction:column;gap:46px;align-items:stretch}
  .comparison-portrait{width:100%;max-width:390px;align-self:center}
  .comparison-copy h3{font-size:36px;margin-bottom:26px}
  .comparison-list li{padding:18px 0}
  .comparison-list p{font-size:17px}
  .curriculum-topic{gap:12px;grid-template-columns:24px 1fr 16px}
  .curriculum-topic strong{font-size:17px}
  .curriculum-topic small{font-size:15px}
  .apply-button{min-width:210px}
  .faq-list summary,.curriculum-topics summary{font-size:18px}
}

/* A signed closing statement, with the seal as a quiet final mark. */
.closing-colophon{min-height:95svh;padding-top:110px;padding-bottom:150px}
.closing-colophon h2{font-size:clamp(54px,7.3vw,110px);line-height:1.06;max-width:920px;text-wrap:balance}
.closing-colophon .closing-deck{max-width:500px;margin-top:32px;font-size:clamp(17px,1.4vw,20px);line-height:1.65;letter-spacing:-.015em}
.closing-mark{width:min(540px,100%);display:flex;align-items:center;justify-content:center;gap:clamp(22px,3vw,46px);margin-top:56px}
.closing-mark::before,.closing-mark::after{content:'';height:1px;flex:1;background:var(--rose)}
.closing-colophon .closing-mark .closing-seal{width:180px;height:180px;margin:0;flex:none}
.closing-location{font-size:18px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin-top:25px}
.closing-colophon .experience-settings{margin-top:48px}
@media(max-width:640px){
  .closing-colophon{min-height:90svh;padding-top:80px;padding-bottom:145px}
  .closing-colophon h2{font-size:clamp(43px,10.6vw,64px)}
  .closing-colophon .closing-deck{font-size:17px;margin-top:26px}
  .closing-mark{margin-top:42px}
  .closing-colophon .closing-mark .closing-seal{width:150px;height:150px}
  .closing-colophon .experience-settings{margin-top:38px}
}

/* One navigation link for each section, in reading order. */
.chapter-nav{gap:clamp(18px,1.9vw,32px);font-size:clamp(16px,1.3vw,19px)}
@media(max-width:640px){
  .chapter-nav{font-size:17px;gap:24px}
  .closing-location{font-size:17px}
}

/* Keep each complete photograph inside the usable viewport. */
:root{--portrait-height:max(160px,calc(100svh - 240px))}
.owner-section .portrait-window{width:min(100%,calc(var(--portrait-height)*.8));aspect-ratio:4/5;margin-inline:auto}
.owner-section .image-caption{width:min(100%,calc(var(--portrait-height)*.8));margin-inline:auto}
.comparison-portrait{max-width:min(100%,calc(var(--portrait-height)*.6675));justify-self:center}
/* The curriculum uses the same heading, body, and accordion type as adjacent sections. */
.curriculum-topics .curriculum-topic{display:block;width:100%;padding:0;border:0;border-bottom:1px solid #15191538}
.curriculum-topics summary{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding-top:14px;padding-bottom:14px}
.curriculum-topics summary::after{top:13px}
.curriculum-topics .topic-number{padding-top:3px;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0}
.curriculum-answer{padding:0 24px 22px 40px}
.curriculum-answer p{font-size:17px;line-height:1.65;color:#343934}
.curriculum-section .curriculum-copy .owner-deck{margin-bottom:24px}
.curriculum-section .curriculum-copy>p.eyebrow{margin-bottom:20px}
.curriculum-section .owner-portrait,.curriculum-section .curriculum-copy{align-self:start}
.curriculum-section .curriculum-copy{margin-top:var(--curriculum-copy-offset,0px)}
.curriculum-section.is-stacked{display:flex;flex-direction:column;gap:40px}
.curriculum-section.is-stacked .owner-portrait,.curriculum-section.is-stacked .owner-copy{width:100%;max-width:650px;align-self:center}
.comparison-portrait{overflow:hidden;transform:translateZ(0)}
.comparison-portrait img{will-change:transform}

/* Lindsey's expanded biography follows the same gray, type, and photo rhythm. */
.portfolio-link{display:inline-flex;align-items:center;gap:24px;max-width:100%;min-height:48px;margin:0 0 28px;padding:13px 19px;border:1px solid var(--ink);background:var(--ink);color:var(--brand-paper);font-size:16px;font-weight:500;line-height:1.5;transition:background .2s,color .2s}
.portfolio-link>span{font-size:20px;flex:none}
.portfolio-link:hover{opacity:1;background:transparent;color:var(--ink)}
.faq-list details>p+p{padding-top:0}
.bio-back{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:500;line-height:1.5;padding:10px 0}
.bio-section{min-height:auto;padding-top:110px;padding-bottom:140px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.bio-section:first-of-type{padding-top:160px;--portrait-height:max(160px,calc(100svh - 280px))}
.bio-section:first-of-type .owner-portrait,.bio-section:first-of-type .owner-copy{align-self:start}
.bio-section.photo-right{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.bio-copy .owner-deck{font-size:clamp(44px,4.5vw,68px);text-wrap:balance}
.bio-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;letter-spacing:-.015em}
.bio-focus-list{margin:30px 0 0;padding:0;border-top:1px solid #15191538}
.bio-focus-list>div{padding:13px 0;border-bottom:1px solid #15191538}
.bio-focus-list dt{font-size:17px;line-height:1.5;font-weight:600;letter-spacing:-.02em}
.bio-focus-list dd{margin:4px 0 0;font-size:16px;line-height:1.5;color:#343934}
.bio-copy>p.bio-list-label{font-size:15px;font-weight:500;letter-spacing:.02em;margin-top:32px}
.bio-client-list{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid #15191538}
.bio-client-list li{padding:13px 0;border-bottom:1px solid #15191538;font-size:18px;line-height:1.5}
.bio-closing{min-height:auto;padding-top:40px;padding-bottom:170px}
.bio-closing .closing-mark{margin-top:0}
.bio-closing .closing-mark .closing-seal{width:160px;height:160px;margin:0;flex:none}
.bio-closing>.text-link{font-family:var(--sans);font-size:18px;border-bottom:1px solid var(--rose);margin-top:32px}
.bio-closing .experience-settings{margin-top:40px}
.bio-nav{max-width:760px;right:auto;width:calc(100% - var(--gutter)*2)}
@media(max-width:1000px){
  .bio-section,.bio-section.photo-right{display:flex;flex-direction:column;gap:42px;padding-top:70px;padding-bottom:95px;max-width:740px}
  .bio-section:first-of-type{padding-top:150px}
  .bio-section .owner-portrait,.bio-section.photo-right .owner-portrait{width:100%;max-width:560px;align-self:center;order:0}
  .bio-section .owner-copy,.bio-section.photo-right .owner-copy{width:100%;max-width:620px;align-self:center;order:1}
  .bio-section .portrait-window,.bio-section .image-caption{width:min(100%,calc(var(--portrait-height)*.8))}
  .bio-copy .owner-deck{font-size:clamp(42px,6.5vw,64px)}
}
@media(max-width:640px){
  .bio-back{font-size:14px;gap:7px}
  .bio-section:first-of-type{padding-top:135px;--portrait-height:max(160px,calc(100svh - 250px))}
  .bio-copy .owner-deck{font-size:clamp(39px,8.7vw,54px)}
  .bio-section{padding-top:65px;padding-bottom:80px}
  .bio-nav{right:0;width:calc(100% - var(--gutter));max-width:none;gap:24px}
  .bio-closing .closing-mark .closing-seal{width:150px;height:150px}
}
