/* ==========================================================================
   THE NEXT CHAPTER LIFE COACHING - bespoke design layer
   Sits on top of site.css (shared engine). Palette + type sampled from the
   client's own logo. Motion persona: organic / warm, low intensity.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0; padding:0;}
body{
  background:var(--cream); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.68;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:400; color:var(--teal); margin:0; line-height:1.08;}
p{margin:0 0 18px;}
a{color:var(--teal);}

.wrap{max-width:1180px; margin:0 auto; padding:0 clamp(20px,5vw,56px); position:relative;}
.sec{padding:clamp(66px,8.5vw,124px) 0; position:relative;}

.display{font-size:clamp(30px,4.4vw,58px); letter-spacing:-.012em;}
h3{font-size:clamp(20px,2vw,24px); letter-spacing:-.005em;}

.eyebrow{
  font-size:11px; letter-spacing:3.4px; text-transform:uppercase; font-weight:700;
  color:var(--gold-ink); margin:0 0 16px;
}
.eyebrow.gold{color:var(--gold-lt);}
.script-eyebrow{
  font-family:var(--font-script); font-size:clamp(26px,3vw,36px); color:var(--gold-ink);
  margin:0 0 6px; line-height:1.1;
}
.sec-lead{font-size:clamp(17px,1.5vw,19.5px); max-width:62ch; color:#4b5548;}
main h2.display{margin-bottom:22px;}
.sec .wrap > .display{max-width:26ch;}

.btn{
  font-family:var(--font-body); font-size:12.5px; letter-spacing:2.2px; text-transform:uppercase;
  font-weight:700; padding:16px 30px; line-height:1;
}
.btn-gold{background:linear-gradient(135deg,#ab6a80,#93576b); color:#fff;}
.btn-teal{background:var(--teal); color:var(--cream);}
.btn-outline{background:transparent; color:var(--teal); box-shadow:inset 0 0 0 1.5px rgba(63,76,62,.34);}
.btn-ghost{background:rgba(63,76,62,.06); color:var(--teal); box-shadow:inset 0 0 0 1.5px rgba(176,121,140,.4);}

/* ------------------------------------------------------------------ *
 * LOADER - the logo sunrise, drawn
 * ------------------------------------------------------------------ */
#bc-loader{background:var(--cream);}
#bc-loader .ld-logo{
  width:min(132px,30vw); height:auto; margin-bottom:18px;
  animation:markIn2 1.1s var(--ease-out) both;
}
@keyframes markIn2{from{opacity:0; transform:scale(.9);} to{opacity:1; transform:none;}}
#bc-loader .ld-sun{width:min(150px,34vw); margin-bottom:20px;}
#bc-loader .ld-sun svg{width:100%; height:auto; overflow:visible;}
#bc-loader .ld-disc{
  fill:var(--gold-lt); transform-origin:100px 100px;
  animation:ldRise2 1.5s var(--ease-out) forwards, ldPulse 3.4s ease-in-out 1.5s infinite;
}
#bc-loader .ld-rays{transform-origin:100px 100px; opacity:0; animation:ldRays 1.5s ease .35s forwards;}
#bc-loader .ld-hill{stroke-dasharray:230; stroke-dashoffset:230; animation:ldDraw 1.2s var(--ease-out) .2s forwards;}
#bc-loader .ld-path{stroke-dasharray:120; stroke-dashoffset:120; animation:ldDraw 1.3s var(--ease-out) .7s forwards;}
@keyframes ldRise2{from{transform:translateY(26px) scale(.86); opacity:.2;} to{transform:none; opacity:1;}}
@keyframes ldPulse{0%,100%{opacity:1;}50%{opacity:.82;}}
@keyframes ldRays{from{opacity:0; transform:rotate(-14deg) scale(.9);} to{opacity:1; transform:none;}}
@keyframes ldDraw{to{stroke-dashoffset:0;}}
#bc-loader .ld-mark{
  font-family:var(--font-display); font-weight:400; color:var(--teal);
  font-size:clamp(26px,4.6vw,40px); letter-spacing:.01em;
}
#bc-loader .ld-mark span{animation-delay:.15s;}
#bc-loader .ld-kick{font-family:var(--font-body); color:var(--gold-ink); letter-spacing:4px; font-size:10.5px; font-weight:700;}
#bc-loader .ld-bar i{background:var(--gold);}

