:root{
  --bg:#070a12;
  --bg-2:#0b1120;
  --panel:rgba(255,255,255,0.055);
  --panel-strong:rgba(12,18,32,0.82);
  --stroke:rgba(255,255,255,0.12);
  --text:#e8edf8;
  --text-muted:#b9c4da;
  --cyan:#35e6ff;
  --violet:#9b8cff;
  --magenta:#ff7ae0;
  --ink:#06090f;
  --edge:linear-gradient(120deg,#35e6ff,#9b8cff 45%,#ff7ae0);
  --radius:18px;
  --s-1:4px; --s-2:8px; --s-3:16px; --s-4:24px; --s-5:40px; --s-6:64px;
  --font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}

html{
  -webkit-text-size-adjust:100%;
  overflow-x:hidden;
  max-width:100%;
}

body{
  margin:0;
  padding:0;
  max-width:100%;
  overflow-x:hidden;
  background:
    radial-gradient(900px 520px at 12% -8%, rgba(53,230,255,0.16), transparent 60%),
    radial-gradient(760px 520px at 92% 4%, rgba(255,122,224,0.14), transparent 62%),
    radial-gradient(700px 500px at 50% 110%, rgba(155,140,255,0.14), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:17px;
  line-height:1.7;
  overflow-wrap:break-word;
  word-wrap:break-word;
}

img{max-width:100%;height:auto;display:block;}

a{
  color:var(--cyan);
  text-decoration:none;
  overflow-wrap:break-word;
}
a:hover{color:#bff4ff;text-decoration:underline;}

h1,h2,h3{
  line-height:1.2;
  margin:0;
  letter-spacing:-0.01em;
  overflow-wrap:break-word;
  word-break:break-word;
}
h1{font-size:clamp(1.75rem,4.4vw,3.05rem);}
h2{font-size:clamp(1.3rem,2.6vw,2rem);}
h3{font-size:1.1rem;}
p{
  margin:0 0 var(--s-3);
  overflow-wrap:break-word;
}

code{
  font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;
  font-size:0.92em;
  background:rgba(255,255,255,0.08);
  color:#e6f9ff;
  padding:2px 6px;
  border-radius:6px;
  overflow-wrap:break-word;
  word-break:break-word;
  white-space:normal;
}

:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:6px;}

.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--cyan);color:var(--ink);padding:var(--s-2) var(--s-3);z-index:80;border-radius:0 0 10px 0;}
.skip-link:focus{left:0;}

.container{
  width:100%;
  max-width:1140px;
  margin:0 auto;
  padding:0 var(--s-4);
  box-sizing:border-box;
}

