@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&family=Inter:wght@400;500;600&display=swap');
:root{
  /* Default (light) theme */
  --bg0:#f6f8fb;
  --bg1:#eef6f1;
  --text:#0f172a;
  --heading:#0e4931;
  --section-heading:#153e2e;
  --muted:rgba(15,23,42,.72);
  --line:rgba(15,23,42,.12);
  --gold:#d4af37;
  --cta:#14573c;
  --cta-weak:#0e4931;
  --cta-rgb:20,87,60;
  --header-bg:rgba(50, 49, 49, 0.88);
  --footer-bg:rgba(19, 19, 19, 0.88);
  --header-text:#fcfaee;
  --prefs-bg:rgba(25,24,23,.86);
  --prefs-border:rgba(252,250,238,.12);
  --prefs-text:rgba(252,250,238,.92);
  --prefs-muted:rgba(252,250,238,.70);
  --prefs-chip-bg:rgba(255,255,255,.04);
  --prefs-chip-border:rgba(252,250,238,.16);
  --menu-ink:#f3eee2;
  --menu-muted:rgba(243,238,226,.66);
  --menu-soft:rgba(243,238,226,.48);
  --menu-accent:#c2a86a;
  --menu-line:rgba(40,200,130,.18);
  --menu-panel:rgba(16,21,19,.58);
  --menu-panel-strong:rgba(10,14,12,.82);
  --menu-ink:#f3eee2;
  --menu-muted:rgba(243,238,226,.66);
  --menu-soft:rgba(243,238,226,.48);
  --menu-accent:#c2a86a;
  --menu-line:rgba(40,200,130,.18);
  --menu-panel:rgba(16,21,19,.58);
  --menu-panel-strong:rgba(10,14,12,.82);
  --menu-ink:#f3eee2;
  --menu-muted:rgba(243,238,226,.66);
  --menu-soft:rgba(243,238,226,.48);
  --menu-accent:#c2a86a;
  --menu-line:rgba(40,200,130,.18);
  --menu-panel:rgba(16,21,19,.58);
  --menu-panel-strong:rgba(10,14,12,.82);

  --page-bg:
    radial-gradient(1600px 1200px at 18% -10%,
      rgba(14,73,49,.10) 0%,
      rgba(14,73,49,.06) 42%,
      rgba(14,73,49,.03) 74%,
      rgba(14,73,49,0) 100%
    ),
    radial-gradient(1600px 1200px at 92% 0%,
      rgba(212,175,55,.12) 0%,
      rgba(212,175,55,.07) 42%,
      rgba(212,175,55,.03) 74%,
      rgba(212,175,55,0) 100%
    ),
    linear-gradient(180deg, #f6f8fb 0%, #eef6f1 40%, #f7f2ea 100%);
  --noise-opacity:.035;

  --card-bg:#6c9886;
  --card-border:rgba(8, 14, 12, .16);
  --card-shadow:0 18px 60px rgba(8, 14, 12, .14);

  --panel-bg:rgba(255,255,255,.92);
  --panel-border:rgba(15,23,42,.12);
  --panel-text:#0f172a;
  --panel-muted:rgba(15,23,42,.65);
  --seg-bg:rgba(15,23,42,.06);
  --seg-border:rgba(15,23,42,.10);
  --kicker:rgba(15,23,42,.62);

  --data-blue:14,73,49;
  --data-gold:212,175,55;
}

html[data-theme="dark"]{
  --bg0:#07100e;
  --bg1:#0b1411;
  --text:#fcfaee;
  --heading:#fcfaee;
  --section-heading:#fcfaee;
  --muted:rgba(252,250,238,.78);
  --line:rgba(255,255,255,.10);
  --header-bg:rgba(0, 0, 0, 0.88);
  --footer-bg:rgba(25, 24, 23, 1);
  --cta:#d4af37;
  --cta-weak:#b8860b;
  --cta-rgb:212,175,55;

  --page-bg:
    radial-gradient(1800px 1400px at 18% -10%,
      rgba(16,58,44,.92) 0%,
      rgba(16,58,44,.52) 42%,
      rgba(16,58,44,.18) 74%,
      rgba(16,58,44,.06) 90%,
      rgba(16,58,44,0) 100%
    ),
    radial-gradient(1800px 1400px at 92% 0%,
      rgba(72,58,18,.72) 0%,
      rgba(72,58,18,.38) 42%,
      rgba(72,58,18,.14) 74%,
      rgba(72,58,18,.05) 90%,
      rgba(72,58,18,0) 100%
    ),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  --noise-opacity:.065;

  --card-bg:rgba(7,12,10,.35);
  --card-border:rgba(212,175,55,.16);
  --card-shadow:0 20px 80px rgba(0,0,0,.35);

  --panel-bg:rgba(9,20,16,.92);
  --panel-border:rgba(212,175,55,.18);
  --panel-text:#fcfaee;
  --panel-muted:rgba(252,250,238,.72);
  --seg-bg:rgba(255,255,255,.08);
  --seg-border:rgba(255,255,255,.12);
  --kicker:rgba(252,250,238,.62);

  --data-blue:32,180,134;
  --data-gold:212,175,55;
}
*{box-sizing:border-box}
html,body{min-height:100%}
html{
  position:relative;
  background:var(--bg1);
}
html::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-3;
  background:var(--page-bg);
}
html::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:-2;
  inset:-12% -12% auto -12%;
  height:130%;
  background:
    radial-gradient(60% 60% at 20% 24%, rgba(var(--data-blue), .28), transparent 62%),
    radial-gradient(52% 52% at 78% 12%, rgba(var(--data-gold), .22), transparent 68%),
    radial-gradient(48% 48% at 56% 64%, rgba(var(--data-blue), .18), transparent 70%);
  filter:blur(12px);
  opacity:1;
  animation:data-rotate 20s linear infinite, data-drift 12s ease-in-out infinite alternate;
  mix-blend-mode:multiply;
}
html[data-theme="dark"]::after{
  mix-blend-mode:screen;
  opacity:.72;
  filter:blur(10px);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:var(--noise-opacity);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:240px 240px;
  mix-blend-mode:overlay;
}
body{
  margin:0;
  font-family:Montserrat,"SF Pro Display",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  min-height:100%;
  background:transparent;
  color:var(--text);
  overflow-x:hidden;
}

