﻿:root{
  --brand-950:#071023;
  --brand-900:#0b1a3a;
  --brand-800:#0f2552;
  --brand-700:#14316a;
  --brand-600:#1a3f86;
  --accent-600:#16b4c4;
  --accent-700:#119aa8;
  --surface:#ffffff;
  --surface-2:#f6f8fc;
  --text:#0b1220;
  --muted:#5b667a;
  --border:rgba(15, 37, 82, .12);
  --shadow-sm:0 6px 18px rgba(7, 16, 35, .08);
  --shadow-md:0 18px 45px rgba(7, 16, 35, .12);
  --page-bg:linear-gradient(180deg, #f9fbff 0%, #f6f8fc 55%, #ffffff 100%);
  --nav-bg:rgba(255,255,255,.86);
  --nav-border:var(--border);
  --nav-link:rgba(11,18,32,.76);
  --nav-link-hover:var(--text);
  --nav-link-active:var(--brand-700);
  --hero-badge-bg:rgba(11,26,58,.06);
  --hero-badge-text:rgba(11,18,32,.82);
  --hero-card-bg:rgba(255,255,255,.76);
  --card-bg:var(--surface);
  --logo-pill-text:rgba(11,18,32,.72);
  --footer-bg:#050b18;
  --footer-text:rgba(255,255,255,.86);
  --footer-muted:rgba(255,255,255,.65);
  --control-bg:var(--surface);
  --control-border:var(--border);
  --control-placeholder:rgba(11,18,32,.55);
  --theme-toggle-bg:rgba(11,26,58,.06);
  --theme-toggle-bg-hover:rgba(11,26,58,.10);
  --theme-toggle-fg:rgba(11,18,32,.78);
}

:root[data-theme="dark"]{
  --surface:#0b1220;
  --surface-2:#0f1a33;
  --text:#e7eefc;
  --muted:#a9b6cf;
  --border:rgba(231,238,252,.14);
  --shadow-sm:0 8px 22px rgba(0,0,0,.35);
  --shadow-md:0 22px 60px rgba(0,0,0,.45);
  --page-bg:radial-gradient(1100px 550px at 10% 0%, rgba(22,180,196,.10), transparent 55%),
            radial-gradient(1100px 550px at 90% 20%, rgba(26,63,134,.14), transparent 55%),
            linear-gradient(180deg, #050816 0%, #070c1a 55%, #050816 100%);
  --nav-bg:rgba(7, 12, 26, .78);
  --nav-border:rgba(231,238,252,.12);
  --nav-link:rgba(231,238,252,.76);
  --nav-link-hover:rgba(231,238,252,.95);
  --nav-link-active:rgba(231,238,252,.98);
  --hero-badge-bg:rgba(231,238,252,.08);
  --hero-badge-text:rgba(231,238,252,.86);
  --hero-card-bg:rgba(11,18,32,.72);
  --card-bg:rgba(11,18,32,.92);
  --logo-pill-text:rgba(231,238,252,.74);
  --footer-bg:#030611;
  --footer-text:rgba(231,238,252,.86);
  --footer-muted:rgba(231,238,252,.62);
  --control-bg:rgba(11,18,32,.92);
  --control-border:rgba(231,238,252,.16);
  --control-placeholder:rgba(231,238,252,.55);
  --theme-toggle-bg:rgba(231,238,252,.08);
  --theme-toggle-bg-hover:rgba(231,238,252,.12);
  --theme-toggle-fg:rgba(231,238,252,.86);
}

:root[data-theme="roma"]{
  --surface:#fff8f2;
  --surface-2:#f9efe6;
  --text:#2b1f1a;
  --muted:#6e5a52;
  --border:rgba(74, 44, 36, .14);
  --shadow-sm:0 8px 20px rgba(43,31,26,.10);
  --shadow-md:0 20px 50px rgba(43,31,26,.18);
  --page-bg:linear-gradient(180deg, #fff8f2 0%, #f6e9de 55%, #fdf5ee 100%);
  --nav-bg:rgba(255,248,242,.86);
  --nav-border:rgba(74,44,36,.12);
  --nav-link:rgba(43,31,26,.74);
  --nav-link-hover:#2b1f1a;
  --nav-link-active:#6f3b2c;
  --hero-badge-bg:rgba(111,59,44,.10);
  --hero-badge-text:#4a2c24;
  --hero-card-bg:rgba(255,248,242,.82);
  --card-bg:rgba(255,255,255,.90);
  --logo-pill-text:rgba(43,31,26,.70);
  --footer-bg:#2a1c18;
  --footer-text:rgba(255,244,238,.88);
  --footer-muted:rgba(255,244,238,.62);
  --control-bg:#fff8f2;
  --control-border:rgba(74,44,36,.18);
  --control-placeholder:rgba(43,31,26,.50);
  --theme-toggle-bg:rgba(111,59,44,.08);
  --theme-toggle-bg-hover:rgba(111,59,44,.14);
  --theme-toggle-fg:#4a2c24;
}

:root[data-theme="vintage"]{
  --surface:#f6f2e9;
  --surface-2:#eee7db;
  --text:#22303c;
  --muted:#5f6b73;
  --border:rgba(34,48,60,.14);
  --shadow-sm:0 8px 20px rgba(34,48,60,.10);
  --shadow-md:0 20px 50px rgba(34,48,60,.18);
  --page-bg:linear-gradient(180deg, #f6f2e9 0%, #efe7d9 55%, #fbf7ee 100%);
  --nav-bg:rgba(246,242,233,.86);
  --nav-border:rgba(34,48,60,.12);
  --nav-link:rgba(34,48,60,.74);
  --nav-link-hover:#22303c;
  --nav-link-active:#2a5d6f;
  --hero-badge-bg:rgba(42,93,111,.12);
  --hero-badge-text:#2a5d6f;
  --hero-card-bg:rgba(246,242,233,.86);
  --card-bg:rgba(255,255,255,.90);
  --logo-pill-text:rgba(34,48,60,.70);
  --footer-bg:#1c2730;
  --footer-text:rgba(245,243,235,.88);
  --footer-muted:rgba(245,243,235,.62);
  --control-bg:#f6f2e9;
  --control-border:rgba(34,48,60,.18);
  --control-placeholder:rgba(34,48,60,.50);
  --theme-toggle-bg:rgba(42,93,111,.10);
  --theme-toggle-bg-hover:rgba(42,93,111,.16);
  --theme-toggle-fg:#2a5d6f;
}

/* Base */
html{scroll-behavior:smooth}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--text);
  background:var(--page-bg);
}

a{color:inherit}
.text-muted{color:var(--muted)!important}

/* Layout */
.section{padding:72px 0}
@media (max-width: 575.98px){.section{padding:56px 0}}

.site-nav{
  background:var(--nav-bg);
  backdrop-filter: blur(14px);
  border-bottom:1px solid var(--nav-border);
}
.navbar-brand img{height:36px;width:auto}
.nav-link{font-weight:600;color:var(--nav-link)}
.nav-link:hover{color:var(--nav-link-hover)}
.nav-link.active{color:var(--nav-link-active)}

.theme-toggle{
  width:38px; height:38px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--theme-toggle-bg);
  color:var(--theme-toggle-fg);
}
.theme-toggle:hover{background:var(--theme-toggle-bg-hover); color:var(--theme-toggle-fg)}
.theme-toggle:focus-visible{box-shadow:0 0 0 .2rem rgba(22,180,196,.20)}

:root[data-theme="dark"] .navbar-toggler{border-color:rgba(231,238,252,.22)}
:root[data-theme="dark"] .navbar-toggler-icon{filter:invert(1) grayscale(1) brightness(1.8)}

.btn-primary{
  background:linear-gradient(135deg, var(--brand-700), var(--brand-600));
  border:none;
  box-shadow:0 10px 22px rgba(20, 49, 106, .18);
}
.btn-primary:hover{filter:brightness(1.02)}
.btn-outline-primary{border-color:rgba(20, 49, 106, .35); color:var(--brand-700)}
.btn-outline-primary:hover{background:rgba(20, 49, 106, .08); color:var(--brand-800); border-color:rgba(20, 49, 106, .35)}
.btn-accent{
  background:linear-gradient(135deg, var(--accent-600), #48d2df);
  border:none;
  color:#042126;
}
.btn-accent:hover{filter:brightness(0.98)}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  padding:96px 0 72px;
  background:
    radial-gradient(1100px 550px at 10% 0%, rgba(22,180,196,.14), transparent 55%),
    radial-gradient(1100px 550px at 90% 20%, rgba(26,63,134,.16), transparent 55%),
    linear-gradient(180deg, rgba(11,26,58,.04), rgba(11,26,58,0));
}
.hero:before{
  content:"";
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(to right, rgba(11,26,58,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(11,26,58,.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(520px 360px at 40% 25%, #000 35%, transparent 70%);
  pointer-events:none;
}
.hero h1{letter-spacing:-.02em}
.hero-badges .badge{
  background:var(--hero-badge-bg);
  color:var(--hero-badge-text);
  border:1px solid var(--border);
  font-weight:600;
}
.hero-card{
  background:var(--hero-card-bg);
  border:1px solid var(--border);
  box-shadow:var(--shadow-md);
  border-radius:16px;
}

/* Cards */
.card{
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  border-radius:16px;
  background:var(--card-bg);
  color:var(--text);
}
.card-hover{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card-hover:hover{
  transform: translateY(-4px);
  box-shadow:var(--shadow-md);
  border-color:rgba(20, 49, 106, .18);
}
.icon-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border-radius:14px;
  background:rgba(22,180,196,.12);
  border:1px solid rgba(22,180,196,.25);
  color:var(--brand-700);
}

/* Logo strip */
.logo-strip{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap:12px;
}
@media (max-width: 991.98px){.logo-strip{grid-template-columns: repeat(3, 1fr)}}
@media (max-width: 575.98px){.logo-strip{grid-template-columns: repeat(2, 1fr)}}
.logo-pill{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:999px;
  padding:10px 12px;
  text-align:center;
  font-weight:700;
  color:var(--logo-pill-text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* CTA band */
.cta-band{
  background:
    radial-gradient(900px 520px at 0% 0%, rgba(22,180,196,.18), transparent 55%),
    radial-gradient(900px 520px at 100% 0%, rgba(26,63,134,.20), transparent 55%),
    linear-gradient(135deg, rgba(11,26,58,.92), rgba(15,37,82,.92));
  color:#fff;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.cta-band .text-muted{color:rgba(255,255,255,.78)!important}

/* Footer */
footer{
  background:var(--footer-bg);
  color:var(--footer-text);
}
footer a{color:rgba(255,255,255,.86); text-decoration:none}
footer a:hover{color:#fff; text-decoration:underline}
.footer-small{color:var(--footer-muted)}

/* Forms */
.form-control,
.form-select,
.input-group-text{
  background-color:var(--control-bg);
  border-color:var(--control-border);
  color:var(--text);
}
.form-control::placeholder{color:var(--control-placeholder)}
.form-control:focus,
.form-select:focus{
  background-color:var(--control-bg);
  border-color:rgba(22,180,196,.45);
  box-shadow:0 0 0 .2rem rgba(22,180,196,.14);
  color:var(--text);
}
.form-check-input{
  background-color:var(--control-bg);
  border-color:var(--control-border);
}
.form-check-input:checked{
  background-color:var(--brand-700);
  border-color:var(--brand-700);
}

/* Subtle reveal */
.reveal{opacity:0; transform: translateY(10px); transition: opacity .45s ease, transform .45s ease}
.reveal.is-visible{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .card-hover, .reveal{transition:none}
  .reveal{opacity:1; transform:none}
}
