/* =========================================================================
   luv2move.se — design system
   Premium, warm, outdoors. Accessible (WCAG 2.2 AA target).
   ========================================================================= */

:root{
  --paper:#faf7f1; --paper-2:#f1ece1; --card:#ffffff;
  --ink:#16201c; --ink-2:#47534d; --ink-3:#6b756f;
  --green:#0f6b57; --green-700:#0c5545; --green-deep:#0b342b;
  --sand:#e9dfca; --amber:#d9832f; --amber-700:#a95f1c; --amber-ink:#241205;
  --line:#e5dfd2; --line-dark:rgba(127,216,185,.28);
  --r:14px; --r-lg:22px; --pill:999px;
  --maxw:1180px;
  --shadow-sm:0 1px 2px rgba(11,52,43,.06);
  --shadow:0 2px 8px rgba(11,52,43,.07), 0 24px 44px -26px rgba(11,52,43,.34);
  --disp:"Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;
  --body:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--body); font-size:18px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--disp); margin:0; line-height:1.06; letter-spacing:-.02em; font-weight:700}
p{margin:0}
img{max-width:100%; height:auto; display:block}
a{color:var(--green-700); text-decoration:none}
a:hover{color:var(--amber-700)}
ul{margin:0}

:focus-visible{outline:3px solid var(--amber); outline-offset:2px; border-radius:4px}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4vw,40px)}
.icn{width:24px; height:24px; flex:none}
.icn-sm{width:18px; height:18px; flex:none; vertical-align:middle}

