/* ===========================================================
   BusiFit — site.css  (redesign: flying-phone / warm premium)
   Fonts: Bricolage Grotesque (display) + Hanken Grotesk (body)
   =========================================================== */
:root{
  --ink:#0E1116; --ink2:#161B22; --paper:#FBF8F4; --beige:#F1E7D9; --peach:#F7E7DC; --card:#fff;
  --terra:#C8734A; --terral:#E8956F; --terrad:#A85C38;
  --tx:#231d18; --tx2:#5c5349; --onwhite:#2A211C;
  --line:rgba(43,33,28,0.10);
  --r:14px; --rl:24px;
  --wrap:1160px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:"Hanken Grotesk","Segoe UI",system-ui,sans-serif;color:var(--tx);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;}
h1,h2,h3,h4,.logo,.kick,.btn{font-family:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;}
h1,h2,h3{letter-spacing:-0.03em;line-height:1.05;color:var(--onwhite);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px;}
.em{color:var(--terra);}
.kick{font-weight:700;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--terra);}

/* Buttons */
.btn{font-weight:700;font-size:14.5px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:12px;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--terra);color:#fff;box-shadow:0 12px 30px rgba(200,115,74,0.38);}
.btn-ghost{background:rgba(255,255,255,0.08);color:#fff;border:1px solid rgba(255,255,255,0.22);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-white{background:#fff;color:var(--terrad);}
.btn-lg{padding:17px 30px;font-size:15.5px;}

/* Phone device */
.phone{background:#0a0c10;border-radius:34px;padding:8px;box-shadow:0 30px 70px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.06);position:relative;}
.phone::before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);width:64px;height:5px;border-radius:99px;background:rgba(255,255,255,0.25);z-index:2;}
.phone img{border-radius:27px;width:100%;}

/* ── Announcement banner ── */
#top-banner{background:#0F6B62;color:#fff;}
#top-banner .wrap{display:flex;align-items:center;gap:12px;min-height:44px;padding-top:7px;padding-bottom:7px;overflow:hidden;}
body.banner-dismissed #top-banner{display:none;}
.banner-text{margin:0;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.banner-text strong{font-family:"Bricolage Grotesque";}
.banner-detail{color:rgba(255,255,255,0.55);}
.banner-cta{margin-left:auto;background:var(--terra);color:#fff;text-decoration:none;font-weight:700;font-size:12px;padding:7px 14px;border-radius:99px;white-space:nowrap;flex-shrink:0;}
.banner-close{background:none;border:0;color:rgba(255,255,255,0.6);font-size:1.2rem;line-height:1;cursor:pointer;padding:4px 6px;flex-shrink:0;}
@media(max-width:620px){.banner-detail{display:none;}}

/* ── Nav ── */
#nav{position:relative;z-index:6;background:var(--ink);}
#nav .wrap{display:flex;align-items:center;height:76px;}
.logo{font-weight:800;font-size:23px;text-decoration:none;color:#fff;}
.logo i{color:var(--terra);font-style:normal;}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:26px;list-style:none;}
.nav-links a{color:rgba(255,255,255,0.82);text-decoration:none;font-weight:500;font-size:14.5px;}
.nav-links a.active{color:#fff;}
.nav-links .btn-primary{color:#fff;}
.nav-hamburger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;}
.nav-hamburger span{width:24px;height:2px;background:#fff;display:block;}
.nav-mobile{display:none;flex-direction:column;gap:4px;padding:0 26px 16px;position:relative;z-index:6;}
.nav-mobile a{color:rgba(255,255,255,0.9);text-decoration:none;font-weight:600;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.1);}
.nav-mobile.open{display:flex;}
@media(max-width:860px){.nav-links{display:none;}.nav-hamburger{display:flex;}}

/* ── Hero (dark) ── */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;top:-12%;right:-6%;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(200,115,74,0.4),transparent 62%);pointer-events:none;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:34px 0 84px;position:relative;z-index:2;}
.hero h1{font-size:clamp(2.5rem,5.2vw,4.4rem);font-weight:800;margin:20px 0 22px;color:#fff;}
.hero .sub{font-size:17px;color:rgba(255,255,255,0.72);max-width:440px;margin-bottom:28px;}
.hero .cta{display:flex;gap:13px;flex-wrap:wrap;}
.hero .offer{margin-top:18px;font-size:13.5px;color:rgba(255,255,255,0.6);max-width:430px;}
.hero .offer a{color:rgba(255,255,255,0.85);text-decoration:underline;}
.scene{position:relative;height:520px;perspective:1400px;}
.scene .phone{position:absolute;width:224px;transform-style:preserve-3d;}
.scene .p1{left:28%;top:24px;z-index:3;animation:floatA 3.2s ease-in-out infinite;}
.scene .p2{left:2%;top:120px;width:196px;z-index:2;animation:floatB 3.8s ease-in-out infinite;}
.scene .p3{right:0;top:92px;width:196px;z-index:2;animation:floatC 4.4s ease-in-out infinite;}
@keyframes floatA{0%,100%{transform:translateY(0) rotateY(-4deg);}50%{transform:translateY(-26px) rotateY(8deg);}}
@keyframes floatB{0%,100%{transform:translateY(0) rotate(-9deg);}50%{transform:translateY(-22px) rotate(-5deg);}}
@keyframes floatC{0%,100%{transform:translateY(0) rotate(8deg);}50%{transform:translateY(-26px) rotate(4deg);}}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:10px;}
  .scene{height:430px;margin-top:6px;}
  .scene .p1{left:50%;margin-left:-112px;}
  .scene .p2{left:-2%;top:150px;}
  .scene .p3{right:-2%;top:120px;}
}
@media(prefers-reduced-motion:reduce){.scene .phone,.vis .phone{animation:none!important;}}