@keyframes data-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes data-drift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(18px,-12px,0) scale(1.04)}
  100%{transform:translate3d(-14px,16px,0) scale(1.02)}
}
a{color:inherit;text-decoration:none}
.container{max-width:1400px;margin:0 auto;padding:0 24px}
header .container.nav{max-width:1600px}

header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:40;
  background:var(--header-bg);
  -webkit-backdrop-filter:saturate(140%) blur(18px);
  backdrop-filter:saturate(140%) blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:transform .4s ease;
  color:var(--header-text);
  will-change:transform, backdrop-filter;
}
header.hide{transform:translateY(-100%)}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:64px;
  gap:18px;
}
.brand{
  letter-spacing:.35em;
  font-weight:800;
  font-size:clamp(20px,1.8vw,28px);
  line-height:1;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
  color:inherit;
}
.menu{
  display:none;
  align-items:center;
  gap:clamp(12px, 1.4vw, 28px);
  font-weight:400;
			font-size: 11px;
  flex:1 1 auto;
  min-width:0;
  justify-content:flex-end;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
.menu a{opacity:.8;white-space:nowrap}
.menu a:hover,.menu a:focus{opacity:1;outline:none}
/* burger */
.burger{
  display:flex;
  position:relative;
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(40,200,130,.24);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.08), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  appearance:none;
  -webkit-appearance:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .28s ease, border-color .28s ease, background .28s ease, box-shadow .28s ease;
  z-index:10001;
  flex:0 0 auto;
  outline:none;
  box-shadow:0 18px 34px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  color:var(--header-text);
}
@media (hover:hover) and (pointer:fine){
  .burger:hover{
    transform:translateY(-1px);
    border-color:rgba(40,200,130,.42);
    background:
      radial-gradient(circle at 30% 25%, rgba(255,255,255,.12), transparent 50%),
      linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    box-shadow:0 22px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.1);
  }
}
.burger:focus,.burger:focus-visible{outline:none;box-shadow:none}
.burger:active{transform:translateY(0)}
.burger::-moz-focus-inner{border:0;padding:0}
.burger span,
.burger::before,
.burger::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:15px;
  height:1.5px;
  background:currentColor;
  transition:transform .28s ease, opacity .22s ease, width .28s ease;
  border-radius:2px;
  transform-origin:center;
}
.burger span{transform:translate(-50%, -50%)}
.burger::before{transform:translate(-50%, calc(-50% - 5px))}
.burger::after{transform:translate(-50%, calc(-50% + 5px)); width:11px}
.burger[aria-expanded="true"] span{opacity:0; transform:translate(-50%, -50%) scaleX(.4)}
.burger[aria-expanded="true"]::before{width:15px; transform:translate(-50%, -50%) rotate(45deg)}
.burger[aria-expanded="true"]::after{width:15px; transform:translate(-50%, -50%) rotate(-45deg)}

