:root{
  --ivory:#F7F1E8;
  --ivory-deep:#F1E9DC;
  --blush:#EFDCD3;
  --blush-soft:#F7EBE5;
  --terracotta:#C17B5C;
  --terracotta-deep:#A9633F;
  --charcoal:#453F3A;
  --charcoal-soft:#726A61;
  --gold:#C6A15B;
  --sage:#8B9A7A;
  --taupe:#B7A99A;
  --line:#E4D9C9;
  --sage-tint:#F3E9E4;
  --gold-tint:#F6EEDA;
  --pink:#D98CA0;
  --pink-deep:#BE7189;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory);
  color:var(--charcoal);
  font-family:'Instrument Sans',sans-serif;
  font-size:16px;
  line-height:1.65;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}

h1,h2,h3{font-family:'Literata',serif;margin:0;color:var(--charcoal);font-weight:600;}
.eyebrow{
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--terracotta-deep);
  font-weight:600;
  display:inline-block;
}
.script{font-family:'Literata',serif;font-style:italic;color:var(--terracotta);font-weight:400;}

/* nav */
header.site{
  position:sticky;top:0;z-index:50;
  background:var(--ivory);
  border-bottom:1px solid var(--line);
}
.nav{
  position:relative;
  max-width:1120px;margin:0 auto;padding:20px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav .logo{
  font-family:'Literata',serif;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-size:17px;
  font-weight:600;
}
.nav ul{
  list-style:none;margin:0;padding:104px 40px 40px;
  position:fixed;top:0;right:0;bottom:0;width:min(340px,84vw);
  display:flex;flex-direction:column;gap:0;
  background:var(--ivory);border-left:1px solid var(--line);
  box-shadow:-18px 0 46px rgba(69,63,58,0.10);
  transform:translateX(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);
  z-index:60;overflow-y:auto;
}
.nav ul.open{transform:translateX(0);}
.nav ul li{opacity:0;transform:translateX(14px);transition:opacity .3s ease, transform .3s ease;}
.nav ul.open li{opacity:1;transform:none;}
.nav ul.open li:nth-child(1){transition-delay:.10s;}
.nav ul.open li:nth-child(2){transition-delay:.15s;}
.nav ul.open li:nth-child(3){transition-delay:.20s;}
.nav ul.open li:nth-child(4){transition-delay:.25s;}
.nav ul.open li:nth-child(5){transition-delay:.30s;}
.nav ul li a{
  display:block;padding:18px 0;font-size:17px;
  border-bottom:1px solid var(--line);border-top:none;
}
.nav-scrim{
  position:fixed;inset:0;background:rgba(69,63,58,0.34);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;z-index:55;
}
.nav-scrim.open{opacity:1;pointer-events:auto;}
.nav-close{
  position:fixed;top:22px;right:26px;z-index:62;
  background:none;border:none;cursor:pointer;padding:6px;
  font-size:24px;line-height:1;color:var(--charcoal);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.nav-close.open{opacity:1;pointer-events:auto;}
body.nav-open{overflow:hidden;}
body.nav-open header.site{z-index:70;}
.nav a{
  font-family:'Instrument Sans',sans-serif;font-size:14.5px;font-weight:500;white-space:nowrap;
  color:var(--charcoal);
  padding-bottom:4px;border-bottom:1px solid transparent;
  transition:color .2s, border-color .2s;
}
.nav a:hover, .nav a.active{color:var(--terracotta-deep);border-color:var(--terracotta-deep);}
.nav .menu-toggle{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:34px;height:30px;background:none;border:none;cursor:pointer;padding:0;
}
.nav .menu-toggle span{display:block;height:1.5px;width:100%;background:var(--charcoal);border-radius:2px;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Instrument Sans',sans-serif;font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;
  padding:15px 30px;border-radius:2px;
  transition:transform .2s, background .2s, color .2s, border-color .2s;
}
.btn-primary{background:var(--terracotta);color:#fff;}
.btn-primary:hover{background:var(--terracotta-deep);transform:translateY(-1px);}
.btn-outline{border:1px solid var(--charcoal);color:var(--charcoal);}
.btn-outline:hover{background:var(--charcoal);color:var(--ivory);transform:translateY(-1px);}
.btn-outline.on-dark{border-color:var(--ivory);color:var(--ivory);}
.btn-outline.on-dark:hover{background:var(--ivory);color:var(--charcoal);}

/* logo lockup */
.nav .logo img{display:block;height:34px;width:auto;}
.hero .logo-corner{position:absolute;top:34px;right:36px;z-index:3;width:150px;height:auto;opacity:0.9;}
.hero-split{display:grid;grid-template-columns:1fr 0.85fr;gap:56px;align-items:center;}
.hero-split .hero-copy{max-width:560px;}
.hero-art{position:relative;width:100%;aspect-ratio:4/3;border-radius:4px;overflow:hidden;}
.hero-art:not(:has([data-filled])){border:1px solid var(--blush);background:var(--blush-soft);}

/* hero */
.hero{padding:110px 0 90px;text-align:left;position:relative;overflow:hidden;background:linear-gradient(180deg, var(--blush-soft) 0%, var(--ivory) 65%);}
.hero .mtn{position:absolute;bottom:0;left:0;right:0;z-index:0;}
.hero .inner{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 32px;}
.hero .inner > .eyebrow, .hero .inner > h1, .hero .inner > .lede{max-width:640px;}
.hero h1{font-size:46px;letter-spacing:0.03em;margin-top:20px;}
.hero .lede{color:var(--charcoal-soft);font-size:17px;margin-top:22px;max-width:520px;}
.divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0;}
.divider .rule{width:52px;height:1px;background:var(--gold);}
.divider .mark{color:var(--gold);font-size:13px;}

section{padding:96px 0;}
section.tight{padding:72px 0;}
section.alt{background:var(--ivory-deep);}
section.dark{background:var(--charcoal);color:var(--ivory);}
section.blush-bg{background:var(--blush-soft);}
section.sage-bg{background:var(--sage-tint);}
section.gold-bg{background:var(--gold-tint);}
section.dark h2, section.dark h3{color:var(--ivory);}
section.dark .eyebrow{color:var(--gold);}
.section-head{max-width:640px;margin:0 auto 48px;text-align:center;}
.section-head h2{font-size:32px;margin-top:12px;}
.section-head p{color:var(--charcoal-soft);margin-top:16px;font-size:16px;}
section.dark .section-head p{color:#C9CBCE;}

/* two path split */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);}
.path-card{background:var(--ivory);padding:64px 56px;position:relative;}
.path-card.ecc{background:#F9EFE9;}
.path-card .eyebrow{margin-bottom:16px;}
.path-card h3{font-size:26px;line-height:1.3;}
.path-card p{color:var(--charcoal-soft);margin-top:16px;font-size:15px;max-width:420px;}
.path-card .btn{margin-top:28px;}

/* cards grid */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.card{background:none;border:1px solid var(--line);border-radius:2px;padding:30px 32px;transition:border-color .25s ease;}
.card:hover{border-color:var(--terracotta);}
section.blush-bg .card{border-color:#E7CBC2;}
section.blush-bg .card h4{font-weight:600;}
section.sage-bg .card, section.gold-bg .card{border-color:#E2D3C3;}
.card .icon{width:20px;height:20px;margin-bottom:20px;}
.card .icon svg{width:20px;height:20px;stroke:var(--terracotta-deep);fill:none;stroke-width:1.3;}
.card h4{font-family:'Literata',serif;font-size:24px;font-weight:400;line-height:1.25;margin:0;}
.card p{color:var(--charcoal-soft);font-size:15px;margin-top:12px;max-width:38ch;}

/* offering list (ECC) */
.offer-list{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 40px;}
.offer{background:none;border:none;border-top:1px solid var(--line);padding:22px 0 0;text-align:left;border-radius:0;transition:border-color .25s ease;}
.offer:hover{border-top-color:var(--terracotta);}
.offer .icon{width:22px;height:22px;margin-bottom:14px;}
.offer .icon svg{width:22px;height:22px;stroke:var(--terracotta-deep);fill:none;stroke-width:1.4;}
.offer h4{font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:14px;letter-spacing:0.04em;}

/* quote / positioning banner */
.banner{background:var(--charcoal);color:var(--ivory);padding:80px 0;text-align:center;}
.banner p{font-family:'Literata',serif;font-size:28px;line-height:1.5;max-width:760px;margin:0 auto;font-weight:500;}
.banner .accent{color:var(--gold);font-style:italic;}

/* fit list */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.fit-col h4{font-family:'Instrument Sans',sans-serif;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:18px;}
.fit-col.yes h4{color:var(--sage);}
.fit-col.no h4{color:var(--terracotta-deep);}
.fit-col ul{list-style:none;margin:0;padding:0;}
.fit-col li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--charcoal-soft);}
.fit-col.yes li:before{content:"✓";color:var(--sage);font-weight:700;}
.fit-col.no li:before{content:"✕";color:var(--terracotta-deep);font-weight:700;}

/* about */
.about-grid{display:grid;grid-template-columns:0.4fr 1.6fr;gap:56px;align-items:center;}
.portrait{aspect-ratio:4/5;border-radius:3px;overflow:hidden;border:1px solid var(--line);max-width:240px;}
.portrait img{width:100%;height:100%;object-fit:cover;display:block;}
.stat-row{display:flex;gap:40px;margin-top:32px;flex-wrap:wrap;}
.stat b{font-family:'Literata',serif;font-size:30px;display:block;color:var(--terracotta-deep);}
.stat span{font-family:'Instrument Sans',sans-serif;font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--charcoal-soft);}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.field{margin-bottom:22px;}
.field label{display:block;font-family:'Instrument Sans',sans-serif;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--charcoal-soft);margin-bottom:8px;}
.field input,.field select,.field textarea{
  width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:2px;background:#fff;
  font-family:'Instrument Sans',sans-serif;font-size:14.5px;color:var(--charcoal);
}
.field textarea{min-height:130px;resize:vertical;}
.contact-info .item{padding:20px 0;border-bottom:1px solid var(--line);}
.contact-info .item .eyebrow{display:block;margin-bottom:6px;}
.contact-info .item p{margin:0;font-size:15px;}

