/* ============================================================
   SOTA Promotions — redesign design system
   Inspired by amp.framer / laundryloftnyc / sdipresence:
   light-weight type, moderate rounding, photography-led,
   graduated card stack, pill stat chips, calm blue palette.
   ============================================================ */

:root{
  --ink:#0d1530;          /* near-navy body/headings text */
  --ink-soft:#38415f;     /* secondary text */
  --muted:#5f6880;        /* grey copy */
  --faint:#8b93a7;        /* captions */
  --navy:#0f1a3d;         /* dark cards */
  --navy-2:#152451;
  --blue:#2563eb;         /* SOTA royal blue */
  --blue-2:#3b74f5;
  --blue-ink:#1b4fd1;
  --sky:#e9f0fe;          /* pale blue tint */
  --sky-2:#dbe6fd;
  --paper:#ffffff;
  --mist:#f6f8fc;         /* alt page bg */
  --line:#e6eaf3;         /* hairline borders */
  --line-2:#d9deec;

  --r-lg:22px;
  --r:18px;
  --r-sm:12px;
  --r-xs:10px;
  --pill:999px;

  --shadow-sm:0 1px 2px rgba(15,26,61,.04), 0 2px 8px rgba(15,26,61,.04);
  --shadow:0 6px 24px rgba(15,26,61,.07);
  --shadow-lg:0 24px 60px rgba(15,26,61,.12);

  --wrap:1180px;
  --gap:clamp(64px,8vw,120px);

  --font:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-weight:400;
  letter-spacing:-0.006em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--blue);color:#fff}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}
section{position:relative}
.band{padding:var(--gap) 0}
.band-mist{background:var(--mist)}
.band-sky{background:linear-gradient(180deg,#f2f6fe,#eaf1fe)}

/* ---------- type ---------- */
.eyebrow{
  font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--blue);display:inline-flex;align-items:center;gap:.6em;
}
.eyebrow.muted{color:var(--faint)}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.5}
h1,h2,h3{font-weight:350;letter-spacing:-0.025em;line-height:1.06;color:var(--ink)}
.h-hero{font-size:clamp(2.5rem,5.2vw,4rem);font-weight:340}
.h-sec{font-size:clamp(1.85rem,3.4vw,2.75rem);font-weight:350}
.h-card{font-size:1.16rem;font-weight:500;letter-spacing:-0.01em;line-height:1.25}
.lead{font-size:clamp(1.02rem,1.3vw,1.16rem);color:var(--muted);font-weight:400;max-width:42ch}
.sub{color:var(--muted);font-size:1rem;max-width:56ch}
.hl{color:var(--blue)}
.hl-pill{
  display:inline-block;background:var(--blue);color:#fff;
  padding:.02em .42em;border-radius:14px;font-weight:400;
  transform:rotate(-1.2deg);
}
.sec-head{max-width:56ch}
.sec-head .h-sec{margin:16px 0 0}
.sec-head .sub{margin-top:18px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-size:.95rem;font-weight:500;letter-spacing:-.01em;
  padding:.82em 1.35em;border-radius:var(--pill);
  border:1px solid transparent;cursor:pointer;
  transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease),color .2s;
  white-space:nowrap;
}
.btn svg{width:16px;height:16px}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:#000;transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-ink);transform:translateY(-2px);box-shadow:0 10px 26px rgba(37,99,235,.28)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn .arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}

/* circular icon button (card stack) */
.icb{
  width:38px;height:38px;border-radius:var(--pill);
  border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;
  background:transparent;transition:.25s var(--ease);
}
.icb svg{width:16px;height:16px}
.card-on-dark .icb{border-color:rgba(255,255,255,.28)}

/* ---------- nav ---------- */
header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
header.nav.scrolled{border-color:var(--line);box-shadow:0 1px 0 rgba(15,26,61,.03)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{display:flex;align-items:baseline;gap:.05em;font-weight:600;font-size:1.32rem;letter-spacing:-.03em}
.logo .dot{color:var(--blue)}
.logo .sub{font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-left:.5em}
.nav-links{display:flex;align-items:center;gap:34px}
.nav-links a.link{font-size:.94rem;font-weight:450;color:var(--ink-soft);transition:color .2s}
.nav-links a.link:hover{color:var(--blue)}
.nav-cta{display:flex;align-items:center;gap:14px}
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.hamb span{width:22px;height:1.6px;background:var(--ink);border-radius:2px;transition:.3s}

/* ---------- hero (split) ---------- */
.hero{padding:clamp(40px,5vw,64px) 0 clamp(56px,6vw,88px)}
.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.hero-copy{max-width:560px}
.hero-copy .eyebrow{margin-bottom:22px}
.hero-copy h1{margin-bottom:24px}
.hero-copy .lead{margin-bottom:34px;max-width:46ch}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-meta{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.hero-meta .m{display:flex;flex-direction:column;gap:2px}
.hero-meta .m b{font-size:1.5rem;font-weight:400;letter-spacing:-.02em;color:var(--ink)}
.hero-meta .m span{font-size:.82rem;color:var(--faint)}

.hero-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/4.4;box-shadow:var(--shadow-lg)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,30,.05),rgba(10,14,30,.42))}
.photo-badge{
  position:absolute;left:18px;bottom:18px;z-index:2;
  display:inline-flex;align-items:center;gap:.55em;
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);
  padding:.55em .95em;border-radius:var(--pill);
  font-size:.82rem;font-weight:500;color:var(--ink);box-shadow:var(--shadow)
}
.photo-badge .dotmark{width:8px;height:8px;border-radius:50%;background:var(--blue)}