/* ── Credibility strip ── */
.cred{background:var(--beige);border-bottom:1px solid rgba(0,0,0,0.05);}
.cred .wrap{display:flex;flex-wrap:wrap;gap:12px 30px;padding:20px 26px;justify-content:center;}
.cred span{font-family:"Bricolage Grotesque";font-weight:600;font-size:13px;letter-spacing:0.04em;color:var(--terrad);text-transform:uppercase;}
.cred span::before{content:"\2726 ";color:var(--terra);}

/* ── Feature rows (app walkthrough) ── */
.feat{padding:92px 0;}
.feat.white{background:var(--paper);}
.feat.peach{background:var(--peach);}
.feat.beige{background:var(--beige);}
.feat .row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.feat h2{font-size:clamp(1.9rem,3.8vw,2.8rem);font-weight:800;margin:14px 0 16px;}
.feat p{font-size:16.5px;color:var(--tx2);max-width:430px;margin-bottom:12px;}
.feat .vis{display:flex;justify-content:center;}
.feat .vis .phone{width:262px;animation:bob 3.2s ease-in-out infinite;}
.feat .row.rev .vis .phone{animation:bob2 3.6s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg);}50%{transform:translateY(-20px) rotate(-1deg);}}
@keyframes bob2{0%,100%{transform:translateY(0) rotate(3deg);}50%{transform:translateY(-20px) rotate(1deg);}}
@media(max-width:860px){.feat .row{grid-template-columns:1fr;gap:34px;}.feat .row.rev .txt{order:1;}.feat .row.rev .vis{order:2;}}