/* mobile menu panel */
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:10000;
  -webkit-backdrop-filter:blur(24px) saturate(165%);
  backdrop-filter:blur(24px) saturate(165%);
  background:
    radial-gradient(1200px 800px at 16% 14%, rgba(32,180,134,.12), transparent 58%),
    radial-gradient(1000px 820px at 86% 18%, rgba(40,200,130,.16), transparent 60%),
    linear-gradient(180deg, rgba(7,12,10,.96) 0%, rgba(9,14,12,.97) 38%, rgba(13,12,10,.98) 100%);
  opacity:0;
  transform:scale(1.015);
  pointer-events:none;
  transition:opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1);
  padding-top:84px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  width:100vw;
  height:100vh;
  height:100svh;
  height:100dvh;
}
.mobile-menu::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg, rgba(255,255,255,.04), transparent 26%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.32));
}
.mobile-menu.open{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.mobile-inner{
  display:flex;
  flex-direction:column;
  gap:32px;
  padding:clamp(30px, 5vw, 64px);
  background:transparent;
  justify-content:space-between;
  align-items:stretch;
  width:100%;
  border-radius:0;
  min-height:calc(100vh - 64px);
  min-height:calc(100dvh - 64px);
  position:relative;
  z-index:1;
  max-width:1480px;
  margin:0 auto;
}
.menu-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(320px, .72fr);
  gap:clamp(32px, 5vw, 96px);
  align-items:center;
  flex:1 1 auto;
}
.menu-nav{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
}
.menu-link{
  position:relative;
  display:block;
  padding:20px 0 24px 48px;
  border-bottom:1px solid rgba(40,200,130,.10);
  color:var(--menu-ink);
  opacity:.72;
  transform:translate3d(0, 18px, 0);
  transition:transform .55s cubic-bezier(.2,.8,.2,1), opacity .45s ease, color .35s ease;
  font-size:clamp(34px, 4.5vw, 58px);
  font-weight:520;
  line-height:1.02;
  letter-spacing:-.01em;
  text-transform:none;
  text-align:left;
  background:none;
  border-radius:0;
  width:100%;
  max-width:none;
  margin:0;
}
.menu-link::before{
  content:attr(data-menu-index);
  position:absolute;
  top:24px;
  left:0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(40,200,130,.7);
}
.menu-link::after{
  content:attr(data-menu-meta);
  display:block;
  max-width:30ch;
  margin-top:11px;
  color:var(--menu-muted);
  font-size:14px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:.02em;
}
.mobile-menu.open .menu-link{opacity:.86;transform:translate3d(0,0,0)}
.mobile-menu.open .menu-link:nth-child(1){transition-delay:.04s}
.mobile-menu.open .menu-link:nth-child(2){transition-delay:.08s}
.mobile-menu.open .menu-link:nth-child(3){transition-delay:.12s}
.mobile-menu.open .menu-link:nth-child(4){transition-delay:.16s}
.mobile-menu.open .menu-link:nth-child(5){transition-delay:.20s}
.mobile-menu.open .menu-link:nth-child(6){transition-delay:.24s}
.mobile-menu.open .menu-link:nth-child(7){transition-delay:.28s}
.mobile-menu a[data-i18n="nav-academy"],
.mobile-menu .menu-link[data-i18n="nav-academy"]{
  display:none;
}
.menu-link:hover,.menu-link:focus{
  opacity:1;
  color:#fff8ed;
  transform:translate3d(8px,0,0);
  outline:none;
}
.menu-link:hover::after,.menu-link:focus::after{color:rgba(243,238,226,.9)}
.menu-aside{
  position:relative;
  padding:32px;
  border-radius:30px;
  border:1px solid var(--menu-line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    linear-gradient(180deg, var(--menu-panel), var(--menu-panel-strong));
  box-shadow:0 32px 80px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}
.menu-aside::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(420px 220px at 0% 0%, rgba(40,200,130,.16), transparent 64%),
    radial-gradient(480px 260px at 100% 100%, rgba(32,180,134,.12), transparent 70%);
}
.menu-aside > *{position:relative;z-index:1}
.menu-kicker{
  margin:0 0 16px;
  color:rgba(40,200,130,.78);
  font-size:11px;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
}
.menu-title{
  margin:0 0 14px;
  color:var(--menu-ink);
  font-size:clamp(20px, 2vw, 30px);
  font-weight:560;
  line-height:1.2;
  letter-spacing:.01em;
}
.menu-lead{
  margin:0;
  color:var(--menu-muted);
  font-size:15px;
  line-height:1.75;
  max-width:32ch;
}
.menu-contact{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:26px;
  color:var(--menu-ink);
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.menu-contact::after{
  content:"";
  width:14px;
  height:14px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg);
}
.menu-contact-meta{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(40,200,130,.14);
  color:var(--menu-soft);
  font-size:13px;
  line-height:1.7;
  max-width:28ch;
}
.menu-utility{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding-top:20px;
  border-top:1px solid rgba(40,200,130,.12);
}
.menu-utility-note{
  color:var(--menu-soft);
  font-size:12px;
  line-height:1.7;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:right;
  max-width:32ch;
}
body.menu-lock{overflow:hidden}

main{padding:96px 0 80px}
.page-hero{padding:0 0 26px}
.kicker{
  color:var(--kicker);
  font-size:12px;
  letter-spacing:.25em;
  text-transform:uppercase;
  margin-bottom:10px;
}
h1{
  margin:0 0 10px;
  font-size:42px;
  letter-spacing:.08em;
  line-height:1.12;
  color:var(--heading);
  overflow-wrap:anywhere;
  word-break:break-word;
  -webkit-hyphens:auto;
  hyphens:auto;
}
.lead{margin:0 0 14px;max-width:860px;color:var(--muted);line-height:1.8}
.grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:26px;
  align-items:start;
}
.grid.grid-2{grid-template-columns:1fr 1fr}
.grid.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){
  .grid{grid-template-columns:1fr}
  .grid.grid-2{grid-template-columns:1fr}
  .grid.grid-3{grid-template-columns:1fr}
}
.card{
  border:1px solid var(--card-border);
  background:var(--card-bg);
  padding:18px;
  box-shadow:var(--card-shadow);
  color:rgba(252,250,238,.92);
  max-width: 100%;
}
.card h2{
  margin:0 0 10px;
  font-size:16px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--section-heading);
}
.list{margin:0;padding:0 0 0 18px;color:rgba(252,250,238,.90);line-height:1.9}
.meta{font-size:12px;color:rgba(120, 200, 173, 0.62);letter-spacing:.16em;text-transform:uppercase}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  color:var(--cta);
  background:transparent;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  border: 0px;
}
.button:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,var(--cta),var(--cta-weak));
  color:#fcfaee;
  box-shadow:0 0 18px rgba(var(--cta-rgb),.28);
}
.arrow{
  width:16px;height:16px;
  border:2px solid currentColor;
  border-left:0;border-top:0;
  transform:rotate(-45deg);
}

