/* ============================================================
   LUMENKRAFT — The Solar Specialists
   Brand palette drawn from the official letterhead:
   deep teal #032E37 · sun orange #FA8C37 · warm cream #F6D7BA
   Two themes: light (default) and dark, toggled via
   <html data-theme="dark|light">.
   ============================================================ */

:root{
  /* brand constants */
  --teal-950:#02222A;
  --teal-900:#032E37;          /* letterhead background */
  --teal-800:#07404C;
  --teal-700:#0B505E;
  --teal-600:#116476;
  --orange-600:#DE7620;
  --orange-500:#FA8C37;        /* letterhead sun / K */
  --orange-400:#FFA35C;
  --cream-500:#F6D7BA;         /* letterhead wordmark */
  --cream-200:#FBEEDD;
  --cream-100:#FDF6EA;

  /* light theme (default) */
  --bg:#FFFDF8;
  --bg-soft:#F8F1E5;
  --card:#FFFFFF;
  --line:#E9DFCE;
  --ink:#123B44;
  --navy:#032E37;              /* deep ink / headings */
  --muted:#5C6F72;

  --accent:var(--orange-500);
  --accent-strong:var(--orange-600);
  --accent-soft:#FCE9D5;       /* orange tint chip bg */
  --accent-ink:#B45A0E;        /* orange text on light bg */
  --teal-soft:#E3EEEE;         /* teal tint chip bg */
  --teal-ink:#0B505E;          /* teal text on light bg */

  --btn-ink-bg:#032E37;        /* "ink" button: teal in light… */
  --btn-ink-fg:#F6D7BA;
  --btn-ink-hover:#07404C;

  --logo-panel:#032E37;        /* panels dark on light bg */
  --logo-cell:#F6D7BA;
  --hero-glow-a:#FCE9D5;
  --hero-glow-b:#E3EEEE;

  --deepband-a:#0B505E;        /* gradient bands */
  --deepband-b:#032E37;
  --footer-bg:#032E37;
  --footer-fg:#B9CDCB;

  --radius:16px;
  --maxw:1160px;
  --display:'Bricolage Grotesque',sans-serif;
  --body:'Instrument Sans',sans-serif;
  --wordmark:'Poppins',sans-serif;
  --shadow:0 14px 34px rgba(3,46,55,.10);
  --focus:var(--orange-500);
}

html[data-theme="dark"]{
  --bg:#04262E;
  --bg-soft:#032028;
  --card:#073640;
  --line:#12454F;
  --ink:#E9DFCC;
  --navy:#F6D7BA;
  --muted:#9FB4B3;

  --accent:#FA8C37;
  --accent-strong:#FFA35C;
  --accent-soft:#4A3218;
  --accent-ink:#FFB273;
  --teal-soft:#0B4750;
  --teal-ink:#9FD3D6;

  --btn-ink-bg:#F6D7BA;        /* …and cream in dark */
  --btn-ink-fg:#032E37;
  --btn-ink-hover:#FFE7C8;

  --logo-panel:#F6D7BA;        /* panels cream on dark bg */
  --logo-cell:#032E37;
  --hero-glow-a:rgba(250,140,55,.14);
  --hero-glow-b:rgba(17,100,118,.28);

  --deepband-a:#0B505E;
  --deepband-b:#02222A;
  --footer-bg:#02222A;
  --footer-fg:#A9BEBD;

  --shadow:0 16px 36px rgba(0,0,0,.35);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}
}
body{
  font-family:var(--body);color:var(--ink);background:var(--bg);
  line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased;
  transition:background .25s ease,color .25s ease;
}
img,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}

h1,h2,h3{font-family:var(--display);line-height:1.12;color:var(--navy);letter-spacing:-.01em}
h1{font-weight:800;font-size:clamp(2.4rem,5.2vw,3.9rem)}
h2{font-weight:800;font-size:clamp(1.8rem,3.3vw,2.55rem)}
h3{font-weight:700;font-size:1.2rem;line-height:1.32}
.lede{font-size:1.13rem;color:var(--muted);max-width:64ch;margin-top:16px}

