/* Shared look of the public audience and comparison pages. Tokens are the
   landing's Palette E values; tests/test_cookie_consent.py asserts they stay
   equal to static/css/app.css. */
:root{color-scheme:dark;--bg:#0A111B;--bg2:#101A27;--bg3:#162334;--bdr:#1F2E42;--bdr2:#2B3E57;--bdr-input:#5B7190;--t1:#EAF1F8;--t2:#A6B4C5;--t3:#8696AA;--accent:#38BDF8;--accent-rgb:56,189,248;--accent2:#7DD3FC;--btn-fill:#38BDF8;--on-accent:#04263A;--abg:rgba(56,189,248,0.12);--abdr:rgba(56,189,248,0.3);--ok:#4ADE80;--warn:#E0A33E;--err:#F07070;--shadow-xl:0 20px 60px rgba(0,0,0,.5);--btn-glow:0 0 14px rgba(56,189,248,.35);--nav-bg:rgba(10,17,27,.78);--halo:.22}
:root[data-theme="light"]{color-scheme:light;--bg:#F5F8FB;--bg2:#FFFFFF;--bg3:#EFF4F9;--bdr:#DAE3EC;--bdr2:#C6D2DF;--bdr-input:#768AA0;--t1:#0F1A26;--t2:#435467;--t3:#57677A;--accent:#0369A1;--accent-rgb:3,105,161;--accent2:#1565C0;--btn-fill:#0369A1;--on-accent:#ffffff;--abg:rgba(3,105,161,0.08);--abdr:rgba(3,105,161,0.2);--ok:#15803D;--warn:#95560F;--err:#BE3329;--shadow-xl:0 20px 60px rgba(0,0,0,.16);--btn-glow:none;--nav-bg:rgba(245,248,251,.84);--halo:.12}
:root{--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--font-display:'Outfit','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--r:14px}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--t1);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--font-display);color:var(--t1);line-height:1.15;letter-spacing:-.015em}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--btn-fill);color:var(--on-accent);padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section[id],main[id]{scroll-margin-top:84px}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:10px;font:600 15px/1.2 var(--font-body);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn-primary{background:var(--btn-fill);color:var(--on-accent);box-shadow:var(--btn-glow)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(var(--accent-rgb),.35)}
.btn-ghost{background:transparent;color:var(--t1);border-color:var(--bdr2)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-sm{padding:9px 16px;font-size:14px}
.btn svg{width:16px;height:16px}

/* Nav */
.nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--bdr)}
.nav-in{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--t1);font:600 21px/1 var(--font-display);letter-spacing:-.01em;margin-right:auto}
.brand img{width:34px;height:34px}
.brand .wm{font-size:17px;display:inline-block;height:.8em;aspect-ratio:6.18;overflow:hidden;white-space:nowrap;color:transparent;letter-spacing:0;margin-right:0;line-height:1;vertical-align:middle;background-color:#0284C7;-webkit-mask:url(/images/brand/aqvori-wordmark.svg?v=kit2) no-repeat center/contain;mask:url(/images/brand/aqvori-wordmark.svg?v=kit2) no-repeat center/contain}
[data-theme="light"] .brand .wm{background-color:#04263A}
:root:not([data-theme="light"]) img[src*="/images/aqvori-logo-mark.png"]{content:url(/images/aqvori-logo-mark-dark.png?v=kit2)}
.nav-links{display:flex;gap:26px}
.nav-links a{color:var(--t2);text-decoration:none;font-size:15px;font-weight:500}
.nav-links a:hover{color:var(--t1)}
.nav-actions{display:flex;align-items:center;gap:10px}
.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--bdr2);background:transparent;color:var(--t2);cursor:pointer}
.icon-btn:hover{color:var(--t1);border-color:var(--accent)}
.icon-btn svg{width:18px;height:18px}
.i-sun,[data-theme="light"] .i-moon{display:none}
[data-theme="light"] .i-sun{display:block}
.menu-btn{display:none}
.mnav{display:none;border-top:1px solid var(--bdr);padding:12px 0 18px}
.mnav a{display:block;padding:12px 4px;color:var(--t1);text-decoration:none;font-weight:500;border-bottom:1px solid var(--bdr)}
.mnav a:last-child{border-bottom:0}
.nav.open .mnav{display:block}
/* Sections */
.sec{padding:96px 0}
.sec-alt{background:var(--bg3);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr)}
.kicker{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.sec h2{font-size:clamp(30px,4vw,44px);font-weight:600;margin-bottom:16px}
.sec-head{max-width:760px;margin-bottom:56px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{font-size:18px;color:var(--t2)}
.ticks{list-style:none;display:grid;gap:10px}
.ticks li{position:relative;padding-left:28px;color:var(--t2);font-size:15.5px}
.ticks li::before{content:'';position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--abg);border:1px solid var(--abdr)}
.ticks li::after{content:'';position:absolute;left:5px;top:9px;width:6px;height:3px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
/* Cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{border:1px solid var(--bdr);border-radius:var(--r);padding:26px;background:var(--bg2);transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--abdr);transform:translateY(-2px)}
.card .ic{width:42px;height:42px;border-radius:11px;background:var(--abg);border:1px solid var(--abdr);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card .ic svg{width:21px;height:21px}
.card h3{font-size:18px;font-weight:600;margin-bottom:8px}
.card p{color:var(--t2);font-size:15px}
.card p a{font-weight:600}
/* Footer */
footer{border-top:1px solid var(--bdr);padding:48px 0 40px;color:var(--t3);font-size:14px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 1fr;gap:32px;margin-bottom:36px}
.f-grid h2{font:700 13px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--t2);margin-bottom:12px}
.f-grid ul{list-style:none;display:grid;gap:8px}
.f-grid a{color:var(--t3);text-decoration:none}
.f-grid a:hover{color:var(--t1)}
.f-brand p{margin-top:12px;max-width:300px}
.f-base a{color:var(--t3);text-decoration:none}
.f-base a:hover{color:var(--t1)}
.f-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid var(--bdr);padding-top:22px}
.page-hero{position:relative;padding:72px 0 28px;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:-20% -10% auto;height:560px;background:radial-gradient(ellipse 60% 55% at 40% 30%,rgba(var(--accent-rgb),var(--halo)),transparent 70%);pointer-events:none}
.page-hero .wrap{position:relative;z-index:1;max-width:900px}
.page-hero h1{font-size:clamp(34px,5vw,54px);font-weight:600;margin:18px 0 18px}
.page-hero .lead{font-size:clamp(17px,2vw,20px);color:var(--t2);margin-bottom:28px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--abg);border:1px solid var(--abdr);color:var(--accent);font-size:13px;font-weight:600}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.cta-row .btn{padding:14px 26px;font-size:16px}
.sec{padding:64px 0}
.sec .wrap.narrow{max-width:900px}
.sec-head{margin-bottom:32px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.shot{margin-top:40px}
.frame{border:1px solid var(--bdr2);border-radius:var(--r);background:var(--bg2);overflow:hidden;box-shadow:var(--shadow-xl)}
.frame-bar{display:flex;align-items:center;gap:7px;height:32px;padding:0 14px;border-bottom:1px solid var(--bdr);background:var(--bg3)}
.frame-bar b{width:10px;height:10px;border-radius:50%;background:var(--bdr2)}
.frame img{width:100%}
.shot figcaption{margin-top:12px;color:var(--t3);font-size:14px}
.faq h2{font-size:clamp(20px,2.4vw,24px);font-weight:600;margin:28px 0 8px}
.faq h2:first-of-type{margin-top:10px}
.faq p{color:var(--t2);font-size:16.5px}
.prose p{color:var(--t2);font-size:16.5px;margin-bottom:14px}
.prose .ticks{margin:6px 0 16px}
.vendor{border-top:1px solid var(--bdr);padding:26px 0}
.vendor h2{font-size:clamp(22px,2.6vw,28px);font-weight:600;margin-bottom:10px}
.vendor p{color:var(--t2);font-size:16.5px;margin-bottom:10px}
.vendor .tag{font-size:13px;font-weight:600;color:var(--accent)}
.cmp{width:100%;border-collapse:collapse;font-size:15.5px}
.cmp th,.cmp td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--bdr)}
.cmp thead th{font:600 15px/1.3 var(--font-body);color:var(--t1);background:var(--bg3)}
.cmp tbody th{font-weight:600;color:var(--t1);width:18%}
.cmp td{color:var(--t2)}
.cmp-wrap{border:1px solid var(--bdr);border-radius:var(--r);overflow:hidden;background:var(--bg2)}
.src{font-size:14px;color:var(--t3)}
.src ul{list-style:none;display:grid;gap:6px;margin-top:8px}
.src a{word-break:break-word}
.closing{text-align:center}
.closing p{color:var(--t2);font-size:18px;margin-bottom:24px}
.closing .cta-row{justify-content:center}
@media (max-width:1000px){
  .nav-links{display:none}
  .menu-btn{display:inline-flex}
  .cards,.cards.three{grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .wrap{padding:0 16px}
  .nav-in{gap:8px;height:62px}
  .brand{font-size:19px}
  .brand img{width:30px;height:30px}
  .nav-actions .signin{display:none}
  .nav-actions .btn-sm{padding:8px 12px;font-size:13.5px}
  .icon-btn{width:38px;height:38px}
  .page-hero{padding:48px 0 16px}
  .cta-row .btn{flex:1 1 100%}
  .sec{padding:48px 0}
  .cards,.cards.three,.cards.two{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  .cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:100%}
  .cmp tr{padding:12px 16px;border-bottom:1px solid var(--bdr)}
  .cmp tbody th{padding:0 0 6px;border:0;width:100%}
  .cmp td{padding:6px 0;border:0}
  .cmp td::before{content:attr(data-label);display:block;font-size:13px;font-weight:600;color:var(--t1);margin-bottom:2px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}
.aqvori-cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:var(--bg2);border-top:1px solid var(--bdr2);box-shadow:0 -8px 30px rgba(0,0,0,.18);padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease;opacity:0;pointer-events:none}
.aqvori-cookie-banner.visible{transform:translateY(0);opacity:1;pointer-events:auto}
.aqvori-cookie-banner.hiding{transform:translateY(100%);opacity:0;pointer-events:none}
.aqvori-cookie-inner{max-width:880px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.aqvori-cookie-text{font-family:var(--font-body);font-size:14px;color:var(--t2);line-height:1.5;flex:1}
.aqvori-cookie-actions{display:flex;gap:8px;flex-shrink:0}
.aqvori-cookie-accept{padding:9px 20px;border-radius:8px;border:none;background:var(--btn-fill);color:var(--on-accent);font:600 14px var(--font-body);cursor:pointer;box-shadow:var(--btn-glow)}
.aqvori-cookie-learn{padding:9px 20px;border-radius:8px;border:1px solid var(--bdr2);background:transparent;color:var(--t1);font:600 14px var(--font-body);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
@media (hover: hover){.aqvori-cookie-learn:hover{border-color:var(--accent);color:var(--accent)}}
@media(max-width:480px){.aqvori-cookie-inner{flex-direction:column;text-align:center;padding:14px 16px}.aqvori-cookie-actions{width:100%;flex-direction:column}.aqvori-cookie-accept,.aqvori-cookie-learn{width:100%;justify-content:center;text-align:center}}
