:root {
  --ink: #0a1726;
  --ink-soft: #42536a;
  --navy: #071523;
  --navy-2: #0e263c;
  --surface: #ffffff;
  --surface-2: #f4f7fa;
  --line: #dce4eb;
  --accent: #ff6b35;
  --accent-dark: #df4f1d;
  --mint: #40d3b2;
  --radius: 20px;
  --shadow: 0 20px 60px rgba(3, 18, 31, .12);
  --container: min(1180px, calc(100% - 40px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--surface); font: 16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color: inherit; }
img, svg { max-width: 100%; }
.container { width: var(--container); margin-inline: auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; z-index: 9999; left: 16px; top: 16px; transform: translateY(-140%); padding: 10px 14px; background: #fff; color: #000; border-radius: 8px; }
.skip-link:focus { transform: none; }
.site-header { position: sticky; z-index: 50; top: 0; background: rgba(7,21,35,.94); color: #fff; backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08); }
.header-row { min-height: 78px; display:flex; align-items:center; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; line-height:1.05; min-width:max-content; }
.brand strong { display:block; font-size:17px; letter-spacing:-.02em; }
.brand small { display:block; margin-top:4px; opacity:.68; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; }
.brand-mark svg path:first-child { fill: var(--accent); stroke:none; }
.brand-mark svg path:last-child { fill:none; stroke:#fff; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.primary-nav { margin-left:auto; display:flex; align-items:center; gap:4px; }
.nav-item { position:relative; }
.nav-item > a { display:block; padding:12px 11px; color:#e8eef5; text-decoration:none; font-weight:650; font-size:14px; border-radius:10px; }
.nav-item > a:hover, .nav-item > a:focus-visible { background:rgba(255,255,255,.08); }
.dropdown { position:absolute; top:calc(100% + 8px); left:0; min-width:220px; padding:10px; background:#fff; color:var(--ink); border-radius:14px; box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease; }
.dropdown a { display:block; padding:9px 10px; text-decoration:none; border-radius:8px; font-size:14px; }
.dropdown a:hover { background:var(--surface-2); }
.has-children:hover .dropdown, .has-children:focus-within .dropdown { opacity:1; visibility:visible; transform:none; }
.header-cta { text-decoration:none; padding:11px 16px; border-radius:999px; background:var(--accent); color:#fff; font-weight:800; font-size:14px; }
.menu-toggle { display:none; margin-left:auto; width:44px; height:44px; border:0; border-radius:12px; background:rgba(255,255,255,.08); }
.menu-toggle span:not(.sr-only) { display:block; width:20px; height:2px; background:#fff; margin:4px auto; }
.hero { overflow:hidden; position:relative; background:linear-gradient(135deg,#071523 0%,#102b43 58%,#12324d 100%); color:#fff; }
.hero::before { content:""; position:absolute; inset:auto -10% -50% 35%; height:540px; background:radial-gradient(circle,rgba(64,211,178,.2),transparent 62%); }
.hero-grid { min-height:590px; display:grid; grid-template-columns:1.08fr .92fr; gap:40px; align-items:center; padding-block:78px; }
.eyebrow { margin:0 0 12px; color:var(--accent); font-size:12px; line-height:1.2; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.hero h1, .simple-hero h1 { max-width:760px; margin:0; font-size:clamp(42px,6vw,76px); line-height:.99; letter-spacing:-.055em; }
.hero-lead { max-width:680px; margin:24px 0 0; color:#c7d5e3; font-size:20px; line-height:1.6; }
.hero-actions { display:flex; align-items:center; gap:22px; margin-top:32px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 18px; border:1px solid transparent; border-radius:12px; font:inherit; font-weight:850; cursor:pointer; text-decoration:none; }
.button-primary { background:var(--accent); color:#fff; box-shadow:0 12px 30px rgba(255,107,53,.22); }
.button-primary:hover { background:var(--accent-dark); }
.button-secondary { background:#fff; color:var(--ink); border-color:var(--line); }
.text-link { color:#fff; font-weight:800; text-decoration:none; }
.trust-row { display:flex; flex-wrap:wrap; gap:22px; margin-top:30px; color:#d9e5ef; font-size:14px; }
.trust-row span::first-letter { color:var(--mint); }
.hero-visual { position:relative; min-height:410px; display:grid; place-items:center; }
.security-orbit { position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.orbit-one { width:390px; height:390px; }
.orbit-two { width:280px; height:280px; border-style:dashed; animation:spin 28s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.shield-card { width:250px; min-height:300px; position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px; border:1px solid rgba(255,255,255,.15); border-radius:28px; background:rgba(255,255,255,.08); box-shadow:0 30px 80px rgba(0,0,0,.3); backdrop-filter:blur(16px); }
.shield-card svg { width:115px; }
.shield-card svg path:first-child { fill:rgba(255,107,53,.14); stroke:var(--accent); stroke-width:4; }
.shield-card svg path:last-child { fill:none; stroke:#fff; stroke-width:7; stroke-linecap:round; stroke-linejoin:round; }
.shield-card strong { margin-top:18px; font-size:20px; }
.shield-card span { margin-top:5px; color:#a9bdd0; font-size:13px; }
.status-pill { position:absolute; z-index:3; padding:10px 14px; border-radius:999px; background:#fff; color:var(--ink); box-shadow:var(--shadow); font-size:13px; font-weight:850; }
.status-a { top:18%; right:2%; }
.status-b { bottom:18%; left:2%; }
.quote-section { padding:82px 0; background:var(--surface-2); }
.quote-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
.quote-grid h2, .content-shell h2 { margin:0 0 14px; font-size:clamp(30px,4vw,48px); line-height:1.08; letter-spacing:-.04em; }
.check-list { margin:24px 0 0; padding:0; list-style:none; display:grid; gap:12px; }
.check-list li { padding-left:28px; position:relative; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--mint); font-weight:900; }
.quote-form { padding:28px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.quote-form fieldset { margin:0 0 22px; padding:0; border:0; }
.quote-form legend { margin-bottom:10px; font-weight:850; }
.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.choice-grid.two { grid-template-columns:repeat(4,1fr); }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice span { display:block; padding:11px 10px; text-align:center; border:1px solid var(--line); border-radius:10px; cursor:pointer; font-size:14px; font-weight:750; }
.choice input:checked + span { border-color:var(--accent); background:#fff4ef; color:#a9330d; box-shadow:0 0 0 2px rgba(255,107,53,.1); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field-grid label, .quote-form label { font-weight:750; font-size:14px; }
.field-grid input, .field-grid textarea { width:100%; margin-top:6px; padding:12px 13px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:inherit; }
.field-grid input:focus, .field-grid textarea:focus { outline:3px solid rgba(255,107,53,.15); border-color:var(--accent); }
.field-grid .full { grid-column:1/-1; }
.full-button { width:100%; }
.form-hint { margin:10px 0 0; color:var(--ink-soft); font-size:12px; }
.honeypot { position:absolute!important; left:-9999px!important; }
.form-alert { margin-bottom:18px; padding:12px 14px; border-radius:10px; font-weight:700; }
.form-alert.success { background:#eaf8f2; color:#12694f; }
.form-alert.error { background:#fff0ee; color:#9c2e18; }
.page-content { padding:90px 0 100px; }
.content-shell { max-width:900px; margin:0 auto; }
.content-shell h2 { margin-top:42px; }
.content-shell h3 { margin-top:30px; font-size:24px; line-height:1.25; }
.content-shell p, .content-shell li { color:#33485d; }
.content-shell table { width:100%; border-collapse:collapse; margin:26px 0; }
.content-shell th, .content-shell td { padding:12px; border:1px solid var(--line); text-align:left; }
.content-shell figure { margin:28px 0; }
.content-shell img { border-radius:16px; }
.migration-note { padding:34px; border:1px dashed #aebdca; border-radius:var(--radius); background:#fbfcfd; }
.migration-note code { padding:2px 6px; border-radius:5px; background:#edf2f6; }
.small { font-size:13px; }
.sitemap-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.sitemap-grid a { padding:12px 14px; border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.simple-hero { padding:110px 0; background:var(--navy); color:#fff; }
.site-footer { padding:70px 0 28px; background:#07131f; color:#c4d0dc; }
.footer-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr 1fr; gap:34px; }
.site-footer a { display:block; margin:9px 0; color:#c4d0dc; text-decoration:none; }
.site-footer a:hover { color:#fff; }
.brand-footer { color:#fff; margin-bottom:20px; }
.footer-heading { margin:0 0 18px; color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.12em; }
.footer-button { border:0; padding:0; background:none; color:#c4d0dc; font:inherit; cursor:pointer; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:48px; padding-top:22px; border-top:1px solid rgba(255,255,255,.09); font-size:12px; }
.cookie-banner { position:fixed; z-index:100; inset:0; display:grid; place-items:end center; padding:20px; background:rgba(5,15,25,.48); }
.cookie-banner[hidden] { display:none; }
.cookie-card { width:min(980px,100%); padding:22px; display:grid; grid-template-columns:1.3fr 1fr; gap:18px 26px; background:#fff; border-radius:20px; box-shadow:0 30px 100px rgba(0,0,0,.3); }
.cookie-main h2 { margin:0 0 8px; font-size:25px; }
.cookie-main p { margin:0 0 8px; color:var(--ink-soft); line-height:1.5; }
.cookie-options { display:grid; gap:8px; align-content:center; }
.cookie-options label { display:flex; align-items:center; gap:8px; font-weight:800; }
.cookie-options small { margin-left:auto; color:var(--ink-soft); font-weight:500; }
.cookie-actions { grid-column:1/-1; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
@media (max-width: 980px) {
  .header-cta { display:none; }
  .menu-toggle { display:block; }
  .primary-nav { display:none; position:absolute; left:20px; right:20px; top:70px; padding:12px; border-radius:14px; background:#fff; color:var(--ink); box-shadow:var(--shadow); }
  .primary-nav.is-open { display:block; }
  .nav-item > a { color:var(--ink); }
  .dropdown { position:static; display:none; opacity:1; visibility:visible; transform:none; box-shadow:none; padding:0 0 8px 14px; }
  .has-children:hover .dropdown, .has-children:focus-within .dropdown { display:block; }
  .hero-grid, .quote-grid { grid-template-columns:1fr; }
  .hero-visual { min-height:330px; }
  .quote-grid { gap:30px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 650px) {
  :root { --container: min(100% - 28px, 1180px); }
  .hero-grid { min-height:auto; padding-block:56px; }
  .hero h1 { font-size:44px; }
  .hero-lead { font-size:17px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-visual { min-height:290px; transform:scale(.9); }
  .choice-grid, .choice-grid.two, .field-grid, .sitemap-grid { grid-template-columns:1fr 1fr; }
  .field-grid .full { grid-column:1/-1; }
  .quote-form { padding:20px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .cookie-card { grid-template-columns:1fr; }
  .cookie-actions { grid-column:auto; justify-content:stretch; }
  .cookie-actions .button { flex:1 1 100%; }
}
.thank-you-card { padding:40px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.thank-you-card h2 { margin-top:0; }
.thank-you-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
