:root{
  --bg:#0a0c11;
  --bg-alt:#12151d;
  --panel:rgba(255,255,255,0.055);
  --panel-strong:rgba(255,255,255,0.09);
  --panel-border:rgba(255,255,255,0.14);
  --text:#e9ecf3;
  --text-muted:#aab0bf;
  --accent:#4fd8bd;
  --accent-2:#9b8cfb;
  --accent-contrast:#04231d;
  --focus:#7ff3da;
  --danger:#ff9d9d;
  --sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;--sp-40:40px;--sp-64:64px;
  --radius:16px;
  --radius-sm:10px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
  background-image:
    radial-gradient(circle at 12% 0%, rgba(79,216,189,0.10), transparent 45%),
    radial-gradient(circle at 88% 15%, rgba(155,140,251,0.10), transparent 45%);
  background-attachment:fixed;
}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{line-height:1.2;overflow-wrap:anywhere;font-weight:700;margin:0 0 var(--sp-16);}
p{overflow-wrap:anywhere;margin:0 0 var(--sp-16);color:var(--text);}
ul{margin:0;padding-left:1.1em;}
.min0{min-width:0;}

:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;}
}

.visually-hidden{
  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:absolute;left:var(--sp-8);top:-60px;
  background:var(--bg-alt);color:var(--text);
  padding:var(--sp-8) var(--sp-16);border-radius:var(--radius-sm);
  border:1px solid var(--panel-border);z-index:200;
  transition:top .15s ease;
}
.skip-link:focus{top:var(--sp-8);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);
  padding:var(--sp-12) var(--sp-24);border-radius:var(--radius-sm);
  border:1px solid var(--panel-border);font-weight:600;font-size:15px;
  cursor:pointer;white-space:nowrap;min-width:0;
}
.btn-primary{
  background:linear-gradient(120deg,var(--accent),var(--accent-2));
  color:var(--accent-contrast);border:none;
}
.btn-primary:focus-visible{outline-color:#04231d;}
.btn-ghost{background:transparent;color:var(--text);}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--sp-16);margin-top:var(--sp-24);}

/* Header */
.site-header{
  height:60px;display:flex;align-items:center;
  background:rgba(10,12,17,0.9);
  border-bottom:1px solid var(--panel-border);
}
.header-inner{
  width:100%;max-width:1200px;margin:0 auto;padding:0 var(--sp-24);
  display:flex;align-items:center;gap:var(--sp-24);min-width:0;
}
.brand{
  display:flex;align-items:center;gap:var(--sp-8);color:var(--text);
  font-weight:700;font-size:17px;
}
.brand:hover{text-decoration:none;}
.brand-mark{flex-shrink:0;}
.nav-toggle{
  margin-left:auto;background:none;border:1px solid var(--panel-border);
  border-radius:var(--radius-sm);width:44px;height:40px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.hamburger,.hamburger::before,.hamburger::after{
  content:"";display:block;width:20px;height:2px;background:var(--text);
  position:relative;
}
.hamburger::before{position:absolute;top:-6px;}
.hamburger::after{position:absolute;top:6px;}
.header-cta{margin-left:auto;flex-shrink:0;}
.site-nav{display:none;}

@media (min-width:1024px){
  .header-inner{gap:var(--sp-40);}
  .brand{flex-shrink:0;white-space:nowrap;}
  .nav-toggle{display:none;}
  .site-nav{
    display:block;flex:1 1 auto;min-width:0;position:static;
    background:none;padding:0;
  }
  .site-nav ul{
    list-style:none;margin:0;padding:0;display:flex;justify-content:center;
    gap:var(--sp-24);flex-wrap:nowrap;min-width:0;
  }
  .site-nav a{
    color:var(--text-muted);font-size:14px;white-space:nowrap;font-weight:600;
  }
  .site-nav a:hover{color:var(--text);text-decoration:none;}
  .header-cta{display:inline-flex;}
}
@media (max-width:1023px){
  .header-cta{display:none;}
  .site-nav{
    position:fixed;inset:60px 0 0 0;background:var(--bg-alt);
    padding:var(--sp-40) var(--sp-24);transform:translateX(100%);
    transition:transform .2s ease;overflow-y:auto;z-index:150;
  }
  .site-nav.is-open{transform:translateX(0);}
  .site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-24);}
  .site-nav a{font-size:20px;color:var(--text);white-space:nowrap;}
  .site-nav .nav-cta{display:block;margin-top:var(--sp-16);}
}
@media (max-width:479px){
  .site-header{height:52px;}
  .site-nav{inset:52px 0 0 0;}
}