/* ── About ── */
.about{background:var(--paper);padding:30px 0 96px;}
.about .row{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;align-items:center;}
.about .pic{border-radius:230px 230px 28px 28px;overflow:hidden;box-shadow:0 24px 60px rgba(120,70,40,0.2);aspect-ratio:4/4.7;}
.about .pic img{width:100%;height:100%;object-fit:cover;}
.about h2{font-size:clamp(1.9rem,3.8vw,2.7rem);font-weight:800;margin:14px 0 16px;}
.about p{font-size:16px;color:var(--tx2);margin-bottom:14px;max-width:520px;}
.about .creds{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.about .creds span{background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:99px;padding:8px 15px;font-size:13px;font-weight:600;color:var(--terrad);}
@media(max-width:860px){.about .row{grid-template-columns:1fr;gap:32px;}.about .pic{max-width:340px;margin:0 auto;}}

/* ── Steps (terracotta) ── */
.steps{background:var(--terra);color:#fff;padding:90px 0;}
.steps .head{text-align:center;margin-bottom:46px;}
.steps .head .kick{color:rgba(255,255,255,0.85);}
.steps .head h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.7rem);font-weight:800;margin-top:12px;}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.scard{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:20px;padding:30px 26px;}
.scard .n{font-family:"Bricolage Grotesque";font-weight:800;font-size:40px;color:#fff;opacity:0.5;line-height:1;}
.scard h3{color:#fff;font-size:19px;font-weight:700;margin:14px 0 9px;}
.scard p{color:rgba(255,255,255,0.82);font-size:14.5px;}
@media(max-width:860px){.sgrid{grid-template-columns:1fr;}}

/* ── Coaching / packages teaser (beige) ── */
.coach{background:var(--beige);padding:90px 0;}
.coach .head{text-align:center;max-width:560px;margin:0 auto 44px;}
.coach .head h2{font-size:clamp(1.9rem,3.8vw,2.7rem);font-weight:800;margin:12px 0 10px;}
.coach .head p{color:var(--tx2);font-size:16px;}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ccard{background:#fff;border-radius:22px;padding:30px 26px;box-shadow:0 12px 34px rgba(120,70,40,0.08);display:flex;flex-direction:column;}
.ccard.pop{outline:2px solid var(--terra);}
.ccard .tag{align-self:flex-start;background:var(--peach);color:var(--terrad);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:5px 11px;border-radius:99px;margin-bottom:14px;}
.ccard h3{font-size:20px;font-weight:800;margin-bottom:6px;}
.ccard .price{font-family:"Bricolage Grotesque";font-weight:800;font-size:30px;color:var(--terra);margin-bottom:12px;}
.ccard .price small{font-size:13px;color:var(--tx2);font-weight:500;}
.ccard p{font-size:14px;color:var(--tx2);margin-bottom:20px;flex:1;}
@media(max-width:860px){.cgrid{grid-template-columns:1fr;}}

/* ── CTA band (dark) ── */
.cta-band{background:var(--ink);color:#fff;text-align:center;padding:92px 26px;position:relative;overflow:hidden;}
.cta-band::after{content:"";position:absolute;bottom:-40%;left:50%;transform:translateX(-50%);width:720px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(200,115,74,0.32),transparent 60%);}
.cta-band h2{font-size:clamp(2rem,4.4vw,3.1rem);font-weight:800;color:#fff;margin-bottom:14px;position:relative;z-index:2;}
.cta-band p{color:rgba(255,255,255,0.72);max-width:440px;margin:0 auto 28px;font-size:16px;position:relative;z-index:2;}
.cta-band .btn{position:relative;z-index:2;}

/* ── Footer ── */
.footer{background:#07090c;color:#fff;padding:52px 0 30px;}
.footer .fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;}
.footer .logo{margin-bottom:12px;display:inline-block;}
.footer p{color:rgba(255,255,255,0.55);font-size:14px;max-width:290px;}
.footer h4{font-family:"Bricolage Grotesque";font-size:13px;margin-bottom:12px;}
.footer .fcol a{display:block;color:rgba(255,255,255,0.7);text-decoration:none;font-size:14px;margin-bottom:8px;}
.footer .fbot{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.12);font-size:12.5px;color:rgba(255,255,255,0.45);}
@media(max-width:860px){.footer .fg{grid-template-columns:1fr;gap:22px;}}

/* ── Scroll reveal ── */
.reveal{opacity:1;}
.anim .reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease;}
.anim .reveal.in{opacity:1;transform:none;}

/* ── Newsletter popup ── */
.nl-popup{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .38s ease;}
.nl-popup.active{opacity:1;pointer-events:all;}
.nl-popup-overlay{position:absolute;inset:0;background:rgba(14,17,22,0.6);}
.nl-popup-card{position:relative;background:var(--paper);border-radius:var(--rl);padding:40px 36px 30px;max-width:440px;width:calc(100% - 40px);box-shadow:0 30px 80px rgba(0,0,0,0.4);transform:translateY(20px);transition:transform .38s ease;z-index:2;}
.nl-popup.active .nl-popup-card{transform:translateY(0);}
.nl-popup-close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:1.4rem;line-height:1;color:var(--tx2);cursor:pointer;padding:6px 9px;border-radius:8px;}
.nl-popup-close:hover{background:var(--line);}
.nl-popup-eyebrow{font-family:"Bricolage Grotesque";font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--terra);margin-bottom:10px;}
.nl-popup-card h3{font-size:1.5rem;font-weight:800;margin-bottom:10px;}
.nl-popup-card h3 em{font-style:normal;color:var(--terra);}
.nl-popup-sub{font-size:14.5px;color:var(--tx2);margin-bottom:18px;}
.nl-popup-skip{text-align:center;margin-top:14px;}
.nl-popup-skip button{background:none;border:0;color:var(--tx2);font-size:13px;cursor:pointer;text-decoration:underline;}
.bf-input{padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;font-family:inherit;color:var(--tx);background:#fff;outline:none;}
.bf-input:focus{border-color:var(--terra);}
.bf-msg{font-size:13.5px;padding:9px 12px;border-radius:10px;}
.bf-msg.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;}
@media(max-width:520px){.nl-popup-card{padding:34px 22px 26px;}}