/* footer */
footer.site{background:var(--charcoal);color:var(--ivory);padding:64px 0 36px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:48px;}
footer.site .logo{font-family:'Literata',serif;letter-spacing:0.1em;text-transform:uppercase;font-size:18px;font-weight:600;}
footer.site p{color:#C9CBCE;font-size:14px;margin-top:14px;max-width:320px;}
footer.site h5{font-family:'Instrument Sans',sans-serif;font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;}
footer.site ul{list-style:none;margin:0;padding:0;}
footer.site li{margin-bottom:10px;}
footer.site a{color:#C9CBCE;font-size:14.5px;transition:color .2s;}
footer.site a:hover{color:var(--ivory);}
.footer-bottom{border-top:1px solid #454850;padding-top:26px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#9A9DA3;flex-wrap:wrap;gap:12px;}

/* success path steps */
.path-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:44px 40px;}
.step-card{background:none;border:none;border-top:1px solid var(--line);padding:22px 0 0;}
.step-card .num{font-family:'Literata',serif;font-size:32px;color:var(--gold);font-weight:600;line-height:1;margin-bottom:14px;}
.step-card h4{font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:14.5px;letter-spacing:0.02em;margin:0 0 10px;text-transform:uppercase;}
.step-card p{color:var(--charcoal-soft);font-size:14px;margin:0;}

/* transformation (from/to) */
.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;background:none;}
.transform-col{
  padding:44px 40px;background:#fff;border:1px solid var(--blush);border-radius:3px;
  box-shadow:0 0 0 6px rgba(243,213,205,0.32), 0 12px 34px -10px rgba(200,130,148,0.17);
}
.transform-col.from, .transform-col.to{background:#fff;}
.transform-col .eyebrow{margin-bottom:14px;font-weight:700;color:var(--charcoal);}
.transform-col p{color:var(--charcoal-soft);font-size:15px;}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;}
.timeline::before{
  content:'';position:absolute;top:7px;left:0;right:0;
  height:1px;background:var(--line);
}
.timeline .item{position:relative;padding:34px 40px 0 0;background:none;border:none;}
.timeline .item::before{
  content:'';position:absolute;top:0;left:0;width:15px;height:15px;
  border-radius:50%;background:var(--ivory);
  border:1.5px solid var(--terracotta);
}
.timeline .item::after{
  content:'';position:absolute;top:5px;left:5px;width:5px;height:5px;
  border-radius:50%;background:var(--terracotta);
}
.timeline .item .eyebrow{margin-bottom:14px;display:block;}
.timeline .item h4{
  font-family:'Literata',serif;font-weight:400;
  font-size:30px;line-height:1.1;margin-bottom:12px;
}
.timeline .item p{color:var(--charcoal-soft);font-size:15px;margin:0;max-width:30ch;}

/* ritual / roundtable */
.ritual{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;align-items:center;}
.ritual-mark{width:56px;height:56px;border-left:2px solid var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:var(--gold-tint);}
.ritual-mark svg{width:32px;height:32px;stroke:var(--terracotta-deep);fill:none;stroke-width:1.5;}
.ritual ul{list-style:none;margin:18px 0 0;padding:0;}
.ritual li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--charcoal-soft);display:flex;gap:10px;}
.ritual li:before{content:"—";color:var(--gold);}

