/*
 * Six Eyes V2 design system (shared by every V2 page).
 * Scoped to body.sev2 so nothing here touches legacy pages.
 * Tokens: approved Distribution v7 system. Type: Archivo (width axis 125%), Space Grotesk, JetBrains Mono.
 */

/* ---------- Fonts (self-hosted, latin subset, OFL) ---------- */
@font-face{font-family:"Archivo";font-style:normal;font-weight:500 900;font-stretch:125%;font-display:swap;src:url("../fonts/archivo-125-latin.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/space-grotesk-latin.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 800;font-display:swap;src:url("../fonts/jetbrains-mono-latin.woff2") format("woff2")}

/* Metric-matched fallbacks: the page first paints with a face of near-identical width and line-height, so the web-font swap does not move text. */
@font-face{font-family:"Space Grotesk Fallback";font-style:normal;font-weight:400 700;src:local("Arial");size-adjust:111.3%;ascent-override:88.4%;descent-override:26.2%;line-gap-override:0%}
@font-face{font-family:"Archivo Fallback";font-style:normal;font-weight:700 900;src:local("Arial Bold"),local("Arial");size-adjust:122.1%;ascent-override:71.9%;descent-override:17.2%;line-gap-override:0%}
@font-face{font-family:"JetBrains Mono Fallback";font-style:normal;font-weight:400 600;src:local("Arial");size-adjust:134.2%;ascent-override:76%;descent-override:22.3%;line-gap-override:0%}

/* ---------- Tokens ---------- */
body.sev2{
  --se-bg:#07070B; --se-deep:#0A0A0E; --se-s900:#0F1015; --se-s800:#121318; --se-s700:#16171D; --se-s600:#1C1D24; --se-s500:#26272E; --se-s-ink:#0B0B10;
  --se-head:#EEEBE4; --se-primary:#CFCBD3; --se-body:#A9A5B4; --se-muted:#8A8698; --se-dim:#86828F; /* Distribution token is #63606E (3.0:1 on card surfaces). Raised to pass WCAG AA 4.5:1; revert here if the original grey is preferred. */ --se-faint:#3D3D45;
  --se-lime:#B7E45A; --se-lime-cta:#BFEC5C; --se-lime-hover:#CCF27A; --se-lime-soft:#CDEE8A;
  --se-violet:#7C5CE7; --se-violet-mid:#8A6EEA; --se-violet-light:#A493F0; --se-violet-pale:#BDB0F5; --se-violet-deep:#5A45B5;
  --se-line:rgba(226,228,240,.07); --se-line-1:rgba(226,228,240,.06); --se-line-2:rgba(226,228,240,.09); --se-line-3:rgba(226,228,240,.13);
  --se-line-lime:rgba(183,228,90,.30); --se-line-violet:rgba(124,92,231,.32);
  --se-glow-lime:0 0 28px -8px rgba(191,236,92,.45);
  --se-ease:cubic-bezier(.16,1,.3,1);
  --f-display:"Archivo","Archivo Fallback","Helvetica Neue",Arial,sans-serif;
  --f-sans:"Space Grotesk","Space Grotesk Fallback","Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono","JetBrains Mono Fallback",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --se-gutter:clamp(20px,4vw,48px);
  --se-max:1200px;
  --se-header-h:84px;
}

/* ---------- Base (scoped, zero specificity so component classes always win) ---------- */
body.sev2{margin:0;background:var(--se-bg);color:var(--se-body);font-family:var(--f-sans);font-size:16px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;overflow-x:clip}
:where(body.sev2) *,:where(body.sev2) *::before,:where(body.sev2) *::after{box-sizing:border-box}
:where(body.sev2) :is(h1,h2,h3,p,ul,ol,figure){margin:0;padding:0}
:where(body.sev2) :is(ul,ol){list-style:none}
:where(body.sev2) a{color:inherit;text-decoration:none}
:where(body.sev2) button{font:inherit;color:inherit;margin:0}
:where(body.sev2) :is(img,svg){display:block;max-width:100%}
.sev2 ::selection{background:var(--se-lime);color:#07070B}
.sev2 :is(a,button,summary):focus-visible{outline:2px solid var(--se-lime);outline-offset:2px}
.sev2 [hidden]{display:none!important}
.sev2 .se-ic{width:1em;height:1em;overflow:hidden}
.sev2 .is-pending{cursor:default}
.sev2 [id]{scroll-margin-top:calc(var(--se-header-h) + 16px)}
.se-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:6px;background:var(--se-lime-cta);color:#07070B;font-weight:700;transition:top .2s}
.se-skip:focus{top:12px}
.se-wrap{max-width:var(--se-max);margin:0 auto;padding-inline:var(--se-gutter)}

/* ---------- Display type ---------- */
.se-h1,.se-h2,.se-h3{font-family:var(--f-display);font-stretch:125%;color:var(--se-head);text-wrap:balance}
.se-h1{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.98;font-size:clamp(34px,4.3vw,56px)}
/* Standard sentence-case section heading (most inner sections) */
.se-h2{font-weight:700;text-transform:none;letter-spacing:-.03em;line-height:1.1;font-size:clamp(26px,2.8vw,38px)}
/* Uppercase anchor heading (a few major sections) */
.se-h2--anchor{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:1.02;font-size:clamp(26px,3vw,40px)}
.se-h3{font-weight:600;text-transform:uppercase;letter-spacing:-.02em;line-height:1.2;font-size:clamp(16px,1.35vw,19px)}
.se-accent{color:var(--se-violet-light)}
.se-lead{font-size:16px;line-height:1.65;color:var(--se-body);text-wrap:pretty}
.se-mono{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:none}

/* ---------- Eyebrow (small uppercase label + short lime rule) ---------- */
.se-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--se-primary);line-height:1.4}
.se-eyebrow::before{content:"";flex:0 0 20px;width:20px;height:1.5px;border-radius:2px;background:var(--se-lime)}
@media (max-width:720px){.se-eyebrow{letter-spacing:.12em;font-size:11px}}

/* ---------- Buttons ---------- */
.se-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:6px;font-family:var(--f-sans);font-weight:700;line-height:1.1;letter-spacing:0;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background 160ms var(--se-ease),color 160ms var(--se-ease),border-color 160ms var(--se-ease),box-shadow 240ms var(--se-ease),transform 160ms var(--se-ease)}
.se-btn:active{transform:scale(.985)}
.se-btn--sm{padding:9px 14px;font-size:13px;min-height:34px}
.se-btn--md{padding:13px 22px;font-size:15px;min-height:44px}
.se-btn--lg{padding:16px 26px;font-size:16px;min-height:52px}
.se-btn--primary{background:var(--se-lime-cta);color:#07070B}
.se-btn--primary:hover{background:var(--se-lime-hover);box-shadow:var(--se-glow-lime)}
.se-btn--secondary{background:var(--se-s700);color:var(--se-head);border-color:rgba(226,228,240,.08)}
.se-btn--secondary:hover{background:var(--se-s600)}
.se-btn__arrow{display:inline-block;transition:transform 160ms var(--se-ease)}
.se-btn:hover .se-btn__arrow{transform:translateX(3px)}
.se-btn.is-pending:active{transform:none}

/* ---------- Arrow link ---------- */
.se-link{display:inline-flex;gap:8px;align-items:baseline;font-family:var(--f-sans);font-size:15px;font-weight:600;color:var(--se-lime);transition:color 160ms var(--se-ease)}
.se-link:hover{color:var(--se-lime-soft)}
.se-link__arrow{display:inline-block;transition:transform 200ms var(--se-ease)}
.se-link:hover .se-link__arrow{transform:translateX(3px)}
.se-link--muted{color:var(--se-body)}

/* ---------- Header ---------- */
.se-header{position:sticky;top:0;z-index:50;background:rgba(7,7,11,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--se-line-1)}
.admin-bar .se-header{top:32px}
@media (max-width:782px){.admin-bar .se-header{top:46px}}
.se-header__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:var(--se-header-h);max-width:1520px;padding-inline:clamp(20px,3.2vw,48px)}
.se-header__logo{display:flex;align-items:center;justify-self:start;min-height:44px}
.se-header__logo img{height:36px;width:auto;aspect-ratio:240/101}
/* centre zone: a contained navigation surface */
.se-nav{display:none;align-items:center;gap:2px;padding:5px;border-radius:14px;background:rgba(226,228,240,.035);border:1px solid var(--se-line-2)}
.se-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:10px;font-size:15px;font-weight:500;color:var(--se-body);white-space:nowrap;transition:color 160ms var(--se-ease),background 160ms var(--se-ease)}
.se-nav a:hover{color:var(--se-head);background:rgba(226,228,240,.06)}
.se-header__end{justify-self:end;display:flex;align-items:center;gap:10px}
.se-header__login{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:10px;font-size:15px;font-weight:500;color:var(--se-body);white-space:nowrap;transition:color 160ms var(--se-ease),background 160ms var(--se-ease)}
.se-header__login:hover{color:var(--se-head);background:rgba(226,228,240,.06)}
.se-header__end .se-btn--sm{min-height:48px;padding:0 24px;font-size:15px;border-radius:10px}
.se-menu-btn{display:grid;gap:4px;width:44px;height:44px;place-content:center;border-radius:6px;background:transparent;border:1px solid var(--se-line-1);cursor:pointer}
.se-menu-btn span{display:block;width:16px;height:1.5px;background:var(--se-head);transition:transform 200ms var(--se-ease),opacity 200ms}
.se-menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.se-menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.se-menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.se-mobile-nav{border-top:1px solid var(--se-line-1);background:var(--se-deep);padding:10px var(--se-gutter) 18px;display:grid}
.se-mobile-nav a{display:block;padding:13px 4px;border-bottom:1px solid var(--se-line-1);font-size:15px;color:var(--se-body)}
.se-mobile-nav a:hover{color:var(--se-head)}
@media (min-width:1000px){.se-nav{display:flex}.se-menu-btn,.se-mobile-nav{display:none!important}}
@media (max-width:999px){body.sev2{--se-header-h:68px}.se-header__in{grid-template-columns:auto 1fr;gap:12px}.se-header__logo img{height:28px}.se-header__end .se-btn--sm{min-height:44px;padding:0 18px}}
@media (max-width:420px){.se-header__in{gap:8px}.se-header__end{gap:4px}.se-header__login{padding:0 10px}}