/* loader */
#servolaLoader{padding:18px}
#servolaLoader *{max-width:100%}

/* preferences (language + theme) */
.prefs-fab{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
  color:var(--header-text);
  cursor:pointer;
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
  flex:0 0 auto;
}
.menu .prefs-fab{margin-left:8px}
.prefs-fab svg{width:20px;height:20px;opacity:.92}
.prefs-fab:hover{border-color:rgba(255,255,255,.35);transform:translateY(-1px)}
.prefs-fab:active{transform:translateY(0)}
@media (max-width:1180px){.prefs-fab{display:none}}

.prefs-tooltip{
  position:absolute;
  top:50%;
  right:calc(100% + 10px);
  transform:translateY(-50%) scale(.98);
  opacity:0;
  pointer-events:none;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid var(--prefs-border);
  background:var(--prefs-bg);
  color:var(--prefs-text);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
  -webkit-backdrop-filter:blur(12px) saturate(150%);
  backdrop-filter:blur(12px) saturate(150%);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  transition:opacity .18s ease, transform .18s ease;
}
.prefs-fab:hover .prefs-tooltip{opacity:1;transform:translateY(-50%) scale(1)}

.prefs-panel{
  position:fixed;
  top:82px;
  right:18px;
  width:340px;
  max-width:calc(100vw - 28px);
  background:var(--prefs-bg);
  border:1px solid var(--prefs-border);
  border-radius:16px;
  padding:14px;
  color:var(--prefs-text);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  backdrop-filter:blur(14px) saturate(150%);
  box-shadow:0 22px 80px rgba(0,0,0,.5);
  opacity:0;
  transform:translateY(-8px) scale(.985);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  z-index:10050;
}
.prefs-panel.open{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
@media (max-width:1180px){
  .prefs-panel{
    left:14px;
    right:14px;
    top:auto;
    bottom:14px;
    width:auto;
    max-height:calc(100vh - 140px);
    overflow:auto;
  }
}
.prefs-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.prefs-title{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--prefs-text)}
.prefs-close{
  width:36px;height:36px;
  border-radius:12px;
  border:1px solid var(--prefs-chip-border);
  background:var(--prefs-chip-bg);
  color:var(--prefs-text);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.prefs-close:hover{transform:translateY(-1px);border-color:rgba(212,175,55,.28)}
.prefs-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.prefs-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--prefs-muted)}
.prefs-seg{
  display:inline-flex;
  gap:0;
  border-radius:999px;
  border:1px solid var(--prefs-chip-border);
  background:var(--prefs-chip-bg);
  overflow:hidden;
}
.prefs-seg-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--prefs-text);
  padding:9px 12px;
  font-size:13px;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, opacity .18s ease;
}
.prefs-seg-btn[aria-pressed="true"]{
  background:linear-gradient(135deg, rgba(212,175,55,.20), rgba(32,180,134,.14));
  color:var(--prefs-text);
}
.prefs-seg-btn:hover{opacity:.95}
.prefs-langlist{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.prefs-langopt{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(252,250,238,.12);
  background:transparent;
  cursor:pointer;
  color:var(--prefs-text);
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
  text-align:left;
}
.prefs-langopt:hover{transform:translateY(-1px);background:rgba(255,255,255,.06);border-color:rgba(212,175,55,.22)}
.prefs-langopt.active{border-color:rgba(212,175,55,.45);background:linear-gradient(135deg, rgba(212,175,55,.14), rgba(32,180,134,.10))}
.prefs-langopt img{width:32px;height:24px;border-radius:0;object-fit:cover;flex:0 0 auto}
.prefs-langopt .langtext{display:flex;flex-direction:column;gap:2px;line-height:1}
.prefs-langopt .langcountry{font-size:14px}
.prefs-langopt .langlocale{font-size:12px;color:rgba(252,250,238,.72)}

.mobile-pref{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(40,200,130,.18);
  background:rgba(255,255,255,.03);
  padding:13px 18px;
  font:inherit;
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--menu-ink);
  opacity:.94;
  cursor:pointer;
  width:auto;
  text-align:left;
  transform:translateY(16px);
  transition:transform .55s cubic-bezier(.2,.8,.2,1), opacity .45s ease, background .28s ease, border-color .28s ease;
  margin-top:0;
  border-radius:999px;
  max-width:none;
  margin-left:0;
  margin-right:0;
  -webkit-tap-highlight-color:transparent;
}
.mobile-pref:active{transform:translateY(0);background:rgba(255,255,255,.06)}
.mobile-menu.open .mobile-pref{opacity:1;transform:translateY(0)}
.mobile-pref:hover,.mobile-pref:focus{
  opacity:1;
  outline:none;
  border-color:rgba(40,200,130,.4);
  background:rgba(255,255,255,.06);
}
@media (max-width:980px){
  .mobile-menu{padding-top:78px}
  .mobile-inner{padding:24px 20px 28px}
  .menu-grid{grid-template-columns:1fr;align-items:start;gap:24px}
  .menu-link{
    padding:16px 0 18px;
    font-size:clamp(28px, 8vw, 42px);
  }
  .menu-link::before{
    position:static;
    display:block;
    margin-bottom:10px;
  }
  .menu-aside{
    padding:24px;
    border-radius:24px;
  }
  .menu-utility{
    flex-direction:column;
    align-items:flex-start;
  }
  .menu-utility-note{
    text-align:left;
  }
}