/* ambient depth — soft blurred color fields instead of flat blocks */
section{position:relative; overflow:hidden;}
.ambient{position:absolute; border-radius:50%; filter:blur(60px); opacity:0.5; z-index:0; pointer-events:none;}
section .wrap{position:relative; z-index:1;}

/* editorial hero split */
.hero-split{display:grid; grid-template-columns:1.05fr 0.95fr; gap:0; align-items:center; min-height:560px; position:relative;}
.hero-split .copy{padding:60px 0;}
.hero-split .copy .lede{margin-left:0; margin-right:0; text-align:left;}
.hero-split h1{font-size:44px; text-align:left; letter-spacing:0.02em; margin-top:18px;}
.hero-visual{position:relative; height:100%; min-height:480px; display:flex; align-items:center; justify-content:center;}
.hero-photo{width:100%; height:auto; max-height:520px; object-fit:contain; display:block;}
.hero-visual svg{position:absolute; inset:0; width:100%; height:100%;}
.float-card{
  position:absolute; background:#fff; border:1px solid var(--line); border-radius:4px;
  padding:20px 24px; border:1px solid var(--line); z-index:2;
}
.float-card.quote{bottom:14%; left:-8%; max-width:250px;}
.float-card.quote p{font-family:'Literata',serif; font-style:italic; font-size:15px; color:var(--charcoal); margin:0; line-height:1.5;}
.float-card.quote span{display:block; margin-top:10px; font-family:'Instrument Sans',sans-serif; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--terracotta-deep);}
.float-card.stat{top:8%; right:-4%; text-align:center;}
.float-card.stat b{font-family:'Literata',serif; font-size:26px; color:var(--terracotta-deep); display:block;}
.float-card.stat span{font-family:'Instrument Sans',sans-serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--charcoal-soft);}