/* ---------- trust strip ---------- */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}
.trust-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.trust .award{display:inline-flex;align-items:center;gap:.6em;font-size:.9rem;color:var(--ink-soft);font-weight:450}
.trust .award svg{width:18px;height:18px;color:var(--blue)}
.trust-stats{display:flex;gap:38px;flex-wrap:wrap}
.trust-stats .s{display:flex;flex-direction:column}
.trust-stats .s b{font-size:1.2rem;font-weight:500;letter-spacing:-.02em}
.trust-stats .s span{font-size:.76rem;color:var(--faint)}

/* ---------- graduated card stack ---------- */
.stack-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(32px,5vw,72px);align-items:start}
.stack-head{position:sticky;top:110px}
.stack{display:flex;flex-direction:column;gap:16px}
.scard{
  position:relative;border-radius:var(--r);padding:30px 30px 26px;
  border:1px solid var(--line);background:#fff;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.scard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.scard .num{position:absolute;top:26px;right:28px;font-size:.82rem;font-weight:500;color:var(--faint)}
.scard .ic{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;background:var(--sky);color:var(--blue)}
.scard .ic svg{width:22px;height:22px}
.scard .h-card{margin-bottom:9px}
.scard p{color:var(--muted);font-size:.96rem;max-width:44ch;margin-bottom:22px}
.scard.sky{background:var(--sky);border-color:transparent}
.scard.sky .ic{background:#fff}
.scard.navy,.scard.blue{border-color:transparent;color:#fff}
.scard.navy{background:linear-gradient(160deg,var(--navy),var(--navy-2))}
.scard.blue{background:linear-gradient(160deg,var(--blue),var(--blue-ink))}
.card-on-dark .num{color:rgba(255,255,255,.6)}
.card-on-dark .ic{background:rgba(255,255,255,.14);color:#fff}
.card-on-dark p{color:rgba(255,255,255,.8)}
.card-on-dark .h-card{color:#fff}
.card-on-dark .icb:hover{background:rgba(255,255,255,.16)}
.scard .icb:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- split feature (product screens) ---------- */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,68px);align-items:center}
.feature.rev .f-media{order:-1}
.f-copy .eyebrow{margin-bottom:18px}
.f-copy .h-sec{margin-bottom:16px}
.f-list{margin-top:26px;display:flex;flex-direction:column;gap:16px}
.f-list .fi{display:flex;gap:13px;align-items:flex-start}
.f-list .fi .tick{width:22px;height:22px;border-radius:50%;background:var(--sky);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.f-list .fi .tick svg{width:13px;height:13px}
.f-list .fi b{font-weight:500;display:block;margin-bottom:1px;font-size:.98rem}
.f-list .fi span{color:var(--muted);font-size:.92rem}
.f-media{position:relative}
.shot{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}
.shot img{width:100%}

/* browser mock frame */
.browser{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff}
.browser .bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--mist)}
.browser .bar i{width:9px;height:9px;border-radius:50%;background:#d6dbe8;display:inline-block}
.browser .bar .url{margin-left:10px;font-size:.72rem;color:var(--faint);background:#fff;border:1px solid var(--line);border-radius:7px;padding:3px 10px}
.browser .body{padding:0}
.browser .body img{width:100%;display:block}

/* ---------- pill stat chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;max-width:900px;margin:44px auto 0}
.chip{
  display:inline-flex;align-items:center;gap:.7em;
  border:1px solid var(--line-2);border-radius:var(--pill);
  padding:.7em 1.25em;background:#fff;transition:.25s var(--ease)
}
.chip:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.chip b{font-size:1.7rem;font-weight:350;letter-spacing:-.03em;color:var(--ink);line-height:1}
.chip.b1 b{color:var(--blue)}
.chip.b2 b{color:var(--navy)}
.chip span{font-size:.82rem;color:var(--muted);max-width:14ch;line-height:1.2}

/* ---------- steps (live in days) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.step{border-top:1px solid var(--line);padding-top:20px}
.step .d{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.step h3{font-size:1.05rem;font-weight:500;margin-bottom:7px}
.step p{color:var(--muted);font-size:.9rem}

/* ---------- proof band (navy gradient) ---------- */
.proof{position:relative;overflow:hidden;border-radius:var(--r-lg);color:#fff;padding:clamp(40px,5vw,64px);background:linear-gradient(150deg,#0f1a3d 0%,#15265a 55%,#1e3a8a 100%)}
.proof::after{content:"";position:absolute;right:-10%;top:-30%;width:60%;height:160%;background:radial-gradient(closest-side,rgba(59,116,245,.5),transparent);pointer-events:none}
.proof-grid{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.proof .eyebrow{color:#9fc0ff}
.proof .h-sec{color:#fff;margin:16px 0 18px}
.proof p{color:rgba(255,255,255,.82);max-width:46ch;margin-bottom:26px}
.proof-stats{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.proof-stats .p b{font-size:2.1rem;font-weight:300;letter-spacing:-.03em;display:block;color:#fff}
.proof-stats .p span{font-size:.84rem;color:rgba(255,255,255,.66)}

/* ---------- FAQ ---------- */
.faq{max-width:800px;margin:44px auto 0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;font-size:1.08rem;font-weight:450;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:22px;font-size:1.4rem;font-weight:300;color:var(--blue);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 44px 26px 0;color:var(--muted);font-size:.98rem}

/* ---------- final CTA ---------- */
.cta{text-align:center;max-width:640px;margin:0 auto}
.cta .h-sec{margin:16px 0 22px}
.cta .sub{margin:0 auto 30px}

/* ---------- footer ---------- */
footer{background:var(--navy);color:#fff;padding:72px 0 34px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.foot-brand .logo{color:#fff}
.foot-brand .logo .sub{color:rgba(255,255,255,.5)}
.foot-brand p{color:rgba(255,255,255,.6);font-size:.9rem;margin-top:16px;max-width:34ch}
.foot-col h4{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:600;margin-bottom:16px}
.foot-col a{display:block;color:rgba(255,255,255,.78);font-size:.92rem;margin-bottom:11px;transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-bot{display:flex;justify-content:space-between;align-items:center;margin-top:54px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.82rem;flex-wrap:wrap;gap:10px}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.06s}.rv.d2{transition-delay:.12s}.rv.d3{transition-delay:.18s}.rv.d4{transition-delay:.24s}

/* ---------- responsive ---------- */
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-photo{aspect-ratio:16/12;order:-1}
  .stack-grid{grid-template-columns:1fr;gap:28px}
  .stack-head{position:static}
  .feature{grid-template-columns:1fr;gap:30px}
  .feature.rev .f-media{order:0}
  .proof-grid{grid-template-columns:1fr;gap:30px}
  .steps{grid-template-columns:1fr 1fr;gap:22px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .nav-links{display:none}
  .hamb{display:flex}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .trust-stats{gap:22px}
  .steps{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .proof-stats{grid-template-columns:1fr}
  .hero-meta{gap:20px}
}

/* ============================================================
   PORTED v1 COMPONENTS — real dashboards, admin console, MCA
   case study. Compat tokens so the original component CSS runs
   unchanged inside the new (Hanken/light) design system.
   ============================================================ */
:root{
  --primary:#2563EB; --primary-dark:#1D4ED8; --indigo:#6366F1; --violet:#8B5CF6;
  --green-text:#16A34A; --gold:#D4A93C; --gold-deep:#8A6A1A;
  --gold-metal: linear-gradient(105deg, #7A5A14 0%, #B8902F 16%, #E8C766 32%, #FBF3C4 47%, #EFD87E 58%, #C49B33 76%, #8A6A1A 100%);
  --text:#0d1530; --text-secondary:#475569; --text-muted:#94A3B8;
  --border:rgba(15,23,42,0.07);
  --shadow-sm:0 1px 3px rgba(15,23,42,0.05), 0 1px 2px rgba(15,23,42,0.03);
  --shadow-md:0 6px 24px rgba(15,23,42,0.07), 0 2px 6px rgba(15,23,42,0.04);
  --slab:#0f1a3d; --grad:linear-gradient(135deg,#2563EB 0%,#1D4ED8 100%);
  --cv-ink:#13222E; --cv-sea:#175E73; --cv-coral:#E8604C; --cv-sand:#F6EFE4;
}
/* ============ COVE HOUSE MOCKUP ============ */
.stage { position: relative; }
.stage-glow { display: none; }
.browser { position: relative; z-index: 1; background: #F7F9FE; border-radius: 20px; box-shadow: 0 34px 80px rgba(15,23,42,0.16), 0 0 0 1px rgba(15,23,42,0.05); overflow: hidden; }
.browser-top { display: flex; align-items: center; gap: 12px; padding: 11px 16px; border-bottom: 1px solid rgba(15,23,42,0.06); background: #fff; }
.b-dots { display: flex; gap: 6px; }
.b-dots i { width: 9px; height: 9px; border-radius: 50%; }
.b-dots i:nth-child(1) { background: #FCA5A5; } .b-dots i:nth-child(2) { background: #FCD34D; } .b-dots i:nth-child(3) { background: #86EFAC; }
.b-url { flex: 1; max-width: 290px; margin: 0 auto; background: #F1F5F9; border-radius: 8px; font-size: 11px; font-weight: 600; color: var(--text-muted); padding: 5px 14px; text-align: center; }
.dash { padding: 14px; display: flex; flex-direction: column; gap: 10px; background: linear-gradient(178deg, #FBF9F4 0%, var(--cv-sand) 100%); }
.dash-appbar { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px; }
.dash-brand { display: flex; align-items: center; gap: 8px; }
.dash-brand-mark { width: 28px; height: 28px; border-radius: 9px; background: var(--cv-ink); display: flex; align-items: center; justify-content: center; }
.dash-brand b { font-size: 13px; font-weight: 800; letter-spacing: -0.3px; color: var(--cv-ink); }
.dash-tabs { display: flex; gap: 4px; background: rgba(19,34,46,0.06); border-radius: 99px; padding: 3px; }
.dash-tabs span { font-size: 10px; font-weight: 700; color: var(--text-secondary); padding: 5px 11px; border-radius: 99px; }
.dash-tabs span.on { background: #fff; color: var(--cv-sea); box-shadow: 0 1px 4px rgba(15,23,42,0.1); }
.avatar { width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, var(--cv-sea), var(--cv-coral)); color: #fff; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px rgba(23,94,115,0.35); }

.cove-cover { position: relative; height: 88px; border-radius: 12px; overflow: hidden; background: linear-gradient(90deg, rgba(11,25,34,0.88) 0%, rgba(11,25,34,0.44) 55%, rgba(11,25,34,0.08) 100%), url('img/prize-bali.webp') center 58% / cover no-repeat; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; }
.cove-cover small { display: block; font-size: 9.5px; font-weight: 700; letter-spacing: 1.8px; color: rgba(255,255,255,0.78); text-transform: uppercase; margin-bottom: 2px; }
.cove-cover h4 { color: #fff; font-size: 16px; font-weight: 800; letter-spacing: -0.4px; }
.member-chip { font-size: 8.5px; font-weight: 800; letter-spacing: 1.4px; color: #3D2E07; padding: 6px 12px; border-radius: 99px; background: var(--gold-metal); }

.dash-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 10px; }
.dcard { background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 14px; box-shadow: var(--shadow-sm); }
.dcard h5 { font-size: 9.5px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; color: var(--text-muted); }

.promo-hero { position: relative; border: none; overflow: hidden; color: #fff; min-height: 198px; display: flex; flex-direction: column; justify-content: flex-end; padding: 14px; background: linear-gradient(168deg, rgba(13,24,56,0.1) 0%, rgba(11,18,40,0.4) 46%, rgba(9,14,32,0.84) 100%), url('img/prize-paris.webp') center 35% / cover no-repeat; }
.ph-top { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; align-items: center; }
.featured-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 8.5px; font-weight: 800; letter-spacing: 1.4px; padding: 5px 10px; border-radius: 99px; background: rgba(8,12,28,0.55); border: 1px solid rgba(255,255,255,0.25); backdrop-filter: blur(8px); }
.x2-pill { font-size: 8.5px; font-weight: 800; letter-spacing: .8px; padding: 5px 10px; border-radius: 99px; background: linear-gradient(110deg, #C2410C, #E8604C); box-shadow: 0 4px 14px rgba(232,96,76,0.45); }
.promo-hero h4 { font-size: 16px; font-weight: 800; letter-spacing: -0.4px; line-height: 1.25; text-shadow: 0 1px 14px rgba(0,0,0,0.4); margin-bottom: 10px; }
.countdown { display: flex; gap: 6px; align-items: center; margin-bottom: 10px; }
.cd-unit { background: rgba(8,12,28,0.55); border: 1px solid rgba(255,255,255,0.22); backdrop-filter: blur(8px); border-radius: 8px; padding: 5px 0; width: 40px; text-align: center; }
.cd-unit b { display: block; font-size: 14px; font-weight: 900; line-height: 1; }
.cd-unit small { display: block; font-size: 7px; font-weight: 700; letter-spacing: 1px; opacity: .75; margin-top: 2px; }
.cd-sep { font-weight: 900; opacity: .6; margin-top: -8px; }
.ph-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.entries-pill { display: inline-flex; align-items: center; gap: 7px; background: rgba(8,12,28,0.55); border: 1px solid rgba(255,255,255,0.28); backdrop-filter: blur(8px); border-radius: 10px; padding: 7px 12px; font-size: 11px; font-weight: 700; }
.entries-pill b { font-size: 14px; font-weight: 900; }
.entries-pill b.tick { animation: entryPop .5s cubic-bezier(.16,1,.3,1); }
@keyframes entryPop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }
.ph-btn { font-size: 10.5px; font-weight: 800; padding: 8px 14px; border-radius: 9px; background: #fff; color: var(--cv-ink); box-shadow: 0 4px 16px rgba(0,0,0,0.3); }

.side-stack { display: flex; flex-direction: column; gap: 10px; }
.offers-card { padding: 12px 14px; flex: 1; display: flex; flex-direction: column; }
.offers-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.offer-rows { display: flex; flex-direction: column; gap: 6px; }
.offer { display: flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 700; color: var(--text-secondary); background: #F8F6F1; border-radius: 9px; padding: 8px 10px; }
.offer .of-ico { width: 18px; height: 18px; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: rgba(23,94,115,0.12); }
.offer.hot { border: 1px dashed rgba(232,96,76,0.5); background: rgba(232,96,76,0.07); }
.offer.hot .of-ico { background: rgba(232,96,76,0.16); }
.offer small { margin-left: auto; font-size: 8.5px; font-weight: 800; color: var(--cv-sea); letter-spacing: .4px; white-space: nowrap; }
.offer.hot small { color: #C2410C; }
.win-card { padding: 12px 14px; background: linear-gradient(150deg, #FFF8E1, #FDEFC4); border: 1.5px solid rgba(196,155,51,0.55); box-shadow: inset 0 0 18px rgba(232,199,102,0.35); }
.win-card .wc-head { display: flex; align-items: center; gap: 8px; }
.win-card .wc-ico { width: 30px; height: 30px; border-radius: 9px; background: var(--gold-metal); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.win-card b { display: block; font-size: 12px; font-weight: 900; color: #6B5210; letter-spacing: -0.2px; }
.win-card small { display: block; font-size: 9px; font-weight: 700; color: #A8842B; }

.dash-foot { display: flex; gap: 8px; }
.mini-stat { flex: 1; background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 11px; padding: 9px 12px; display: flex; align-items: center; gap: 9px; }
.mini-ico { width: 24px; height: 24px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mini-stat b { display: block; font-size: 11px; font-weight: 800; line-height: 1.2; }
.mini-stat small { display: block; font-size: 8.5px; font-weight: 600; color: var(--text-muted); }

.sat, .sat-live, .sat-capture { display: none !important; }
.sat-live { right: -26px; top: -24px; gap: 10px; align-items: center; }
.sat-live .sl-ico { width: 38px; height: 38px; border-radius: 11px; background: linear-gradient(135deg, #16A34A, #4ADE80); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(22,163,74,0.4); }
.sat-live b { display: block; font-size: 12.5px; font-weight: 900; letter-spacing: -0.2px; }
.sat-live small { display: block; font-size: 10px; font-weight: 600; color: var(--text-secondary); }
.sat-capture { left: -30px; bottom: -20px; display: flex; gap: 9px; align-items: center; animation: bob 7.5s ease-in-out infinite reverse; }
.sat-capture .sc-ico { width: 26px; height: 26px; border-radius: 8px; background: linear-gradient(135deg, rgba(37,99,235,0.14), rgba(139,92,246,0.26)); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sat-capture b { display: block; font-size: 11.5px; font-weight: 800; }
.sat-capture small { display: block; font-size: 9.5px; font-weight: 600; color: var(--text-muted); }
@keyframes bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.admin-stage { position: relative; }
.admin-glow { display: none; }
.admin { position: relative; z-index: 1; background: #F7F9FE; border-radius: 18px; box-shadow: 0 30px 70px rgba(15,23,42,0.14), 0 0 0 1px rgba(15,23,42,0.05); overflow: hidden; }
.admin-chrome { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: #fff; border-bottom: 1px solid rgba(15,23,42,0.06); }
.ac-left { display: flex; align-items: center; gap: 10px; }
.ac-left .dash-brand-mark { width: 26px; height: 26px; }
.ac-left b { font-size: 12.5px; font-weight: 800; letter-spacing: -0.2px; }
.ac-left .ac-sep { width: 1px; height: 16px; background: rgba(15,23,42,0.12); }
.ac-left span { font-size: 11.5px; font-weight: 700; color: var(--text-secondary); }
.live-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 9px; font-weight: 800; letter-spacing: 1.2px; color: #15803D; background: rgba(22,163,74,0.09); border-radius: 99px; padding: 5px 10px; }
.live-chip i { font-style: normal; width: 7px; height: 7px; border-radius: 50%; background: #22C55E; }
.admin-body { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.adm-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.adm-rev { grid-column: 1 / -1; background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 12px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.adm-rev b { font-size: 27px; font-weight: 900; letter-spacing: -1.1px; color: var(--text); line-height: 1.1; }
.adm-rev span { display: block; font-size: 9px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 2px; }
.adm-rev em { font-style: normal; font-size: 10px; font-weight: 800; color: var(--green-text); background: rgba(22,163,74,0.09); border-radius: 8px; padding: 5px 10px; }
.adm-stat { background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 12px; padding: 12px 14px; }
.adm-stat b { display: block; font-size: 20px; font-weight: 900; letter-spacing: -0.7px; color: var(--text); }
.adm-stat span { display: block; font-size: 9px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--text-muted); margin-top: 2px; }
.adm-stat em { font-style: normal; display: inline-block; font-size: 9px; font-weight: 800; color: var(--green-text); background: rgba(22,163,74,0.09); border-radius: 6px; padding: 2px 6px; margin-top: 5px; }
.adm-table { background: #fff; border: 1px solid rgba(15,23,42,0.06); border-radius: 12px; overflow: hidden; }
.adm-row { display: grid; grid-template-columns: 1.4fr .7fr .8fr; align-items: center; gap: 10px; padding: 9px 14px; border-bottom: 1px solid rgba(15,23,42,0.05); }
.adm-row:last-child { border-bottom: none; }
.adm-row.head { background: #F8FAFD; padding: 8px 14px; }
.adm-row.head span { font-size: 8.5px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted); }
.adm-cust { display: flex; align-items: center; gap: 9px; }
.adm-av { width: 24px; height: 24px; border-radius: 50%; color: #fff; font-size: 9.5px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.adm-cust b { font-size: 11.5px; font-weight: 700; letter-spacing: -0.1px; }
.adm-cust small { display: block; font-size: 9px; font-weight: 600; color: var(--text-muted); }
.adm-entries { font-size: 11.5px; font-weight: 800; color: var(--text); }
.adm-entries small { font-weight: 600; color: var(--text-muted); font-size: 9px; }
.adm-tag { justify-self: start; font-size: 8.5px; font-weight: 800; letter-spacing: .6px; padding: 4px 9px; border-radius: 99px; }
.adm-tag.ret { color: var(--primary); background: rgba(37,99,235,0.08); }
.adm-tag.new { color: #15803D; background: rgba(22,163,74,0.09); }
.adm-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.adm-btns { display: flex; gap: 8px; }
.adm-btn { font-size: 10.5px; font-weight: 800; padding: 8px 14px; border-radius: 9px; }
.adm-btn.dark { background: var(--ink); color: #fff; }
.adm-btn.lite { border: 1px solid rgba(15,23,42,0.14); color: var(--text); background: #fff; }
.adm-note { font-size: 10px; font-weight: 700; color: var(--text-muted); display: inline-flex; align-items: center; gap: 6px; }
.admin-caption { text-align: center; margin-top: 18px; font-size: 12.5px; color: var(--text-muted); font-weight: 600; }
.proof-sec { padding: 60px 0 40px; }
.proof-card { position: relative; border-radius: 24px; overflow: hidden; padding: 56px 52px; color: #fff; background: var(--slab); box-shadow: var(--shadow-md); }
.proof-card .pc-inner { position: relative; z-index: 1; }
.proof-card .eyebrow { color: #93C5FD; }
.proof-card .eyebrow::before { background: #93C5FD; }
.proof-card h2 { font-size: 32px; font-weight: 900; letter-spacing: -1.2px; line-height: 1.16; margin-bottom: 14px; text-wrap: balance; max-width: 560px; color: #fff; }
.cs-intro { font-size: 16px; color: rgba(255,255,255,0.82); line-height: 1.7; max-width: 480px; }
.cs-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px 20px; margin-top: 34px; max-width: 460px; }
.cs-stat b { display: block; font-size: 36px; font-weight: 900; letter-spacing: -1.4px; color: #fff; }
.cs-stat span { display: block; font-size: 12.5px; color: rgba(255,255,255,0.7); margin-top: 4px; line-height: 1.45; }
.cs-split { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 42px; align-items: center; }
.cs-how { display: grid; gap: 11px; margin: 24px 0 4px; }
.cs-h-item { display: flex; gap: 12px; align-items: flex-start; }
.cs-h-item .mp-tick { flex-shrink: 0; width: 22px; height: 22px; border-radius: 7px; background: var(--grad); display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.cs-h-item p { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,0.82); }
.cs-h-item p b { color: #fff; font-weight: 800; }
.cs-photo { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(15,23,42,0.5); aspect-ratio: 3/4; }
.cs-photo img, .cs-photo video { width: 100%; height: 100%; object-fit: cover; display: block; }
.cs-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(21,16,60,0.55)); }
.cs-photo .cs-cap { position: absolute; left: 18px; bottom: 16px; z-index: 1; font-size: 12px; font-weight: 700; color: #fff; letter-spacing: 0.2px; text-shadow: 0 1px 8px rgba(0,0,0,0.4); }

/* --- harmonise ported components with the new look --- */
.browser,.admin{ border-radius:18px; box-shadow:var(--shadow-lg); }
.proof-card{ border-radius:22px; background:linear-gradient(150deg,#0f1a3d 0%,#15265a 55%,#1e3a8a 100%); }
.proof-card h2{ font-weight:400; letter-spacing:-.6px; }
.cs-stat b{ font-weight:400; }
.dash-brand b,.promo-hero h4,.cove-cover h4,.adm-rev b,.adm-stat b{ letter-spacing:-.3px; }

/* --- logo: original blue wordmark --- */
.logo{ color:var(--blue); font-weight:800; letter-spacing:-.03em; }
.logo .dot{ color:var(--blue); }
.logo .sub{ color:var(--faint); font-weight:600; }

/* --- problem cards: red (leaks) with a green "it works" opener --- */
.scard.ok .ic{ background:#e6f6ec; color:#16A34A; }
.scard.ok .num{ color:#16A34A; opacity:.55; }
.scard.rd1{ background:#FDECEC; border-color:transparent; }
.scard.rd1 .ic{ background:#fff; color:#DC2626; }
.scard.rd1 .num{ color:rgba(220,38,38,.55); }
.scard.rd1 p{ color:#9a4a4a; }
.scard.rd2{ background:linear-gradient(160deg,#E7473C,#C81E1E); border-color:transparent; }
.scard.rd3{ background:linear-gradient(160deg,#a51616,#7c0f0f); border-color:transparent; }
.scard.rd2.card-on-dark .ic,.scard.rd3.card-on-dark .ic{ background:rgba(255,255,255,.16); color:#fff; }

/* --- hero: live dashboard mockup instead of a photo --- */
.hero-stage{ position:relative; }
.hero-stage .browser{ box-shadow:var(--shadow-lg); }
.hero-stage .photo-badge{ position:absolute; left:16px; bottom:-14px; z-index:3; }
@media(max-width:920px){ .hero-stage{ order:-1; max-width:560px; } }

/* ============================================================
   SUB-PAGE COMPONENTS (Problem / Product / Pricing / Compliance)
   ============================================================ */
.page-hero{ padding:clamp(56px,7vw,104px) 0 clamp(28px,4vw,52px); }
.page-hero .eyebrow{ margin-bottom:20px; }
.page-hero h1{ max-width:16ch; }
.page-hero .sub{ margin-top:20px; max-width:60ch; }
.page-hero .hero-ctas{ margin-top:32px; }

/* 3-up cards */
.trio{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.tcard{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px 28px; box-shadow:var(--shadow-sm); transition:transform .3s var(--ease),box-shadow .3s var(--ease); }
.tcard:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.tcard .ic{ width:46px;height:46px;border-radius:12px;background:var(--sky);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px; }
.tcard .ic svg{ width:22px;height:22px; }
.tcard h3{ font-size:1.14rem;font-weight:500;letter-spacing:-.01em;margin-bottom:9px; }
.tcard p{ color:var(--muted);font-size:.95rem;line-height:1.6; }
.tcard .cat{ font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;display:block; }

/* pricing: two fee cards */
.fee2{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
.feecard{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:34px 34px 30px; box-shadow:var(--shadow-sm); }
.feecard .lbl{ font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px; }
.feecard .pdesc{ color:var(--muted); font-size:.95rem; margin-bottom:22px; min-height:44px; }
.ptbl{ width:100%; border-collapse:collapse; }
.ptbl th{ text-align:left; font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); padding:0 0 12px; border-bottom:1px solid var(--line); }
.ptbl th:last-child,.ptbl td:last-child{ text-align:right; }
.ptbl th:nth-child(2),.ptbl td:nth-child(2){ text-align:center; }
.ptbl td{ padding:14px 0; border-bottom:1px solid var(--line); font-size:.96rem; }
.ptbl tr:last-child td{ border-bottom:none; }
.ptbl .nm{ font-weight:500; }
.ptbl .amt{ font-weight:600; }

/* optional services rows */
.svc{ background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-top:44px; box-shadow:var(--shadow-sm); }
.svc-row{ display:grid; grid-template-columns:1.05fr 2fr .8fr; gap:26px; padding:22px 30px; align-items:center; }
.svc-row+.svc-row{ border-top:1px solid var(--line); }
.svc-row .snm{ font-weight:500; }
.svc-row .sd{ color:var(--muted); font-size:.92rem; }
.svc-row .sp{ text-align:right; font-weight:600; white-space:nowrap; }
.svc-row .sp small{ display:block; font-weight:400; color:var(--faint); font-size:.78rem; margin-top:2px; }

/* annual panel */
.annual{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:22px; padding:46px 48px; margin-top:44px; box-shadow:var(--shadow-sm); }
.annual .apr{ font-size:2.2rem; font-weight:300; letter-spacing:-.03em; margin:10px 0 4px; }
.annual ul{ list-style:none; display:grid; gap:14px; }
.annual li{ position:relative; padding-left:30px; font-size:.98rem; color:var(--ink-soft); }
.annual li::before{ content:""; position:absolute; left:0; top:3px; width:19px; height:19px; border-radius:6px; background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.3l2.2 2.2L9.5 3.5' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat; }

/* permit / compliance table */
.perm{ width:100%; border-collapse:collapse; margin-top:44px; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm); }
.perm th{ text-align:left; font-size:.68rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); padding:16px 24px; background:var(--mist); }
.perm td{ padding:16px 24px; border-top:1px solid var(--line); font-size:.95rem; }
.perm .st{ font-weight:500; }
.perm .yes{ color:var(--blue); font-weight:500; }
.perm .no{ color:var(--faint); }

@media(max-width:920px){
  .trio{ grid-template-columns:1fr; }
  .fee2{ grid-template-columns:1fr; }
  .annual{ grid-template-columns:1fr; gap:28px; padding:34px 28px; }
  .svc-row{ grid-template-columns:1fr; gap:6px; }
  .svc-row .sp{ text-align:left; }
  .perm{ display:block; overflow-x:auto; }
}

.nav-links a.active{color:var(--blue)}

/* --- ALA award logo in the trust strip --- */
.trust .award{ gap:.7em; }
.trust .award .ala-logo{ height:21px; width:auto; display:block; }
.trust .award .award-txt{ font-size:.88rem; color:var(--ink-soft); font-weight:450; }

/* --- phone mockup (entrant view) --- */
.phone-wrap{ display:flex; justify-content:center; }
.phone{ width:312px; height:600px; background:#0a0f1c; border-radius:54px; padding:13px; box-shadow:var(--shadow-lg), inset 0 0 0 2px rgba(255,255,255,.05); position:relative; }
.phone .promo-hero{ min-height:170px; }
.phone-screen{ position:relative; height:100%; border-radius:46px; overflow:hidden; background:linear-gradient(178deg,#FBF9F4,var(--cv-sand)); display:flex; flex-direction:column; }
.ph-tabbar{ margin-top:auto; display:flex; justify-content:space-around; align-items:center; padding:11px 0 24px; border-top:1px solid rgba(19,34,46,.08); background:rgba(255,255,255,.55); }
.ph-tab{ display:flex; flex-direction:column; align-items:center; gap:3px; font-size:8.5px; font-weight:600; letter-spacing:.2px; color:var(--text-muted); }
.ph-tab.on{ color:var(--cv-sea); }
.ph-tab svg{ width:19px; height:19px; }
.phone-island{ position:absolute; top:15px; left:50%; transform:translateX(-50%); width:98px; height:30px; border-radius:16px; background:#05070d; z-index:6; }
.phone-status{ position:absolute; top:19px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; padding:0 27px; z-index:5; font-size:12px; font-weight:600; color:var(--cv-ink); }
.phone-status .bat{ display:inline-flex; align-items:center; gap:6px; }
.phone-status .bat i{ display:inline-block; width:20px; height:11px; border:1.4px solid var(--cv-ink); border-radius:3px; position:relative; opacity:.9; }
.phone-status .bat i::after{ content:""; position:absolute; top:1.5px; bottom:1.5px; left:1.5px; width:66%; background:var(--cv-ink); border-radius:1px; }
.phone-home{ position:absolute; bottom:9px; left:50%; transform:translateX(-50%); width:120px; height:5px; border-radius:5px; background:rgba(19,34,46,.3); z-index:6; }
.ph-head{ display:flex; align-items:center; justify-content:space-between; padding:52px 16px 12px; }
.ph-head .dash-brand b{ font-size:13px; }
.ph-scroll{ padding:0 12px 16px; display:flex; flex-direction:column; gap:10px; }
.ph-entries{ background:#fff; border:1px solid rgba(15,23,42,.06); border-radius:14px; padding:12px 14px; box-shadow:var(--shadow-sm); }
.ph-entries h5{ font-size:9.5px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; color:var(--text-muted); margin-bottom:9px; }
.ph-result{ display:flex; align-items:center; gap:9px; background:linear-gradient(150deg,#FFF8E1,#FDEFC4); border:1.5px solid rgba(196,155,51,.55); border-radius:14px; padding:11px 14px; }
.ph-result .wc-ico{ width:30px;height:30px;border-radius:9px;background:var(--gold-metal);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.ph-result b{ display:block;font-size:12px;font-weight:800;color:#6B5210; }
.ph-result small{ display:block;font-size:9px;font-weight:700;color:#A8842B; }

/* --- nav: Enterprise dropdown --- */
.nav-drop{ position:relative; display:inline-flex; }
.nav-drop-btn{ display:inline-flex; align-items:center; gap:.34em; font-family:inherit; font-size:.94rem; font-weight:450; color:var(--ink-soft); background:none; border:0; cursor:pointer; padding:0; }
.nav-drop-btn svg{ width:12px; height:12px; transition:transform .25s var(--ease); }
.nav-drop:hover .nav-drop-btn{ color:var(--blue); }
.nav-drop:hover .nav-drop-btn svg{ transform:rotate(180deg); }
.nav-drop-panel{ position:absolute; top:100%; left:50%; width:330px; padding-top:16px; transform:translateX(-50%) translateY(6px); opacity:0; visibility:hidden; transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s; }
.nav-drop:hover .nav-drop-panel{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.ndp-card{ background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-lg); padding:8px; }
.ndp-item{ display:block; padding:16px; border-radius:11px; transition:background .2s; }
.ndp-item:hover{ background:var(--mist); }
.ndp-item .et{ font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--blue); }
.ndp-item b{ display:block; font-size:.98rem; font-weight:600; color:var(--ink); margin:6px 0 5px; }
.ndp-item span{ display:block; font-size:.86rem; color:var(--muted); line-height:1.5; }

/* --- contact page --- */
.contact-grid{ display:grid; grid-template-columns:.82fr 1.18fr; gap:56px; align-items:start; margin-top:8px; }
.cinfo .ci{ margin-bottom:28px; }
.cinfo .ci .lbl{ font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); margin-bottom:7px; }
.cinfo .ci a,.cinfo .ci p{ font-size:1.05rem; color:var(--ink); }
.cinfo .ci a:hover{ color:var(--blue); }
.cform{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:36px; box-shadow:var(--shadow-sm); }
.cform label{ display:block; font-size:.82rem; font-weight:500; margin:18px 0 7px; color:var(--ink-soft); }
.cform label:first-of-type{ margin-top:0; }
.cform input,.cform textarea,.cform select{ width:100%; padding:12px 14px; border:1px solid var(--line-2); border-radius:10px; font-family:inherit; font-size:.95rem; color:var(--ink); background:#fff; transition:border-color .2s; }
.cform input:focus,.cform textarea:focus,.cform select:focus{ outline:none; border-color:var(--blue); }
.cform textarea{ min-height:120px; resize:vertical; }
.cform .row2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cform .btn{ margin-top:24px; width:100%; justify-content:center; }
.cform .done{ text-align:center; padding:40px 10px; }
.cform .done .tickbig{ width:56px; height:56px; border-radius:50%; background:var(--sky); color:var(--blue); display:inline-flex; align-items:center; justify-content:center; margin-bottom:18px; }
.cform .done h3{ font-size:1.3rem; font-weight:500; margin-bottom:8px; }
.cform .done p{ color:var(--muted); }
@media(max-width:920px){ .contact-grid{ grid-template-columns:1fr; gap:34px; } .cform .row2{ grid-template-columns:1fr; } }
