/* Recovered September 18 review: Home additions, Work and Booking. */
.premium-home .home-article-button{text-decoration:none}
.premium-home .review-offer-terms{font:400 11px/1.7 var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--gold-primary);margin:22px 0 8px}
.premium-home .home-offer-copy{display:flex;flex-direction:column;height:100%}
.premium-home .home-offer-card{display:flex;flex-direction:column}
.premium-home .home-offer-card>img{flex:none}
.premium-home .home-offer-action{align-self:flex-start;margin-top:auto}
.premium-home .home-life-front img{aspect-ratio:2/3;object-position:50% 50%}
.premium-home .home-life-back img{object-position:45% 50%}
.premium-home .home-life-copy{gap:48px}
.premium-home .home-journal-row img{aspect-ratio:1.5;object-fit:contain;background:#f4f2ed}
.premium-home .home-journal-feature img{aspect-ratio:1.9;object-fit:cover;object-position:50% 40%}
.review-work,.review-book{padding-bottom:28px}
.review-nav{position:relative;z-index:5;max-width:1440px;margin:auto;padding:24px var(--home-gutter);display:flex;align-items:center;justify-content:space-between;gap:28px;background:#f4f2ed}
.review-logo{position:relative;width:220px;flex:none;background:#232425;border-radius:4px;padding:10px 15px;display:block}
.review-logo img{width:100%;height:auto;display:block}
.review-nav nav{display:flex;gap:28px;align-items:center;font:400 14px/1.5 var(--font-body)}
.review-nav nav a{text-decoration:none;color:var(--home-ink);padding-block:10px}
.review-nav nav a:hover{text-decoration:underline;text-underline-offset:6px}
.review-nav .review-book-link{border:1px solid var(--gold-stroke);border-radius:10px;padding:12px 18px}
.review-menu{display:none}
.review-work{background:#f4f2ed}
.review-eyebrow{font:500 11px/1.6 var(--font-body);letter-spacing:.17em;text-transform:uppercase;color:var(--gold-text-on-light);margin:0 0 24px}
.review-work-hero{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center;padding-block:76px 100px}
.review-work-hero h1{font:400 clamp(46px,5vw,72px)/1.12 var(--font-display);letter-spacing:-.02em;max-width:11ch;margin:0}
.review-work-hero h1 em{font-style:normal;color:var(--gold-text-on-light)}
.review-gold-rule{width:45px;height:1px;background:var(--gold-stroke);margin:34px 0}
.review-explore{display:inline-flex;align-items:center;gap:22px;font:500 11px/1.8 var(--font-body);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;color:var(--home-ink)}
.review-work-hero figure{margin:0;overflow:hidden;border-radius:14px}
.review-work-hero img{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover;object-position:35% center}
.review-work .review-work-offers{padding-block:88px;min-height:0;background:#fff;color:var(--home-ink)}
.review-work .review-work-offers h2{font:400 clamp(42px,4vw,58px)/1.15 var(--font-display);margin:0 0 44px}
.review-work .home-offer-copy{background:#f4f2ed;color:var(--home-ink);padding:26px}
.review-work .home-offer-copy :is(h3,p){color:var(--home-ink)}
.review-work .home-offer-copy .review-offer-terms{color:var(--gold-text-on-light)}
.review-work .home-offer-action{color:var(--home-ink);border-color:var(--gold-stroke)}
.review-core{scroll-margin-top:24px}
.review-core-intro{text-align:center;padding-block:90px 60px}
.review-core-intro h2{font:400 clamp(34px,3.7vw,52px)/1.2 var(--font-display);max-width:24ch;margin:0 auto 22px}
.review-core-intro>p:last-child{font:400 17px/1.7 var(--font-body);color:var(--home-muted);margin:0}
.review-core-stage{background:radial-gradient(ellipse at 65% 40%,var(--gold-glow),transparent 70%),var(--home-ink);color:var(--home-light);padding-block:64px 72px}
.review-core-layout{position:relative}
.review-core-tabs{display:flex;gap:24px;margin-left:calc(40% + 52px);border-bottom:1px solid #ffffff30;margin-bottom:32px}
.review-core-tabs button{font:500 11px/1.6 var(--font-body);letter-spacing:.13em;text-transform:uppercase;flex:1;min-height:48px;background:none;color:#d1cdc2;border:0;border-bottom:2px solid transparent;padding:10px 0;cursor:pointer}
.review-core-tabs button[aria-selected=true]{color:var(--gold-primary);border-bottom-color:var(--gold-primary)}
.review-core-tabs button:focus-visible,.review-core-panel:focus-visible{outline:2px solid var(--gold-primary);outline-offset:5px}
.review-core-panel{display:grid;grid-template-columns:40% minmax(0,1fr);gap:52px;align-items:start;animation:core-reveal 160ms ease}
.review-core-panel[hidden]{display:none}
.review-core-panel figure{margin:-80px 0 0;overflow:hidden;border-radius:14px}
.review-core-panel figure img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 38%;display:block}
#core-panel-3 figure img{object-position:50% 30%}
.review-core-heading{display:flex;align-items:center;gap:16px;margin:0 0 28px}
.review-core-heading>span{font:400 92px/.9 var(--font-display);color:var(--gold-primary)}
.review-core-heading h3{font:400 40px/1.2 var(--font-display);color:var(--home-light);margin:0 0 6px}
.review-core-heading p{font:400 22px/1.3 var(--font-display);color:var(--gold-primary);margin:0}
.review-core-body{font:300 16px/1.8 var(--font-body);max-width:58ch;color:#e0ddd6;margin:0 0 30px}
.review-core-copy h4{font:500 11px/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--gold-primary);margin:0 0 16px}
.review-core-copy ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:15px 24px;margin:0 0 32px}
.review-core-copy li{position:relative;padding-left:14px;font:300 14px/1.65 var(--font-body);color:#e0ddd6}
.review-core-copy li::before{content:'•';position:absolute;left:0;color:var(--gold-primary)}
.review-work .home-footer{margin-top:28px}
.review-book-main{text-align:center;padding-block:64px}
.review-book-main h1{font:400 clamp(38px,4.5vw,62px)/1.2 var(--font-display);margin:0 0 18px}
.review-book-main>p:not(.review-eyebrow){font:400 16px/1.7 var(--font-body)}
.calendly-inline-widget{max-width:1100px;margin:28px auto 20px;width:100%}
.booking-fallback a{color:var(--gold-text-on-light);text-decoration:underline;text-underline-offset:4px}
@keyframes core-reveal{from{opacity:.4}to{opacity:1}}
@media(max-width:1000px){
 .review-nav nav{gap:18px}.review-logo{width:180px}.review-work-hero{gap:36px}
 .review-core-panel{gap:32px;grid-template-columns:38% minmax(0,1fr)}
 .review-core-tabs{margin-left:calc(38% + 32px);gap:14px}
 .review-core-copy ul{grid-template-columns:1fr}
 .review-core-panel figure{margin-top:0}
}
@media(max-width:760px){
 .review-nav{padding-block:18px}.review-menu{display:flex;align-items:center;gap:24px;border:1px solid var(--gold-stroke);border-radius:8px;background:transparent;padding:10px 16px;min-height:44px;font:400 14px var(--font-body)}
 .review-nav nav{display:none;position:absolute;left:var(--home-gutter);right:var(--home-gutter);top:82px;background:#f4f2ed;border:1px solid #c2a25b66;border-radius:10px;padding:18px;box-shadow:0 12px 32px #0002;align-items:stretch;flex-direction:column;gap:8px}
 .review-nav nav.is-open{display:flex}
 .review-work-hero{grid-template-columns:1fr;gap:36px;padding-block:40px 60px}
 .review-work-hero h1{font-size:clamp(44px,8vw,60px);max-width:14ch}
 .review-work-hero img{aspect-ratio:1.4;object-position:35% 50%}
 .review-work .review-work-offers{padding-block:56px}
 .review-core-intro{padding-block:56px 42px}
 .review-core-stage{padding-block:24px 44px}
 .review-core-tabs{margin-left:0;gap:12px;margin-bottom:28px}
 .review-core-tabs button{font-size:10px;letter-spacing:.06em}
 .review-core-panel{grid-template-columns:1fr;gap:30px}
 .review-core-panel figure{margin:0;max-width:100%}
 .review-core-panel figure img{aspect-ratio:4/3;object-position:50% 28%}
 #core-panel-1 figure img,#core-panel-2 figure img{aspect-ratio:1.5}
 .review-core-heading>span{font-size:76px}.review-core-heading h3{font-size:35px}
 .review-core-copy ul{grid-template-columns:1fr 1fr}
 .review-book-main{width:100%;padding:40px 0}.review-book-main>p,.review-book-main>h1{padding-inline:20px}
}
@media(max-width:480px){
 .review-logo{width:170px}.review-nav{gap:14px}.review-menu{gap:14px;padding-inline:12px}
 .review-core-copy ul{grid-template-columns:1fr}.review-core-body{font-size:15px}
 .premium-home .home-life-images{display:flex;flex-direction:column;gap:20px;height:auto;padding:0}
 .premium-home .home-life-images figure{position:static;width:100%;transform:none}
 .premium-home .home-life-front img{width:100%;aspect-ratio:2/3;height:auto;object-fit:contain}
 .premium-home .home-life-back img{width:100%;aspect-ratio:1.4;height:auto;object-fit:cover}
 .premium-home .home-life-third img{aspect-ratio:1.4}
 .premium-home .home-life-images>blockquote{position:static;transform:none;margin:0;width:100%}
 .premium-home .home-journal-row{grid-template-columns:1fr;gap:18px}.premium-home .home-journal-row img{max-width:100%;aspect-ratio:1.9}
}
@media(prefers-reduced-motion:reduce){.review-core-panel{animation:none}html{scroll-behavior:auto}}
/* Keep the recovered group photo wide enough to retain every participant. */
@media(min-width:681px){
 .premium-home:not(.review-work) .home-life-back{width:76%;top:0}
 .premium-home:not(.review-work) .home-life-back img{aspect-ratio:1.5;height:auto;object-fit:contain}
 .premium-home:not(.review-work) .home-life-front{top:150px;width:46%}
 .premium-home:not(.review-work) .home-life-images>blockquote{bottom:10px}
}

.booking-calendar{position:relative;max-width:1100px;margin:28px auto 20px}.review-calendly{width:100%}.booking-status{padding:24px;font:400 15px/1.7 var(--font-body);color:var(--home-muted);background:#f4f2ed;border-radius:12px;margin:0}.booking-calendar.is-unavailable{height:auto;overflow:visible}.booking-calendar.is-unavailable .review-calendly{visibility:visible}.booking-calendar.is-ready .review-calendly{visibility:visible}

/* Discovery call: a floating calendar on an uninterrupted black page. */
body:has(.review-book){background:#000}
.premium-home.review-book{background:#000;color:var(--home-light);padding-bottom:0}
.review-book .review-nav,.review-book .review-nav nav{background:#000}
.review-book .review-nav nav a,.review-book .review-menu{color:var(--home-light)}
.review-book .review-nav :is(a,button):focus-visible{outline-color:var(--gold-primary)}
.review-book .review-book-main{padding-block:44px 76px}
.review-book .booking-calendar{margin:0 auto;max-width:1100px;border-radius:0;overflow:hidden;box-shadow:none;background:transparent}
.review-book .booking-status{background:#101010;color:#ddd8cd;border-radius:0}
.review-book .booking-fallback{margin:0 0 24px}
.review-book .booking-fallback a{color:var(--gold-primary)}
.review-book .home-footer{background:#000;border-top:1px solid #d5bc802c;border-radius:0;margin-inline:28px}
body:has(.review-book) .opening-controls{background:#000;color:#d1cdc2}
.booking-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.review-book .review-book-main{width:calc(100% - 24px);padding:24px 0 48px}.review-book .booking-calendar{border-radius:12px}.review-book .home-footer{margin-inline:12px}}

.review-book .review-book-main>.review-eyebrow{color:var(--gold-primary);margin:0 0 28px}

/* Booking skips the intro and uses the approved logo with its matte knocked out. */
body.page-no-opening :is(#opening,#skip-opening,.opening-controls){display:none!important}
.review-book .review-logo{background:transparent}
.booking-logo-white{filter:url(#booking-wordmark-white)}
.review-logo .booking-logo-gold{position:absolute;left:15px;top:10px;width:calc(100% - 30px);height:auto;filter:url(#booking-wordmark-gold);transform:scale(1.15);transform-origin:20.3% 63%;pointer-events:none}

/* Original paper notes, arranged as a lightly overlapping, hand-placed cluster. */
.premium-home .home-notes{max-width:920px;padding-inline:22px;margin-top:68px;isolation:isolate}
.premium-home .home-note{width:calc(100% + 12px);transform-origin:50% 18%}
.premium-home .home-note.green{transform:translateY(22px) rotate(-5deg);z-index:3}
.premium-home .home-note.blue{transform:translate(-8px,-16px) rotate(3deg);z-index:2}
.premium-home .home-note.pink{transform:translate(-16px,9px) rotate(-2.5deg);z-index:4}
.premium-home .home-note.cream{transform:translate(-24px,27px) rotate(4deg);z-index:1}
.premium-home .home-note-original{filter:drop-shadow(1px 3px 2px rgb(32 30 23 / .12)) drop-shadow(3px 12px 7px rgb(32 30 23 / .13))}
.premium-home .home-note.cream .home-note-original{width:135%;max-width:none;margin-left:-17.5%}
@media(min-width:681px) and (max-width:1100px){
 .premium-home .home-notes{max-width:620px;gap:34px 0;padding-inline:28px}
 .premium-home .home-note.green{transform:translate(0,14px) rotate(-4deg)}
 .premium-home .home-note.blue{transform:translate(-12px,-7px) rotate(3deg)}
 .premium-home .home-note.pink{transform:translate(8px,0) rotate(-3deg)}
 .premium-home .home-note.cream{transform:translate(-7px,15px) rotate(4deg)}
}
@media(max-width:680px){
 .premium-home .home-notes{max-width:340px;gap:0;padding-inline:15px;margin-top:52px}
 .premium-home .home-note{width:88%;margin-top:-10px}
 .premium-home .home-note.green{justify-self:start;margin-top:0;transform:rotate(-4deg)}
 .premium-home .home-note.blue{justify-self:end;transform:translateY(-4px) rotate(3deg)}
 .premium-home .home-note.pink{justify-self:start;transform:translate(5px,-4px) rotate(-3deg)}
 .premium-home .home-note.cream{justify-self:end;transform:translate(-3px,-12px) rotate(4deg)}
}

.premium-home .home-testimonials{overflow:clip}

/* September 22 review: copy stays grouped at the top; a third photo replaces the quote card, ready for layered scroll depth. */
.premium-home .home-life-copy{justify-content:flex-start;gap:40px}
.premium-home .home-life-third{right:10%;bottom:0;width:44%;z-index:2;box-shadow:0 14px 34px #25272533}
.premium-home .home-life-third img{width:100%;aspect-ratio:1;height:auto;object-fit:cover;object-position:50% 42%;display:block}

/* Coming-soon offers collect emails through Netlify Forms. */
.review-offer-soon{font:500 11px/1.6 var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-primary);margin:0 0 10px}
.review-work .review-offer-soon{color:var(--gold-text-on-light)}
.offer-signup{margin-top:auto;padding-top:18px;width:100%}
.offer-signup-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.offer-signup-label{display:block;font:400 14px/1.5 var(--font-body);margin-bottom:12px}
.offer-signup-row{display:flex;gap:8px}
.offer-signup-row input{flex:1;min-width:0;min-height:44px;padding:0 14px;background:transparent;border:1px solid #c2a25b99;border-radius:8px;color:inherit;font:400 14px var(--font-body)}
.offer-signup-row input::placeholder{color:inherit;opacity:.55}
.offer-signup-row input:focus-visible,.offer-signup-row button:focus-visible{outline:2px solid var(--gold-primary);outline-offset:2px}
.offer-signup-row button{min-height:44px;padding:0 16px;border:0;border-radius:8px;background:var(--home-light);color:var(--home-ink);font:500 12px var(--font-body);cursor:pointer;white-space:nowrap}
.review-work .offer-signup-row button{background:var(--home-ink);color:var(--home-light)}
.offer-signup-row button:disabled{opacity:.6;cursor:default}
.offer-signup-done,.offer-signup-error{font:400 14px/1.5 var(--font-body);margin:auto 0 0}
.offer-signup-done{color:var(--gold-primary)}
.review-work .offer-signup-done{color:var(--gold-text-on-light)}

/* September 23: Jenn placed her positioning line in the footer. */
.premium-home .home-footer .footer-tagline{font:400 16px/1.6 var(--font-body);color:var(--home-light);opacity:.82;max-width:34ch;margin:0 0 28px}

/* September 24 (Joe's marked layout): B&W floor portrait on top at left, balloons behind at top right,
   stage photo below between them. Separate depths, ready for ScrollCraft parallax later.
   Sizes use the column width (cqw) so the stack scales as one. */
@media(min-width:681px){
 .premium-home:not(.review-work) .home-life-images{height:auto;container-type:inline-size}
 .premium-home:not(.review-work) .home-life-back{right:0;top:0;width:66%;z-index:1}
 .premium-home:not(.review-work) .home-life-front{left:0;top:9cqw;width:47%;z-index:3;box-shadow:0 14px 34px #25272533}
 .premium-home:not(.review-work) .home-life-front img{height:auto;aspect-ratio:3/4}
 .premium-home:not(.review-work) .home-life-third{position:relative;right:auto;bottom:auto;width:50%;margin:51cqw 0 0 32%;z-index:2}
 .premium-home:not(.review-work) .home-life-third img{aspect-ratio:1.1;object-position:38% 50%}
}

/* September 24: on desktop the hero holds still and the page slides up over it. It pins once its bottom edge
   is on screen (so a hero taller than the window is seen in full), and only within .home-stack. */
@media(min-width:681px){
 .premium-home .home-rebuild-hero{position:sticky;top:min(0px,calc(100vh - var(--hero-height)));z-index:0}
 .premium-home #home-content{position:relative;z-index:1;background:var(--home-white)}
}

/* September 24: every Home and Work section slides up over the one before, like the hero (not Booking). Home.jsx sets --stick-top so a
   section taller than the window pins only once its bottom is on screen. Sections without their own background (life,
   notes, journal, CORE, Work hero) get white; the two contained ones get a full-bleed white backing so the section underneath can't show at the sides. */
@media(min-width:681px){
 .premium-home:not(.review-book) main>section{position:sticky;top:var(--stick-top,0)}
 .premium-home main>section:is(.home-life,.review-core){background:var(--home-white)}
 .premium-home main>section:is(.home-testimonials,.home-journal,.review-work-hero){background:var(--home-white);box-shadow:0 0 0 100vmax var(--home-white);clip-path:inset(0 -100vmax)}
 .premium-home:not(.review-book) main>section:focus-within{z-index:1}
 /* CORE is taller than the window; pinned, its dark bottom froze while Offers slid over and read as the scroll catching (Jenn, Sept 27). It scrolls normally instead. */
 .premium-home main>section.review-core{position:relative;top:auto}
}

/* Scroll motion on Home, desktop only, via the browser's own scroll-driven animations (a view timeline per section),
   which track the pinned sections correctly on every load. Each section's pieces drift into their designed spots and
   arrive as the section pins: one window-height after it starts entering. That end is a length, not a percentage,
   because a pinned section's view timeline is stretched by its pinned travel, so "cover 50%" lands far too late. Browsers without support, and reduced motion, simply show the resting layout.
   Photos: balloons from 75px up, stage from 25px up, B&W from 50px down. Notes: gather from a slight spread. */
@supports (animation-timeline:view()){
 @media(min-width:681px) and (prefers-reduced-motion:no-preference){
  .premium-home .home-life{view-timeline:--life block}
  .premium-home .home-life-images figure{animation:home-drift linear both;animation-timeline:--life;animation-range:cover 0px cover 100vh}
  .premium-home .home-life-back{--drift:0 -75px}
  .premium-home .home-life-third{--drift:0 -25px}
  .premium-home .home-life-front{--drift:0 50px}
 }
 @media(min-width:1101px) and (prefers-reduced-motion:no-preference){
  .premium-home .home-testimonials{view-timeline:--notes block}
  .premium-home .home-note{animation:home-drift linear both;animation-timeline:--notes;animation-range:cover 0px cover 100vh}
  .premium-home .home-note.green{--drift:-36px 0}
  .premium-home .home-note.blue{--drift:-12px 0}
  .premium-home .home-note.pink{--drift:12px 0}
  .premium-home .home-note.cream{--drift:36px 0}
 }
}
@keyframes home-drift{from{translate:var(--drift,0 0)}to{translate:0 0}}
