/* Hustle Studio v2 — independent theme layer. Original theme is preserved in /public. */
:root, :root[data-theme="dark"] {
  --ink:#0d1221; --ink-2:#131c31; --ink-3:#1c2841;
  --ivory:#f2f5ff; --ivory-dim:#bfc9df; --ivory-faint:#98a8c6;
  --gold:#b7adff; --gold-2:#c7beff; --gold-fill:#5145e8;
  --gold-soft:rgba(139,120,255,.13); --indigo:#7769ff; --indigo-2:#5145e8;
  --line:rgba(156,175,218,.18); --line-strong:rgba(156,175,218,.34);
  --surface:#151f35; --surface-2:#202d47; --field-bg:#101a2e; --field-bg-focus:#17243d;
  --well:#10182c; --nav-bg:rgba(13,18,33,.96); --nav-bg-solid:#0d1221;
  --badge-indigo-fg:#c6beff; --shadow-card:0 12px 35px -22px rgba(0,0,0,.6);
  --sans:"Manrope", "Inter", system-ui, sans-serif; --serif:var(--sans);
  --r:16px; --r-lg:22px; --max:1320px;
}
:root[data-theme="light"] {
  --ink:#e5ebf4; --ink-2:#d8e2f2; --ink-3:#cbd8ed;
  --ivory:#111b37; --ivory-dim:#42516d; --ivory-faint:#52617c;
  --gold:#493bc8; --gold-2:#3d30b6; --gold-fill:#5145e8;
  --gold-soft:rgba(81,69,232,.08); --indigo:#5145e8; --indigo-2:#4538ce;
  --line:#c6d1e5; --line-strong:#a7b6d2; --surface:#f0f3fa; --surface-2:#dae3f3;
  --field-bg:#f0f3fa; --field-bg-focus:#f6f8fc; --well:#e1e8f5;
  --nav-bg:rgba(229,235,244,.96); --nav-bg-solid:#e5ebf4;
  --badge-indigo-fg:#493bc8; --shadow-card:0 16px 38px -26px rgba(37,54,99,.3);
}
body { background:var(--ink); line-height:1.65; }
body::before { display:none; }
::selection { background:#5145e8; color:white; }
:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
section[id] { scroll-margin-top:96px; }
.display,.h2,.h3,h3,h4 { font-weight:800; letter-spacing:-.045em; }
.display { font-size:clamp(40px,4.8vw,68px); line-height:1.08; }
.h2 { font-size:clamp(30px,3.25vw,45px); line-height:1.15; }
.display em,.h2 em,.h3 em { font-style:normal; font-weight:800; color:var(--gold); }
.lede { font-size:16px; line-height:1.85; }
.eyebrow { letter-spacing:.13em; font-weight:800; font-size:11px; }
.eyebrow::before,.eyebrow::after { display:none; }
.sec { padding:88px 0; }
.sec-head { margin-bottom:36px; max-width:850px; }
.sec-head .lede { max-width:760px; }
.nav { background:var(--nav-bg-solid); border-bottom:1px solid var(--line); }
.nav-inner { height:84px; gap:20px; }
.nav .logo img { width:168px; height:auto; }
.nav-links { gap:20px; letter-spacing:0; font-size:12px; font-weight:700; }
.nav-links a::after { background:var(--indigo); }
.nav-cta { gap:12px; }
.nav-cta .btn { display:inline-flex; }
.theme-toggle { width:38px; height:38px; border-radius:12px; background:var(--surface); }
.menu-btn { position:relative; flex-shrink:0; padding:0; border-radius:12px; }
.menu-btn span { position:absolute; left:13px; top:16px; margin:0; }
.menu-btn span+span { top:24px; }
.btn { border-radius:10px; font-weight:800; letter-spacing:0; min-height:48px; }
.btn-sm { min-height:42px; }
.btn-gold,.badge-gold { color:#fff; background:#5145e8; border-color:#5145e8; }
.btn-gold { box-shadow:0 8px 24px -12px #5145e8; }
.btn-gold:hover { background:#4436d7; color:#fff; box-shadow:0 8px 25px -10px #5145e8; }
.btn-ghost:hover { background:var(--gold-soft); }
.hero { display:block; min-height:0; padding:148px 0 42px; background:radial-gradient(ellipse at 82% 55%,#26216a 0,transparent 52%),linear-gradient(120deg,#0d1b42,#101333 70%); color:#f4f6ff; }
.hero-grid { grid-template-columns:1.05fr 1fr; gap:24px; align-items:center; }
.hero .hero-glow { display:none; }
.hero .eyebrow { display:inline-flex; max-width:100%; padding:7px 12px; border:1px solid #6573a2; border-radius:999px; color:#d9dffd; font-size:10px; letter-spacing:.025em; }
.hero .display { margin-top:24px; }
.hero .display em { color:#b9b2ff; }
.hero .lede { color:#d1daf0; max-width:600px; font-size:15px; }
.hero .btn-ghost { color:#f4f6ff; border-color:#9aa8d1; background:transparent; }
.hero .btn-ghost:hover { background:#283161; }
.hero-actions { margin-top:28px; gap:12px; }
.hero-meta { gap:0; display:grid; grid-template-columns:repeat(4,1fr); margin-top:36px; border-color:#3e4d7c; padding-top:22px; }
.hero-meta div { color:#bbc7e4; font-size:11px; letter-spacing:0; padding-right:10px; }
.hero-meta strong { font-size:26px; font-weight:800; color:#f0f3ff; margin-bottom:4px; }
.hero-art { min-width:0; }
.hero-art img { width:100%; height:auto; display:block; filter:drop-shadow(0 20px 36px #070b2b); }
.featured-section { padding:28px 0 0; }
.featured-section:has(.feature-card:empty) { display:none; }
.feature-card { border:1px solid var(--line); border-radius:var(--r); background:var(--surface); padding:28px; box-shadow:var(--shadow-card); }
.feature-card::before { display:none; }
.feature-card h3 { font-size:25px; font-weight:800; max-width:700px; }
.feature-card .countdown { max-width:400px; }
.featured-section .feature-card > div:not(.countdown) { flex-wrap:wrap; }
.trust { border:0; padding:30px 0 18px; }
.trust-inner { gap:16px 32px; }
.trust small { letter-spacing:.12em; color:var(--ivory-dim); }
.trust .wordmark { font-style:normal; font-weight:800; font-size:24px; }
.tools { background:var(--ink-2); mask-image:none; padding:18px 0; border-block:1px solid var(--line); }
.tools-track span { font-size:15px; font-weight:700; color:var(--ivory-dim); }
.tools-track span::after { color:var(--gold); }
.manifesto { padding:64px 0; }
.manifesto p { font-size:clamp(24px,2.6vw,36px); font-weight:700; line-height:1.5; }
.manifesto p em { font-style:normal; }
.manifesto .dim { color:var(--ivory-dim); font-size:.8em; font-weight:500; }
.hairline { margin:0; }
#programs { background:var(--ink-2); }
.programs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; border:0; border-radius:0; background:none; overflow:visible; }
.program { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:30px 22px 26px; min-height:390px; box-shadow:var(--shadow-card); }
.program:hover { transform:translateY(-4px); background:var(--surface); border-color:var(--gold); }
.program.flagship,:root[data-theme="light"] .program.flagship { background:var(--surface); border:2px solid var(--indigo); }
.program .step { padding-top:28px; font-weight:800; color:var(--gold); letter-spacing:.09em; font-size:10px; }
.program .badge { top:17px; right:16px; height:23px; font-size:8px; padding:0 9px; }
.program h3 { font-size:25px; font-weight:800; line-height:1.2; }
.program .price { font-size:29px; font-weight:800; }
.program .price small { letter-spacing:0; font-weight:500; margin-top:8px; }
#curriculum { padding-top:80px !important; }
.curriculum { gap:60px; }
.weeks { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:8px 24px; }
.weeks li:first-child { border-top:0; }
.weeks li:last-child { border-bottom:0; }
.weeks li span { font-size:17px; font-weight:700; }
.weeks li { grid-template-columns:45px 1fr auto; gap:12px; }
.weeks li i { letter-spacing:0; }
.compare-col,.wcard,.reg-card,.prompt,.toc { background:var(--surface); box-shadow:var(--shadow-card); }
.compare-col.us { border-color:var(--indigo); background:var(--surface); }
.compare-col h4 { font-weight:800; font-size:23px; }
.fields-grid { gap:14px; border:0; background:none; border-radius:0; overflow:visible; }
.fields-grid a { border:1px solid var(--line); background:var(--surface); padding:24px; border-radius:14px; }
.fields-grid a:hover { background:var(--surface-2); border-color:var(--gold); }
.fields-grid b { font-size:19px; font-weight:800; }
body[data-page="home"] .sec:has(.fields-grid) { background:var(--ink-2); }
.wcard { min-height:360px; }
.wcard h3 { font-weight:800; font-size:23px; }
.wdate b { font-size:43px; font-weight:800; }
.wcard:hover { background:var(--surface); border-color:var(--indigo); }
.band { background:var(--ink-2); border:1px solid var(--line); }
.portrait,.portrait-frame::before { border-radius:24px; border-color:var(--line-strong); }
.portrait-cap small { color:#c8bdff; }
blockquote.pull { font-style:normal; font-size:22px; }
.faq details { background:var(--surface); border:1px solid var(--line); border-radius:12px; margin-bottom:12px; padding:4px 22px; }
.faq summary { font-size:18px; font-weight:700; }
.join-box { background:var(--ink-2); border:1px solid var(--line); }
input,select,textarea { border-radius:10px; }
.foot { background:var(--ink-2); padding:64px 0 28px; }
.foot-grid { gap:28px; }
.foot h5 { letter-spacing:.1em; }
.foot-big { font-weight:800; font-size:clamp(48px,9vw,124px); margin:50px 0 24px; -webkit-text-stroke:1px var(--line-strong); }
.answer-a { font-size:23px; font-weight:600; }
.prose h2,.prose h3 { font-weight:800; }
.wd-hero { background:var(--ink-2); border-bottom:1px solid var(--line); padding-top:128px; }
.wd-hero .hero-glow { display:none; }
.wd-title { font-weight:800; font-size:clamp(36px,4.8vw,64px); letter-spacing:-.045em; line-height:1.12; }
.reveal { opacity:1; transform:none; }
@media(min-width:1100px) {
  .featured-section .feature-card:not(:empty) { display:grid; grid-template-columns:1.2fr 1fr; column-gap:36px; align-items:center; }
  .featured-section .feature-card > * { grid-column:1; }
  .featured-section .feature-card > .countdown { grid-column:2; grid-row:1 / 5; width:100%; justify-self:end; }
}
@media(max-width:1200px) { .nav-links { gap:13px; font-size:11px; } .nav .logo img { width:145px; } .nav-inner { gap:14px; } }
@media(max-width:1080px) { .programs { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1100px) {
  .nav-links { display:none; } .menu-btn { display:block; }
  .nav.open .nav-links { display:flex; position:absolute; left:0; right:0; top:84px; flex-direction:column; padding:24px 28px; gap:16px; background:var(--nav-bg-solid); border-bottom:1px solid var(--line); font-size:16px; }
  .hero-grid { gap:12px; } .hero .display { font-size:48px; }
}
@media(min-width:1101px) and (max-width:1120px) {
  .nav-links { position:static; flex-direction:row; transform:none; padding:0; border:0; background:none; }
  .nav-links a { font-size:11px; border:0; padding:6px 0; }
  .menu-btn { display:none; }
}
@media(max-width:800px) {
  .hero { padding-top:120px; } .hero-grid { grid-template-columns:1fr; } .hero .display { font-size:clamp(40px,7vw,58px); }
  .hero-art { max-width:560px; width:100%; margin:auto; } .hero-meta { margin-top:30px; }
  .sec { padding:64px 0; } .program { min-height:360px; }
  .foot-grid { grid-template-columns:1fr 1fr; } .foot-grid>div:first-child { grid-column:1 / -1; }
}
@media(max-width:560px) {
  .wrap { padding-inline:20px; } .nav-inner { height:76px; gap:8px; } .nav .logo img { width:128px; }
  .nav-cta { gap:8px; } .nav-cta .btn-sm { padding:0 10px; font-size:10px; }
  .theme-toggle { width:34px; height:34px; } .nav.open .nav-links { top:76px; }
  .hero { padding-top:108px; } .hero .eyebrow { font-size:9px; padding:6px 9px; }
  .hero-actions .btn { font-size:12px; padding-inline:16px; } .hero-meta { gap:12px; grid-template-columns:repeat(2,1fr); }
  .hero-art { margin-top:8px; } .programs { grid-template-columns:1fr; } .program { min-height:320px; }
  .weeks { padding-inline:16px; } .weeks li { grid-template-columns:34px 1fr; } .weeks li i { grid-column:2; }
  .trust-inner { gap:16px; } .trust small { font-size:9px; } .trust .wordmark { font-size:20px; }
}
@media(max-width:360px) {
  .nav-cta .btn { display:none; }
  .hero .eyebrow { font-size:8px; letter-spacing:0; }
}
