/* Luca Defense — design system v2 (refined type + palette) */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;450;500;600;700&display=swap');

:root{
  /* ink / ground */
  --navy:#0b1a2e; --navy-2:#081321; --navy-mid:#122942; --navy-soft:#1c3852;
  --paper:#f5f7fb; --paper-2:#eaeff6; --card:#ffffff;
  --ink:#0c1a2c;            /* headings on light */
  --ink-body:#33425c;       /* body text on light — high contrast */
  --ink-soft:#5a6b86;       /* secondary on light */
  --ink-faint:#8493ab;      /* tertiary */
  /* accents — teal-deep for text/links on light; bright teal only on dark */
  --teal:#2dd4bf; --teal-deep:#0c8577; --blue:#3b82f6; --blue-deep:#2563eb; --violet:#8b5cf6;
  --green:#10b981; --amber:#f59e0b; --red:#e5484d;
  /* on-dark text */
  --on-dark:#eaf1fb; --on-dark-soft:#aebbd2; --on-dark-faint:#8194b0;
  --line:#d7dfea; --line-2:#e6ecf4; --line-dark:rgba(255,255,255,.14); --line-dark-2:rgba(255,255,255,.08);
  --display:'Space Grotesk',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --shadow:0 24px 60px -34px rgba(11,26,46,.42);
  --shadow-sm:0 2px 10px -4px rgba(11,26,46,.14);
  --maxw:1120px; --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink-body);font-family:var(--body);font-size:16px;line-height:1.65;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--teal-deep);text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);letter-spacing:-.02em;line-height:1.12;margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-deep)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;font-size:15px;border-radius:11px;padding:12px 22px;border:1px solid transparent;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--teal-deep),var(--blue-deep));color:#fff;box-shadow:0 12px 26px -12px rgba(37,99,235,.5)}