.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--teal-soft);color:var(--teal-ink);
  font-weight:600;font-size:.85rem;letter-spacing:.02em;
  padding:8px 16px;border-radius:999px;margin-bottom:20px;
}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.eyebrow.amber{background:var(--accent-soft);color:var(--accent-ink)}
.eyebrow.amber::before{background:var(--teal-ink)}

section.block{padding:86px 0}
.section-head{max-width:730px;margin-bottom:50px}
.center{text-align:center}
.center .section-head{margin-left:auto;margin-right:auto}
.center .eyebrow{justify-content:center}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);font-weight:700;font-size:.98rem;
  padding:15px 28px;border-radius:999px;border:2px solid transparent;
  text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,color .18s;
}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}
.btn-green{background:var(--btn-ink-bg);color:var(--btn-ink-fg)}
.btn-green:hover{background:var(--btn-ink-hover);transform:translateY(-2px);box-shadow:0 12px 26px rgba(3,46,55,.28)}
.btn-amber{background:var(--accent);color:#231204}
.btn-amber:hover{background:var(--accent-strong);transform:translateY(-2px);box-shadow:0 12px 26px rgba(250,140,55,.35)}
.btn-outline{border-color:var(--teal-ink);color:var(--teal-ink);background:transparent}
.btn-outline:hover{background:var(--teal-soft);transform:translateY(-2px)}
.btn-white{background:var(--cream-500);color:var(--teal-900)}
.btn-white:hover{background:var(--cream-200);transform:translateY(-2px)}
.btn-ghost-white{border-color:rgba(246,215,186,.6);color:var(--cream-500)}
.btn-ghost-white:hover{background:rgba(246,215,186,.14);transform:translateY(-2px)}
.btn .arrow{transition:transform .18s}
.btn:hover .arrow{transform:translateX(4px)}

/* ---------- header ---------- */
header.site{
  position:sticky;top:0;z-index:60;background:var(--bg);
  border-bottom:2px solid var(--accent);
}
html[data-theme="dark"] header.site{background:var(--teal-900)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;max-width:1330px;margin:0 auto;padding:0 26px;gap:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:46px;height:46px;flex:none;border-radius:12px;overflow:hidden;background:#032F38;box-shadow:0 4px 12px rgba(3,46,55,.25)}
.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}
.brand-name{
  white-space:nowrap;font-family:var(--wordmark);font-weight:600;font-size:1.24rem;color:var(--navy);
  letter-spacing:.01em;line-height:1.1;display:block;
}
html[data-theme="dark"] .brand-name{color:var(--cream-500)}
.brand-name .k{color:var(--orange-500);font-weight:700}
.brand-sub{
  white-space:nowrap;display:block;font-family:var(--wordmark);font-size:10px;letter-spacing:.3em;
  color:var(--orange-500);text-transform:lowercase;font-weight:500;margin-top:1px;
}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.nav-links a{
  text-decoration:none;color:var(--ink);font-weight:500;font-size:.94rem;white-space:nowrap;
  padding:9px 12px;border-radius:10px;transition:color .15s,background .15s;
}
html[data-theme="dark"] .nav-links a{color:var(--cream-500)}
.nav-links a:hover{color:var(--accent-ink);background:var(--accent-soft)}
.nav-links a.active{color:var(--accent-ink);background:var(--accent-soft);font-weight:600}
.nav-links a.nav-cta{
  background:var(--orange-500);color:#231204;font-family:var(--display);font-weight:700;
  padding:11px 18px;border-radius:999px;margin-left:8px;white-space:nowrap;
}
.nav-links a.nav-cta:hover{background:var(--orange-400);color:#231204}
.nav-tools{display:flex;align-items:center;gap:8px}
.theme-btn{
  background:transparent;border:1.5px solid var(--line);border-radius:10px;
  width:42px;height:42px;display:grid;place-items:center;color:var(--ink);
  transition:border-color .15s,background .15s,color .15s;flex:none;
}
html[data-theme="dark"] .theme-btn{color:var(--cream-500);border-color:rgba(246,215,186,.28)}
.theme-btn:hover{border-color:var(--orange-500);color:var(--orange-500)}
.theme-btn .icon-sun{display:none}
.theme-btn .icon-moon{display:block}
html[data-theme="dark"] .theme-btn .icon-sun{display:block}
html[data-theme="dark"] .theme-btn .icon-moon{display:none}
.menu-btn{display:none;background:transparent;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--ink)}
html[data-theme="dark"] .menu-btn{color:var(--cream-500);border-color:rgba(246,215,186,.28)}
@media (max-width:1150px){
  .menu-btn{display:block}
  .nav-links{
    position:fixed;inset:auto 0 auto 0;top:calc(var(--nav-top,80px));flex-direction:column;align-items:stretch;
    background:var(--bg);padding:12px 22px 24px;gap:2px;border-bottom:1px solid var(--line);
    box-shadow:0 20px 40px rgba(3,46,55,.16);display:none;z-index:59;
  }
  html[data-theme="dark"] .nav-links{background:var(--teal-900)}
  .nav-links.open{display:flex}
  .nav-links a{padding:14px;font-size:1.05rem}
  .nav-links a.nav-cta{margin:10px 0 0;text-align:center;justify-content:center}
}

/* ---------- hero ---------- */
.hero{
  background:
    radial-gradient(900px 420px at 88% -10%, var(--hero-glow-a) 0%, transparent 60%),
    radial-gradient(800px 430px at -8% 8%, var(--hero-glow-b) 0%, transparent 58%),
    var(--bg);
  border-bottom:1px solid var(--line);
}
.hero-inner{display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:center;padding:78px 26px 84px;max-width:var(--maxw);margin:0 auto}
.hero h1 em{font-style:normal;color:var(--accent-ink);position:relative}
.hero h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:.06em;height:.28em;
  background:var(--accent-soft);z-index:-1;border-radius:4px;
}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-badges span{
  display:inline-flex;align-items:center;gap:8px;font-size:.87rem;font-weight:600;color:var(--ink);
  background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:8px 15px;
}
.hero-badges svg{flex:none}
.hero-art img{width:100%;height:auto;border-radius:22px;box-shadow:var(--shadow);display:block;border:1.5px solid var(--line)}
.hero.sub .hero-inner{padding:64px 26px 70px}
@media (max-width:960px){
  .hero-inner{grid-template-columns:1fr;padding:56px 26px 60px}
  .hero-art{max-width:480px}
}