/* connected vertical timeline for the success path — order carries real meaning here */
.path-timeline{position:relative; max-width:780px; margin:0 auto;}
.path-timeline:before{
  content:""; position:absolute; left:52px; top:14px; bottom:14px; width:1px;
  background:linear-gradient(var(--gold), var(--terracotta) 60%, var(--gold));
  opacity:0.5;
}
.path-item{display:grid; grid-template-columns:104px 1fr; gap:0; align-items:start; padding:26px 0;}
.path-item .num{
  font-family:'Literata',serif; font-size:40px; font-weight:600; color:var(--ivory);
  -webkit-text-stroke:1.4px var(--gold); text-align:center; position:relative; z-index:1;
}
.path-item .body{background:none; border:none; border-left:1px solid var(--line); padding:4px 30px 4px 28px; transition:border-color .25s ease;}
.path-item:hover .body{border-left-color:var(--terracotta);}
.path-item h4{font-family:'Literata',serif; font-weight:400; font-size:25px; letter-spacing:0; margin:0 0 8px; color:var(--charcoal);}
.path-item p{color:var(--charcoal-soft); font-size:14.5px; margin:0;}

/* editorial testimonial */
.testimonial{max-width:760px; margin:0 auto; text-align:center;}
.testimonial .mark{font-family:'Literata',serif; font-size:64px; color:var(--gold); line-height:1; opacity:0.6;}
.testimonial p{font-family:'Literata',serif; font-style:italic; font-size:26px; line-height:1.55; color:var(--charcoal); margin-top:6px;}
.testimonial .who{margin-top:22px; font-family:'Instrument Sans',sans-serif; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--terracotta-deep);}