/* ---- buttons ---- */
.btn{
  display:inline-flex; align-items:center; gap:10px; font-family:var(--body);
  font-weight:700; font-size:17px; line-height:1; padding:15px 24px;
  border-radius:var(--pill); border:2px solid transparent; cursor:pointer;
  transition:transform .15s ease, background-color .15s ease, box-shadow .15s ease;
  min-height:52px; text-align:center;
}
.btn .icn{width:20px; height:20px; stroke-width:2.2}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--amber); color:var(--amber-ink); box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--amber-700); color:#fff}
.btn-ghost{background:transparent; border-color:var(--line); color:var(--ink)}
.btn-ghost:hover{border-color:var(--green); color:var(--green-700)}
.btn-ghost.on-dark{border-color:rgba(244,239,228,.42); color:#f4efe4}
.btn-ghost.on-dark:hover{border-color:#fff; color:#fff}
.btn-sm{padding:11px 18px; min-height:44px; font-size:15px}
.cta-row{display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:30px}

/* ---- eyebrow / section heads ---- */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px; font-weight:700;
  font-size:14px; letter-spacing:.13em; text-transform:uppercase; color:var(--green);
}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--amber); border-radius:2px}
.eyebrow.on-dark{color:#8fe6c8}
.lead{font-size:21px; line-height:1.55; color:var(--ink-2)}
.sec-head{max-width:660px; margin-bottom:44px}
.sec-head h2{font-size:clamp(30px,4vw,42px); margin-top:14px}
.sec-head .sec-intro{margin-top:16px; font-size:19px; color:var(--ink-2)}
.sec-head.on-dark h2{color:#fdfbf6}
.sec-head.on-dark .sec-intro{color:rgba(244,239,228,.84)}

/* ---- header ---- */
.skip-link{position:absolute; left:-9999px; top:0; background:var(--green-deep); color:#fff;
  padding:12px 18px; border-radius:0 0 10px 0; z-index:100}
.skip-link:focus{left:0}
.site-header{position:sticky; top:0; z-index:50; background:rgba(250,247,241,.92);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0}
.brand{display:flex; align-items:center}
.brand img{height:34px; width:auto}
.site-nav{display:flex; align-items:center; gap:26px}
.site-nav a{color:var(--ink-2); font-weight:600; font-size:16px}
.site-nav a:hover{color:var(--green-700)}
.site-nav a[aria-current="page"]{color:var(--green-deep)}
.site-nav a[aria-current="page"]:not(.btn){box-shadow:inset 0 -2px 0 var(--amber)}

/* ---- hero ---- */
.hero{position:relative}
.hero-page{background:linear-gradient(180deg,var(--paper-2),var(--paper)); padding:66px 0 46px;
  border-bottom:1px solid var(--line)}
.hero-page h1{font-size:clamp(38px,6vw,60px); font-weight:800; margin:18px 0 0; max-width:16ch; color:var(--green-deep)}
.hero-page .lead{margin-top:20px; max-width:52ch}
.hero-home{background:var(--green-deep); color:#f4efe4; overflow:hidden; padding-bottom:56px}
.hero-scene{position:absolute; inset:0; z-index:0}
.hero-scene svg{width:100%; height:100%; display:block}
.hero-veil{position:absolute; inset:0; z-index:1; background:
  linear-gradient(90deg, rgba(9,39,31,.95) 0%, rgba(9,39,31,.8) 46%, rgba(9,39,31,.25) 100%),
  linear-gradient(0deg, rgba(9,39,31,.82) 0%, rgba(9,39,31,0) 42%)}
.hero-home .wrap{position:relative; z-index:2; padding:clamp(72px,10vw,128px) 0 clamp(48px,7vw,84px)}
.hero-copy{max-width:760px}
.hero-grid{position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:40px; align-items:center; padding:56px 0 20px; min-height:520px}
.hero-home h1{font-size:clamp(40px,5.4vw,66px); font-weight:800; color:#fdfbf6; max-width:13ch; margin:20px 0 0}
.hero-home .lead{color:rgba(244,239,228,.9); max-width:46ch; margin-top:22px; font-size:clamp(18px,2.1vw,22px)}
.hero-trust{margin-top:26px; color:rgba(244,239,228,.72); font-size:15px; font-weight:600}
.hero-media{justify-self:end; width:100%; max-width:380px; background:rgba(9,39,31,.4);
  border:1px solid var(--line-dark); border-radius:var(--r-lg); padding:16px; text-decoration:none; color:inherit;
  transition:transform .15s ease}
.hero-media:hover{transform:translateY(-3px); color:inherit}
.play-frame{display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; border-radius:16px;
  background:linear-gradient(160deg,#12463a,#0c332a); outline:1px dashed var(--line-dark); outline-offset:-1px}
.play-btn{display:flex; align-items:center; justify-content:center; width:66px; height:66px; border-radius:50%;
  background:var(--amber); color:var(--amber-ink); box-shadow:0 10px 26px rgba(0,0,0,.35)}
.play-btn .pl{width:26px; height:26px}
.play-btn.sm{width:48px; height:48px}
.play-cap{display:block; margin-top:12px; font-size:14px; color:rgba(244,239,228,.72); text-align:center}

/* ---- trust strip ---- */
.trust{background:var(--green); color:#eafaf4}
.trust-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:26px 0}
.trust-item{display:flex; align-items:center; gap:14px; padding:6px 8px}
.trust-item .icn{width:26px; height:26px; stroke:#8fe6c8}
.trust-item b{font-family:var(--disp); font-size:23px; font-weight:700; display:block; line-height:1.05}
.trust-item span{font-size:14px; color:rgba(234,250,244,.92); font-weight:500}

/* ---- generic block ---- */
.block{padding:clamp(56px,8vw,96px) 0}
.prose{max-width:760px}
.prose h2{font-size:clamp(28px,4vw,38px)}
.prose p{margin-top:18px; color:var(--ink-2)}
.prose p:first-of-type{margin-top:0}
.block .prose .sec-head p{color:var(--ink-2)}
.prose-list{margin:16px 0 0; padding-left:22px; color:var(--ink-2)}
.prose-list li{margin-top:8px}
.article-body h2{font-size:26px; margin-top:40px; color:var(--green-deep)}
.article-body h2:first-child{margin-top:0}
.article-body p{margin-top:16px}
.article-body p:first-of-type{margin-top:0}
.article-body .prose-list{margin-top:14px}

/* ---- grids / cards ---- */
.grid{display:grid; gap:20px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:26px;
  display:flex; flex-direction:column; gap:12px}
.card h3{font-size:22px}
.card p{color:var(--ink-2); font-size:16px; margin:0}
.card-icon{display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px;
  border-radius:14px; background:#eef6f2; color:var(--green); margin-bottom:2px}
.card-icon .icn{width:26px; height:26px; stroke-width:1.8}
.card-link{margin-top:auto; font-weight:700; color:var(--green-700); display:inline-flex; align-items:center; gap:6px}
.card-link .icn-sm{stroke-width:2.2}
a.card-link-wrap{color:inherit; transition:transform .15s ease, box-shadow .15s ease}
a.card-link-wrap:hover{transform:translateY(-4px); box-shadow:var(--shadow); color:inherit}

/* ---- feature / checklist ---- */
.feature-list, .checklist{list-style:none; padding:0; display:flex; flex-direction:column; gap:14px; margin-top:22px}
.feature-list li, .checklist li{display:flex; gap:13px; align-items:flex-start}
.feature-list .icn, .checklist .icn{stroke:var(--green); margin-top:1px}

/* ---- facts ---- */
.facts{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; margin-top:26px;
  background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden}
.fact{background:var(--card); padding:22px 24px}
.fact dt{font-size:14px; color:var(--ink-3); font-weight:600}
.fact dd{margin:6px 0 0; font-family:var(--disp); font-size:22px; font-weight:700; color:var(--green-deep)}

/* ---- steps ---- */
.steps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px}
.step-num{display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
  background:var(--green-deep); color:#eafaf4; font-family:var(--disp); font-weight:700; font-size:19px}
.step h3{font-size:22px; margin-top:18px}
.step p{margin-top:10px; color:var(--ink-2); font-size:16px}

/* ---- find your fit ---- */
.fit{background:var(--paper-2)}
.fit-card{display:grid; grid-template-columns:minmax(0,1fr) 330px; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow); overflow:hidden}
.fit-left{padding:36px}
.fit-kicker{font-weight:700; color:var(--ink-3); font-size:13px; letter-spacing:.06em; text-transform:uppercase}
.fit-left h3{font-size:26px; margin-top:10px}
.fit-opts{display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 24px}
.chip{display:inline-flex; align-items:center; padding:11px 18px; border-radius:var(--pill);
  border:1.5px solid var(--line); background:var(--paper); font-weight:600; font-size:15px}
.chip.sel{background:var(--green-deep); color:#eafaf4; border-color:var(--green-deep)}
.fit-right{background:linear-gradient(165deg,var(--green),var(--green-deep)); color:#eafaf4; padding:34px;
  display:flex; flex-direction:column; justify-content:center; gap:12px}
.fit-ic{width:34px; height:34px; stroke:#8fe6c8}
.fit-big{font-family:var(--disp); font-size:27px; font-weight:700; line-height:1.12}
.fit-right p{color:rgba(234,250,244,.84); font-size:15px}

/* ---- funding ---- */
.fund{background:var(--sand)}
.fund-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:52px; align-items:center}
.fund-text h2{font-size:clamp(28px,4vw,40px); margin-top:14px}
.fund-text .lead{margin-top:16px}
.fund-card{background:var(--card); border:1px solid rgba(15,107,87,.14); border-radius:var(--r-lg);
  padding:34px; box-shadow:var(--shadow)}
.fund-q{font-family:var(--disp); font-size:24px; font-weight:700; color:var(--green-deep)}
.fund-card p{margin-top:14px; color:var(--ink-2)}

/* ---- proof / quote ---- */
.proof{background:var(--green-deep); color:#f4efe4}
.quote{max-width:900px; margin:0 auto; text-align:center}
.stars{display:flex; gap:6px; justify-content:center; color:var(--amber)}
.stars .icn{width:22px; height:22px}
.quote blockquote{font-family:var(--disp); font-weight:600; font-size:clamp(24px,3.4vw,34px); line-height:1.25;
  letter-spacing:-.02em; margin:22px 0 0; color:#fdfbf6}
.quote .attr{margin-top:22px; color:rgba(244,239,228,.72); font-weight:600}
.proof-h{text-align:center; color:#fdfbf6; font-size:clamp(26px,3.6vw,36px)}
.tcard{margin:0; background:rgba(9,39,31,.5); border:1px solid var(--line-dark); border-radius:var(--r-lg); padding:30px}
.tcard .stars{justify-content:flex-start}
.tcard blockquote{margin:16px 0 0; font-family:var(--disp); font-weight:600; font-size:21px; line-height:1.35; color:#fdfbf6; letter-spacing:-.01em}
.tcard figcaption{margin-top:18px; color:rgba(244,239,228,.82); font-weight:600}
.tcard figcaption span{color:rgba(244,239,228,.58); font-weight:500}

/* ---- lead form ---- */
.lead-card{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:40px; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow); padding:40px}
.lead-copy h2{font-size:clamp(26px,3.4vw,34px)}
.lead-copy .lead{margin-top:14px}
.lead-copy .feature-list{margin-top:22px}
.muted-ink{margin-top:22px; color:var(--ink-3); font-size:15px}
.lead-form{display:flex; flex-direction:column; gap:16px}
.field{display:flex; flex-direction:column; gap:6px}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.lead-form label{font-weight:600; font-size:14px; color:var(--ink-2)}
.lead-form input, .lead-form select, .lead-form textarea{font-family:var(--body); font-size:16px; padding:13px 14px;
  border:1.5px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); width:100%; min-height:50px}
.lead-form textarea{min-height:90px; resize:vertical}
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus{outline:none; border-color:var(--green);
  box-shadow:0 0 0 3px rgba(15,107,87,.16)}
.btn-block{width:100%; justify-content:center; margin-top:4px}
.lead-hint{font-size:13px; color:var(--ink-3); text-align:center; margin:0}
.lead-consent{font-size:12px; color:var(--ink-3); text-align:center; margin:0}
.lead-consent a{color:var(--green-700); text-decoration:underline}
.lead-status{margin:0; font-size:14px; font-weight:600; text-align:center; min-height:1.2em}
.lead-status.err{color:#b3261e}
.lead-ok{background:#eef7f3; border:1px solid rgba(15,107,87,.25); border-radius:14px; padding:28px; text-align:center; color:var(--ink); font-size:18px}
.hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden}

/* ---- terrain visualizer ---- */
.terrain-viz{border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); background:var(--card); margin-top:8px}
.tv-stage{position:relative}
.tv-scene{display:block; width:100%; height:auto; aspect-ratio:800 / 460}
.tv-caption{position:absolute; left:16px; bottom:16px; margin:0; background:rgba(11,52,43,.85); color:#f4efe4;
  font-weight:600; font-size:15px; padding:10px 16px; border-radius:var(--pill); max-width:72%}
.tv-m{display:none}
.terrain-viz[data-terrain="skog"] .tv-m-skog,
.terrain-viz[data-terrain="strand"] .tv-m-strand,
.terrain-viz[data-terrain="sno"] .tv-m-sno,
.terrain-viz[data-terrain="stad"] .tv-m-stad,
.terrain-viz[data-terrain="backe"] .tv-m-backe{display:block}
.tv-controls{display:flex; flex-wrap:wrap; gap:8px; padding:18px}
.tv-chip{font-family:var(--body); font-weight:600; font-size:15px; padding:10px 16px; border-radius:var(--pill);
  border:1.5px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer; min-height:44px; transition:border-color .15s ease, background-color .15s ease, color .15s ease}
.tv-chip:hover{border-color:var(--green)}
.tv-chip.on{background:var(--green-deep); color:#eafaf4; border-color:var(--green-deep)}
.tv-cta{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:0 18px 20px}
.tv-cta span{font-family:var(--disp); font-weight:700; font-size:19px; color:var(--green-deep)}

/* ---- feature video (product, feels real) ---- */
.feature-video{position:relative; aspect-ratio:16 / 9; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); max-width:940px; margin:0 auto; background:#0c332a}
.feature-video iframe{position:absolute; inset:0; width:100%; height:100%; border:0}

/* ---- products mega-menu ---- */
.nav-item{display:flex; align-items:center}
.has-mega{position:static}
.nav-trigger{display:inline-flex; align-items:center; gap:5px}
.nav-chevron{width:16px; height:16px; transition:transform .2s ease}
.has-mega:hover .nav-chevron, .has-mega:focus-within .nav-chevron{transform:rotate(180deg)}
.mega{position:absolute; top:100%; left:50%; width:min(820px,94vw); padding-top:12px;
  transform:translateX(-50%) translateY(8px); opacity:0; visibility:hidden;
  transition:opacity .18s ease, transform .18s ease; z-index:60}
.has-mega:hover .mega, .has-mega:focus-within .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.mega-panel{background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow); padding:18px}
.mega-inner{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px}
.mega-card{display:flex; flex-direction:column; gap:6px; padding:10px; border-radius:14px; color:var(--ink); text-decoration:none; transition:background-color .15s ease, transform .15s ease}
.mega-card:hover{background:var(--paper-2); color:var(--ink); transform:translateY(-3px)}
.mega-thumb{aspect-ratio:4 / 3; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#eafaf4; margin-bottom:4px}
.mega-thumb .mega-ic{width:42px; height:42px; stroke-width:1.5}
.mega-thumb-genny{background:linear-gradient(160deg,#0f6b57,#0b342b)}
.mega-thumb-freee{background:linear-gradient(160deg,#1c5c4c,#0f382e)}
.mega-thumb-addseat{background:linear-gradient(160deg,#2f6b46,#123f34)}
.mega-thumb-baddaboom{background:linear-gradient(160deg,#d9832f,#a95f1c)}
.mega-name{font-family:var(--disp); font-weight:700; font-size:16px}
.mega-tag{font-size:12.5px; color:var(--ink-3); line-height:1.35}
.mega-all{display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-weight:700; color:var(--green-700); font-size:14px}

/* ================= flagship guide components ================= */
.band-dark{background:var(--green-deep); color:#e7efe9}
.band-dark h2, .band-dark h3, .band-dark .sec-head h2{color:#fdfbf6}
.band-dark p, .band-dark .prose p, .band-dark .prose-list{color:rgba(231,239,233,.82)}
.band-dark .eyebrow{color:#8fe6c8}

.guide-hero{background:var(--paper-2); padding:clamp(48px,7vw,92px) 0 clamp(30px,4vw,46px)}
.guide-hero h1{font-size:clamp(34px,5.5vw,60px); max-width:19ch; margin-top:14px}
.guide-hero .lead{font-size:clamp(19px,2.4vw,23px); color:var(--ink-2); max-width:62ch; margin-top:20px}
.guide-meta{margin-top:20px; color:var(--ink-3); font-weight:600; font-size:14px; letter-spacing:.02em}

.callout{max-width:840px; margin:0 auto; text-align:center}
.callout-label{display:inline-block; font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8fe6c8; margin-bottom:14px}
.callout p{font-family:var(--disp); font-weight:600; font-size:clamp(23px,3.3vw,33px); line-height:1.26; letter-spacing:-.01em; margin:0}
.callout-light{background:var(--paper-2); border-radius:var(--r-lg); padding:clamp(28px,4vw,44px); text-align:left}
.callout-light .callout-label{color:var(--green-700)}
.callout-light p{color:var(--ink)}

.defbox{background:var(--sand); border-radius:var(--r-lg); padding:clamp(26px,3.4vw,34px); max-width:860px; margin:0 auto}
.defbox .callout-label{display:block; color:var(--green-700); margin-bottom:8px}
.defbox p{font-size:19px; color:var(--ink); margin:0; line-height:1.55}

.cmp-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:16px}
.cmp-col{background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(22px,3vw,30px)}
.cmp-col h3{font-size:20px; margin-bottom:16px}
.cmp-col ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px}
.cmp-col li{display:flex; gap:12px; align-items:flex-start; color:var(--ink-2); font-size:15.5px}
.cmp-ic{width:22px; height:22px; flex:none; margin-top:1px; stroke-width:2.2}
.cmp-no .cmp-ic{stroke:#b3261e}
.cmp-yes{border-color:rgba(15,107,87,.35); background:#f4faf7}
.cmp-yes .cmp-ic{stroke:var(--green)}
.band-dark .cmp-col{background:rgba(9,39,31,.5); border-color:var(--line-dark)}
.band-dark .cmp-col li{color:rgba(231,239,233,.85)}
.band-dark .cmp-yes{background:rgba(15,107,87,.22)}

.table-wrap{overflow-x:auto; margin-top:16px; border:1px solid var(--line); border-radius:var(--r-lg)}
.data-table{width:100%; border-collapse:collapse; font-size:15px; min-width:560px}
.data-table th{text-align:left; font-weight:700; font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3); padding:14px 18px; border-bottom:1px solid var(--line); background:var(--paper-2)}
.data-table td{padding:14px 18px; border-bottom:1px solid var(--line); color:var(--ink-2); vertical-align:top}
.data-table tr:last-child td{border-bottom:none}
.data-table .td-lead{font-weight:700; color:var(--ink); font-family:var(--disp)}
.band-dark .table-wrap{border-color:var(--line-dark)}
.band-dark .data-table th{background:rgba(9,39,31,.55); color:rgba(231,239,233,.72); border-color:var(--line-dark)}
.band-dark .data-table td{color:rgba(231,239,233,.85); border-color:var(--line-dark)}
.band-dark .data-table .td-lead{color:#fdfbf6}

.bigsteps{margin-top:12px}
.bigstep{display:grid; grid-template-columns:auto 1fr; gap:clamp(18px,3vw,32px); padding:clamp(26px,3.4vw,36px) 0; border-top:1px solid var(--line)}
.bigstep:first-child{border-top:none}
.bigstep-n{font-family:var(--disp); font-weight:800; font-size:clamp(34px,5vw,54px); color:var(--green); line-height:1}
.bigstep-body h3{font-size:clamp(21px,3vw,27px)}
.bigstep-body p{margin-top:12px; color:var(--ink-2); max-width:64ch}
.bigstep-take{margin-top:14px !important; font-weight:700; color:var(--green-deep) !important}
.band-dark .bigstep{border-color:var(--line-dark)}
.band-dark .bigstep-n{color:#8fe6c8}
.band-dark .bigstep-take{color:#fdfbf6 !important}

.crsl{border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); background:var(--card); margin-top:16px}
.band-dark .crsl{border-color:var(--line-dark); background:rgba(9,39,31,.4)}
.crsl-stage{position:relative; aspect-ratio:16 / 9; background:var(--paper-2)}
.band-dark .crsl-stage{background:#0c332a}
.crsl-slide{position:absolute; inset:0; opacity:0; transition:opacity .5s ease}
.crsl-slide.on{opacity:1}
.crsl-slide svg{width:100%; height:100%; display:block}
.crsl-arrow{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:none; background:rgba(255,255,255,.92); color:var(--green-deep); display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 6px 18px rgba(11,52,43,.25)}
.crsl-arrow svg{width:22px; height:22px}
.crsl-prev{left:14px} .crsl-next{right:14px}
.crsl-caption{margin:0; padding:18px 20px; font-weight:600; font-size:16px; color:var(--ink); text-align:center; transition:opacity .2s ease, transform .2s ease}
.band-dark .crsl-caption{color:#eafaf4}
.crsl-caption.crsl-fade{opacity:0; transform:translateY(6px)}
.crsl-dots{display:flex; gap:8px; justify-content:center; padding:0 0 18px}
.crsl-dot{width:9px; height:9px; border-radius:50%; border:none; background:var(--line); cursor:pointer; padding:0}
.crsl-dot.on{background:var(--green)}
.band-dark .crsl-dot{background:rgba(255,255,255,.28)}
.band-dark .crsl-dot.on{background:#8fe6c8}
@media (max-width:760px){
  .cmp-grid{grid-template-columns:1fr}
  .bigstep{grid-template-columns:1fr; gap:6px}
}
@media (prefers-reduced-motion: reduce){
  .crsl-slide, .crsl-caption{transition:none}
}

/* ---- faq ---- */
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none; cursor:pointer; padding:22px 40px 22px 0; position:relative;
  font-family:var(--disp); font-weight:700; font-size:20px; color:var(--green-deep)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-plus{position:absolute; right:4px; top:26px; width:16px; height:16px}
.faq-plus::before,.faq-plus::after{content:""; position:absolute; background:var(--green); border-radius:2px;
  transition:transform .2s ease}
.faq-plus::before{left:0; top:7px; width:16px; height:2px}
.faq-plus::after{left:7px; top:0; width:2px; height:16px}
.faq-item[open] .faq-plus::after{transform:rotate(90deg); opacity:0}
.faq-item p{padding:0 40px 24px 0; color:var(--ink-2); margin:0}

/* ---- video ---- */
.video{background:var(--green-deep); color:#f4efe4}
.video-card{background:rgba(9,39,31,.5); border:1px solid var(--line-dark)}
.video-card h3{color:#fdfbf6; font-size:19px}
.video-card p{color:rgba(244,239,228,.78); font-size:15px}
.video-embed{position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden; background:#0c332a}
.video-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.video-soon{align-items:flex-start}
.video-soon .play-btn{background:rgba(255,255,255,.92); color:var(--green-deep)}

/* ---- cta band ---- */
.cta-band{background:linear-gradient(135deg,var(--green),var(--green-deep)); color:#f4efe4; text-align:center;
  padding:clamp(56px,8vw,88px) 0}
.cta-band h2{font-size:clamp(30px,4.4vw,46px); font-weight:800; color:#fdfbf6; max-width:18ch; margin:0 auto}
.cta-band p{margin:16px auto 0; max-width:54ch; color:rgba(244,239,228,.86); font-size:19px}
.cta-band .cta-row{justify-content:center}

/* ---- contact ---- */
.contact-card address{font-style:normal; color:var(--ink-2); line-height:1.7}
.contact-card p{color:var(--ink-2)}

/* ---- footer ---- */
.site-footer{background:#0b241d; color:rgba(244,239,228,.72); padding:56px 0 30px}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:36px}
.footer-logo{height:34px; width:auto; filter:brightness(0) invert(1); opacity:.92; margin-bottom:12px}
.site-footer h4{color:#eafaf4; font-size:15px; letter-spacing:.03em; margin:0 0 14px}
.site-footer ul{list-style:none; padding:0; display:flex; flex-direction:column; gap:9px}
.site-footer a{color:rgba(244,239,228,.74); font-size:15px}
.site-footer a:hover{color:#fff}
.muted{color:rgba(244,239,228,.55); font-size:14px; line-height:1.6}
.footer-grid .muted{color:rgba(244,239,228,.6)}
.footer-bottom{margin-top:40px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1)}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr; gap:28px; min-height:0; padding-top:44px}
  .hero-media{justify-self:stretch; max-width:none}
  .fit-card{grid-template-columns:1fr}
  .fund-grid{grid-template-columns:1fr; gap:32px}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px}
  .footer-grid{grid-template-columns:1fr 1fr; gap:30px}
}
@media (max-width:760px){
  body{font-size:17px}
  .site-nav{gap:0}
  .site-nav a:not(.btn){display:none}
  .site-nav .nav-item{display:none}
  .grid-3,.steps{grid-template-columns:1fr}
  .grid-2,.lead-card{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .lead-card{padding:26px}
  .facts{grid-template-columns:1fr}
}
@media (max-width:520px){
  .grid-4{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .cta-row .btn{width:100%; justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important}
  .btn:hover,.hero-media:hover,a.card-link-wrap:hover{transform:none}
}