/* stat strip */
.stat-strip{background:var(--teal-900)}
html[data-theme="dark"] .stat-strip{background:var(--teal-950)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--maxw);margin:0 auto;padding:0 26px}
.stat{padding:28px 22px;border-right:1px solid rgba(246,215,186,.16)}
.stat:first-child{padding-left:0}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--display);font-weight:800;font-size:1.65rem;color:var(--orange-500)}
.stat small{color:var(--cream-500);opacity:.75;font-size:.88rem}
@media (max-width:860px){
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:0}
  .stat{padding-left:0}
}

/* ---------- cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media (max-width:920px){.grid-3,.grid-2{grid-template-columns:1fr}}
.card{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);
  padding:30px 28px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent)}
.card .icon{
  width:52px;height:52px;border-radius:14px;background:var(--teal-soft);
  display:grid;place-items:center;margin-bottom:20px;
}
.card .icon.amber{background:var(--accent-soft)}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:.98rem}
.card .card-tag{
  display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:5px 12px;margin-bottom:16px;
}
.card .card-tag.green{color:var(--teal-ink);background:var(--teal-soft)}
.card-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:18px;text-decoration:none;
  font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--accent-ink);
}
.card-link:hover{color:var(--accent-strong);gap:12px}
.card.lift-top{border-top:5px solid var(--teal-700)}
html[data-theme="dark"] .card.lift-top{border-top-color:var(--cream-500)}
.card.lift-top.amber-top{border-top-color:var(--orange-500)}
.cap{font-size:.9rem;color:var(--muted);border-top:1.5px dashed var(--line);margin-top:20px;padding-top:14px;font-weight:500}

/* ---------- soft band ---------- */
.band{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-green{background:linear-gradient(140deg,var(--deepband-a),var(--deepband-b));color:var(--cream-200)}
.band-green h2,.band-green h3{color:var(--cream-100)}
.band-green .lede{color:var(--cream-500)}
.band-green .card{background:rgba(246,215,186,.07);border-color:rgba(246,215,186,.18)}
.band-green .card:hover{border-color:var(--orange-500);box-shadow:0 16px 36px rgba(0,0,0,.22)}
.band-green .card h3{color:var(--cream-100)}
.band-green .card p{color:var(--cream-500)}
.band-green .eyebrow{background:rgba(246,215,186,.14);color:var(--cream-200)}
.band-green .eyebrow::before{background:var(--orange-500)}

/* ---------- model cards ---------- */
.model-card{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);
  padding:34px 30px;display:flex;flex-direction:column;position:relative;
  transition:transform .2s,box-shadow .2s;
}
.model-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.model-card .m-code{
  font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-ink);margin-bottom:8px;
}
.model-card h3{font-size:1.55rem;margin-bottom:2px}
.model-card .m-sub{color:var(--accent-ink);font-weight:600;font-size:.93rem;margin-bottom:16px}
.model-card p{color:var(--muted);font-size:.97rem;margin-bottom:16px}
.model-card ul{list-style:none;margin-top:auto;border-top:1.5px solid var(--line);padding-top:18px;display:grid;gap:11px}
.model-card li{display:flex;gap:11px;font-size:.94rem;color:var(--ink);align-items:flex-start}
.model-card li svg{flex:none;margin-top:4px}
.model-card.featured{border-color:var(--orange-500);box-shadow:0 0 0 1.5px var(--orange-500),var(--shadow)}
.model-badge{
  position:absolute;top:-14px;left:26px;background:var(--orange-500);color:#231204;
  font-size:.76rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;
}