/* offset CTA panel with mountain silhouette instead of flat rectangle */
.cta-panel{background:var(--charcoal); border-radius:6px; padding:70px 60px; text-align:center; position:relative; overflow:hidden;}
.cta-panel .mtn2{position:absolute; bottom:0; left:0; right:0;}
.cta-panel .inner2{position:relative; z-index:1;}
.cta-panel h2{color:var(--ivory); font-size:30px;}
.cta-panel p{color:#C9CBCE; margin-top:12px; max-width:460px; margin-left:auto; margin-right:auto;}

/* problem -> solution -> outcome triad */
.psa-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:stretch;}
.psa-item{
  background:#fff;border:1px solid var(--blush);padding:32px;border-radius:4px;
  box-shadow:0 0 0 6px rgba(243,213,205,0.34), 0 10px 30px -8px rgba(200,130,148,0.18);
  transition:box-shadow .3s ease, border-color .3s ease;
}
.psa-item:hover{
  border-color:var(--pink);
  box-shadow:0 0 0 8px rgba(243,213,205,0.46), 0 14px 36px -8px rgba(200,130,148,0.26);
}
.psa-item .eyebrow{margin-bottom:12px;}
.psa-item p{color:var(--charcoal-soft);font-size:14.5px;margin:0;}
.psa-arrow{display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:22px;}

/* testimonial row */
.testimonial-row{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 44px;}
.testimonial-card{background:none;border:none;border-top:1px solid var(--line);border-radius:0;padding:22px 0 0;}
.testimonial-card .mark{font-family:'Literata',serif;font-size:36px;color:var(--gold);line-height:1;opacity:0.6;}
.testimonial-card p{font-family:'Literata',serif;font-style:italic;font-size:16.5px;color:var(--charcoal);margin-top:6px;line-height:1.5;}
.testimonial-card .who{margin-top:16px;font-family:'Instrument Sans',sans-serif;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--terracotta-deep);}

/* includes / offer checklist card */
.includes-card{
  background:#fff;border:1px solid var(--blush);border-radius:3px;padding:44px;
  box-shadow:0 0 0 6px rgba(243,213,205,0.32), 0 12px 34px -10px rgba(200,130,148,0.17);
}
.includes-card .eyebrow{margin-bottom:10px;}
.includes-card h3{font-size:24px;margin-top:6px;}
.includes-card > p{color:var(--charcoal-soft);font-size:14.5px;margin-top:12px;}
.includes-card ul{list-style:none;margin:26px 0 0;padding:0;}
.includes-card li{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--charcoal-soft);}
.includes-card li:before{content:"✓";color:var(--sage);font-weight:700;}
.includes-card .btn{margin-top:28px;}

/* assessment CTA banner */
.assess-banner{background:var(--gold-tint);border:1px solid var(--line);border-radius:4px;padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.assess-banner h3{font-size:22px;}
.assess-banner p{color:var(--charcoal-soft);font-size:14.5px;margin-top:8px;max-width:420px;}

@media (max-width:980px){
  .hero-split{grid-template-columns:1fr;gap:36px;}
  .hero .logo-corner{display:none;}
}
@media (max-width:860px){
  .hero-split{grid-template-columns:1fr;}
  .hero-visual{min-height:280px; order:-1;}
  .float-card{position:static; margin-top:14px; max-width:none;}
  .path-timeline:before{left:40px;}
  .path-item{grid-template-columns:70px 1fr;}
  .path-item .num{font-size:28px;}
  .cta-panel{padding:50px 28px;}
  .transform-grid, .ritual{grid-template-columns:1fr;}
  .timeline{grid-template-columns:1fr;gap:34px;}
  .timeline::before{top:0;bottom:0;left:7px;right:auto;width:1px;height:auto;}
  .timeline .item{padding:0 0 0 34px;}
  .timeline .item::before{top:4px;}
  .timeline .item::after{top:9px;}
  .paths{grid-template-columns:1fr;}
  .grid-3, .offer-list{grid-template-columns:1fr 1fr;}
  .grid-2, .about-grid, .contact-grid, .fit-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero h1{font-size:34px;}
  .about-grid{gap:32px;}
  .psa-grid{grid-template-columns:1fr;}
  .psa-arrow{transform:rotate(90deg);}
  .testimonial-row{grid-template-columns:1fr;}
  .assess-banner{flex-direction:column;align-items:flex-start;text-align:left;}
}
@media (max-width:560px){
  .grid-3, .offer-list{grid-template-columns:1fr;}
}

/* imagine-if list (ECC) */
.imagine-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
.imagine-item{display:flex;gap:14px;align-items:flex-start;background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;}
.imagine-item .check{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:3px;}
.imagine-item .check svg{width:13px;height:13px;stroke:var(--sage);fill:none;stroke-width:2.5;}
.imagine-item p{margin:0;font-size:15px;color:var(--charcoal-soft);}

/* how it works, compact (ECC) */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.how-item{text-align:center;padding:10px;}
.how-item .num{font-family:'Literata',serif;font-size:26px;color:var(--gold);margin-bottom:10px;}
.how-item p{font-size:14px;color:var(--charcoal-soft);margin:0;}

/* investment / pricing */
.price-card{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);padding:44px 46px;text-align:center;}
.price-card h3{font-size:23px;}
.price-card > p{color:var(--charcoal-soft);font-size:14.5px;margin-top:12px;}
.price-figure{margin:26px auto 0;max-width:360px;border:1px dashed var(--blush);background:var(--blush-soft);padding:22px 20px;font-family:'Instrument Sans',sans-serif;font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--charcoal-soft);}
.price-figure b{display:block;font-family:'Literata',serif;font-size:24px;letter-spacing:0.02em;text-transform:none;color:var(--terracotta-deep);margin-bottom:6px;}
.price-card .btn{margin-top:28px;}