/* offers */
.page-offers main{padding-bottom:120px}
.page-offers section{padding:72px 0}
.offer-divider{
  height:6px;
  margin:90px 0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent, rgba(212,175,55,.26), rgba(32,180,134,.18), transparent);
  opacity:.9;
  filter:blur(.2px);
}
.page-offers .grid{gap:40px}
.page-offers .card{
  padding:26px;
  border-radius:22px;
}
html[data-theme="dark"] .page-offers .card{
  background:linear-gradient(180deg, rgba(9, 20, 16, 0.78), rgba(9, 20, 16, 0.42));
  box-shadow:0 22px 70px rgba(0,0,0,.38);
}
.page-offers .card h2{font-size:18px}
.page-offers .offers-group{display:flex;flex-direction:column;gap:26px}
.offers-group-head{max-width:980px}
.offers-group-title{
  margin:0 0 10px;
  font-size:24px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.offers-group-points{margin:10px 0 0;padding-left:18px}
.offers-group-note{margin:14px 0 0}
.offers-tier-grid{margin-top:16px}
.offers-extras{margin-top:16px}
.offers-scope{margin-top:6px}
.card--cta{
  border-color:rgba(212,175,55,.24);
  background:
    radial-gradient(800px 420px at 18% 18%, rgba(212,175,55,.12), transparent 62%),
    radial-gradient(800px 420px at 82% 22%, rgba(32,180,134,.10), transparent 64%),
    linear-gradient(180deg, rgba(12, 18, 15, 0.86), rgba(9, 20, 16, 0.46));
}
.button--glow{
  position:relative;
  overflow:hidden;
}
.button--glow::after{
  content:"";
  position:absolute;
  inset:-50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.22), transparent 50%);
  transform:translateX(-30%) rotate(18deg);
  opacity:0;
  transition:opacity .25s ease;
}
.button--glow:hover::after{opacity:.55}
.offer-price{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(212,175,55,.16);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(252,250,238,.92);
}
.offer-specs{
  margin:14px 0 12px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(8, 14, 12, .32);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
}
.offer-specs{color:rgba(252,250,238,.92)}
html[data-theme="light"] .offer-specs{
  border:0;
  background:transparent;
  padding:0;
  margin:16px 0 12px;
  gap:8px 18px;
}
.offer-specs div{display:flex;flex-direction:column;gap:4px;min-width:0}
.offer-specs dt{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(252,250,238,.62);
}
.offer-specs dt{color:rgba(8, 14, 12, .62)}
html[data-theme="dark"] .offer-specs dt{color:rgba(252,250,238,.62)}
.offer-specs dd{
  margin:0;
  font-size:13px;
  letter-spacing:.02em;
  color:rgba(252,250,238,.92);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
html[data-theme="light"] .offer-specs dd{color:rgba(8, 14, 12, .92)}
@media (max-width:560px){
  .offer-specs{grid-template-columns:1fr}
  .offer-specs dd{white-space:normal}
}
.offer-block{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.offer-block::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  opacity:.28;
  background:
    radial-gradient(900px 520px at 12% 18%, rgba(32,180,134,.18), transparent 62%),
    radial-gradient(900px 520px at 82% 22%, rgba(212,175,55,.14), transparent 66%);
}
.offer-block > .container{position:relative;z-index:1}
.page-offers .offer-block--co::before{
  opacity:.32;
  background:
    radial-gradient(900px 520px at 16% 22%, rgba(212,175,55,.18), transparent 64%),
    radial-gradient(900px 520px at 84% 30%, rgba(32,180,134,.12), transparent 68%);
}

/* contact form */
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(252,250,238,.68)}
input,textarea{
  appearance:none;
  border-radius:12px;
  border:1px solid rgba(212,175,55,.16);
  background:rgba(10,14,12,.45);
  color:var(--text);
  padding:12px 12px;
  outline:none;
}
html[data-theme="light"] input,
html[data-theme="light"] textarea{
  color:rgba(252,250,238,.92);
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{
  color:rgba(252,250,238,.70);
}
textarea{min-height:140px;resize:vertical}
input:focus,textarea:focus{border-color:rgba(212,175,55,.4)}
.form-actions{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:10px}
.form-status{grid-column:1/-1;display:none;padding:12px;border-radius:12px;border:1px solid rgba(40,200,130,.22);background:rgba(7,12,10,.45);color:rgba(252,250,238,.92)}
.form-status.show{display:block}
.form-note{color:rgba(243,247,244,.5);font-size:13px;line-height:1.5;margin:0;max-width:54ch}
@media (max-width:840px){.contact-form{grid-template-columns:1fr}}

/* footer */
footer{
  background:var(--footer-bg);
  color:#fcfaee;
  padding:80px 0 0 40px;
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:14px;
  line-height:1.8;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100vh;
  position:relative;
  overflow:hidden;
}
.footer-wrap{width:100%;max-width:1400px;margin:0 auto;padding:20px 24px 40px;display:flex;flex-direction:column;gap:32px;position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px 64px}
.footer-col-title{font-size:14px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
footer ul{list-style:none;margin:0;padding:0}
footer ul li{color:#e7e7e7;opacity:.9;margin-bottom:4px}
footer ul li:hover{opacity:1}
footer a{
  color:inherit;
  text-decoration:none;
  position:relative;
  display:inline-block;
  padding-bottom:1px;
}
footer a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 240ms cubic-bezier(.2,.7,.2,1);
}
footer a:hover,
footer a:focus-visible{
  text-decoration:none;
  outline:none;
}
footer a:hover::after,
footer a:focus-visible::after{
  transform:scaleX(1);
}
.footer-lang{display:flex;justify-content:flex-end;align-items:flex-start}
.footer-bottom{margin-top:0;border-top:1px solid #1a1a1a;padding-top:18px;font-size:12px;color:rgb(172,166,159);display:flex;flex-direction:column;gap:8px}
.legal-info p{margin:0;color:rgb(172,166,159);font-size:12px;line-height:1.6}
.lower{margin-top:36px}
@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-lang{justify-content:flex-start}
}
@media (max-width:560px){
  .footer-grid{display:flex;flex-direction:column-reverse;gap:28px}
}

/* footer language selector */
.langbox{
  display:inline-flex;align-items:center;gap:10px;
  padding:0;border:0;border-radius:0;background:transparent;
  cursor:pointer;position:relative;min-width:170px;
}
.langbox img{width:42px;height:28px;object-fit:cover;border-radius:0}
.langtext{display:flex;flex-direction:column;line-height:1.1;color:#fcfaee}
.langcountry{font-size:14px}
.langlocale{font-size:12px;color:#bcbcbc}
.chev{margin-left:auto;color:#bcbcbc}
.lang-panel{
  position:absolute;top:calc(100% + 10px);right:0;
  background:rgba(25,24,23,.98);
  border:0;border-radius:12px;padding:12px;
  display:none;box-shadow:0 18px 60px rgba(0,0,0,.45);
  min-width:220px;max-width:calc(100vw - 32px);z-index:12000;
}
.lang-panel.open{display:grid;gap:8px}
.lang-option{
  display:flex;align-items:center;gap:10px;
  padding:8px;border-radius:10px;cursor:pointer;
  transition:background .2s ease;color:#fcfaee;
}
.lang-option:hover{background:rgba(255,255,255,.06)}
.lang-option img{width:42px;height:28px;object-fit:cover;border-radius:0}

@media (max-width:360px){
  .langbox{min-width:0}
  .langbox img{width:36px;height:24px}
  .lang-option img{width:36px;height:24px}
  .langcountry{font-size:13px}
}
	@media (max-width: 1440px) {
			.menu {
				font-size: 10px;
			}
		}


/* ===== AWARD SUBPAGE SYSTEM (match homepage) ===== */
:root{ --acc:40,200,130; --ink:#f3f7f4; }
html[data-theme="dark"]{
  --bg0:#06160e; --bg1:#04100b;
  --cta:#28c882; --cta-weak:#1a9d63; --cta-rgb:40,200,130;
  --data-blue:40,200,130; --data-gold:40,200,130;
  --card-bg:rgba(40,200,130,.05); --card-border:rgba(40,200,130,.18); --card-shadow:none;
}
html[data-theme="dark"]{ background:#04100b; }
html[data-theme="dark"] body{ color:#f3f7f4; }
body{ font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; }
h1,h2,h3,.page-hero h1,.card h2{ font-family:"Space Grotesk",system-ui,sans-serif !important; font-weight:600 !important; color:var(--ink) !important; letter-spacing:-0.02em !important; text-transform:none !important; }
.page-hero h1, h1{ font-size:clamp(40px,6vw,92px) !important; line-height:1.0 !important; }
.kicker,.meta,label{ font-family:"Space Mono",monospace !important; text-transform:uppercase !important; letter-spacing:.24em !important; font-size:11px !important; color:rgb(var(--acc)) !important; }
.page-hero .lead, .lead, p, li{ font-family:"Inter",system-ui,sans-serif !important; color:rgba(243,247,244,.7) !important; }
.button{ font-family:"Space Mono",monospace !important; text-transform:uppercase; letter-spacing:.12em; font-size:11px !important; font-weight:700 !important; background:rgb(var(--acc)) !important; color:#04120b !important; border:1px solid rgb(var(--acc)) !important; border-radius:0 !important; box-shadow:none !important; padding:15px 24px !important; transition:background .35s,color .35s,transform .35s; }
.button:hover{ background:transparent !important; color:rgb(var(--acc)) !important; transform:translateY(-2px); }
.button .arrow{ filter:none; }
html[data-theme="dark"] .card{ background:rgba(40,200,130,.045) !important; border:1px solid rgba(40,200,130,.16) !important; box-shadow:none !important; border-radius:0 !important; }
.field input, .field textarea, input, textarea{ border-radius:0 !important; border-color:rgba(40,200,130,.22) !important; background:rgba(255,255,255,.02) !important; font-family:"Inter",system-ui,sans-serif !important; }
.field input:focus, .field textarea:focus{ border-color:rgb(var(--acc)) !important; outline:none; }
/* ===== /AWARD SUBPAGE SYSTEM ===== */

/* AWARD UNDERLINES */
header nav.menu a, footer a{ position:relative; }
header nav.menu a::after, footer a::after{ content:""; position:absolute; left:0; bottom:-3px; width:100%; height:1px; background:rgb(var(--acc)); transform:scaleX(0); transform-origin:right; transition:transform .45s cubic-bezier(.7,0,.3,1); }
header nav.menu a:hover::after, footer a:hover::after{ transform:scaleX(1); transform-origin:left; }

/* ===== AWARD DESIGN LANGUAGE (shared with homepage hero) ===== */
.award-grain{ position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
/* Scroll reveal */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1); }
.reveal.is-visible{ opacity:1; transform:none; }
/* Kinetic word reveal */
.kinetic .kw{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.1em; margin-bottom:-.1em; }
.kinetic .kw-i{ display:inline-block; transform:translateY(110%); opacity:0; transition:transform .95s cubic-bezier(.16,.84,.3,1), opacity .95s ease; }
.kinetic.is-visible .kw-i{ transform:translateY(0); opacity:1; }
/* Custom cursor */
body.has-cursor, body.has-cursor a, body.has-cursor button, body.has-cursor .button, body.has-cursor .hero-cta{ cursor:none !important; }
.cursor-dot{ position:fixed; top:0; left:0; width:7px; height:7px; border-radius:50%; background:rgb(var(--acc)); pointer-events:none; z-index:10001; transform:translate(-50%,-50%); }
.cursor-ring{ position:fixed; top:0; left:0; width:36px; height:36px; border:1px solid rgba(var(--acc),.55); border-radius:50%; pointer-events:none; z-index:10001; transform:translate(-50%,-50%); transition:width .3s,height .3s,border-color .3s,background-color .3s; }
.cursor-ring.hover{ width:62px; height:62px; border-color:rgb(var(--acc)); background:rgba(var(--acc),.06); }
@media (pointer:coarse){ .cursor-dot,.cursor-ring{ display:none!important; } body.has-cursor{ cursor:auto!important; } }
/* Page transition overlay */
.page-transition{ position:fixed; inset:0; z-index:10002; background:#04120b; transform:translateY(101%); pointer-events:none; will-change:transform; }
.page-transition.cover{ transform:translateY(0); transition:transform .5s cubic-bezier(.76,0,.24,1); }

/* ===== AWARD SUBPAGE LAYOUT (editorial craft, match homepage) ===== */
/* Breathing hero with green-depth glow */
.page-hero{ padding:clamp(118px,17vh,205px) 0 clamp(44px,7vh,92px) !important; position:relative; }
.page-hero::before{ content:""; position:absolute; top:-120px; left:0; right:0; height:720px; pointer-events:none; z-index:0; background:radial-gradient(120% 92% at 26% 0%, rgba(40,200,130,.18) 0%, rgba(40,200,130,.06) 32%, transparent 64%); }
.page-hero > .container{ position:relative; z-index:1; }
.page-hero .kicker{ margin:0 0 26px !important; display:block; }
.page-hero h1{ max-width:17ch; margin:0 !important; }
.page-hero .lead{ max-width:60ch; font-size:clamp(17px,1.55vw,22px) !important; line-height:1.55 !important; color:rgba(243,247,244,.78) !important; margin:26px 0 0 !important; }
.page-hero .lead + .lead{ margin-top:16px !important; }
/* Section rhythm + editorial dividers */
main > section{ padding:clamp(60px,9vh,118px) 0 !important; }
main > section + section{ border-top:1px solid rgba(40,200,130,.13); }
.container.grid{ gap:clamp(34px,4.6vw,82px) !important; align-items:start; }
/* De-box content cards into editorial blocks */
html[data-theme="dark"] .card{ background:transparent !important; border:0 !important; border-top:1px solid rgba(40,200,130,.24) !important; border-radius:0 !important; box-shadow:none !important; padding:30px 0 0 !important; }
.card h2{ font-size:clamp(22px,2.5vw,36px) !important; margin:0 0 18px !important; line-height:1.06 !important; }
.card .lead, .card p{ font-size:clamp(15px,1.15vw,17px) !important; line-height:1.62 !important; color:rgba(243,247,244,.72) !important; }
.list{ line-height:1.85 !important; }
/* Forms and explicit CTA cards keep a quiet panel */
html[data-theme="dark"] .card--cta{ background:rgba(40,200,130,.05) !important; border:1px solid rgba(40,200,130,.2) !important; padding:clamp(26px,3vw,42px) !important; }
html[data-theme="dark"] .card:has(form), html[data-theme="dark"] .card:has(input), html[data-theme="dark"] .card:has(textarea){ background:rgba(40,200,130,.05) !important; border:1px solid rgba(40,200,130,.2) !important; padding:clamp(26px,3vw,42px) !important; }
@media(max-width:820px){ .page-hero h1{ max-width:none; } }

/* ===== Subpage hero WebGL field ===== */
.page-hero{ overflow:hidden; }
.page-hero canvas.hero-gl{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; pointer-events:none; }
.page-hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:62%; z-index:0; pointer-events:none; background:linear-gradient(180deg, rgba(4,16,11,0), rgba(4,16,11,.5) 52%, rgba(4,16,11,.95)); }
.page-hero > .container{ position:relative; z-index:1; }

/* ===== EDITORIAL SUBPAGE SYSTEM (bespoke key pages) ===== */
.hero-meta{ display:flex; align-items:center; font-family:"Space Mono",monospace; text-transform:uppercase; letter-spacing:.22em; font-size:11px; color:rgba(243,247,244,.55); margin:0 0 30px; }
.hero-meta span{ position:relative; padding:0 18px; }
.hero-meta span:first-child{ padding-left:0; }
.hero-meta span + span::before{ content:""; position:absolute; left:0; top:50%; width:1px; height:12px; background:rgba(40,200,130,.45); transform:translateY(-50%); }
.lead--xl{ font-size:clamp(20px,2.3vw,32px) !important; line-height:1.45 !important; color:rgba(243,247,244,.92) !important; max-width:26ch !important; }
.sub-sec > .container{ display:grid; grid-template-columns:minmax(160px,220px) minmax(0,1fr); gap:clamp(36px,7vw,130px); align-items:start; }
.sub-sec-label{ font-family:"Space Mono",monospace; text-transform:uppercase; letter-spacing:.2em; font-size:12px; color:rgba(243,247,244,.5); position:sticky; top:118px; align-self:start; }
.sub-sec-body{ max-width:66ch; }
.sub-sec-body h2{ font-size:clamp(28px,3.4vw,52px) !important; line-height:1.05 !important; margin:0 0 26px !important; }
.sub-sec-body .lead{ font-size:clamp(18px,1.5vw,22px) !important; line-height:1.55 !important; color:rgba(243,247,244,.82) !important; max-width:58ch; margin:0 0 22px !important; }
.sub-sec-body .list{ line-height:1.9 !important; max-width:62ch; }
.statement-text{ font-family:"Space Grotesk",system-ui,sans-serif; font-weight:600; font-size:clamp(30px,5vw,82px); line-height:1.06; letter-spacing:-0.025em; max-width:20ch; color:var(--ink); margin:0; }
.statement-text em{ font-style:normal; color:rgb(var(--acc)); }
.spec-grid{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(40,200,130,.22); }
.spec{ padding:28px 20px 10px; border-left:1px solid rgba(40,200,130,.14); }
.spec:first-child{ border-left:0; padding-left:0; }
.spec-k{ display:block; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(243,247,244,.45); margin-bottom:12px; }
.spec-v{ font-family:"Space Grotesk",system-ui,sans-serif; font-size:clamp(20px,2vw,30px); color:var(--ink); line-height:1.08; }
.closing{ min-height:58vh; display:flex; align-items:center; }
.closing-text{ font-family:"Space Grotesk",system-ui,sans-serif; font-weight:600; font-size:clamp(30px,4.6vw,74px); line-height:1.05; letter-spacing:-0.02em; max-width:20ch; margin:0 0 36px; }
.closing-text em{ font-style:normal; color:rgb(var(--acc)); }
/* Manifesto-style scroll word-fill for big statement / closing text (subpages) */
.statement-text.scrollfill, .closing-text.scrollfill{ opacity:1 !important; transform:none !important; }
.statement-text.scrollfill .sw, .closing-text.scrollfill .sw{ display:inline-block; color:rgba(243,247,244,.14); transition:color .28s linear; }
.statement-text.scrollfill .sw.acc, .closing-text.scrollfill .sw.acc{ color:rgba(40,200,130,.18); }
.statement-text.scrollfill .sw.lit, .closing-text.scrollfill .sw.lit{ color:#f3f7f4; }
.statement-text.scrollfill .sw.acc.lit, .closing-text.scrollfill .sw.acc.lit{ color:rgb(var(--acc)); }
.closing-actions{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.closing-meta{ font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.08em; color:rgba(243,247,244,.55); }
@media(max-width:860px){
  .sub-sec > .container{ grid-template-columns:1fr; gap:16px; }
  .sub-sec-label{ position:static; }
  .spec-grid{ grid-template-columns:1fr 1fr; }
  .spec:nth-child(odd){ border-left:0; padding-left:0; }
}

/* ===== Subpage hero fills behind the fixed header (no gap / no cut) ===== */
main:has(> .page-hero){ padding-top:0 !important; }
.page-hero{ padding-top:clamp(130px,18vh,212px) !important; }

/* ===== Maritime editorial sections (.section-grid) ===== */
.section-grid{ display:grid !important; grid-template-columns:minmax(180px,360px) minmax(0,1fr) !important; gap:clamp(34px,6vw,120px) !important; align-items:start; }
.section-head{ position:sticky; top:118px; }
.section-title{ font-family:"Space Grotesk",system-ui,sans-serif !important; font-weight:600 !important; font-size:clamp(25px,2.9vw,44px) !important; line-height:1.08 !important; letter-spacing:-0.02em !important; margin:0 !important; }
.section-body .lead{ font-size:clamp(17px,1.45vw,21px) !important; line-height:1.6 !important; color:rgba(243,247,244,.78) !important; max-width:62ch; }
.section-body p + p{ margin-top:18px; }
@media(max-width:860px){ .section-grid{ grid-template-columns:1fr !important; gap:14px !important; } .section-head{ position:static; } }




/* polish: selection, scroll progress, footer clock */
::selection{ background:rgba(40,200,130,.3); color:#f3f7f4; }
.scroll-progress{ position:fixed; top:0; left:0; height:2px; width:0; background:rgb(var(--acc)); z-index:10050; pointer-events:none; }
.footer-clock{ font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(243,247,244,.45); padding-bottom:14px; }