/* ---------- header ---------- */
.site-header{
  width:100%;
  max-width:100%;
  background:rgba(7,10,18,0.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--stroke);
}
.header-inner{
  max-width:1140px;margin:0 auto;padding:0 var(--s-4);
  width:100%;box-sizing:border-box;
  height:62px;display:flex;align-items:center;gap:var(--s-4);
}
.brand{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text);font-weight:700;text-decoration:none;flex:0 1 auto;min-width:0;}
.brand:hover{color:#fff;text-decoration:none;}
.brand-name{font-size:0.95rem;letter-spacing:-0.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-accent{color:var(--cyan);}
.brand-mark{flex:0 0 auto;}

.site-nav{flex:1 1 auto;display:flex;justify-content:center;}
.nav-list{display:flex;gap:var(--s-3);list-style:none;margin:0;padding:0;}
.nav-list a{
  color:var(--text-muted);font-size:0.86rem;font-weight:600;letter-spacing:0.01em;
  padding:6px 2px;display:inline-block;border-bottom:2px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.nav-list a:hover{color:#fff;text-decoration:none;border-bottom-color:var(--cyan);}
.nav-list a.is-current{color:#fff;border-bottom-color:var(--magenta);}

.header-cta{
  flex:0 0 auto;
  background:linear-gradient(120deg,var(--cyan),var(--violet));
  color:var(--ink);font-weight:700;font-size:0.82rem;
  padding:9px 16px;border-radius:999px;white-space:nowrap;
  transition:filter .18s ease;
}
.header-cta:hover{filter:brightness(1.1);color:var(--ink);text-decoration:none;}

.nav-toggle{
  display:none;flex:0 0 auto;width:42px;height:38px;
  background:rgba(255,255,255,0.07);color:var(--text);
  border:1px solid var(--stroke);border-radius:10px;
  padding:9px 10px;cursor:pointer;
}
.nav-toggle-bar{display:block;height:2px;background:var(--text);border-radius:2px;}
.nav-toggle-bar + .nav-toggle-bar{margin-top:4px;}
.nav-toggle[aria-expanded="true"]{background:var(--cyan);color:var(--ink);}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar{background:var(--ink);}

/* ---------- mobile overlay ---------- */
.nav-overlay{
  position:fixed;inset:0;z-index:70;
  background:rgba(5,8,15,0.94);
  backdrop-filter:blur(16px);
  overflow-y:auto;
}
.nav-overlay[hidden]{display:none;}
.nav-overlay-inner{padding:var(--s-5) var(--s-4) var(--s-6);max-width:520px;margin:0 auto;box-sizing:border-box;}
.nav-overlay-title{color:var(--cyan);font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:var(--s-4);}
.nav-overlay-list{list-style:none;margin:0 0 var(--s-5);padding:0;}
.nav-overlay-list li + li{margin-top:var(--s-2);}
.nav-overlay-list a{
  display:block;padding:14px var(--s-3);border-radius:12px;
  background:var(--panel);border:1px solid var(--stroke);
  color:var(--text);font-weight:600;
}
.nav-overlay-list a:hover{color:var(--ink);background:var(--cyan);border-color:var(--cyan);text-decoration:none;}
.nav-overlay-cta{width:100%;text-align:center;}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-weight:700;font-size:0.92rem;
  padding:12px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;
  text-decoration:none;transition:filter .18s ease,background-color .18s ease,color .18s ease;
  max-width:100%;box-sizing:border-box;
}
.btn-primary{background:linear-gradient(120deg,var(--cyan),var(--violet));color:var(--ink);}
.btn-primary:hover{filter:brightness(1.1);color:var(--ink);text-decoration:none;}
.btn-ghost{background:rgba(255,255,255,0.06);color:var(--text);border-color:var(--stroke);}
.btn-ghost:hover{background:rgba(255,255,255,0.14);color:#fff;text-decoration:none;}
.btn-link{background:transparent;color:var(--cyan);border-color:transparent;padding:12px 12px;text-decoration:underline;}
.btn-link:hover{color:#c9f7ff;background:rgba(53,230,255,0.1);}

/* ---------- sections ---------- */
.section{padding:var(--s-6) 0;width:100%;box-sizing:border-box;}
.section-alt{background:rgba(255,255,255,0.028);border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);}
.section-head{max-width:720px;margin-bottom:var(--s-5);width:100%;box-sizing:border-box;}
.section-sub{color:var(--text-muted);margin-top:var(--s-3);}
.eyebrow{color:var(--cyan);font-size:0.76rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;margin-bottom:var(--s-3);}

/* ---------- hero ---------- */
.hero{padding:var(--s-6) 0;width:100%;box-sizing:border-box;}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:var(--s-5);align-items:center;min-width:0;}
.hero-copy{min-width:0;max-width:100%;}
.hero-lede{color:var(--text-muted);font-size:1.05rem;margin-top:var(--s-4);max-width:100%;}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-4);}
.hero-stats{display:flex;flex-wrap:wrap;gap:var(--s-5);list-style:none;margin:var(--s-5) 0 0;padding:0;}
.stat{display:flex;flex-direction:column;min-width:0;}
.stat-value{font-size:1.7rem;font-weight:800;color:#fff;margin-bottom:12px;line-height:1;}
.stat-label{font-size:0.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em;}

.hero-panel{
  position:relative;border-radius:var(--radius);overflow:hidden;min-height:340px;
  width:100%;max-width:100%;box-sizing:border-box;
}
.hero-panel::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--edge);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-panel-overlay{
  position:relative;
  margin:var(--s-5) var(--s-4) var(--s-4);
  width:calc(100% - (var(--s-4) * 2));
  max-width:calc(100% - (var(--s-4) * 2));
  box-sizing:border-box;
  background:var(--panel-strong);backdrop-filter:blur(12px);
  border:1px solid var(--stroke);border-radius:14px;padding:var(--s-4);
  color:var(--text);
}
.hero-panel-kicker{color:var(--cyan);font-size:0.74rem;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:var(--s-3);}
.hero-panel-text{margin-bottom:var(--s-4);}
.panel-link{display:inline-block;font-weight:700;font-size:0.9rem;color:var(--cyan);border-bottom:1px solid rgba(53,230,255,0.5);max-width:100%;overflow-wrap:break-word;}
.panel-link:hover{color:#d5faff;text-decoration:none;border-bottom-color:#d5faff;}

/* ---------- glass overlay cards ---------- */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%, 262px),1fr));
  gap:var(--s-4);
  width:100%;
  box-sizing:border-box;
}
.glass-card{
  position:relative;border-radius:var(--radius);overflow:hidden;isolation:isolate;
  min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--bg-2);
  transition:transform .2s ease;
  width:100%;max-width:100%;box-sizing:border-box;
}
.glass-card:hover{transform:translateY(-4px);}
.glass-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,9,15,0.25),rgba(6,9,15,0.88));z-index:1;}
.glass-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--edge);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:3;pointer-events:none;}
.card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.card-panel{
  position:relative;z-index:2;
  margin:var(--s-4);
  width:calc(100% - (var(--s-4) * 2));
  max-width:calc(100% - (var(--s-4) * 2));
  box-sizing:border-box;
  background:var(--panel-strong);backdrop-filter:blur(12px);
  border:1px solid var(--stroke);border-radius:14px;padding:var(--s-4);
  color:var(--text);
}
.card-tag{
  display:inline-block;font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:700;
  background:linear-gradient(120deg,var(--cyan),var(--magenta));color:var(--ink);
  padding:4px 10px;border-radius:999px;margin:0 0 var(--s-4);
  max-width:100%;
}
.card-title{font-size:1.16rem;margin-bottom:var(--s-4);}
.card-title a{color:#fff;}
.card-title a:hover{color:var(--cyan);text-decoration:none;}
.card-text{color:var(--text-muted);font-size:0.95rem;margin-bottom:var(--s-4);}
.card-meta{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0 0 var(--s-4);padding:0;}
.card-meta li{font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--text);background:rgba(255,255,255,0.08);border:1px solid var(--stroke);border-radius:999px;padding:4px 10px;max-width:100%;overflow-wrap:break-word;}