/* ===== Interior pages ===== */
.phero{background:var(--ink);color:#fff;position:relative;overflow:hidden;}
.phero::after{content:"";position:absolute;top:-30%;right:-8%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(200,115,74,0.32),transparent 62%);pointer-events:none;}
.phero .wrap{position:relative;z-index:2;padding:60px 26px 72px;max-width:860px;}
.phero .kick{color:var(--terral);}
.phero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;margin:16px 0 16px;}
.phero .lead{font-size:18px;color:rgba(255,255,255,0.75);max-width:620px;}
.phero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}

.sec{padding:84px 0;}
.sec.beige{background:var(--beige);}
.sec.peach{background:var(--peach);}
.sec.white{background:var(--paper);}
.sec.dark{background:var(--ink);color:#fff;}
.sec .shead{text-align:center;max-width:620px;margin:0 auto 46px;}
.sec .shead h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;margin:12px 0 10px;}
.sec.dark .shead h2{color:#fff;}
.sec .shead p{color:var(--tx2);font-size:16px;}
.sec.dark .shead p{color:rgba(255,255,255,0.72);}

/* Prose (articles, legal) */
.prose-wrap{max-width:760px;margin:0 auto;padding:64px 26px;}
.prose p,.prose li{font-size:17px;line-height:1.8;color:var(--tx2);margin-bottom:1.3rem;}
.prose h2{font-size:1.6rem;font-weight:800;margin:2.4rem 0 1rem;}
.prose h3{font-size:1.2rem;font-weight:700;margin:1.8rem 0 .7rem;}
.prose a{color:var(--terrad);font-weight:600;}
.prose ul{margin:0 0 1.3rem 1.1rem;}
.prose img{border-radius:var(--rl);margin:2rem 0;box-shadow:0 16px 40px rgba(120,70,40,0.14);}
.prose blockquote,.callout{background:var(--peach);border-left:3px solid var(--terra);border-radius:0 12px 12px 0;padding:18px 22px;margin:2rem 0;font-style:italic;color:var(--onwhite);}
.article-cta{background:var(--ink);color:#fff;border-radius:var(--rl);padding:34px 36px;margin-top:3rem;}
.article-cta p{color:#fff;font-weight:700;font-size:1.1rem;margin-bottom:6px;font-family:"Bricolage Grotesque";}
.article-cta span{color:rgba(255,255,255,0.7);font-size:14px;display:block;margin-bottom:18px;}
.article-back{display:inline-block;color:var(--terrad);font-weight:600;text-decoration:none;font-size:14px;margin-bottom:10px;}

/* Guides / product (Playbook) */
.guide{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.gcard{background:#fff;border-radius:var(--rl);padding:34px 30px;box-shadow:0 12px 34px rgba(120,70,40,0.08);}
.gcard .num{font-family:"Bricolage Grotesque";font-weight:800;font-size:34px;color:var(--terra);opacity:.5;}
.gcard h3{font-size:21px;font-weight:800;margin:10px 0 10px;}
.gcard ul{list-style:none;}
.gcard li{font-size:14.5px;color:var(--tx2);padding:7px 0 7px 24px;position:relative;}
.gcard li::before{content:"\2713";position:absolute;left:0;color:var(--terra);font-weight:700;}
@media(max-width:760px){.guide{grid-template-columns:1fr;}}
.buybar{background:var(--ink);color:#fff;border-radius:var(--rl);padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:30px;}
.buybar .price{font-family:"Bricolage Grotesque";font-weight:800;font-size:38px;color:#fff;}
.buybar .price small{font-size:14px;color:rgba(255,255,255,0.6);font-weight:500;display:block;}

/* Landing (meals / kitchen) */
.land{background:var(--paper);}
.land .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:56px 26px 72px;}
.land h1{font-size:clamp(2.1rem,4.4vw,3.2rem);font-weight:800;margin:16px 0 16px;}
.land .lead{font-size:17px;color:var(--tx2);max-width:460px;margin-bottom:24px;}
.land ul{list-style:none;margin:0 0 26px;}
.land li{font-size:15px;color:var(--onwhite);padding:7px 0 7px 26px;position:relative;}
.land li::before{content:"\2713";position:absolute;left:0;color:var(--terra);font-weight:700;}
.land .cover{border-radius:var(--rl);overflow:hidden;box-shadow:0 24px 60px rgba(120,70,40,0.2);}
.landform{display:flex;flex-direction:column;gap:10px;max-width:420px;}
.landform .row{display:flex;gap:10px;}
@media(max-width:760px){.land .wrap{grid-template-columns:1fr;gap:34px;}.land .cover{max-width:340px;margin:0 auto;order:-1;}}

/* Freebies / resources */
.fbgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.fbcard{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:22px 20px;}
.fbcard .t{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:8px;}
.fbcard h3{font-size:1rem;font-weight:800;margin-bottom:8px;}
.fbcard li{font-size:.82rem;color:var(--tx2);line-height:1.5;list-style:none;}
@media(max-width:900px){.fbgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.fbgrid{grid-template-columns:1fr;}}
.readgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.readgrid a{display:block;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:22px 20px;text-decoration:none;}
.readgrid .t{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:8px;}
.readgrid h3{font-size:1rem;font-weight:800;margin-bottom:8px;line-height:1.3;}
.readgrid p{font-size:.82rem;color:var(--tx2);line-height:1.5;}
@media(max-width:900px){.readgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.readgrid{grid-template-columns:1fr;}}

/* Minimal landing nav (meals/kitchen) */
.mininav{background:var(--ink);}
.mininav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;}
.mininav .logo{font-size:21px;}
.mininav a.back{color:rgba(255,255,255,0.8);text-decoration:none;font-size:14px;font-weight:600;}

/* ===== Buttons extra ===== */
.btn-secondary{background:#fff;color:var(--onwhite);border:1.5px solid var(--line);}

/* article-cta layout */
.article-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.article-cta>div{flex:1;min-width:220px;}

/* ===== Legacy article components (re-skinned warm) ===== */
.article-photo{margin:2.4rem auto;max-width:460px;}
.article-photo img{width:100%;border-radius:var(--rl);box-shadow:0 14px 38px rgba(120,70,40,0.14);}
.article-photo figcaption{font-size:.82rem;color:var(--tx2);text-align:center;margin-top:8px;}
.workout-block{background:#fff;border:1px solid var(--line);border-radius:var(--rl);overflow:hidden;margin:1.4rem 0;}
.workout-block-header{background:var(--ink);padding:16px 22px;}
.workout-block-header h4{color:#fff;font-size:1rem;margin-bottom:2px;}
.workout-block-header p{color:rgba(255,255,255,0.7);font-size:.82rem;margin:0;}
.workout-block-body{padding:18px 22px;}
.workout-phase{margin-bottom:14px;}
.workout-phase-label{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:6px;}
.workout-phase p{font-size:.9rem!important;color:var(--tx2)!important;margin:0!important;line-height:1.6!important;}
.habit-list{display:flex;flex-direction:column;gap:12px;margin:1.4rem 0;}
.habit-item{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;}
.habit-icon{font-size:24px;flex-shrink:0;}
.habit-text h4{font-size:1rem;margin-bottom:4px;}
.habit-text p{font-size:.9rem!important;color:var(--tx2)!important;margin:0!important;}

/* ===== Legacy variable aliases (for preserved article inline styles) ===== */
:root{
  --text-primary:var(--onwhite); --text-secondary:var(--tx2); --text-muted:#9a8c80;
  --terra-dark:var(--terrad); --terra-pale:var(--peach); --terra-light:var(--terral);
  --navy:var(--ink); --bg-primary:var(--paper); --bg-secondary:var(--beige); --bg-card:#fff;
  --bg-dark:var(--ink); --bg-green:#243b28; --text-on-dark:#fff;
  --border:var(--line); --radius-sm:8px; --radius-md:12px; --radius-lg:var(--rl);
  --section-pad:84px; --font-heading:"Bricolage Grotesque",sans-serif; --font-body:"Hanken Grotesk",sans-serif;
  --max-width:var(--wrap);
}

/* ===== Homepage "How coaching works" — white cards for contrast on terracotta ===== */
.steps .scard{background:#fff;border:1px solid rgba(0,0,0,0.06);box-shadow:0 12px 30px rgba(120,50,20,0.14);}
.steps .scard .n{color:var(--terra);opacity:1;}
.steps .scard h3{color:var(--onwhite);}
.steps .scard p{color:var(--tx2);}
