:root{
  /* Opus palette */
  --charcoal:#0F1419;  --slate:#1C2328;  --light-gray:#F4F6F8;  --white:#FFFFFF;
  --copper:#DB945A;    --steel-blue:#3882F6; --sage:#6FAF8C; --warning:#FF9E0B; --danger:#DC2626;
  --gray-dark:#4B5563; --gray-med:#9CA3AF; --gray-light:#E5E7EB; --border:#E0E0E8;
  --ink:var(--charcoal); --text-secondary:var(--gray-dark); --surface:var(--white); --bg-page:var(--light-gray);

  /* --p family mapped to opus charcoal/copper */
  --p:#0F1419; --p-soft:#EDEFF2; --p-mid:#D1D5DB; --p-deep:#1C2328; --p-ink:#0F1419;

  /* Legacy colour aliases kept for component compatibility */
  --ink:#111827; --sub:#4B5563; --faint:#6B7280; --line:#E7EAF0; --bg:#FFFFFF; --wash:#F7F8FB;
  --green:#6FAF8C; --green-soft:#EAF5EF; --red:#DC2626; --red-soft:#FEF2F2; --amber:#D97706; --amber-soft:#FFFBEB;
  --coral:#F97316; --violet:#7C3AED; --teal:#0D9488; --rose:#E11D48;
  --r-xl:28px; --r-lg:20px; --r-md:14px; --r-sm:10px;
  --shadow-soft:0 1px 2px rgba(15,20,25,.04), 0 8px 24px rgba(15,20,25,.06);
  --shadow-float:0 2px 4px rgba(15,20,25,.05), 0 20px 60px rgba(15,20,25,.12);
  --ease:cubic-bezier(.32,.72,0,1);
}
/* Remove legacy theme overrides — Opus is the single theme */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:108px;}
body{font-family:'Space Grotesk','Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:16px;line-height:1.6;}
.mono{font-family:'JetBrains Mono',monospace;}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px;}
section{padding:104px 0;}
@media(max-width:768px){section{padding:64px 0;}}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.08;}
.eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--p-deep);background:var(--p-soft);border:1px solid var(--p-mid);border-radius:999px;padding:6px 14px;margin-bottom:20px;max-width:100%;}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--copper);animation:pulse 2s infinite;}
/* Positioning descriptor (brand handoff §1) — always copper caps */
.eyebrow.descriptor{color:var(--copper);background:color-mix(in srgb,var(--copper) 12%,#fff);border-color:color-mix(in srgb,var(--copper) 32%,#fff);}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
.rev{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.rev.in{opacity:1;transform:translateY(0);}
.rev-d1{transition-delay:.08s}.rev-d2{transition-delay:.16s}.rev-d3{transition-delay:.24s}.rev-d4{transition-delay:.32s}

/* NAV */
.nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;width:min(1120px,calc(100vw - 32px));background:rgba(255,255,255,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:999px;padding:10px 10px 10px 22px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-soft);transition:box-shadow .5s var(--ease);}
.nav.scrolled{box-shadow:var(--shadow-float);}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:21px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;}
/* OPUS wordmark — caps need positive tracking (brand handoff §2.3) */
.brand-name{font-family:'Space Grotesk','Inter',sans-serif;font-weight:700;letter-spacing:.06em;font-size:20px;}

/* Opus progress-ring logo mark */
.logo-mark{width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;}
/* Light context (nav/light bg): charcoal ring + copper cap — rendered inline SVG in HTML */
.logo-mark svg{width:100%;height:100%;}

.nav-links{display:flex;gap:26px;align-items:center;}
.nav-links a{color:var(--sub);text-decoration:none;font-weight:600;font-size:14.5px;transition:color .3s var(--ease);}
.nav-links a:hover{color:var(--ink);}
.nav-cta{display:flex;gap:10px;align-items:center;}
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;border:none;font-family:inherit;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .3s;}
.btn:focus-visible,.nav-links a:focus-visible,.fcol a:focus-visible,.logo:focus-visible,.hamb:focus-visible,.menu-close:focus-visible,.pbc:focus-visible,.pb-btn:focus-visible,.faq-q:focus-visible,input[type=range]:focus-visible{outline:3px solid color-mix(in srgb,var(--copper) 55%, #fff);outline-offset:3px;}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--charcoal);color:#fff;padding:12px 8px 12px 22px;box-shadow:0 8px 20px color-mix(in srgb,var(--charcoal) 35%, transparent);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px color-mix(in srgb,var(--charcoal) 45%, transparent);}
.btn-primary .ico{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:15px;transition:transform .5s var(--ease);}
.btn-primary:hover .ico{transform:translate(2px,-1px) scale(1.06);}
.btn-ghost{background:transparent;color:var(--ink);padding:12px 20px;border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px);}
.btn-big{font-size:17px;padding:16px 10px 16px 28px;}
.btn-big .ico{width:38px;height:38px;}
@media(max-width:860px){.nav-links{display:none;}.nav-cta{display:none;}}
.hamb{display:none;width:44px;height:44px;border:none;border-radius:50%;background:var(--p-soft);color:var(--p-ink);cursor:pointer;place-items:center;}
.hamb span{width:18px;height:2px;background:currentColor;border-radius:9px;position:relative;display:block;}
.hamb span::before,.hamb span::after{content:'';position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:9px;}
.hamb span::before{top:-6px}.hamb span::after{top:6px}
.mobile-menu{position:fixed;inset:0;z-index:120;background:rgba(15,20,25,.97);color:#fff;display:grid;grid-template-rows:auto 1fr;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),visibility .35s var(--ease);}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;}
.mobile-menu .logo{color:#fff;}
.menu-close{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;font-size:28px;line-height:1;cursor:pointer;}
.mobile-menu-links{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:24px;}
.mobile-menu-links a{color:#fff;text-decoration:none;font-size:clamp(2rem,10vw,4.4rem);font-weight:900;letter-spacing:-.04em;line-height:.96;opacity:0;transform:translateY(20px);transition:opacity .55s var(--ease),transform .55s var(--ease);transition-delay:calc(var(--i,0) * 70ms);}
.mobile-menu.open .mobile-menu-links a{opacity:1;transform:translateY(0);}
.mobile-menu-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.mobile-menu-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35);}
@media(max-width:860px){.hamb{display:grid;}.nav{padding:10px 10px 10px 18px;}}


/* HERO */
.hero{padding:168px 0 80px;position:relative;overflow:hidden;background:
  radial-gradient(1000px 500px at 15% -10%, var(--p-soft) 0%, transparent 60%),
  radial-gradient(900px 480px at 90% 5%, color-mix(in srgb,var(--p-soft) 65%, #fff) 0%, transparent 55%),
  var(--bg);}
.hero-inner{text-align:center;max-width:980px;margin:0 auto;}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.4rem);font-weight:900;}
.hero h1 .strike{position:relative;color:var(--faint);white-space:nowrap;}
.hero h1 .strike::after{content:'';position:absolute;left:-2%;right:-2%;top:54%;height:.09em;background:var(--red);border-radius:4px;transform:rotate(-2deg);transform-origin:left;animation:strikeIn 1s var(--ease) .6s both;}
@keyframes strikeIn{from{transform:rotate(-2deg) scaleX(0)}to{transform:rotate(-2deg) scaleX(1)}}
.hero h1 .flat{color:var(--charcoal);white-space:nowrap;}
.mobile-break{display:none;}
.hero-sub{font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--sub);max-width:640px;margin:24px auto 34px;line-height:1.55;}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hero-note{margin-top:16px;font-size:13.5px;color:var(--faint);font-weight:500;}

/* HERO DASHBOARD */
.dash-shell{max-width:1080px;margin:64px auto 0;background:linear-gradient(180deg,color-mix(in srgb,var(--charcoal) 8%, #fff), color-mix(in srgb,var(--charcoal) 3%, #fff));border:1px solid var(--line);border-radius:var(--r-xl);padding:10px;box-shadow:var(--shadow-float);}
.dash{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r-xl) - 8px);overflow:hidden;}
.dash-top{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--wash);}
.dot3{display:flex;gap:6px;}
.dot3 i{width:10px;height:10px;border-radius:50%;background:#D9DEE7;}
.dash-url{flex:1;max-width:280px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--faint);padding:5px 12px;text-align:center;font-weight:600;}
.dash-body{display:grid;grid-template-columns:200px 1fr;min-height:420px;}
.dash-side{border-right:1px solid var(--line);padding:16px 12px;background:var(--charcoal);display:flex;flex-direction:column;gap:2px;}
.snav{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--gray-med);cursor:default;}
.snav.on{background:rgba(216,148,90,.15);color:#fff;}
.snav .si{width:18px;height:18px;border-radius:5px;background:currentColor;opacity:.24;}
.dash-main{padding:22px;}
.dm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.dm-head h4{font-size:17px;font-weight:800;}
.chiprow{display:flex;gap:8px;}
.chip{font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--wash);border:1px solid var(--line);color:var(--sub);}
.chip.g{background:var(--green-soft);color:var(--green);border-color:color-mix(in srgb,var(--green) 25%, #fff);}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;}
.kpi{background:var(--wash);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;}
.kpi b{display:block;font-size:21px;font-weight:900;letter-spacing:-.02em;}
.kpi span{font-size:11.5px;color:var(--faint);font-weight:600;}
.kpi .up{color:var(--green);font-size:11px;font-weight:800;}
.kpi .dn{color:var(--red);font-size:11px;font-weight:800;}
.gantt{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;}
.gantt-h{display:grid;grid-template-columns:150px 1fr;font-size:11px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);background:var(--wash);}
.gantt-h div{padding:9px 12px;}
.grow{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);align-items:center;}
.grow:last-child{border-bottom:none;}
.grow .lbl{padding:11px 12px;font-size:13px;font-weight:700;}
.grow .track{position:relative;height:38px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/8 - 1px),var(--line) calc(100%/8 - 1px) calc(100%/8));}
.bar{position:absolute;top:8px;height:22px;border-radius:7px;font-size:10.5px;font-weight:800;color:#fff;display:flex;align-items:center;padding:0 9px;white-space:nowrap;transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease);}
.in .bar{transform:scaleX(1);}
.b1{background:var(--charcoal);}.b2{background:var(--coral);}.b3{background:var(--teal);}.b4{background:var(--violet);}.b5{background:var(--copper);}
@media(max-width:820px){.dash-body{grid-template-columns:1fr;}.dash-side{display:none;}.kpis{grid-template-columns:repeat(2,1fr);}}

/* MARQUEE */
.marq-wrap{padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--wash);overflow:hidden;}
.marq{display:flex;gap:56px;width:max-content;animation:marq 30s linear infinite;}
.marq span{font-size:14px;font-weight:700;color:var(--faint);white-space:nowrap;display:flex;align-items:center;gap:10px;}
.marq span::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--copper);opacity:.6;}
@keyframes marq{to{transform:translateX(-50%);}}