/* ---------- comparison table ---------- */
.table-scroll{overflow-x:auto;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}
table.compare{width:100%;border-collapse:collapse;min-width:780px;font-size:.95rem}
.compare th,.compare td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{
  background:var(--teal-700);color:var(--cream-100);font-family:var(--display);
  font-size:.95rem;font-weight:700;
}
.compare thead th:first-child{background:var(--teal-900)}
.compare tbody th{font-weight:600;color:var(--navy);background:var(--bg-soft);white-space:nowrap;font-family:var(--body)}
.compare td{color:var(--muted)}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}

/* ---------- process steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.steps.five{grid-template-columns:repeat(5,1fr)}
.step{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:26px 24px;position:relative;
}
.step::before{
  counter-increment:step;content:counter(step);
  display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:var(--orange-500);color:#231204;font-family:var(--display);font-weight:800;
  margin-bottom:16px;font-size:1.05rem;
}
.step h3{font-size:1.05rem;margin-bottom:8px}
.step p{font-size:.92rem;color:var(--muted)}
@media (max-width:1000px){.steps,.steps.five{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.steps,.steps.five{grid-template-columns:1fr}}

/* ---------- checklist ---------- */
.checklist{list-style:none;display:grid;gap:15px;margin-top:22px}
.checklist li{display:flex;gap:14px;align-items:flex-start}
.checklist .tick{
  flex:none;width:26px;height:26px;border-radius:50%;background:var(--orange-500);
  display:grid;place-items:center;margin-top:2px;
}
.checklist .tick svg path{stroke:#231204}
.checklist b{display:block;color:var(--navy)}
.checklist .desc{color:var(--muted);font-size:.95rem}

/* ---------- info panel ---------- */
.panel{
  background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);
  padding:34px 32px;box-shadow:var(--shadow);
}
.panel.green{background:linear-gradient(150deg,var(--teal-700),var(--teal-950));border:0;color:var(--cream-100)}
.panel h3{margin-bottom:20px}
.panel.green h3{color:var(--cream-100)}
.panel-title{
  display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--teal-ink);background:var(--teal-soft);padding:6px 14px;border-radius:999px;margin-bottom:18px;
}
.panel.green .panel-title{background:rgba(246,215,186,.18);color:var(--cream-200)}
.spec-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1.5px dashed var(--line);font-size:.97rem}
.panel.green .spec-row{border-color:rgba(246,215,186,.25)}
.spec-row:last-child{border-bottom:0}
.spec-row dt{color:var(--muted)}
.panel.green .spec-row dt{color:var(--cream-500)}
.spec-row dd{font-weight:700;text-align:right;color:var(--navy)}
.panel.green .spec-row dd{color:#fff}
.panel-note{font-size:.83rem;color:var(--muted);margin-top:16px}
.panel.green .panel-note{color:var(--cream-500)}

/* ---------- quote form ---------- */
.quote-grid{display:grid;grid-template-columns:1fr 370px;gap:42px;align-items:start}
@media (max-width:980px){.quote-grid{grid-template-columns:1fr}}
form.quote{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:38px 36px;box-shadow:var(--shadow)}
@media (max-width:560px){form.quote{padding:28px 22px}}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:640px){.f-row{grid-template-columns:1fr}}
.f-group{margin-bottom:20px}
.f-group label{display:block;font-weight:600;font-size:.92rem;color:var(--navy);margin-bottom:8px}
.f-group label .req{color:var(--accent-ink)}
.f-group input,.f-group select,.f-group textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;
  font:inherit;background:var(--bg-soft);color:var(--ink);transition:border-color .15s,background .15s;
}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{border-color:var(--orange-500);background:var(--card);outline:none}
.f-group textarea{resize:vertical;min-height:110px}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
fieldset.f-choice{border:0;margin-bottom:22px}
fieldset.f-choice legend{font-weight:600;font-size:.92rem;color:var(--navy);margin-bottom:10px}
.chip-row{display:flex;flex-wrap:wrap;gap:10px}
.chip-row label{
  border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;cursor:pointer;
  font-size:.93rem;font-weight:500;transition:all .15s;user-select:none;background:var(--card);
}
.chip-row input{position:absolute;opacity:0;pointer-events:none}
.chip-row label:has(input:checked){background:var(--btn-ink-bg);color:var(--btn-ink-fg);border-color:var(--btn-ink-bg)}
.chip-row label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.chip-row label:hover{border-color:var(--orange-500)}
.form-note{font-size:.85rem;color:var(--muted);margin-top:14px}
.f-error{color:#D9532C;font-size:.85rem;margin-top:6px;display:none}
.f-group.invalid input,.f-group.invalid select{border-color:#D9532C;background:var(--accent-soft)}
.f-group.invalid .f-error{display:block}
.form-status{display:none;margin-top:16px;font-size:.92rem;font-weight:600}
.form-status.error{display:block;color:#D9532C}
.form-status.sending{display:block;color:var(--muted)}
.success-panel{
  display:none;background:var(--card);border:2px solid var(--orange-500);border-radius:var(--radius);
  padding:52px 44px;text-align:center;box-shadow:var(--shadow);
}
.success-panel.show{display:block;animation:fadeUp .4s ease both}
.big-tick{width:66px;height:66px;border-radius:50%;background:var(--orange-500);display:grid;place-items:center;margin:0 auto 22px}

/* ---------- quoteboxes / footer / misc ---------- */
.quotebox{
  background:var(--card);border:1.5px solid var(--line);border-left:5px solid var(--orange-500);
  border-radius:12px;padding:26px 28px;box-shadow:var(--shadow);
}
.quotebox p{font-size:1.02rem;color:var(--ink)}
.quotebox cite{display:block;margin-top:14px;font-style:normal;font-size:.88rem;color:var(--muted);font-weight:600}

.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
@media (max-width:940px){.two-col{grid-template-columns:1fr}}

.cta-final{
  background:linear-gradient(135deg,var(--teal-700),var(--teal-950));
  color:var(--cream-100);text-align:center;padding:92px 26px;
}
.cta-final h2{color:var(--cream-100);max-width:640px;margin:0 auto 16px}
.cta-final p{color:var(--cream-500);max-width:56ch;margin:0 auto 34px}
.cta-final .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

footer{background:var(--footer-bg);color:var(--footer-fg);border-top:3px solid var(--orange-500)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding:62px 26px 44px;max-width:var(--maxw);margin:0 auto}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.foot-grid{grid-template-columns:1fr}}
footer h4{font-family:var(--display);font-size:1rem;color:var(--cream-100);margin-bottom:18px;font-weight:700}
footer ul{list-style:none;display:grid;gap:10px}
footer a{color:var(--footer-fg);text-decoration:none;font-size:.95rem}
footer a:hover{color:var(--orange-400)}
footer p{font-size:.93rem}
.foot-brand .brand-name{color:var(--cream-100)}
.foot-bottom{
  border-top:1px solid rgba(246,215,186,.14);padding:22px 26px;max-width:var(--maxw);margin:0 auto;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--footer-fg);
}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- nav layout: links right, tools at the end ---------- */
.nav-links{margin-left:auto}
@media (max-width:1150px){.nav-links{margin-left:0}}

/* ---------- founder profile ---------- */
.profile-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start}
@media (max-width:940px){.profile-grid{grid-template-columns:1fr}}
.avatar-row{display:flex;align-items:center;gap:18px;margin:26px 0 6px}
.avatar{
  width:74px;height:74px;border-radius:50%;flex:none;
  background:var(--orange-500);display:grid;place-items:center;
  font-family:var(--wordmark);font-weight:700;font-size:1.9rem;color:#231204;
  box-shadow:0 0 0 4px rgba(246,215,186,.25);
}
.avatar-row b{display:block;font-family:var(--display);font-size:1.18rem;color:var(--cream-100)}
.avatar-row small{color:var(--cream-500);font-size:.9rem}
.tag-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.tag{
  font-size:.82rem;font-weight:600;color:var(--cream-200);
  border:1.5px solid rgba(246,215,186,.35);border-radius:999px;padding:6px 13px;
}
.tag.orange{border-color:var(--orange-500);color:var(--orange-400)}

