/* DCRAMERE — landing page (builds on style.css tokens) */
body.landing{background:var(--bg)}
.lwrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow-l{max-width:760px}
.lnav{position:sticky;top:0;z-index:10;background:rgba(10,10,10,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.lnav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}
.lnav nav{display:flex;align-items:center;gap:22px}
.lnav nav a:not(.btn){color:var(--muted);text-decoration:none;font-size:14px;font-weight:600}
.lnav nav a:not(.btn):hover{color:var(--gold)}
.hero{padding:70px 0 40px;background:radial-gradient(ellipse at 70% 40%,rgba(244,208,63,.10),transparent 60%)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.hero h1{font-size:clamp(34px,5vw,56px);line-height:1.1;margin:8px 0 18px}
.lead{font-size:19px;color:#d6d6d6;max-width:56ch;margin:0 0 26px}
.hero-points{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:14px}
.hero-points li::before{content:"✓";color:var(--gold);margin-right:6px}
.hero-art img{width:100%;max-width:520px;height:auto;display:block;margin:0 auto;mix-blend-mode:lighten}
.lsec{padding:80px 0;border-top:1px solid var(--line)}
.lsec.alt{background:var(--bg-alt)}
.lsec h2{font-size:clamp(28px,3.4vw,40px);color:var(--ink);margin:6px 0 34px;max-width:24ch}
.split-l{display:grid;grid-template-columns:320px minmax(0,1fr);gap:56px;align-items:center}
.split-l.rev{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
.split-l.rev .dash{order:2}
.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 30px}
.features h3{font-family:var(--display);color:var(--gold);font-size:19px;margin:0 0 6px;font-weight:600}
.features p{margin:0;color:var(--muted);font-size:15px}
.steps{list-style:none;counter-reset:s;padding:0;margin:56px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.steps li{counter-increment:s;border:1px solid var(--line);border-radius:10px;padding:18px;background:var(--surface)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--on-gold);font-weight:800;margin-bottom:10px}
.steps b{display:block;font-size:17px}
.steps span{color:var(--muted);font-size:14px}
/* phone mockup */
.phone{width:300px;margin:0 auto;border:10px solid #1b1914;border-radius:40px;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px var(--line-strong)}
.phone-screen{border-radius:30px;overflow:hidden;background:var(--bg);padding:20px 16px 22px;font-size:12px}
.ph-top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}
.ph-top b{font-family:var(--display);color:var(--gold);letter-spacing:.12em}
.ph-top span{color:var(--muted)}
.ph-toggle{display:flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;margin-bottom:12px}
.ph-toggle span{flex:1;padding:6px 8px;color:var(--muted);font-weight:700}
.ph-toggle span.on{background:var(--gold);color:var(--on-gold)}
.ph-toggle small{display:block;font-weight:400;font-size:10px}
.ph-kcal{font-family:var(--display);font-size:52px;color:var(--gold);line-height:1}
.ph-kcal small{display:block;font-family:var(--text);font-size:11px;color:var(--muted);margin-top:4px}
.ph-band{display:flex;height:5px;gap:2px;margin:12px 0 8px}
.ph-band i{display:block;height:100%;border-radius:2px}
.ph-macros{display:flex;justify-content:space-between;color:var(--muted)}
.ph-macros b{font-family:var(--display);color:var(--ink);font-size:18px;margin-right:2px}
.ph-meal{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}
.ph-meal small{color:var(--gold-dim);letter-spacing:.14em;font-weight:700;font-size:9px}
.ph-meal b{display:block;font-size:13px;margin:2px 0 6px}
.ph-meal p{margin:3px 0;color:var(--ink)}
.ph-meal p span{display:inline-block;width:52px;color:var(--gold);font-weight:700}
.ph-meal em{display:inline-block;margin-top:6px;color:var(--ok);font-style:normal;font-weight:700}
/* dashboard mockup */
.dash{border:1px solid var(--line-strong);border-radius:12px;background:var(--bg);padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);font-size:13px}
.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.dash-top b{font-family:var(--display);font-size:20px}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:6px;overflow:hidden;margin-bottom:10px}
.dash-stats div{background:var(--surface);padding:8px 10px}
.dash-stats small{display:block;color:var(--muted);font-size:10px}
.dash-stats b{font-family:var(--display);font-size:20px}
.dash-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:9px 2px;border-bottom:1px solid var(--line);align-items:center}
.dash-row small{display:block;color:var(--muted);font-size:11px}
.dash .warn{color:var(--warn)}.dash .ok{color:var(--ok)}
/* pricing */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:860px}
.plan{border:1px solid var(--line-strong);border-radius:14px;padding:28px;background:var(--surface);display:grid;gap:10px;align-content:start}
.plan.featured{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset,0 20px 60px rgba(244,208,63,.06)}
.plan-for{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);font-weight:700}
.plan h3{font-family:var(--display);font-size:26px;margin:0}
.price{margin:4px 0 6px}
.price b{font-family:var(--display);font-size:44px;color:var(--gold);margin-right:8px}
.price span{color:var(--muted)}
.plan ul{list-style:none;padding:0;margin:4px 0 14px;display:grid;gap:8px;color:#d6d6d6;font-size:15px}
.plan li::before{content:"✓";color:var(--gold);margin-right:8px}
.center{justify-content:center;text-align:center}
.lsec .actions.center{margin-top:40px}
.fine.center{margin:24px auto 0;max-width:none}
#faq details{border-bottom:1px solid var(--line);padding:14px 0}
#faq summary{font-size:17px;font-weight:600}
#faq p{color:var(--muted);margin:10px 0 0}
[aria-disabled="true"]{opacity:.55}
.lfoot{border-top:1px solid var(--line);padding:34px 0 40px}
.lfoot-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.lfoot-in > div{display:flex;gap:12px;align-items:center}
.lfoot-in img{mix-blend-mode:lighten}
.lfoot p{margin:0;font-family:var(--display);color:var(--gold);letter-spacing:.06em}
.lfoot p span{font-family:var(--text);color:var(--muted);font-size:13px;letter-spacing:.1em}
.lfoot nav{display:flex;gap:18px;flex-wrap:wrap}
.lfoot nav a{color:var(--muted);text-decoration:none;font-size:14px}
.lfoot nav a:hover{color:var(--gold)}
@media (max-width:900px){
  .hero-in,.split-l,.split-l.rev{grid-template-columns:1fr}
  .split-l.rev .dash{order:0}
  .hero-art{order:-1}.hero-art img{max-width:300px}
  .hero{padding-top:30px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plans{grid-template-columns:1fr}
}
@media (max-width:640px){
  .lnav nav a:not(.btn){display:none}
  .features{grid-template-columns:1fr}
  .lsec{padding:56px 0}
  .steps{grid-template-columns:1fr}
}

/* coach directory */
.coach-dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;margin-top:22px}
.coach-card{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .15s}
.coach-card:hover{border-color:var(--gold)}
.coach-card b{display:block;font-size:17px}
.coach-card small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.coach-card .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.coach-card .tags i{font-style:normal;font-size:12px;border:1px solid var(--line-strong);border-radius:99px;padding:2px 9px;color:var(--muted)}
.coach-card .avatar{flex:none}
.lnav nav .btn{white-space:nowrap}
@media (max-width:560px){
  .lnav-in{gap:10px;padding:10px 14px}
  .lnav nav{gap:8px}
  .lnav .brand small{display:none}
  .lnav .lang-select{padding:4px 18px 4px 6px;font-size:12px}
  .lnav .brand b{font-size:15px}
}
.lang-row{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;padding-top:18px;padding-bottom:6px;font-size:14px}
.lang-row a{color:var(--muted);text-decoration:none}
.lang-row a:hover,.lang-row a[aria-current]{color:var(--gold)}