/* RECEIPTS */
.receipts{background:var(--bg);}
.sec-head{text-align:center;max-width:760px;margin:0 auto 56px;}
.sec-head h2{font-size:clamp(2rem,3.8vw,3rem);}
.sec-head p{color:var(--sub);font-size:17.5px;margin-top:16px;}
.rcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:960px){.rcards{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.rcards{grid-template-columns:1fr;}}
.rcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:8px;transition:transform .6s var(--ease),box-shadow .6s var(--ease);}
.rcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-float);}
.rcard-in{border:1px dashed var(--line);border-radius:calc(var(--r-lg) - 6px);padding:22px;height:100%;display:flex;flex-direction:column;}
.rcard.hero-r{grid-column:span 1;background:var(--charcoal);border-color:var(--charcoal);}
.rcard.hero-r .rcard-in{border-color:rgba(255,255,255,.22);}
.rname{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.rname b{font-size:17px;font-weight:800;}
.rtag{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--red-soft);color:var(--red);}
.rtag.amber{background:var(--amber-soft);color:var(--amber);}
.rtag.you{background:rgba(255,255,255,.14);color:#fff;}
.rprice{font-size:clamp(1.9rem,2.6vw,2.4rem);font-weight:900;letter-spacing:-.03em;margin:8px 0 2px;}
.rper{font-size:12.5px;color:var(--faint);font-weight:600;margin-bottom:14px;}
.hero-r .rprice{color:#fff;}
.hero-r .rname b{color:#fff;}
.hero-r .rper{color:rgba(255,255,255,.65);}
.rlist{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);}
.hero-r .rlist{border-color:rgba(255,255,255,.18);}
.rlist li{font-size:13.5px;color:var(--sub);display:flex;gap:9px;align-items:flex-start;font-weight:500;line-height:1.45;}
.rlist li::before{content:'✕';color:var(--red);font-weight:900;font-size:12px;margin-top:2px;flex-shrink:0;}
.hero-r .rlist li{color:rgba(255,255,255,.85);}
.hero-r .rlist li::before{content:'✓';color:var(--sage);}
.rsrc{font-size:10.5px;color:var(--faint);margin-top:14px;font-weight:500;}
.hero-r .rsrc{color:rgba(255,255,255,.4);}
.annual{font-size:12px;font-weight:800;color:var(--red);margin-top:2px;}
.hero-r .annual{color:var(--sage);}

/* CALCULATOR */
.calc-sec{background:linear-gradient(180deg,var(--wash),#fff);}
.calc{max-width:1000px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:10px;box-shadow:var(--shadow-float);}
.calc-in{border:1px solid var(--line);border-radius:calc(var(--r-xl) - 8px);padding:clamp(24px,4vw,44px);}
.calc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px;}
.calc-top h3{font-size:clamp(1.5rem,2.4vw,2rem);}
.slider-box{flex:1;min-width:260px;max-width:420px;}
.slider-lbl{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:var(--sub);margin-bottom:10px;}
.slider-lbl b{color:var(--charcoal);font-size:15px;}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--charcoal) var(--fill,30%),var(--line) var(--fill,30%));outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--copper);box-shadow:0 3px 10px rgba(0,0,0,.18);cursor:grab;transition:transform .3s var(--ease);}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--copper);box-shadow:0 3px 10px rgba(0,0,0,.18);cursor:grab;}
.bars{display:flex;flex-direction:column;gap:14px;}
.brow{display:grid;grid-template-columns:150px 1fr 120px;gap:16px;align-items:center;}
@media(max-width:640px){.brow{grid-template-columns:110px 1fr 90px;gap:10px;}}
.brow .bl{font-size:14px;font-weight:800;}
.brow .bl small{display:block;font-size:11px;color:var(--faint);font-weight:600;}
.btrack{height:34px;background:var(--wash);border-radius:9px;overflow:hidden;position:relative;}
.bfill{height:100%;border-radius:9px;transition:width 1s var(--ease);display:flex;align-items:center;min-width:8px;}
.bfill.comp{background:linear-gradient(90deg,#F87171,var(--red));}
.bfill.comp2{background:linear-gradient(90deg,#FCA5A5,#F87171);}
.bfill.comp3{background:linear-gradient(90deg,#FDBA74,var(--coral));}
.bfill.plumb{background:linear-gradient(90deg,color-mix(in srgb,var(--charcoal) 70%, #fff),var(--charcoal));}
.bval{font-size:15px;font-weight:900;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.bval small{display:block;font-size:10.5px;color:var(--faint);font-weight:600;}
.calc-verdict{margin-top:34px;padding:22px 26px;border-radius:var(--r-lg);background:var(--p-soft);border:1px solid var(--p-mid);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.calc-verdict p{font-size:16px;font-weight:700;color:var(--p-ink);}
.calc-verdict p b{font-size:26px;color:var(--charcoal);letter-spacing:-.02em;}
.calc-note{font-size:11.5px;color:var(--faint);margin-top:14px;line-height:1.5;}

/* VIDEO */
.video-sec{background:var(--charcoal);color:#fff;}
.video-sec .sec-head h2{color:#fff;}
.video-sec .sec-head p{color:rgba(255,255,255,.7);}
.video-sec .eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:var(--gray-med);}
.player{max-width:960px;margin:0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-xl);padding:10px;box-shadow:0 30px 80px rgba(0,0,0,.4);}
.player-in{background:#0B1219;border-radius:calc(var(--r-xl) - 8px);overflow:hidden;position:relative;aspect-ratio:16/9.4;}
.scene{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);display:flex;flex-direction:column;padding:clamp(16px,3.4vw,34px);}
.scene.live{opacity:1;}
.scene-tag{font-size:clamp(10px,1.2vw,12px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-med);margin-bottom:10px;}
.scene-title{font-size:clamp(1.15rem,2.6vw,1.9rem);font-weight:900;letter-spacing:-.02em;margin-bottom:clamp(12px,2vw,22px);}
.mockpanel{flex:1;background:#fff;border-radius:14px;padding:clamp(12px,2vw,20px);color:var(--ink);overflow:hidden;min-height:0;}
.player-bar{display:flex;align-items:center;gap:14px;padding:14px 18px;}
.pb-btn{width:44px;height:44px;border-radius:50%;background:var(--copper);display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:transform .4s var(--ease);border:none;}
.pb-btn:hover{transform:scale(1.08);}
.pb-btn svg{width:16px;height:16px;fill:#fff;}
.pb-track{flex:1;height:5px;background:rgba(255,255,255,.15);border-radius:99px;overflow:hidden;}
.pb-prog{height:100%;width:0%;background:var(--copper);border-radius:99px;transition:width .2s linear;}
.pb-time{font-size:12px;font-weight:700;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;}
.pb-chapters{display:flex;gap:8px;justify-content:center;margin-top:20px;flex-wrap:wrap;}
.pbc{font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.7);cursor:pointer;transition:all .3s var(--ease);font-family:inherit;}
.pbc.on,.pbc:hover{background:var(--charcoal);border-color:var(--copper);color:#fff;}
/* scene mocks */
.mrow{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:clamp(11px,1.4vw,13.5px);font-weight:600;}
.mrow:last-child{border:none;}
.pill{font-size:clamp(9px,1vw,11px);font-weight:800;padding:3px 9px;border-radius:99px;}
.pill.ok{background:var(--green-soft);color:var(--green);}
.pill.warn{background:var(--amber-soft);color:var(--amber);}
.pill.info{background:var(--p-soft);color:var(--p-deep);}
.mbar-track{height:9px;background:var(--wash);border-radius:99px;overflow:hidden;margin-top:5px;}
.mbar{height:100%;border-radius:99px;background:var(--copper);width:0;transition:width 1.4s var(--ease);}
.scene.live .mbar{width:var(--w,60%);}
.sig-line{border-bottom:2px solid var(--ink);font-family:'Space Grotesk',sans-serif;font-size:clamp(1.2rem,3vw,2rem);padding:6px 4px 2px;font-style:italic;font-weight:700;}
.msg{max-width:78%;padding:9px 13px;border-radius:13px;font-size:clamp(11px,1.4vw,13px);font-weight:500;margin-bottom:8px;line-height:1.45;}
.msg.them{background:var(--wash);border:1px solid var(--line);}
.msg.us{background:var(--charcoal);color:#fff;margin-left:auto;}

/* FEATURES */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center;margin-bottom:clamp(70px,9vw,120px);}
.feat:last-child{margin-bottom:0;}
.feat.flip .feat-txt{order:2;}
@media(max-width:860px){.feat{grid-template-columns:1fr;}.feat.flip .feat-txt{order:0;}}
.feat-txt h3{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:14px;}
.feat-txt p{color:var(--sub);font-size:16.5px;margin-bottom:18px;}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:11px;}
.feat-list li{display:flex;gap:11px;font-size:15px;font-weight:600;color:var(--ink);align-items:flex-start;}
.feat-list li i{width:21px;height:21px;border-radius:7px;background:var(--p-soft);color:var(--p-deep);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900;flex-shrink:0;margin-top:2px;}
.panel{background:linear-gradient(180deg,color-mix(in srgb,var(--charcoal) 7%, #fff),color-mix(in srgb,var(--charcoal) 2%, #fff));border:1px solid var(--line);border-radius:var(--r-xl);padding:9px;box-shadow:var(--shadow-float);}
.panel-in{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r-xl) - 7px);padding:20px;overflow:hidden;}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.panel-head b{font-size:15px;font-weight:800;}
.budget-row{display:grid;grid-template-columns:1fr 76px 76px 66px;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12.5px;align-items:center;}
.budget-row:last-child{border:none;}
.budget-row b{font-weight:700;}
.budget-row .num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--sub);text-align:right;}
.budget-row .var{text-align:right;font-weight:800;font-size:12px;}
.var.ok{color:var(--green);}.var.bad{color:var(--red);}
.bud-h{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);border-bottom:1.5px solid var(--line);}
.sel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sel-card{border:1.5px solid var(--line);border-radius:12px;padding:12px;cursor:default;transition:border-color .3s;}
.sel-card.picked{border-color:var(--copper);background:rgba(216,148,90,.07);}
.sel-swatch{height:44px;border-radius:8px;margin-bottom:9px;}
.sel-card b{font-size:12.5px;font-weight:700;display:block;}
.sel-card span{font-size:11px;color:var(--faint);font-weight:600;}
.sel-card .picked-tag{font-size:9.5px;font-weight:900;color:var(--charcoal);text-transform:uppercase;letter-spacing:.08em;}
.portal-item{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);}
.portal-item:last-child{border:none;}
.portal-ava{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;}
.portal-item p{font-size:13px;font-weight:600;line-height:1.4;flex:1;}
.portal-item p small{display:block;color:var(--faint);font-weight:500;font-size:11px;}

/* TABLE */
.tbl-sec{background:var(--wash);}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-soft);}
table{width:100%;border-collapse:collapse;min-width:820px;}
th,td{padding:15px 18px;text-align:center;font-size:14px;border-bottom:1px solid var(--line);}
th{font-size:12.5px;font-weight:800;text-transform:none;}
td:first-child,th:first-child{text-align:left;font-weight:700;position:sticky;left:0;background:#fff;z-index:1;min-width:190px;}
tr:last-child td{border-bottom:none;}
th.plumb-col,td.plumb-col{background:var(--p-soft);border-left:2px solid var(--charcoal);border-right:2px solid var(--charcoal);}
th.plumb-col{font-size:14px;color:var(--charcoal);}
thead th{border-bottom:2px solid var(--line);vertical-align:bottom;}
thead th small{display:block;font-weight:700;color:var(--faint);font-size:11px;margin-top:3px;}
thead th.plumb-col small{color:var(--charcoal);}
.yes{color:var(--sage);font-weight:900;}
.no{color:#C9CFDA;font-weight:900;}
.meh{color:var(--amber);font-weight:700;font-size:12.5px;}
.tbl-note{font-size:11.5px;color:var(--faint);margin-top:14px;line-height:1.6;max-width:900px;}

/* TESTIMONIALS */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:900px){.quotes{grid-template-columns:1fr;}}
.q{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-soft);transition:transform .6s var(--ease);}
.q:hover{transform:translateY(-5px);}
.q .stars{color:var(--amber);font-size:15px;letter-spacing:2px;margin-bottom:12px;}
.q p{font-size:15px;color:var(--ink);font-weight:500;line-height:1.6;margin-bottom:18px;}
.q .who{display:flex;gap:11px;align-items:center;}
.q .who .ava{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:14px;}
.q .who b{font-size:14px;display:block;}
.q .who span{font-size:12px;color:var(--faint);font-weight:600;}

/* PRICING */
.price-sec{background:linear-gradient(180deg,#fff,var(--p-soft));}
.price-card{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:10px;box-shadow:var(--shadow-float);}
.price-in{border:1px dashed var(--p-mid);border-radius:calc(var(--r-xl) - 8px);padding:clamp(28px,4vw,44px);text-align:center;}
.price-big{font-size:clamp(3.2rem,7vw,4.6rem);font-weight:900;letter-spacing:-.04em;color:var(--ink);line-height:1;}
.price-big small{font-size:.32em;color:var(--faint);font-weight:700;letter-spacing:0;}
.price-in .per{color:var(--sub);font-weight:600;margin:8px 0 26px;font-size:15px;}
.price-feats{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;text-align:left;margin-bottom:30px;}
@media(max-width:520px){.price-feats{grid-template-columns:1fr;}}
.price-feats div{font-size:14px;font-weight:600;display:flex;gap:9px;align-items:center;}
.price-feats div::before{content:'✓';color:var(--sage);font-weight:900;}
.price-guarantee{margin-top:18px;font-size:12.5px;color:var(--faint);font-weight:600;}

/* FAQ */
.faq{max-width:760px;margin:0 auto;}
.faq-item{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px;background:#fff;overflow:hidden;}
.faq-q{width:100%;text-align:left;background:none;border:none;font-family:inherit;font-size:16px;font-weight:700;color:var(--ink);padding:19px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-q .pm{width:26px;height:26px;border-radius:50%;background:var(--wash);display:grid;place-items:center;font-size:15px;font-weight:800;color:var(--sub);flex-shrink:0;transition:transform .5s var(--ease),background .3s;}
.faq-item.open .pm{transform:rotate(45deg);background:var(--charcoal);color:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .6s var(--ease);}
.faq-a p{padding:0 22px 20px;color:var(--sub);font-size:15px;line-height:1.65;}

/* CTA + FOOTER */
.final{background:var(--charcoal);color:#fff;text-align:center;border-radius:var(--r-xl);padding:clamp(48px,7vw,84px) clamp(24px,5vw,64px);position:relative;overflow:hidden;}
.final::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--copper) 20%, transparent),transparent 65%);top:-300px;right:-160px;pointer-events:none;}
.final h2{font-size:clamp(2rem,4.4vw,3.3rem);color:#fff;position:relative;}
.final p{color:rgba(255,255,255,.75);font-size:17px;margin:18px auto 32px;max-width:560px;position:relative;}
.final .btn-primary{position:relative;}
footer{padding:56px 0 40px;border-top:1px solid var(--line);margin-top:0;background:var(--charcoal);}
footer .fcol b{color:var(--gray-med);}
footer .fcol a{color:rgba(255,255,255,.65);}
footer .fcol a:hover{color:#fff;}
footer .foot-base{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.4);}
footer .logo{color:#fff;}
.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start;}
.foot-links{display:flex;gap:44px;flex-wrap:wrap;}
.fcol b{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-bottom:12px;}
.fcol a{display:block;color:var(--sub);text-decoration:none;font-size:14px;font-weight:600;margin-bottom:9px;}
.fcol a:hover{color:var(--ink);}
.foot-base{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12.5px;color:var(--faint);flex-wrap:wrap;gap:10px;}
.savings-strip{background:var(--green-soft);border:1px solid color-mix(in srgb,var(--sage) 25%, #fff);border-radius:var(--r-lg);padding:24px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;max-width:900px;margin:56px auto 0;}
.savings-strip p{font-weight:700;color:#2D6B4A;font-size:15.5px;}
.savings-strip b.counter{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:900;color:var(--sage);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}

/* WORDMARK */
.opus-wordmark{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.02em;color:inherit;}
.opus-dot{color:var(--copper);}
.opus-tld{font-weight:400;color:var(--gray-med);}
/* On dark backgrounds (nav dark / footer) tld is gray-med, handled by context */
.brand-name{font:inherit;}
.logo .brand-name{font-weight:900;}

/* FONTS */
/* Space Grotesk loaded via <link> in HTML head */
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('../fonts/jetbrains-mono-latin-400-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* WAITLIST */
.waitlist-inline{max-width:560px;margin:18px auto 0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.waitlist-inline input{min-width:260px;border:1.5px solid var(--line);border-radius:999px;padding:14px 18px;font:600 15px 'Space Grotesk',sans-serif;color:var(--ink);}
.waitlist-inline input:focus-visible{outline:3px solid color-mix(in srgb,var(--copper) 55%, #fff);outline-offset:3px;}

/* RESPONSIVE */
@media(max-width:640px){.wrap{padding:0 18px}.hero{padding-top:132px}.hero h1{max-width:320px;margin:0 auto;font-size:clamp(2rem,10vw,2.75rem);letter-spacing:-.04em}.hero h1 .strike,.hero h1 .flat{display:inline-block;white-space:normal}.mobile-break{display:block}.hero-sub{max-width:330px;font-size:1rem}.hero-note{max-width:320px;margin-left:auto;margin-right:auto}.eyebrow{max-width:310px;font-size:10px;letter-spacing:.12em;line-height:1.35;border-radius:18px}.hero-ctas{flex-direction:column;align-items:center}.hero-ctas .btn{width:min(100%,290px);justify-content:center}.brow{grid-template-columns:1fr}.bval{text-align:left}.btrack{height:28px}.dash-shell{margin-top:42px}.dash-main{padding:16px}.dash-url{max-width:210px}.gantt-h,.grow{grid-template-columns:98px 1fr}.grow .lbl{font-size:11px;padding:10px 8px}.bar{font-size:8.5px;padding:0 6px}.foot{display:block}.foot-links{margin-top:28px}.foot-base{display:block}.foot-base span{display:block;margin-bottom:10px}.mobile-menu-actions .btn{width:100%;justify-content:center}.mobile-menu-actions .btn-primary{padding-right:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.rev{opacity:1;transform:none}.bar{transform:scaleX(1)}.marq{animation:none}.hero h1 .strike::after{animation:none;transform:rotate(-2deg) scaleX(1)}.scene:not(.live){display:none}.mbar{width:var(--w,60%)!important}.pb-prog{transition:none}}