/* ---------- tax calculator ---------- */
.calc-shell{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.calc-head{background:linear-gradient(140deg,var(--deepband-a),var(--deepband-b));padding:26px 32px;color:var(--cream-100)}
.calc-head h3{color:var(--cream-100);margin-bottom:4px}
.calc-head p{color:var(--cream-500);font-size:.93rem}
.calc-body{display:grid;grid-template-columns:380px 1fr;gap:0}
@media (max-width:980px){.calc-body{grid-template-columns:1fr}}
.calc-inputs{padding:30px 32px;border-right:1.5px solid var(--line)}
@media (max-width:980px){.calc-inputs{border-right:0;border-bottom:1.5px solid var(--line)}}
.calc-results{padding:30px 32px}
.stat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:26px}
@media (max-width:560px){.stat-cards{grid-template-columns:1fr}}
.stat-card{background:var(--bg-soft);border:1.5px solid var(--line);border-radius:12px;padding:16px 18px}
.stat-card small{display:block;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:5px}
.stat-card b{font-family:var(--display);font-size:1.32rem;color:var(--navy)}
.stat-card.hi{background:var(--accent-soft);border-color:var(--orange-500)}
.stat-card.hi b{color:var(--accent-ink)}
.yr-bars{display:grid;gap:10px;margin:6px 0 26px}
.yr-bar{display:grid;grid-template-columns:64px 1fr 110px;gap:12px;align-items:center;font-size:.88rem}
.yr-bar .lbl{color:var(--muted);font-weight:600}
.yr-bar .track{background:var(--bg-soft);border-radius:999px;height:16px;overflow:hidden}
.yr-bar .fill{display:block;height:100%;background:linear-gradient(90deg,var(--orange-500),var(--orange-400));border-radius:999px;min-width:3px;transition:width .45s ease}
.yr-bar .val{text-align:right;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.calc-note{font-size:.83rem;color:var(--muted);border-top:1.5px dashed var(--line);padding-top:14px}
input[type=range].slider{width:100%;accent-color:var(--orange-500);margin-top:6px}
.cost-display{font-family:var(--display);font-weight:800;font-size:1.5rem;color:var(--accent-ink);margin-top:4px}