/* Hero */
.hero{padding:var(--sp-64) var(--sp-24);}
.hero-inner{
  max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr 0.9fr;
  gap:var(--sp-40);align-items:center;
}
.hero-media img{border-radius:var(--radius);border:1px solid var(--panel-border);}
.eyebrow{
  text-transform:uppercase;letter-spacing:0.08em;font-size:13px;font-weight:700;
  color:#8fe9d6;margin-bottom:var(--sp-8);
}
.hero h1{font-size:clamp(32px,5vw,48px);}
.lead{font-size:18px;color:var(--text-muted);max-width:60ch;}
.quick-facts{
  max-width:1200px;margin:var(--sp-40) auto 0;display:grid;
  grid-template-columns:repeat(4,1fr);gap:var(--sp-16);list-style:none;padding:0;
}
.fact-item{
  background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);
  padding:var(--sp-24);min-width:0;
}
.fact-item dt{font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
.fact-item dd{margin:var(--sp-12) 0 0;font-size:16px;font-weight:600;}

@media (max-width:1023px){
  .hero-inner{grid-template-columns:1fr;}
  .quick-facts{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:479px){
  .hero{padding:var(--sp-40) var(--sp-16);}
  .quick-facts{grid-template-columns:1fr;}
}

/* Guides / feature bands */
.guides{max-width:1200px;margin:0 auto;padding:var(--sp-64) var(--sp-24);}
.guides > h2{font-size:clamp(24px,4vw,32px);margin-bottom:var(--sp-40);}
.feature-band{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-40);align-items:center;
  padding:var(--sp-24) 0;border-bottom:1px solid var(--panel-border);
}
.feature-band:last-child{border-bottom:none;}
.feature-band:nth-child(even){direction:rtl;}
.feature-band:nth-child(even) > *{direction:ltr;}
.media-panel{
  min-width:0;aspect-ratio:4/3;border-radius:var(--radius);
  border:1px solid var(--panel-border);display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(79,216,189,0.18),rgba(155,140,251,0.18));
}
.media-panel svg{width:56px;height:56px;}
.feature-content h3{font-size:22px;}
.feature-content p{color:var(--text-muted);}
@media (max-width:1023px){
  .feature-band, .feature-band:nth-child(even){grid-template-columns:1fr;direction:ltr;}
}

/* Info / content sections (used on subpages) */
.page-header{max-width:900px;margin:0 auto;padding:var(--sp-64) var(--sp-24) var(--sp-24);}
.content-section{max-width:900px;margin:0 auto;padding:var(--sp-24) var(--sp-24);}
.content-section h2{font-size:24px;margin-top:var(--sp-16);}
.content-section--media{max-width:1000px;padding-top:0;}
.content-section--media img{border-radius:var(--radius);border:1px solid var(--panel-border);margin-bottom:var(--sp-24);}
.info-section{max-width:1200px;margin:0 auto;padding:var(--sp-64) var(--sp-24);}
.panel{
  background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);
  padding:var(--sp-24);
}

.table-wrap{overflow-x:auto;margin:var(--sp-24) 0;}
table{border-collapse:collapse;width:100%;min-width:480px;}
th,td{
  text-align:left;padding:var(--sp-12) var(--sp-16);border-bottom:1px solid var(--panel-border);
  font-size:15px;vertical-align:top;
}
th{color:var(--text-muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em;}

.cta-section{text-align:left;}

/* Footer */
.site-footer{
  border-top:1px solid var(--panel-border);background:var(--bg-alt);
  padding:var(--sp-64) var(--sp-24) var(--sp-40);
}
.footer-inner{
  max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--sp-40);
}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-8);}
.footer-heading{font-weight:700;margin-bottom:var(--sp-8);}
.footer-brand{font-weight:700;font-size:18px;margin-bottom:var(--sp-8);}
.footer-independence{
  max-width:1200px;margin:var(--sp-40) auto 0;color:var(--text-muted);font-size:13px;
  border-top:1px solid var(--panel-border);padding-top:var(--sp-24);
}
@media (max-width:768px){
  .footer-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width:479px){
  .footer-inner{grid-template-columns:1fr;}
}

/* Cookie banner */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:300;
  background:rgba(15,18,25,0.96);border-top:1px solid var(--panel-border);
  backdrop-filter:blur(10px);padding:var(--sp-16) var(--sp-24);
}
.cookie-banner[hidden]{display:none;}
.cookie-banner__inner{max-width:1200px;margin:0 auto;}
.cookie-banner__copy p{margin:0 0 var(--sp-16);font-size:14px;color:var(--text-muted);}
.cookie-banner__actions{display:flex;gap:var(--sp-16);justify-content:flex-end;flex-wrap:wrap;}
.cookie-banner__actions button{
  font-family:inherit;font-size:14px;padding:var(--sp-12) var(--sp-16);
  border-radius:var(--radius-sm);border:1px solid var(--panel-border);
  background:transparent;color:var(--text);cursor:pointer;flex:1 1 auto;
}
.cookie-banner__panel{
  margin-top:var(--sp-16);padding-top:var(--sp-16);border-top:1px solid var(--panel-border);
}
.cookie-banner__panel[hidden]{display:none;}
.cookie-banner__panel label{display:flex;align-items:center;gap:var(--sp-8);margin-bottom:var(--sp-16);font-size:14px;}
@media (max-width:767px){
  .cookie-banner__actions{flex-direction:column-reverse;}
  .cookie-banner__actions button{width:100%;}
}
@media (min-width:768px){
  .cookie-banner__actions{flex-wrap:nowrap;}
}

/* Forms */
.form-grid{display:grid;gap:var(--sp-24);max-width:640px;}
.form-field{display:flex;flex-direction:column;gap:var(--sp-8);min-width:0;}
.form-field label{font-weight:600;font-size:14px;}
.form-field input,.form-field textarea{
  background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-sm);
  padding:var(--sp-12) var(--sp-16);color:var(--text);font-family:inherit;font-size:15px;
}
.form-field input.is-invalid,.form-field textarea.is-invalid{border-color:var(--danger);}
.field-error{color:var(--danger);font-size:13px;}
.field-error[hidden]{display:none;}

.contact-grid{
  max-width:1200px;margin:0 auto;padding:var(--sp-64) var(--sp-24);
  display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-40);
}
.map-block{
  border-radius:var(--radius);border:1px solid var(--panel-border);overflow:hidden;
  background:linear-gradient(160deg,#151a24,#0d1017);padding:var(--sp-24);min-height:280px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.map-block svg{width:100%;height:auto;}
@media (max-width:1023px){
  .contact-grid{grid-template-columns:1fr;}
}

/* Legal pages */
.legal-section{max-width:800px;margin:0 auto;padding:var(--sp-24);}
.legal-section h2{margin-top:var(--sp-40);}