/* ---------- supporting section ---------- */
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);align-items:start;min-width:0;}
.support-copy{min-width:0;max-width:100%;}
.support-copy h2{margin-bottom:var(--s-4);}
.support-copy p{color:var(--text-muted);}
.support-copy .btn{margin-top:var(--s-3);}
.feature-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4);min-width:0;}
.feature-item{
  background:var(--panel);backdrop-filter:blur(10px);
  border:1px solid var(--stroke);border-left:3px solid var(--cyan);
  border-radius:14px;padding:var(--s-4);
  min-width:0;max-width:100%;box-sizing:border-box;
}
.feature-item h3{margin-bottom:var(--s-3);color:#fff;}
.feature-item p{margin:0;color:var(--text-muted);font-size:0.95rem;}

/* ---------- page hero + article ---------- */
.page-hero{padding:var(--s-6) 0 var(--s-5);width:100%;box-sizing:border-box;}
.page-lede{color:var(--text-muted);font-size:1.05rem;max-width:760px;margin-top:var(--s-4);}

.article-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s-5);align-items:start;
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
.article{max-width:min(100%, 74ch);width:100%;min-width:0;box-sizing:border-box;}
.article h2{margin:var(--s-6) 0 var(--s-4);}
.article h2:first-child{margin-top:0;}
.article h3{margin:var(--s-5) 0 var(--s-3);color:#fff;}
.article p{color:var(--text-muted);}
.article ul{color:var(--text-muted);padding-left:22px;margin:0 0 var(--s-4);max-width:100%;box-sizing:border-box;}
.article li + li{margin-top:var(--s-2);}
.article strong{color:var(--text);}
.legal-article{max-width:min(100%, 80ch);width:100%;min-width:0;box-sizing:border-box;}

.split-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 258px),1fr));
  gap:var(--s-4);margin:var(--s-4) 0;
  width:100%;box-sizing:border-box;
}
.glass-panel{
  background:var(--panel);backdrop-filter:blur(12px);
  border:1px solid var(--stroke);border-radius:16px;padding:var(--s-4);
  color:var(--text);
  min-width:0;max-width:100%;box-sizing:border-box;
}
.glass-panel h2,.glass-panel h3{margin-bottom:var(--s-4);color:#fff;}
.list-pro,.list-con{list-style:none;padding:0;margin:0 0 var(--s-4);max-width:100%;}
.list-pro li,.list-con li{position:relative;padding-left:26px;color:var(--text-muted);overflow-wrap:break-word;}
.list-pro li + li,.list-con li + li{margin-top:var(--s-2);}
.list-pro li::before{content:"+";position:absolute;left:0;top:0;color:#4ff0c1;font-weight:800;}
.list-con li::before{content:"\2212";position:absolute;left:0;top:0;color:var(--magenta);font-weight:800;}
.list-con{margin-bottom:0;}

.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
  margin:var(--s-4) 0 var(--s-5);
  border:1px solid var(--stroke);
  border-radius:14px;
  background:rgba(255,255,255,0.03);
}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:0.9rem;}
caption{text-align:left;padding:var(--s-3) var(--s-3) var(--s-2);color:var(--text-muted);font-size:0.82rem;}
th,td{padding:12px var(--s-3);text-align:left;border-bottom:1px solid rgba(255,255,255,0.09);overflow-wrap:break-word;}
thead th{background:rgba(53,230,255,0.13);color:#fff;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;}
tbody th{color:#fff;font-weight:700;}
tbody td{color:var(--text-muted);}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:none;}

.cta-panel{
  margin-top:var(--s-6);padding:var(--s-5) var(--s-4);
  border-radius:18px;border:1px solid var(--stroke);
  background:linear-gradient(140deg,rgba(53,230,255,0.14),rgba(255,122,224,0.12));
  color:var(--text);
  max-width:100%;box-sizing:border-box;
}
.cta-panel h2{margin:0 0 var(--s-3);}
.cta-panel p{color:var(--text);}
.cta-panel .btn{margin-top:var(--s-2);}

.sidebar{display:grid;gap:var(--s-4);position:relative;min-width:0;max-width:100%;}
.stat-stack{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4);}
.link-stack{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);}
.link-stack a{font-weight:600;font-size:0.94rem;overflow-wrap:break-word;}