/* form states */
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--terracotta);}
.form-note{font-size:12.5px;color:var(--charcoal-soft);margin-top:14px;}

@media (max-width:760px){
  .hero .inner{padding:0 24px;}
  .hero .logo-corner{width:104px;top:22px;right:22px;}
  .hero-split{grid-template-columns:1fr;gap:32px;}
  .hero-art{aspect-ratio:16/10;}
  .nav .logo img{height:27px;}
  .nav ul{padding:92px 30px 30px;}
  .wrap{padding:0 24px;}
  .imagine-grid{grid-template-columns:1fr;}
  .how-grid{grid-template-columns:1fr 1fr;}
  .price-card{padding:34px 26px;}
  .hero h1{font-size:32px;}
  .section-head h2{font-size:26px;}
  .path-card{padding:44px 30px;}
  .banner p{font-size:22px;}
  .includes-card{padding:30px 26px;}
  .testimonial p{font-size:21px;}
  .about-grid{grid-template-columns:1fr;}
  .portrait{max-width:190px;}
}

/* type refinements for the sans label system */
.eyebrow{font-weight:700;letter-spacing:0.18em;font-size:12.5px;}
.btn{font-weight:700;letter-spacing:0.1em;font-size:12.5px;}
.btn-primary{background:var(--terracotta-deep);border-color:var(--terracotta-deep);}
.btn-primary:hover{background:var(--charcoal);border-color:var(--charcoal);}
.eyebrow{color:#8A4E30;}
.cta-panel .eyebrow{color:#D9BC80;}
footer.site p, footer.site a{color:#DEDFE1;}
.script{color:var(--terracotta-deep);}
.field label{font-weight:700;letter-spacing:0.06em;}
.offer h4,.step-card h4{letter-spacing:0.04em;font-weight:700;}
.fit-col h4{letter-spacing:0.12em;font-weight:700;}
.stat span,.footer-grid h5{font-weight:700;letter-spacing:0.1em;}
.testimonial .who,.testimonial-card .who,.float-card.quote span{font-weight:700;letter-spacing:0.09em;}
.price-figure{letter-spacing:0.08em;}
/* EB Garamond sets smaller than Fraunces at the same size */
.hero h1{font-size:52px;letter-spacing:0.02em;}
.section-head h2{letter-spacing:0.005em;}

.hero image-slot{display:block;width:100%;height:100%;}

/* labels + buttons: sentence case, no wide tracking */
.eyebrow{
  font-size:13.5px;letter-spacing:0;font-weight:400;text-transform:none;
  color:var(--charcoal-soft);display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--terracotta);flex:none;}
.cta-panel .eyebrow, section.dark .eyebrow{color:#CFC6BB;}
.cta-panel .eyebrow::before, section.dark .eyebrow::before{background:var(--gold);}
.btn{font-size:15.5px;letter-spacing:0;text-transform:none;font-weight:400;padding:14px 26px;}
.fit-col h4,.offer h4,.step-card h4{letter-spacing:0.01em;text-transform:none;font-size:15px;}

/* subtle scroll reveal */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.6,.2,1);}
  .reveal.in{opacity:1;transform:none;}
}

/* warm-neutral pass: pink reserved as a whisper, not a field */
.psa-item, .transform-col, .includes-card{border-color:var(--blush);}
.price-figure{border-color:var(--blush);background:var(--blush-soft);}
/* the one place pink still speaks */
.transform-col.to{border-top:2px solid var(--pink);}
.path-card.ecc .eyebrow::before{background:var(--pink-deep);}