/* ------------------------------------------------------------------ *
 * HEADER
 * ------------------------------------------------------------------ */
.bc-head{background:rgba(250,243,237,.86); border-bottom:1px solid rgba(176,121,140,.18);}
.bc-head.is-condensed{background:rgba(250,243,237,.97);}
.bc-logo{flex-direction:row; align-items:center; gap:12px;}
.bc-logo .mark{
  width:52px; height:48px; object-fit:contain; flex:none;
  transition:transform .5s var(--ease-out);
}
.bc-head.is-condensed .bc-logo .mark{transform:scale(.88);}
.bc-logo .lock{display:flex; flex-direction:column; line-height:1;}
.bc-logo .wm{
  font-family:var(--font-display); font-size:20px; font-weight:400; color:var(--teal);
  letter-spacing:.005em; white-space:nowrap;
}
.bc-logo .kick{
  font-family:var(--font-body); font-size:8.5px; letter-spacing:3.4px; text-transform:uppercase;
  color:var(--gold-ink); margin-top:5px; opacity:1; animation:none; font-weight:700;
}
.bc-nav{gap:26px;}
.navlink{font-size:12px; letter-spacing:1.3px; color:#4d5849;}
.nav-cta{padding:12px 22px; font-size:11px; letter-spacing:1.8px;}
@media(max-width:1080px){ .bc-nav .navlink:nth-child(4), .bc-nav .navlink:nth-child(5){display:none;} }
.bc-mobile a:last-child{background:var(--gold);}

/* ------------------------------------------------------------------ *
 * HERO - the logo alone, then the words on the next screen
 * ------------------------------------------------------------------ */
.nc-hero{
  min-height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:
    radial-gradient(42% 46% at 3% 94%, rgba(192,138,153,.18), transparent 68%),
    radial-gradient(40% 44% at 97% 6%, rgba(192,138,153,.12), transparent 68%),
    radial-gradient(34% 34% at 96% 92%, rgba(142,149,120,.10), transparent 70%),
    var(--cream);
  padding:clamp(104px,15vh,150px) clamp(20px,5vw,56px) clamp(70px,11vh,110px);
}
.nc-mark{
  position:relative; z-index:2; width:min(560px,74vw); margin:0 auto;
  animation:markIn 1.6s var(--ease-out) both;
}
.nc-mark img{width:100%; height:auto;}
@keyframes markIn{from{opacity:0; transform:translateY(16px) scale(.965);} to{opacity:1; transform:none;}}
.nc-hero .scroll-cue{border-color:rgba(63,76,62,.4);}
.nc-hero .scroll-cue::after{background:var(--teal);}

/* the words, on their own screen */
.intro-sec{
  background:linear-gradient(180deg,#faf3ed 0%,#f7efe6 100%);
  text-align:center; padding:clamp(72px,11vh,132px) 0;
}
.intro-sec .wrap{max-width:860px;}
.intro-sec h1{font-size:clamp(38px,5.6vw,74px); line-height:1.03; letter-spacing:-.022em; margin:0 auto 22px; max-width:14ch;}
.intro-sec .lead{font-size:clamp(17px,1.6vw,20.5px); max-width:56ch; margin:0 auto; color:#46503f;}
.hero-cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; justify-content:center;}
.hero-note{margin:20px auto 0; font-size:13.5px; color:#5f6758;}

@media(max-width:760px){
  .nc-hero{min-height:88svh; padding-top:clamp(96px,14vh,130px);}
  .nc-mark{width:min(420px,82vw);}
}
@media(max-height:620px){
  .nc-hero{min-height:auto; padding-top:110px;}
  .nc-mark{width:min(360px,60vw);}
}

/* ------------------------------------------------------------------ *
 * TRUST STRIP
 * ------------------------------------------------------------------ */
.strip{background:linear-gradient(180deg,#f6ecdd,#f1e9de); border-top:1px solid rgba(176,121,140,.2); border-bottom:1px solid rgba(176,121,140,.2);}
.strip-row{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:clamp(14px,3vw,40px); padding:20px 0;}
.strip-it{display:inline-flex; align-items:center; gap:11px; font-size:13px; letter-spacing:1.4px; text-transform:uppercase; font-weight:600; color:#4e5847;}
.strip-it svg{width:19px; height:19px; fill:none; stroke:var(--gold-ink); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:none;}
.strip-sep{width:5px; height:5px; border-radius:50%; background:rgba(176,121,140,.5);}
@media(max-width:640px){ .strip-sep{display:none;} .strip-row{flex-direction:column; gap:12px;} }

/* ------------------------------------------------------------------ *
 * GRIDS + SOFT CARDS
 * ------------------------------------------------------------------ */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; overflow:visible; border-radius:0;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.8vw,22px);}
@media(max-width:880px){ .grid-2{grid-template-columns:1fr;} .grid-3{grid-template-columns:1fr;} }

.feature-grid{margin-top:clamp(34px,4vw,54px);}
.feature-grid > div{padding:clamp(26px,2.6vw,34px);}
.feature-grid h3{margin:0 0 10px;}
.feature-grid p{margin:0; font-size:15.5px; color:#5a6355;}
.you-grid .ico{
  display:inline-block; font-family:var(--font-display); font-size:13px; letter-spacing:2px;
  color:var(--gold-ink); margin-bottom:14px; padding-bottom:6px; border-bottom:1.5px solid rgba(176,121,140,.35);
}
.how-grid .num{
  display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
  background:radial-gradient(circle at 34% 30%, var(--gold-lt), var(--gold));
  color:#fff; font-family:var(--font-display); font-size:20px; margin-bottom:16px;
  box-shadow:0 8px 18px -12px rgba(45,58,45,.7);
}

/* ------------------------------------------------------------------ *
 * OFFER PANEL (engine .stats, relaid out)
 * ------------------------------------------------------------------ */
.stats{padding:clamp(26px,5vw,64px) clamp(18px,5vw,56px);}
.stats .inner{
  grid-template-columns:1.05fr .95fr; gap:clamp(34px,5vw,72px); text-align:left;
  align-items:center; max-width:1180px;
}
.offer-copy h2{color:var(--cream); margin:0 0 18px; max-width:16ch;}
.offer-copy p{color:#dfe3d8; max-width:46ch; font-size:16.5px;}
.offer-copy .btn{margin-top:10px;}
.offer-nums{display:grid; gap:14px;}
.offer-nums > div{
  display:flex; align-items:baseline; gap:16px;
  background:linear-gradient(158deg, rgba(250,243,237,.09), rgba(250,243,237,.03));
  border:1px solid rgba(227,188,200,.24); border-radius:var(--r-md);
  padding:16px clamp(18px,2vw,26px);
}
.offer-nums .n{font-family:var(--font-display); font-size:clamp(32px,3.6vw,46px); color:#fff; line-height:1; min-width:2.05em;}
.offer-nums .n .suf{color:var(--gold-lt); font-size:.5em;}
.offer-nums .c{font-size:12px; letter-spacing:1.8px; text-transform:uppercase; color:#c9d1c1; margin:0;}
@media(max-width:880px){ .stats .inner{grid-template-columns:1fr;} .offer-nums .n{min-width:1.9em;} }

/* ------------------------------------------------------------------ *
 * SIGNATURE: the three pillars on a drawn path
 * ------------------------------------------------------------------ */
.path-sec{background:linear-gradient(180deg,#faf3ed 0%,#f7efe4 100%); overflow:hidden;}
.path-sec .wrap > .eyebrow, .path-sec .wrap > .display{text-align:center;}
.path-sec .display{margin:0 auto; max-width:16ch;}
.path-line{
  position:absolute; left:50%; transform:translateX(-50%);
  top:clamp(250px,27vw,350px); bottom:clamp(90px,11vw,150px); width:200px; z-index:0; pointer-events:none;
}
.path-line svg{width:100%; height:100%;}
.steps{position:relative; z-index:1; margin-top:clamp(44px,5vw,70px); display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(46px,6.5vw,104px); row-gap:clamp(26px,4vw,54px);}
.step{
  background:linear-gradient(158deg,#fdf8f1,#f4ece0); border:1px solid rgba(176,121,140,.2);
  border-radius:var(--r-lg); padding:clamp(26px,2.8vw,38px);
  box-shadow:0 18px 44px -34px rgba(45,58,45,.5);
  transition:transform .55s var(--ease-out), box-shadow .55s var(--ease-out), border-color .45s ease;
}
.step{position:relative;}
.step::after{
  content:""; position:absolute; top:50%; width:11px; height:11px; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--gold-lt), var(--gold));
  box-shadow:0 0 0 5px rgba(250,243,237,.9), 0 0 0 6.5px rgba(176,121,140,.3);
  transform:translateY(-50%);
}
.step:nth-child(odd)::after{right:-6px;}
.step:nth-child(even)::after{left:-6px;}
@media(max-width:880px){ .step::after{left:-6px; right:auto;} }
.step:hover{transform:translateY(-5px); box-shadow:0 34px 60px -38px rgba(45,58,45,.55); border-color:rgba(176,121,140,.44);}
.step:nth-child(1){grid-column:1; grid-row:1;}
.step:nth-child(2){grid-column:2; grid-row:2;}
.step:nth-child(3){grid-column:1; grid-row:3;}
.step-mark{width:52px; height:52px; margin-bottom:18px;}
.step-mark svg{width:100%; height:100%; fill:none; stroke:var(--gold-ink); stroke-width:2;}
.step h3{margin:0 0 10px;}
.step p{margin:0; color:#5a6355; font-size:16px;}
@media(max-width:880px){
  .path-line{left:26px; transform:none; width:60px; top:clamp(150px,34vw,220px);}
  .steps{grid-template-columns:1fr; margin-left:58px; row-gap:18px;}
  .step:nth-child(1),.step:nth-child(2),.step:nth-child(3){grid-column:1; grid-row:auto;}
  .path-sec .wrap > .eyebrow, .path-sec .wrap > .display{text-align:left;}
  .path-sec .display{margin:0;}
}

/* ------------------------------------------------------------------ *
 * QUOTE BAND
 * ------------------------------------------------------------------ */
.quote-band{
  margin-top:clamp(38px,4.5vw,64px); text-align:center;
  padding:clamp(30px,4vw,50px) clamp(24px,4vw,60px);
  border-top:1px solid rgba(176,121,140,.28); border-bottom:1px solid rgba(176,121,140,.28);
}
.quote-band .script{font-family:var(--font-script); font-size:clamp(30px,4vw,46px); color:var(--gold-ink); margin:0 0 4px;}
.quote-band .quote{font-family:var(--font-display); font-size:clamp(22px,2.8vw,34px); color:var(--teal); line-height:1.28; margin:0 auto; max-width:22ch;}

/* ------------------------------------------------------------------ *
 * ABOUT
 * ------------------------------------------------------------------ */
.about-grid{align-items:center;}
.about-media{position:relative;}
.about-media .frame{
  border-radius:var(--r-lg); overflow:hidden; position:relative;
  box-shadow:0 40px 70px -46px rgba(45,58,45,.62); border:1px solid rgba(176,121,140,.22);
}
.about-media .frame img{width:100%; height:auto;}
.frame-tag{
  position:absolute; left:-10px; bottom:-16px; background:var(--cream);
  border:1px solid rgba(176,121,140,.3); border-radius:var(--r-pill);
  padding:9px 20px; font-size:11.5px; letter-spacing:2px; text-transform:uppercase;
  font-weight:700; color:var(--gold-ink); box-shadow:0 14px 28px -22px rgba(45,58,45,.6);
}
.about-copy p{color:#4e5849; max-width:52ch;}
.about-copy .btn{margin-top:8px;}
@media(max-width:880px){ .about-media{margin-bottom:26px;} }

/* ------------------------------------------------------------------ *
 * FAQ
 * ------------------------------------------------------------------ */
.faq-wrap{max-width:900px;}
.faq{margin-top:clamp(30px,3.6vw,46px); display:grid; gap:12px;}
.fq{
  background:linear-gradient(158deg,#fdf8f1,#f4ece0); border:1px solid rgba(176,121,140,.2);
  border-radius:var(--r-md); overflow:hidden; transition:border-color .4s ease, box-shadow .4s ease;
}
.fq.open{border-color:rgba(176,121,140,.45); box-shadow:0 18px 40px -32px rgba(45,58,45,.5);}
.fq-q{
  width:100%; text-align:left; background:none; border:0; cursor:pointer; font-family:var(--font-display);
  font-size:clamp(17px,1.8vw,21px); color:var(--teal); padding:20px clamp(20px,2.4vw,28px);
  display:flex; align-items:center; justify-content:space-between; gap:18px; line-height:1.3;
}
.fq-i{position:relative; width:16px; height:16px; flex:none;}
.fq-i::before,.fq-i::after{content:""; position:absolute; background:var(--gold-ink); border-radius:2px; transition:transform .4s var(--ease);}
.fq-i::before{left:0; top:7px; width:16px; height:2px;}
.fq-i::after{left:7px; top:0; width:2px; height:16px;}
.fq.open .fq-i::after{transform:scaleY(0);}
.fq-a{max-height:0; overflow:hidden; transition:max-height .5s var(--ease);}
.fq-a p{margin:0; padding:0 clamp(20px,2.4vw,28px) 22px; color:#5a6355; font-size:16px; max-width:62ch;}

/* ------------------------------------------------------------------ *
 * BOOK
 * ------------------------------------------------------------------ */
.book-sec{background:linear-gradient(180deg,#f1e9de 0%,#ece2d3 100%); position:relative; overflow:hidden;}
.book-sec::before{
  content:""; position:absolute; width:60%; height:120%; top:-20%; left:-14%; border-radius:50%;
  background:radial-gradient(closest-side, rgba(192,138,153,.14), transparent 70%);
  animation:auroraDriftA 30s var(--ease) infinite alternate; pointer-events:none;
}
.book-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,4.5vw,66px); align-items:start; position:relative; z-index:1;}
.book-copy .eyebrow{color:var(--gold-ink);}
.book-copy p{color:#4e5849; max-width:44ch;}
.tick{list-style:none; margin:22px 0 28px; padding:0; display:grid; gap:11px;}
.tick li{position:relative; padding-left:30px; font-size:16px; color:#4e5849;}
.tick li::before{
  content:""; position:absolute; left:0; top:8px; width:10px; height:10px; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--gold-lt), var(--gold)); box-shadow:0 0 0 4px rgba(176,121,140,.14);
}
.book-alt{border-top:1px solid rgba(176,121,140,.3); padding-top:22px;}
.book-alt p{font-size:13px; letter-spacing:1.6px; text-transform:uppercase; font-weight:700; color:#5f6758; margin:0 0 12px;}
.btn.ig svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7;}

.form-card{
  background:linear-gradient(158deg,#fdf8f1,#f6efe4); border:1px solid rgba(176,121,140,.24);
  border-radius:var(--r-lg); padding:clamp(24px,3vw,38px); box-shadow:0 30px 60px -44px rgba(45,58,45,.6);
}
.fld{margin-bottom:16px;}
.fld label{display:block; font-size:11.5px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:#5f6758; margin-bottom:8px;}
.fld input,.fld textarea{
  width:100%; font-family:var(--font-body); font-size:16px; color:var(--ink);
  background:rgba(255,255,255,.72); border:1px solid rgba(176,121,140,.3); border-radius:var(--r-sm);
  padding:13px 15px; transition:border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.fld textarea{resize:vertical; min-height:104px;}
.fld input::placeholder,.fld textarea::placeholder{color:#9aa093;}
.fld input:focus,.fld textarea:focus{
  outline:none; border-color:var(--gold); background:#fff;
  box-shadow:0 0 0 4px rgba(176,121,140,.16);
}
.form-go{width:100%; justify-content:center; margin-top:4px;}
.form-msg{margin:14px 0 0; font-size:14.5px; color:var(--gold-ink); min-height:1px;}
.form-msg.ok{color:#4a6a4a;}
.form-fine{margin:12px 0 0; font-size:12.5px; color:#5f6758;}
.form-out{width:100%; margin-top:12px; font-size:14px; font-family:var(--font-body); min-height:120px;}
@media(max-width:880px){ .book-grid{grid-template-columns:1fr;} }

/* ------------------------------------------------------------------ *
 * FOOTER
 * ------------------------------------------------------------------ */
.nc-foot{background:var(--teal-deep); color:#d9dfd3; padding:clamp(52px,6vw,84px) 0 0;}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:clamp(28px,4vw,60px);}
.nc-foot h4{color:var(--cream); font-size:14px; letter-spacing:2.4px; text-transform:uppercase; font-family:var(--font-body); font-weight:700; margin:0 0 16px;}
.nc-foot a{display:block; color:#cdd5c6; text-decoration:none; font-size:15px; padding:6px 0; transition:color .3s ease;}
.nc-foot a:hover{color:var(--gold-lt);}
.foot-logo .wm{display:block; font-family:var(--font-display); font-size:28px; color:var(--cream); line-height:1;}
.foot-logo .kick{display:block; font-size:9.5px; letter-spacing:4px; text-transform:uppercase; color:var(--gold-lt); margin-top:9px; font-weight:700;}
.foot-blurb{margin-top:20px; max-width:42ch; font-size:15px; color:#bfc8b9;}
.foot-script{font-family:var(--font-script); font-size:24px; color:var(--gold-lt); margin:0;}
.foot-note{margin:16px 0 0; font-size:14px; color:#bfc8b9;}
.foot-base{
  position:relative; z-index:1; max-width:1180px; margin:clamp(38px,5vw,60px) auto 0;
  padding:22px clamp(20px,5vw,56px); border-top:1px solid rgba(227,188,200,.2);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:12.5px; color:#a9b3a3;
}
@media(max-width:880px){ .foot-grid{grid-template-columns:1fr;} }

/* ------------------------------------------------------------------ *
 * REDUCED MOTION
 * ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce){
  .nc-trail, #bc-loader .ld-hill, #bc-loader .ld-path{stroke-dashoffset:0 !important;}
  .nc-sun{transform:none !important; opacity:1 !important;}
  #ncPath{stroke-dashoffset:0 !important;}
}

/* anchor offsets so the fixed header never covers a section heading */
section[id]{scroll-margin-top:96px;}
@media(max-width:880px){ section[id]{scroll-margin-top:78px;} }

/* ------------------------------------------------------------------ *
 * CONSENT + LEGAL PAGES
 * ------------------------------------------------------------------ */
.consent{display:flex; gap:12px; align-items:flex-start; margin:4px 0 20px; cursor:pointer;}
.consent input{width:19px; height:19px; margin:2px 0 0; accent-color:var(--gold); flex:none;}
.consent span{font-size:14px; color:#5a6355; line-height:1.5;}
.consent a{color:var(--gold-ink); text-decoration:underline; text-underline-offset:2px;}

.todo{color:var(--gold-lt); opacity:.85;}

/* legal page layout */
.legal{padding:clamp(120px,16vh,190px) 0 clamp(60px,8vw,110px);}
.legal .wrap{max-width:820px;}
.legal .lead-note{
  background:linear-gradient(158deg,#fdf8f1,#f3ece0); border:1px solid rgba(176,121,140,.24);
  border-radius:var(--r-md); padding:20px 24px; margin:0 0 34px; font-size:15px; color:#5a6355;
}
.legal h1{font-size:clamp(32px,4.6vw,54px); margin:0 0 10px;}
.legal .updated{font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#5f6758; margin:0 0 34px; font-weight:700;}
.legal h2{font-size:clamp(21px,2.3vw,27px); margin:44px 0 14px;}
.legal h3{font-size:18px; margin:26px 0 10px;}
.legal p, .legal li{color:#4e5849; font-size:16.5px;}
.legal ul{padding-left:22px; margin:0 0 18px;}
.legal li{margin-bottom:9px;}
.legal a{color:var(--gold-ink);}
.legal .back{display:inline-block; margin-top:40px; font-size:12.5px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--gold-ink); text-decoration:none;}
.legal .back:hover{text-decoration:underline;}
.legal table{width:100%; border-collapse:collapse; margin:0 0 20px; font-size:15.5px;}
.legal th, .legal td{text-align:left; padding:12px 14px; border-bottom:1px solid rgba(176,121,140,.24); vertical-align:top; color:#4e5849;}
.legal th{font-family:var(--font-body); font-weight:700; color:var(--teal); font-size:13px; letter-spacing:1.4px; text-transform:uppercase;}
.legal .todo{color:var(--gold-ink); background:rgba(176,121,140,.13); padding:1px 6px; border-radius:5px; font-style:italic;}

/* ------------------------------------------------------------------ *
 * REVISION: dusty pink through the brand, new sections
 * ------------------------------------------------------------------ */
.pull-line{
  font-family:var(--font-display); font-size:clamp(20px,2.3vw,28px); color:var(--teal);
  line-height:1.35; max-width:24ch; margin:22px 0 0; padding-left:20px;
  border-left:3px solid var(--blush);
}

/* the questions block, replacing the stats row */
.q-list{display:grid; gap:12px;}
.q-list .q{
  position:relative; padding:16px 22px 16px 46px; font-family:var(--font-display);
  font-size:clamp(17px,1.8vw,21px); color:#f3efe8; line-height:1.35;
  background:linear-gradient(158deg, rgba(250,243,237,.09), rgba(250,243,237,.03));
  border:1px solid rgba(227,188,200,.24); border-radius:var(--r-md);
}
.q-list .q::before{
  content:""; position:absolute; left:20px; top:24px; width:9px; height:9px; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #e0b3c0, var(--blush));
  box-shadow:0 0 0 4px rgba(192,138,153,.18);
}

/* how I work, on a dusty pink ground */
.blush-sec{
  background:linear-gradient(180deg,#faf1ef 0%,#f6e9e6 100%);
  border-top:1px solid rgba(192,138,153,.22); border-bottom:1px solid rgba(192,138,153,.22);
}
.blush-sec .eyebrow{color:#9a5f70;}
.approach-grid{align-items:start;}
.approach-copy p{color:#4e5849; max-width:40ch;}
.approach-list{padding-top:6px;}
.blush-tick li::before{
  background:radial-gradient(circle at 35% 35%, #e2b6c3, var(--blush));
  box-shadow:0 0 0 4px rgba(192,138,153,.16);
}
.expert-line{
  margin:clamp(30px,4vw,48px) 0 0; text-align:center; font-family:var(--font-script);
  font-size:clamp(28px,3.6vw,44px); color:#a3687a; line-height:1.2;
}

/* dusty pink brush stroke behind a word, as on her flyer */
.brush{position:relative; display:inline-block; white-space:nowrap;}
.brush::before{
  content:""; position:absolute; left:-.14em; right:-.14em; top:.1em; bottom:.06em; z-index:-1;
  background:linear-gradient(100deg, rgba(192,138,153,.42), rgba(192,138,153,.66) 40%, rgba(192,138,153,.34));
  border-radius:44% 56% 52% 48% / 62% 44% 56% 38%;
  transform:rotate(-.6deg);
}
.book-copy h2{position:relative; z-index:0;}

/* blush notes elsewhere */
.quote-band .script{color:#a3687a;}
.quote-band{border-color:rgba(192,138,153,.34);}
.you-grid .ico{border-bottom-color:rgba(192,138,153,.45);}
.strip-it svg{stroke:#9a5f70;}
@media(max-width:880px){
  .approach-copy p{max-width:none;}
  .expert-line{text-align:left;}
  .pull-line{margin-top:18px;}
}

/* ------------------------------------------------------------------ *
 * PHOTOGRAPHY
 * ------------------------------------------------------------------ */
/* the questions panel now sits on the coastal sunrise */
.stats .inner{
  background-image:
    linear-gradient(102deg, rgba(41,52,41,.95) 0%, rgba(41,52,41,.88) 42%, rgba(41,52,41,.6) 72%, rgba(41,52,41,.5) 100%),
    url('img/coast.jpg');
  background-size:cover; background-position:center 62%;
}
.approach-media .frame{
  border-radius:var(--r-lg); overflow:hidden; border:1px solid rgba(192,138,153,.3);
  box-shadow:0 40px 70px -48px rgba(45,58,45,.6);
}
.approach-media .frame img{width:100%; height:auto;}
.approach-grid{grid-template-columns:.82fr 1.18fr; align-items:center;}
.approach-copy .tick{margin-top:20px;}
.book-accent{margin:0 0 28px; max-width:340px;}
.book-accent img{
  width:100%; height:auto; border-radius:var(--r-lg);
  border:1px solid rgba(176,121,140,.3);
  box-shadow:0 30px 54px -40px rgba(45,58,45,.6);
}
/* the quote band now sits on the open gate */
.quote-band{
  position:relative; overflow:hidden; border-radius:var(--r-lg);
  border-top:0; border-bottom:0; border:1px solid rgba(192,138,153,.3);
  padding:clamp(46px,6vw,86px) clamp(24px,4vw,60px);
  background-image:
    linear-gradient(rgba(250,243,237,.9), rgba(250,243,237,.86)),
    url('img/gate.jpg');
  background-size:cover; background-position:center 40%;
}
@media(max-width:880px){
  .approach-grid{grid-template-columns:1fr;}
  .book-accent{max-width:none;}
}

/* revision polish */
.offer-copy h2{max-width:20ch;}
.approach-copy .display{font-size:clamp(28px,3.4vw,44px); max-width:20ch;}
.stats .inner{
  background-image:
    linear-gradient(102deg, rgba(41,52,41,.95) 0%, rgba(41,52,41,.9) 42%, rgba(41,52,41,.72) 74%, rgba(41,52,41,.66) 100%),
    url('img/coast.jpg');
}
.q-list .q{background:linear-gradient(158deg, rgba(250,243,237,.14), rgba(250,243,237,.07));}
.expert-cta{text-align:center; margin:26px 0 0;}
@media(max-width:880px){ .expert-cta{text-align:left;} }