/* ---------- contact ---------- */
.contact-layout{display:grid;grid-template-columns:1.15fr 0.85fr;gap:var(--s-5);align-items:start;min-width:0;}
.form-panel{padding:var(--s-5) var(--s-4);min-width:0;max-width:100%;box-sizing:border-box;}
.contact-form{display:grid;gap:var(--s-4);min-width:0;}
.field{display:grid;gap:var(--s-2);min-width:0;}
label{font-weight:600;font-size:0.9rem;color:var(--text);overflow-wrap:break-word;}
input[type="text"],input[type="email"],select,textarea{
  width:100%;max-width:100%;padding:12px var(--s-3);
  box-sizing:border-box;
  background:rgba(4,7,13,0.72);color:var(--text);
  border:1px solid var(--stroke);border-radius:12px;
  font-family:inherit;font-size:0.95rem;
}
input::placeholder,textarea::placeholder{color:#8b98b1;}
textarea{resize:vertical;min-height:130px;}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cyan) 50%),linear-gradient(135deg,var(--cyan) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
.field-hint{font-size:0.82rem;color:var(--text-muted);margin:0;}
.field-error{font-size:0.84rem;color:#ffb3d8;margin:0;font-weight:600;}
.field-error[hidden]{display:none;}
input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:#ff7ae0;background:rgba(255,122,224,0.08);color:var(--text);}
.field-check .switch-row{align-items:flex-start;}
.switch-row{display:flex;gap:var(--s-2);align-items:center;font-weight:500;font-size:0.9rem;color:var(--text);line-height:1.5;}
.switch-row input[type="checkbox"]{width:18px;height:18px;flex:0 0 auto;accent-color:#35e6ff;margin-top:2px;}
.form-status{
  margin:0;padding:12px var(--s-3);border-radius:12px;font-weight:600;
  background:rgba(79,240,193,0.14);color:#c8ffee;border:1px solid rgba(79,240,193,0.4);
}
.form-status[hidden]{display:none;}
.form-status.is-error{background:rgba(255,122,224,0.14);color:#ffd9f2;border-color:rgba(255,122,224,0.45);}

.contact-side{display:grid;gap:var(--s-4);min-width:0;max-width:100%;}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-4);}
.contact-list a{overflow-wrap:anywhere;word-break:break-word;}
.contact-label{display:block;font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--s-1);}
.contact-address{font-style:normal;color:var(--text-muted);margin-bottom:var(--s-4);line-height:1.8;overflow-wrap:break-word;}
.contact-note{font-size:0.86rem;color:var(--text-muted);margin:0;}

.map-block{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--stroke);width:100%;max-width:100%;box-sizing:border-box;}
.map-svg{display:block;width:100%;height:auto;}
.map-panel{
  position:absolute;left:var(--s-3);right:var(--s-3);bottom:var(--s-3);
  max-width:calc(100% - (var(--s-3) * 2));
  box-sizing:border-box;
  background:var(--panel-strong);backdrop-filter:blur(10px);
  border:1px solid var(--stroke);border-radius:12px;padding:var(--s-3);
  color:var(--text);
}
.map-title{font-weight:700;margin:0 0 var(--s-2);color:#fff;}
.map-text{margin:0;font-size:0.84rem;color:var(--text-muted);}

/* ---------- footer ---------- */
.site-footer{
  width:100%;max-width:100%;overflow-x:clip;box-sizing:border-box;
  border-top:1px solid var(--stroke);background:rgba(4,7,13,0.75);backdrop-filter:blur(12px);padding-top:var(--s-6);
}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s-5);min-width:0;}
.footer-brand{min-width:0;max-width:100%;}
.footer-tag{color:var(--text-muted);margin:var(--s-3) 0;max-width:100%;}
.footer-legal-entity,.footer-address,.footer-email{font-size:0.86rem;color:var(--text-muted);margin:0 0 var(--s-2);font-style:normal;overflow-wrap:anywhere;}
.footer-links{min-width:0;}
.footer-links h3{font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:var(--s-4);}
.footer-links ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2);}
.footer-links a{color:var(--text-muted);font-size:0.9rem;overflow-wrap:break-word;}
.footer-links a:hover{color:#fff;}
.footer-bottom{border-top:1px solid var(--stroke);margin-top:var(--s-5);padding-top:var(--s-4);padding-bottom:var(--s-5);}
.footer-bottom p{margin:0;font-size:0.82rem;color:var(--text-muted);}

/* ---------- cookie banner ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:75;
  width:100%;max-width:100%;box-sizing:border-box;
  background:rgba(5,8,15,0.94);backdrop-filter:blur(14px);
  border-top:1px solid var(--stroke);
  color:var(--text);
  padding:var(--s-4) 0;
}
.cookie-banner[hidden]{display:none;}
.cookie-inner{
  max-width:1140px;margin:0 auto;padding:0 var(--s-4);
  width:100%;box-sizing:border-box;
  display:grid;grid-template-columns:1.5fr auto;gap:var(--s-4);align-items:center;
}
.cookie-copy{min-width:0;}
.cookie-copy h2{font-size:1rem;margin-bottom:var(--s-2);}
.cookie-copy p{margin:0;font-size:0.88rem;color:var(--text-muted);}
.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:flex-end;}
.cookie-prefs{grid-column:1 / -1;border-top:1px solid var(--stroke);padding-top:var(--s-4);display:grid;gap:var(--s-4);width:100%;box-sizing:border-box;}
.cookie-prefs[hidden]{display:none;}
.cookie-prefs fieldset{border:1px solid var(--stroke);border-radius:12px;padding:var(--s-4);display:grid;gap:var(--s-3);margin:0;box-sizing:border-box;}
.cookie-prefs legend{padding:0 var(--s-2);font-size:0.82rem;color:var(--cyan);letter-spacing:0.1em;text-transform:uppercase;}
.cookie-prefs .btn{justify-self:start;}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .article-layout{grid-template-columns:minmax(0,1fr);}
  .sidebar{grid-template-columns:repeat(auto-fit,minmax(min(100%, 258px),1fr));}
  .contact-layout{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .support-grid{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .container{padding-left:var(--s-3);padding-right:var(--s-3);}
  .header-inner{height:50px;gap:var(--s-2);padding-left:var(--s-3);padding-right:var(--s-3);}
  .site-nav{display:none;}
  .header-cta{display:none;}
  .nav-toggle{display:block;margin-left:auto;}
  .cookie-inner{grid-template-columns:1fr;padding-left:var(--s-3);padding-right:var(--s-3);}
  .cookie-actions{justify-content:flex-start;}
  .section{padding:var(--s-5) 0;}
  .hero{padding:var(--s-5) 0;}
  .article h2{margin-top:var(--s-5);}
}

@media (max-width:560px){
  body{font-size:16px;}
  h1{font-size:clamp(1.5rem,7vw,1.95rem);}
  h2{font-size:clamp(1.2rem,5.5vw,1.5rem);}
  .container,.header-inner,.cookie-inner{padding-left:var(--s-3);padding-right:var(--s-3);}
  .footer-grid{grid-template-columns:1fr;gap:var(--s-4);}
  .hero-stats{gap:var(--s-3) var(--s-4);display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));}
  .card-grid{grid-template-columns:1fr;}
  .split-grid{grid-template-columns:1fr;}
  .glass-card{min-height:0;}
  .card-panel{
    margin:var(--s-3);
    width:calc(100% - (var(--s-3) * 2));
    max-width:calc(100% - (var(--s-3) * 2));
    padding:var(--s-3);
  }
  .hero-panel{min-height:0;}
  .hero-image{position:relative;height:220px;}
  .hero-panel-overlay{
    margin:calc(-1 * var(--s-5)) var(--s-3) var(--s-3);
    width:calc(100% - (var(--s-3) * 2));
    max-width:calc(100% - (var(--s-3) * 2));
    padding:var(--s-3);
  }
  .cta-panel{padding:var(--s-4) var(--s-3);}
}

@media (max-width:400px){
  .container,.header-inner,.cookie-inner{padding-left:12px;padding-right:12px;}
  .brand-name{font-size:0.82rem;}
  .card-panel,.glass-panel,.form-panel{padding:var(--s-3);}
  .card-panel{
    margin:12px;
    width:calc(100% - 24px);
    max-width:calc(100% - 24px);
  }
  .hero-panel-overlay{
    margin:calc(-1 * var(--s-5)) 12px 12px;
    width:calc(100% - 24px);
    max-width:calc(100% - 24px);
  }
  .btn{width:100%;text-align:center;}
  .cookie-actions .btn{width:100%;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .stat-value{font-size:1.45rem;}
  table{min-width:380px;font-size:0.82rem;}
  th,td{padding:8px 10px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0.001ms !important;animation-duration:0.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;}
}