/* texture + accent detail so the flat fields have something to hold */
body{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.32'/%3E%3C/svg%3E");
  background-repeat:repeat;
}
section > .wrap{position:relative;z-index:1;}

/* gold hairline above each section head, and a deeper heading scale */
.section-head{position:relative;padding-top:26px;}
.section-head::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:44px;height:1px;background:var(--gold);
}
.section-head h2{font-size:36px;}

/* oversized quote mark gives the testimonial band a focal point */
.testimonial-card .mark{font-size:52px;opacity:0.45;}

/* warm accent underline on links inside copy */
section p a{border-bottom:1px solid var(--blush);}
section p a:hover{border-bottom-color:var(--terracotta);}

/* type scale for Literata + Instrument Sans */
h1,h2,h3{font-weight:500;letter-spacing:-0.018em;}
.hero h1{font-size:50px;line-height:1.08;}
.hero-split h1{font-size:44px;line-height:1.1;}
.section-head h2{font-size:35px;line-height:1.14;}
.card h4,.timeline .item h4,.path-item h4{font-size:21px;}
.btn{font-weight:500;}


.eyebrow{font-weight:600;color:var(--charcoal);}
.cta-panel .eyebrow, section.dark .eyebrow{color:#E6DCCB;}

/* discovery call booking */
.book-panel{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;}
.book-copy h2{font-size:34px;margin-top:14px;}
.book-copy > p{color:var(--charcoal-soft);margin-top:16px;}
.book-list{list-style:none;margin:26px 0 0;padding:0;}
.book-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--charcoal-soft);}
.book-list li::before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--terracotta);}
.book-embed{border:1px solid var(--blush);border-radius:3px;background:#fff;padding:10px;}
.book-embed .form-note{padding:0 12px 8px;}
@media (max-width:860px){
  .book-panel{grid-template-columns:1fr;gap:34px;}
  .book-copy h2{font-size:28px;}
}

.book-placeholder{text-align:center;padding:40px 30px;max-width:340px;}
.book-placeholder p{color:var(--charcoal-soft);margin:14px 0 22px;font-size:16px;}

.field label{text-transform:none;letter-spacing:0;font-size:15px;font-weight:600;color:var(--charcoal);}

/* photo strip */
.photo-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:34px;}
.photo-row figure{margin:0;}
.photo-row img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px;display:block;}
.photo-row figcaption{margin-top:10px;font-size:13.5px;line-height:1.5;color:var(--charcoal-soft);}
.hero-art img{width:100%;height:auto;border-radius:3px;display:block;}
@media (max-width:980px){
  .photo-row{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:760px){
  .photo-row{grid-template-columns:1fr 1fr;gap:16px;}
}

.about-grid{align-items:start;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}

/* about gallery: full width, larger frames, short captions */
.photo-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:26px 22px;}
.photo-gallery figure{margin:0;grid-column:span 3;}
.photo-gallery figure.wide{grid-column:span 2;}
.photo-gallery img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px;display:block;}
.photo-gallery figcaption{margin-top:12px;font-size:14.5px;line-height:1.5;color:var(--charcoal-soft);}
@media (max-width:860px){
  .photo-gallery{grid-template-columns:repeat(2,1fr);gap:22px 18px;}
  .photo-gallery figure, .photo-gallery figure.wide{grid-column:span 1;}
}

/* assessment promo band */
.assess-promo{display:grid;grid-template-columns:1.4fr auto;gap:44px;align-items:center;}
.assess-promo h2{font-size:30px;line-height:1.14;margin-top:14px;}
.assess-promo p{color:var(--charcoal-soft);margin-top:14px;max-width:52ch;}
.assess-promo-action{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.assess-promo-action span{font-size:14px;color:var(--charcoal-soft);}
@media (max-width:860px){
  .assess-promo{grid-template-columns:1fr;gap:28px;}
  .assess-promo h2{font-size:25px;}
}

/* contact form status + honeypot */
.form-status{margin-top:16px;font-size:15px;line-height:1.6;min-height:1px;}
.form-status.is-ok{color:#4F6B3A;}
.form-status.is-err{color:#A8452F;}
.form-status a{color:inherit;text-decoration:underline;}
.assess-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