/* ---------- Footer: the original site footer (Elementor template #862), rebuilt 1:1 as lightweight markup ----------
   Geometry, type sizes and colours are the original's. Only text that was 25% white (2.4:1) is raised to 50% for AA contrast. */
.se-footer{border-top:1px solid var(--se-line-1);background:#080810}
.sf{padding:80px 0 52px}
.sf .se-wrap{max-width:1280px;padding-inline:20px}
.sf__top{display:grid;grid-template-columns:379px minmax(0,1fr);gap:20px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.06)}
.sf__brand{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.sf__logo{display:block;width:106px;height:106px}
.sf__about{max-width:280px;font-size:14px;font-weight:300;line-height:1.5;color:rgba(240,238,255,.5)}
.sf__social{display:flex;flex-wrap:wrap;gap:11px}
.sf__social a{display:grid;place-items:center;width:36px;height:36px;border-radius:5px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);color:rgba(240,238,255,.5);transition:background 300ms,border-color 300ms}
.sf__social a:hover{background:rgba(124,58,237,.1);border-color:rgba(124,58,237,.4)}
.sf__social svg{width:16px;height:16px}
.sf__cols{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sf__col{min-width:0}
.sf__h{margin-bottom:20px;font-family:var(--f-mono);font-size:10px;font-weight:800;letter-spacing:1.7px;line-height:10px;text-transform:uppercase;color:rgba(240,238,255,.5)}
.sf li{display:flex}
.sf__col ul{display:grid;gap:10px}
.sf__col a{display:inline-block;font-size:14px;font-weight:400;line-height:1.65;color:rgba(240,238,255,.5);transition:color 300ms}
.sf__col a:hover,.sf__legal a:hover{color:#F0EEFF}
.sf__col a.is-pending:hover,.sf__legal a.is-pending:hover{color:rgba(240,238,255,.5)}
.sf__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;padding-top:27px}
.sf__copy{font-family:var(--f-mono);font-size:12.5px;font-weight:400;letter-spacing:.3px;line-height:1.5;color:rgba(240,238,255,.5)}
.sf__badges{display:flex;flex-wrap:wrap;gap:10px}
.sf__badges li{padding:6px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);font-family:var(--f-mono);font-size:9.5px;font-weight:600;line-height:10px;color:rgba(240,238,255,.5)}
.sf__legal{display:flex;flex-wrap:wrap;gap:8px 20px}
.sf__legal a{display:inline-block;font-family:var(--f-mono);font-size:12.5px;font-weight:400;line-height:1.5;color:rgba(240,238,255,.5);transition:color 300ms}
@media (max-width:1024px){.sf__top{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){
  .sf{padding:50px 0}
  .sf .se-wrap{padding-inline:10px}
  .sf__top{padding-bottom:30px}
  .sf__cols{grid-template-columns:minmax(0,1fr);gap:40px}
  .sf__bottom{flex-direction:column;justify-content:center;text-align:center}
  .sf__badges,.sf__legal{justify-content:center}
}

/* ---------- Reusable: FAQ accordion ---------- */
.se-faq{display:grid;gap:10px;min-width:0}
.se-faq__item{background:var(--se-s800);border:1px solid var(--se-line-1);border-radius:12px;overflow:hidden;transition:border-color 240ms var(--se-ease)}
.se-faq__item:hover,.se-faq__item.is-open{border-color:var(--se-line-3)}
.se-faq__q{margin:0;font:inherit}
.se-faq__btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 18px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--se-primary);font-family:var(--f-sans);font-size:14px;font-weight:500;line-height:1.5;min-height:48px}
.is-open>.se-faq__q .se-faq__btn{color:var(--se-head)}
.se-faq__chev{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:var(--se-s700);color:var(--se-muted);font-size:11px;transition:transform 240ms var(--se-ease),color 160ms var(--se-ease)}
.se-faq__chev::before{content:"\25BE"}
.is-open>.se-faq__q .se-faq__chev{transform:rotate(180deg);color:var(--se-lime)}
.se-faq__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows 420ms var(--se-ease),visibility 0s 420ms}
.is-open>.se-faq__panel{grid-template-rows:1fr;visibility:visible;transition-delay:0s}
.se-faq__panel>div{overflow:hidden}
.se-faq__a{padding:0 18px 18px;font-size:14px;line-height:1.7;color:var(--se-body)}
.se-faq__a a{color:var(--se-lime);font-weight:600}
.se-faq__a a:hover{color:var(--se-lime-soft)}

/* ---------- Touch targets (coarse pointers): keep controls near 44px ---------- */
@media (pointer:coarse){
  .se-link,.se-header__login,.se-footer__nav a{min-height:44px;display:inline-flex;align-items:center}
  .se-faq__btn{min-height:52px}
}

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion:reduce){
  .sev2 *,.sev2 *::before,.sev2 *::after{transition-duration:0ms!important;transition-delay:0ms!important;animation-duration:0.001ms!important;animation-delay:0ms!important;scroll-behavior:auto!important}
}