.btn-primary:hover{box-shadow:0 16px 34px -12px rgba(37,99,235,.6)}
.btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28);color:var(--on-dark)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-ghost.dark{background:#fff;border-color:var(--line);color:var(--ink)}
.btn-ghost.dark:hover{border-color:var(--teal-deep);color:var(--teal-deep)}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:rgba(9,19,33,.88);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line-dark-2)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:11px;color:#fff}
.brand img{width:32px;height:32px}
.brand b{font-family:var(--display);font-size:18px;font-weight:700;color:#fff;letter-spacing:-.01em}
.brand small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-faint);margin-top:2px}
nav.links{display:flex;align-items:center;gap:24px}
nav.links a.pg{color:var(--on-dark-soft);font-size:14px;font-weight:450;white-space:nowrap;transition:color .18s}
nav.links a.pg:hover,nav.links a.pg.active{color:#fff}
.langsel{background:rgba(255,255,255,.07);color:var(--on-dark);border:1px solid var(--line-dark-2);border-radius:9px;padding:7px 10px;font-size:13px;font-family:var(--body);cursor:pointer}
.langsel option{background:var(--navy);color:var(--on-dark)}
@media(max-width:880px){nav.links a.pg{display:none}}

/* HERO */
.hero{background:radial-gradient(1100px 560px at 74% -12%,rgba(45,212,191,.16),transparent 58%),radial-gradient(820px 460px at 6% 4%,rgba(59,130,246,.15),transparent 54%),linear-gradient(180deg,var(--navy),var(--navy-2));color:var(--on-dark);border-bottom:1px solid var(--line-dark-2)}
.hero .wrap{display:grid;grid-template-columns:1.06fr .94fr;gap:46px;align-items:center;padding:88px 24px 96px}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:30px;padding:58px 24px 66px}}
.hero h1{font-size:clamp(34px,5vw,58px);font-weight:700;margin:18px 0 0;color:#fff;max-width:18ch}
.hero h1 .grad{background:linear-gradient(120deg,#dff6f1,var(--teal) 55%,#9fd0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(16px,1.9vw,20px);color:var(--on-dark-soft);max-width:56ch;margin:22px 0 30px;line-height:1.6}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero .mini{margin-top:26px;font-size:13.5px;color:var(--on-dark-faint);max-width:54ch;line-height:1.6}
.hero .mini code{background:rgba(255,255,255,.08);padding:2px 7px;border-radius:6px;font-family:var(--mono);font-size:12px;color:#bfe6df}
.hero-art{display:flex;justify-content:center}

/* SECTIONS */
section{padding:82px 0}
section h2{font-size:clamp(26px,3.2vw,38px);font-weight:700;margin:12px 0 16px}
section .sub{color:var(--ink-soft);font-size:18px;max-width:64ch;margin:0;line-height:1.6}
.band{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:var(--on-dark)}
.band h2{color:#fff}.band .sub{color:var(--on-dark-soft)}.band .eyebrow{color:var(--teal)}
.page-head{background:radial-gradient(900px 460px at 80% -20%,rgba(45,212,191,.14),transparent 60%),linear-gradient(180deg,var(--navy),var(--navy-2));color:var(--on-dark);padding:72px 0 60px;border-bottom:1px solid var(--line-dark-2)}
.page-head h1{font-size:clamp(30px,4vw,46px);font-weight:700;color:#fff;margin:14px 0 12px}
.page-head p{color:var(--on-dark-soft);font-size:18px;max-width:62ch;margin:0;line-height:1.6}

/* STATS */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}
@media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:rgba(255,255,255,.045);border:1px solid var(--line-dark-2);border-radius:var(--radius);padding:24px}
.stat .n{font-family:var(--display);font-size:34px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.stat .n .u{font-size:15px;color:var(--teal);font-weight:600}
.stat .l{color:var(--on-dark-soft);font-size:13.5px;margin-top:8px;line-height:1.5}

/* ZONES */
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
@media(max-width:820px){.zones{grid-template-columns:1fr}}
.zone{border-radius:var(--radius);padding:28px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.zone::before{content:"";position:absolute;inset:0 0 auto 0;height:4px}
.zone.admin::before{background:linear-gradient(90deg,var(--red),#f97316)}
.zone.fabric::before{background:linear-gradient(90deg,var(--amber),#eab308)}
.zone.green::before{background:linear-gradient(90deg,var(--green),var(--teal))}
.zone .tier{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.zone h3{font-size:23px;font-weight:700;margin:8px 0 10px}
.zone p{color:var(--ink-soft);font-size:14.5px;margin:0 0 16px}
.zone ul{margin:0;padding:0;list-style:none}
.zone li{font-size:14px;color:var(--ink-body);padding:6px 0 6px 24px;position:relative}
.zone li::before{content:"";position:absolute;left:0;top:12px;width:7px;height:7px;border-radius:50%;background:var(--teal-deep)}
.zone.admin li::before{background:var(--red)}.zone.fabric li::before{background:var(--amber)}

/* FLOW */
.flow{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;margin-top:30px}
@media(max-width:900px){.flow{grid-template-columns:1fr}}
.flow ol{counter-reset:s;list-style:none;padding:0;margin:20px 0 0}
.flow li{counter-increment:s;position:relative;padding:16px 0 16px 56px;border-top:1px solid var(--line-dark-2)}
.flow li::before{content:counter(s);position:absolute;left:0;top:14px;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--teal-deep),var(--blue-deep));color:#fff;font-family:var(--display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}
.flow li b{color:#fff;font-weight:600}.flow li span{color:var(--on-dark-soft);font-size:14.5px;line-height:1.55}
.codecard{background:#071320;border:1px solid var(--line-dark-2);border-radius:var(--radius);padding:22px;font-family:var(--mono);font-size:13px;line-height:1.75;color:#c7d8ec;box-shadow:var(--shadow)}
.codecard .cm{color:#6a809d}.codecard .ok{color:#5eead4}.codecard .no{color:#f4a3a6}.codecard .kw{color:#93bcff}

/* PILLARS */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
@media(max-width:820px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}
.pillar .ic{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(12,133,119,.12),rgba(37,99,235,.12));display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pillar h3{margin:0 0 8px;font-size:19px;font-weight:700}
.pillar p{margin:0;color:var(--ink-soft);font-size:14.5px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}

/* PRICING */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
@media(max-width:820px){.tiers{grid-template-columns:1fr}}
.tier-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.tier-card.feat{border:1.5px solid var(--teal-deep);box-shadow:var(--shadow);position:relative}
.tier-card.feat .ribbon{position:absolute;top:-11px;left:28px;background:linear-gradient(135deg,var(--teal-deep),var(--blue-deep));color:#fff;font-family:var(--mono);font-size:10.5px;font-weight:600;padding:4px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.08em}
.tier-card h3{margin:0 0 4px;font-size:21px;font-weight:700}
.tier-card .price{font-family:var(--display);font-size:26px;font-weight:700;color:var(--ink);margin:12px 0 2px}
.tier-card .price small{font-family:var(--body);font-size:13px;color:var(--ink-faint);font-weight:500}
.tier-card ul{list-style:none;padding:0;margin:18px 0 24px}
.tier-card li{font-size:14px;padding:7px 0 7px 26px;position:relative;color:var(--ink-body)}
.tier-card li::before{content:"";position:absolute;left:2px;top:12px;width:12px;height:7px;border-left:2px solid var(--teal-deep);border-bottom:2px solid var(--teal-deep);transform:rotate(-45deg)}
.tier-card .btn{margin-top:auto;justify-content:center}

.trust{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.chip{background:rgba(255,255,255,.06);border:1px solid var(--line-dark-2);border-radius:999px;padding:9px 16px;font-size:13.5px;color:var(--on-dark-soft)}
.chip b{color:var(--teal)}
.cta{background:radial-gradient(700px 300px at 20% 0%,rgba(45,212,191,.16),transparent),linear-gradient(135deg,#0c6b60,var(--blue-deep));color:#fff;border-radius:22px;padding:56px;text-align:center;margin:64px auto 0}
.cta h2{color:#fff;margin:0 0 12px}.cta p{color:#dcecff;max-width:52ch;margin:0 auto 26px}

footer{background:var(--navy-2);color:var(--on-dark-faint);font-size:13.5px;padding:48px 0;border-top:1px solid var(--line-dark-2)}
footer .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:26px}
@media(max-width:820px){footer .wrap{grid-template-columns:1fr}}
footer .brand b{font-size:17px}
footer h4{font-family:var(--mono);color:var(--on-dark-soft);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
footer a{color:var(--on-dark-faint);display:block;padding:3px 0;transition:color .15s}
footer a:hover{color:var(--on-dark)}
footer .cr{grid-column:1/-1;border-top:1px solid var(--line-dark-2);padding-top:18px;margin-top:10px;color:#5d7290}
