/* G-Nook front page (intro v2): cinematic adventure look. Scoped to .gi-*; nothing here touches any other page.
   Palette: black / deep purple / gold, with bright jungle-ruin pops (cyan, magenta, emerald, orange). Fonts are self-hosted (Barlow, SIL OFL). */
@font-face{font-family:"GI Display";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/intro/fonts/barlowcond-600.woff2) format("woff2")}
@font-face{font-family:"GI Display";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/intro/fonts/barlowcond-700.woff2) format("woff2")}
@font-face{font-family:"GI Display";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/intro/fonts/barlowcond-800.woff2) format("woff2")}
@font-face{font-family:"GI Text";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/intro/fonts/barlow-400.woff2) format("woff2")}
@font-face{font-family:"GI Text";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/intro/fonts/barlow-500.woff2) format("woff2")}
@font-face{font-family:"GI Text";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/intro/fonts/barlow-600.woff2) format("woff2")}

.gi-body{--bg:#06030d;--bg2:#0d0620;--panel:#130a2b;--line:#3b2478;--violet:#8b3dff;--violet2:#b98aff;--gold:#ffc83a;--gold2:#ff9d1c;--cyan:#27e0ff;--mag:#ff3fa4;--green:#3bf0a0;--orange:#ff8a1f;--ink:#f5f0ff;--mut:#c4b8e6;
  --disp:"GI Display","Barlow Condensed","Arial Narrow","Roboto Condensed",Impact,system-ui,sans-serif;--txt:"GI Text",Barlow,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --cut:16px;margin:0;background:var(--bg);color:var(--ink);font:500 18px/1.55 var(--txt);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.gi-body *,.gi-body *::before,.gi-body *::after{box-sizing:border-box}
.gi-body :where(img){max-width:100%;height:auto;display:block}
.gi-body a{color:var(--gold)}
.gi-body a:hover{color:#fff}
.gi-body h1,.gi-body h2,.gi-body h3{font-family:var(--disp);text-transform:uppercase;letter-spacing:.02em;line-height:1;margin:0}
.gi-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gi-skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--gold);color:#1a0d00;padding:10px 16px;font-weight:700}
.gi-skip:focus{left:8px}
.gi-body :focus-visible{outline:3px solid #fff;outline-offset:3px}
.gi-nb{white-space:nowrap}
.gi-body svg{width:1em;height:1em;flex:none}

/* ---------- buttons: slanted "chevron" plates ---------- */
.gi-btn,.gi-cta{--sl:14px;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;border:0;
  font:800 17px/1 var(--disp);text-transform:uppercase;letter-spacing:.08em;color:#1a0d00;padding:14px 30px;
  background:linear-gradient(180deg,#ffe07a,var(--gold) 45%,var(--gold2));clip-path:polygon(var(--sl) 0,100% 0,calc(100% - var(--sl)) 100%,0 100%)}
.gi-btn span{position:relative;z-index:2}
.gi-body a.gi-btn,.gi-body a.gi-cta,.gi-body a.gi-btn:hover,.gi-body a.gi-cta:hover{color:#1a0d00}
.gi-body a.gi-btn--ghost,.gi-body a.gi-btn--purple,.gi-body a.gi-cta--purple,.gi-body a.gi-btn--ghost:hover,.gi-body a.gi-btn--purple:hover,.gi-body a.gi-cta--purple:hover{color:#fff}
.gi-btn:hover,.gi-cta:hover{filter:brightness(1.12) saturate(1.1)}
.gi-btn:focus-visible,.gi-cta:focus-visible{clip-path:none}
.gi-btn--ghost,.gi-btn--purple{color:#fff;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(90deg,var(--violet),var(--cyan)) border-box;box-shadow:none}
.gi-btn--ghost{background:none;color:#fff}
.gi-btn--ghost::before,.gi-btn--purple::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,var(--violet2),var(--cyan));clip-path:inherit}
.gi-btn--ghost::after,.gi-btn--purple::after{content:"";position:absolute;inset:2px;z-index:1;background:#12082b;clip-path:polygon(calc(var(--sl) - 1px) 0,100% 0,calc(100% - var(--sl) + 1px) 100%,0 100%)}
.gi-btn--purple{background:none}
.gi-btn--purple::after{background:linear-gradient(180deg,#5b23c9,#3b138f)}
.gi-btn--lg{font-size:21px;padding:18px 40px}
.gi-cta{flex-direction:column;align-items:flex-start;gap:5px;padding:18px 48px 18px 40px;--sl:22px;min-width:270px}
.gi-cta strong{font:800 25px/1 var(--disp);letter-spacing:.07em;text-transform:uppercase}
.gi-cta small{font:600 13px/1 var(--txt);letter-spacing:.04em;text-transform:none;opacity:.85}
.gi-cta--purple{color:#fff;background:linear-gradient(180deg,#7d3df0,#4a16b4)}
.gi-cta--map{background:linear-gradient(180deg,#ffe07a,var(--gold) 45%,var(--gold2))}

/* chips (HUD tags) */
.gi-chip{--c:var(--gold);display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 12px;font:700 14px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(10,5,24,.72);border-left:3px solid var(--c);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%)}
.gi-chip svg{color:var(--c);font-size:16px}
.gi-chip--gold{--c:var(--gold)}.gi-chip--pink{--c:var(--mag)}.gi-chip--green{--c:var(--green)}.gi-chip--violet{--c:var(--violet2)}.gi-chip--cyan{--c:var(--cyan)}.gi-chip--orange{--c:var(--orange)}

/* ---------- top bar ---------- */
.gi-top{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:26px;padding:12px clamp(16px,3.4vw,56px);background:linear-gradient(180deg,rgba(6,3,13,.96),rgba(6,3,13,.78));backdrop-filter:blur(8px);border-bottom:1px solid #2c1a5c}
.gi-top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--violet) 60%,transparent)}
.gi-body a.gi-brand,.gi-body a.gi-brand:hover{color:#fff}
.gi-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;flex:none}
.gi-brand img{height:44px;width:auto}
.gi-brandmark{display:grid;place-items:center;width:44px;height:44px;font:800 30px/1 var(--disp);color:#fff;background:linear-gradient(145deg,#a15cff,#5a1fd0);border:2px solid var(--gold);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.gi-brandcopy{display:flex;flex-direction:column;gap:3px}
.gi-brandcopy strong{font:800 25px/1 var(--disp);letter-spacing:.12em}
.gi-brandcopy small{font:700 10px/1 var(--disp);letter-spacing:.2em;color:var(--gold)}
.gi-nav{display:flex;gap:4px;margin:0 auto}
.gi-nav a{font:700 15px/1 var(--disp);text-transform:uppercase;letter-spacing:.14em;color:#e9e0ff;text-decoration:none;padding:12px 14px;border-bottom:2px solid transparent}
.gi-nav a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.gi-actions{display:flex;gap:12px;flex:none}
.gi-actions .gi-btn{padding:12px 24px;font-size:15px}
.gi-auth{position:absolute;right:clamp(12px,3.4vw,56px);top:calc(100% + 10px);width:min(380px,calc(100vw - 24px));padding:26px 26px 22px;color:var(--ink);background:linear-gradient(180deg,#1b0e40,#0e0623);border:2px solid var(--gold);box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 0 1px #000,0 0 40px rgba(139,61,255,.35);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
.gi-auth[hidden]{display:none}
.gi-auth h2{font-size:34px;color:var(--gold);text-align:center}
.gi-auth-why{margin:6px 0 16px;text-align:center;color:var(--mut);font-size:16px}
.gi-x{position:absolute;right:14px;top:10px;width:34px;height:34px;border:0;background:#2b1a5e;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.gi-note{margin:0 0 14px;padding:10px 12px;border-left:4px solid var(--mag);background:#2a0c24;color:#ffd6ea;font-size:15px}
.gi-note--ok{border-color:var(--green);background:#0b2a20;color:#c9ffe7}
.gi-field{display:block;margin-bottom:12px}
.gi-field span{display:block;font:700 13px/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--violet2);margin-bottom:6px}
.gi-field input{width:100%;padding:12px 14px;font:500 17px var(--txt);color:#fff;background:#08041a;border:2px solid #4a2f93;border-radius:0}
.gi-field input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(255,200,58,.3)}
.gi-form-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--mut);margin:2px 0 16px}
.gi-submit{width:100%;padding:15px}
.gi-auth-alt{margin:14px 0 0;text-align:center;font-size:15px;color:var(--mut)}

/* ---------- hero ---------- */
.gi-hero{position:relative;min-height:min(100vh,900px);min-height:min(100svh,900px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#0a0420}
.gi-scene{position:absolute;inset:0;overflow:hidden}
.gi-par{position:absolute;inset:0;will-change:transform}
.gi-bg{inset:-3% -3%}
.gi-bgimg{width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.gi-rays{background:conic-gradient(from 200deg at 82% -8%,transparent 0 6deg,rgba(255,214,120,.2) 8deg,transparent 14deg,rgba(255,214,120,.14) 19deg,transparent 27deg,rgba(255,170,90,.12) 33deg,transparent 41deg);mix-blend-mode:screen;opacity:.9}
.gi-embers i{position:absolute;bottom:-10px;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#fff,var(--gold) 45%,rgba(255,157,28,0) 70%);opacity:.0}
.gi-embers i:nth-child(1){left:6%}.gi-embers i:nth-child(2){left:14%}.gi-embers i:nth-child(3){left:23%}.gi-embers i:nth-child(4){left:31%}.gi-embers i:nth-child(5){left:42%}.gi-embers i:nth-child(6){left:50%}
.gi-embers i:nth-child(7){left:58%}.gi-embers i:nth-child(8){left:66%}.gi-embers i:nth-child(9){left:74%}.gi-embers i:nth-child(10){left:82%}.gi-embers i:nth-child(11){left:90%}.gi-embers i:nth-child(12){left:96%}
.gi-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,3,13,.92) 0,rgba(6,3,13,.7) 34%,rgba(20,6,50,.12) 66%,rgba(6,3,13,.25) 100%),linear-gradient(0deg,var(--bg) 0,rgba(6,3,13,.55) 22%,transparent 52%),linear-gradient(180deg,rgba(6,3,13,.7) 0,transparent 22%)}
.gi-hero-grid{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:clamp(110px,16vh,190px) clamp(18px,5vw,84px) 34px}
.gi-copy{max-width:760px}
.gi-kicker{margin:0 0 18px}
.gi-hero h1{font-size:clamp(46px,7.4vw,112px);font-weight:800;line-height:.92;text-shadow:0 4px 30px rgba(0,0,0,.7)}
.gi-hero h1 em{display:block;margin-top:10px;font-style:normal;font-size:.56em;letter-spacing:.06em;background:linear-gradient(90deg,#fff2b8,var(--gold) 40%,var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.gi-lead{margin:20px 0 26px;max-width:600px;font-size:clamp(17px,1.5vw,21px);color:#eee7ff;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.gi-cta-row{display:flex;flex-wrap:wrap;gap:16px 14px}
.gi-already{margin:16px 0 0;font-size:16px;color:var(--mut)}
.gi-already a{font-weight:700}
.gi-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0}
.gi-spot{position:relative;display:flex;flex-direction:column;gap:6px;min-width:250px;padding:18px 24px;text-decoration:none;color:#fff;background:linear-gradient(180deg,rgba(24,10,56,.82),rgba(8,3,20,.9));border-top:3px solid var(--gold);clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);margin-bottom:6px}
.gi-spot-k{font:700 13px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--green)}
.gi-spot strong{font:800 34px/1 var(--disp);text-transform:uppercase;letter-spacing:.03em}
.gi-spot-go{display:inline-flex;align-items:center;gap:6px;font:700 14px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.gi-spot:hover{color:#fff;background:linear-gradient(180deg,rgba(44,16,100,.9),rgba(12,4,30,.92))}
.gi-stats{position:relative;z-index:2;list-style:none;display:flex;margin:0;padding:0 clamp(18px,5vw,84px) 30px;gap:0}
.gi-stats li{display:flex;align-items:baseline;gap:12px;padding:14px 30px 14px 24px;background:rgba(12,6,30,.78);border-left:3px solid var(--gold);margin-right:-10px;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);backdrop-filter:blur(4px)}
.gi-stats li:nth-child(2){border-color:var(--violet2)}.gi-stats li:nth-child(3){border-color:var(--cyan)}
.gi-stats strong{font:800 46px/1 var(--disp);color:#fff}
.gi-stats span{font:700 14px/1.1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);max-width:110px}

/* ticker */
.gi-ticker{overflow:hidden;background:linear-gradient(90deg,#4a16b4,#2b0d70 50%,#4a16b4);border-block:2px solid var(--gold)}
.gi-ticker-track{display:flex;width:max-content}
.gi-ticker-group{display:flex}
.gi-ticker-group span{padding:12px 26px;font:800 17px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:#fff;white-space:nowrap}
.gi-ticker-group span::before{content:"\25C6";margin-right:26px;color:var(--gold)}

/* ---------- sections ---------- */
.gi-section{position:relative;max-width:1280px;margin:0 auto;padding:clamp(60px,8vw,110px) clamp(18px,4vw,48px) 0}
.gi-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.gi-head h2,.gi-feature-copy h2,.gi-tix-copy h2{font-size:clamp(36px,5vw,68px);font-weight:800;position:relative;padding-left:22px}
.gi-head h2::before,.gi-feature-copy h2::before,.gi-tix-copy h2::before{content:"";position:absolute;left:0;top:.06em;bottom:.06em;width:7px;background:linear-gradient(180deg,var(--gold),var(--violet));clip-path:polygon(0 0,100% 12%,100% 100%,0 88%)}
.gi-head small{display:block;margin-top:10px;font:700 15px/1 var(--disp);letter-spacing:.24em;color:var(--gold)}
.gi-feature-copy h2 em,.gi-tix-copy h2 em{font-style:normal;color:var(--gold)}
.gi-feature-copy p,.gi-tix-copy p{max-width:620px}

/* world cards: trailer-style */
.gi-cards{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}
.gi-card{position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--panel);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.gi-card--big{grid-column:span 2;grid-row:span 2;min-height:740px}
.gi-cards--5 .gi-card:not(.gi-card--big){min-height:361px}
.gi-card-art{position:absolute;inset:0;overflow:hidden}
.gi-crop{position:absolute;inset:0;background:#0b1a3a url(/assets/intro/world-crop.webp) 50% 50%/auto 300% no-repeat;filter:saturate(1.2) contrast(1.05)}
.gi-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,3,13,.97) 0,rgba(6,3,13,.78) 34%,rgba(10,4,26,.1) 66%),linear-gradient(135deg,rgba(139,61,255,.22),transparent 40%);pointer-events:none}
.gi-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;z-index:3;background:var(--c1,var(--violet))}
.gi-t0{--c1:var(--gold)}.gi-t1{--c1:var(--cyan)}.gi-t2{--c1:var(--mag)}.gi-t3{--c1:var(--green)}
.gi-island{position:absolute;left:50%;top:27%;width:62%;max-width:300px;transform:translate(-50%,-50%);filter:drop-shadow(0 14px 22px rgba(0,0,0,.6)) drop-shadow(0 0 22px rgba(255,255,255,.25));z-index:1}
.gi-card--big .gi-island{top:32%;max-width:520px;width:66%}
.gi-card-body{position:relative;z-index:2;padding:22px 22px 20px}
.gi-card h3{font-size:30px;font-weight:800;letter-spacing:.03em;text-shadow:0 2px 14px #000}
.gi-card--big h3{font-size:54px}
.gi-card p{margin:8px 0 12px;font-size:16px;color:#e6dcff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gi-card-tags{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.gi-tag{padding:5px 10px;font:800 12px/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:#07110c;background:var(--green);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.gi-tag--soon{background:var(--gold);color:#1a0d00}
.gi-tag--age{background:rgba(255,255,255,.14);color:#fff}
.gi-card-link{display:inline-flex;align-items:center;gap:8px;font:800 15px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.gi-card-link::after{content:"";position:absolute;inset:0;z-index:4}
.gi-card:hover .gi-card-link,.gi-card-link:focus-visible{color:#fff}
.gi-card:focus-within{outline:3px solid #fff;outline-offset:-3px}
.gi-card-link:focus-visible{outline:none}
.gi-places{margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--mut)}
.gi-places span{font:700 14px/1 var(--disp);letter-spacing:.18em;text-transform:uppercase}
.gi-places a{padding:8px 16px;font:700 14px/1 var(--disp);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#fff;background:#1a0e42;border-left:3px solid var(--gold)}
.gi-places a:hover{background:#2e1a70}
.gi-empty{padding:30px;background:var(--panel);border-left:4px solid var(--gold)}

/* steps */
.gi-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;counter-reset:s}
.gi-step{--c:var(--cyan);position:relative;padding:30px 24px 26px;background:linear-gradient(180deg,#1a0e40,#0d0622);border-top:3px solid var(--c);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.gi-step--cyan{--c:var(--cyan)}.gi-step--pink{--c:var(--mag)}.gi-step--violet{--c:var(--violet2)}.gi-step--gold{--c:var(--gold)}
.gi-step-no{position:absolute;right:16px;top:8px;font:800 64px/1 var(--disp);color:transparent;-webkit-text-stroke:2px var(--c);opacity:.55}
.gi-step-ico{display:grid;place-items:center;width:62px;height:62px;margin-bottom:18px;font-size:32px;color:var(--c);background:rgba(255,255,255,.05);border:2px solid var(--c);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
.gi-step h3{font-size:27px;margin-bottom:10px}
.gi-step p{margin:0;color:var(--mut);font-size:17px}

/* G-Tix */
.gi-tix{max-width:none;margin-top:clamp(60px,8vw,110px);padding:0}
.gi-tix-bg{position:absolute;inset:0;overflow:hidden}
.gi-tix-img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.gi-tix-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,3,13,.97) 0,rgba(10,4,28,.9) 40%,rgba(10,4,28,.3) 80%,rgba(6,3,13,.55) 100%),linear-gradient(0deg,var(--bg),transparent 14%),linear-gradient(180deg,var(--bg),transparent 14%)}
.gi-tix-grid{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(70px,9vw,130px) clamp(18px,4vw,48px)}
.gi-tix-copy{max-width:720px}
.gi-tix-copy .gi-lead{margin-top:18px}
.gi-loop{list-style:none;display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;margin:22px 0;padding:0}
.gi-loop li:not(.gi-loop-arrow){display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 22px 12px 14px;background:rgba(20,9,48,.88);border-left:3px solid var(--gold);clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.gi-loop span{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;font-size:24px;color:#1a0d00;background:linear-gradient(180deg,#ffe07a,var(--gold2))}
.gi-loop b{font:800 20px/1 var(--disp);letter-spacing:.08em;text-transform:uppercase}
.gi-loop small{font-size:13px;color:var(--mut)}
.gi-loop-arrow{display:grid;place-items:center;color:var(--gold);font-size:24px;padding:0 2px}
.gi-fair{margin:6px 0 24px;padding:20px 24px;background:rgba(10,5,26,.88);border:1px solid #4b2f98;border-left:4px solid var(--green);clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%)}
.gi-fair h3{font-size:20px;letter-spacing:.2em;color:var(--green);margin-bottom:12px}
.gi-fair ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gi-fair li{display:flex;gap:12px;align-items:flex-start;font-size:17px}
.gi-fair li svg{color:var(--green);font-size:22px;margin-top:2px}

/* feature splits */
.gi-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.gi-feature--flip{grid-template-columns:1fr 1.1fr}
.gi-feature--flip .gi-feature-art{order:2}
.gi-feature-art{position:relative;align-self:stretch;min-height:320px}
.gi-shot{width:100%;height:100%;min-height:340px;object-fit:cover;clip-path:polygon(0 0,calc(100% - 44px) 0,100% 44px,100% 100%,44px 100%,0 calc(100% - 44px));box-shadow:0 0 0 1px #000}
.gi-feature-art::before{content:"";position:absolute;inset:-6px;z-index:-1;background:linear-gradient(135deg,var(--gold),var(--violet) 55%,var(--cyan));clip-path:polygon(0 0,calc(100% - 48px) 0,100% 48px,100% 100%,48px 100%,0 calc(100% - 48px))}
.gi-feature-art--tall{max-width:440px;justify-self:center;width:100%;min-height:520px}
.gi-feature-art--tall .gi-shot{min-height:520px;object-position:50% 20%}
.gi-feature-copy p{margin:18px 0}
.gi-bullets{list-style:none;margin:20px 0;padding:0;display:grid;gap:12px}
.gi-bullets li{position:relative;padding-left:34px;font-size:19px;font-weight:600}
.gi-bullets li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;background:linear-gradient(135deg,var(--gold),var(--gold2));clip-path:polygon(0 0,60% 0,100% 50%,60% 100%,0 100%,40% 50%)}

/* store panels */
.gi-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gi-panel{position:relative;padding:34px 34px 30px;background:linear-gradient(160deg,#1c0f45,#0c0620);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));border-top:4px solid var(--gold)}
.gi-panel--violet{border-top-color:var(--violet2)}
.gi-panel h3{display:flex;align-items:center;gap:14px;font-size:42px;margin-bottom:14px}
.gi-panel p{color:#e5dcff}
.gi-coin{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font:800 28px/1 var(--disp);color:#4a2c00;background:radial-gradient(circle at 35% 30%,#fff3b0,var(--gold) 50%,#c97b05);border:3px solid #ffe07a}
.gi-ico{display:grid;place-items:center;width:50px;height:46px;font-size:28px;color:#fff;background:linear-gradient(180deg,#8b3dff,#4a16b4);clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}

/* community */
.gi-community{max-width:none;margin-top:clamp(60px,8vw,110px);padding:clamp(70px,9vw,120px) 0 clamp(70px,9vw,120px)}
.gi-comm-bg{position:absolute;inset:0;overflow:hidden}
.gi-comm-img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.gi-comm-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg),rgba(6,3,13,.55) 22%,rgba(6,3,13,.6) 60%,var(--bg))}
.gi-community .gi-head,.gi-community .gi-tiles{position:relative;z-index:2;max-width:1184px;margin-left:auto;margin-right:auto;padding-inline:clamp(18px,4vw,0px)}
.gi-community .gi-head{padding-inline:clamp(18px,4vw,48px)}
.gi-tiles{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:0;margin-top:0}
.gi-tile{--c:var(--cyan);position:relative;padding:22px 20px 22px;background:rgba(12,6,30,.86);backdrop-filter:blur(6px);border-bottom:4px solid var(--c);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.gi-tile--cyan{--c:var(--cyan)}.gi-tile--pink{--c:var(--mag)}.gi-tile--green{--c:var(--green)}.gi-tile--orange{--c:var(--orange)}.gi-tile--violet{--c:var(--violet2)}
.gi-tile-ico{display:grid;place-items:center;width:48px;height:48px;margin-bottom:14px;font-size:26px;color:var(--c);border:2px solid var(--c)}
.gi-tile h3{font-size:26px;margin-bottom:6px}
.gi-tile p{margin:0;font-size:16px;color:var(--mut)}

/* safety */
.gi-safety{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.gi-shield{display:grid;place-items:center;align-self:center;width:clamp(160px,18vw,250px);aspect-ratio:1;min-height:0;font-size:clamp(96px,11vw,150px);color:var(--cyan);background:radial-gradient(circle,rgba(39,224,255,.2),transparent 68%)}
.gi-shield::before{display:none}
.gi-shield::after{content:"";position:absolute;inset:6%;border:2px dashed rgba(39,224,255,.45);border-radius:50%}
.gi-shield{position:relative}
.gi-shield svg{filter:drop-shadow(0 0 22px rgba(39,224,255,.7))}
.gi-safe-list{list-style:none;margin:20px 0;padding:0;display:grid;gap:14px}
.gi-safe-list li{display:flex;gap:14px;align-items:flex-start;font-size:17px;padding:14px 18px;background:#12092b;border-left:3px solid var(--cyan)}
.gi-safe-list svg{color:var(--cyan);font-size:22px;margin-top:2px}

/* map */
.gi-map{display:grid;gap:26px}
.gi-map-frame{position:relative;border:2px solid var(--gold);padding:6px;background:#050210;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px))}
.gi-map-frame::after{content:"";position:absolute;inset:6px;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(6,3,13,.55)),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 4px)}
.gi-map-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.gi-pins{list-style:none;margin:0;padding:0}
.gi-pin{position:absolute;z-index:2;width:16px;height:16px;margin:-8px 0 0 -8px;background:var(--gold);border:2px solid #fff;transform:rotate(45deg);box-shadow:0 0 0 4px rgba(255,200,58,.3)}
.gi-pin span{position:absolute;left:24px;top:-6px;transform:rotate(-45deg);transform-origin:left top;white-space:nowrap;padding:4px 10px;font:800 13px/1 var(--disp);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(6,3,13,.88);border-left:3px solid var(--gold)}
.gi-map-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.gi-map-cta p{margin:0;max-width:700px;color:#e5dcff}

/* final */
.gi-final{position:relative;margin-top:clamp(70px,9vw,120px);overflow:hidden;border-top:2px solid var(--gold)}
.gi-final-bg{position:absolute;inset:0}
.gi-final-img{width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.gi-final-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,3,13,.92),rgba(40,10,100,.55) 60%,rgba(6,3,13,.75))}
.gi-final-in{position:relative;z-index:2;max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding:clamp(60px,8vw,110px) clamp(18px,4vw,48px)}
.gi-final h2{font-size:clamp(46px,7vw,96px);font-weight:800;color:#fff}
.gi-final p{margin:12px 0 0;font-size:21px;color:#efe7ff}
.gi-final-btns{display:flex;gap:16px;flex-wrap:wrap}

/* footer */
.gi-footer{background:#04020a;border-top:1px solid #2c1a5c;padding:36px clamp(18px,4vw,56px) 44px}
.gi-footer-in{max-width:1280px;margin:0 auto;display:grid;gap:18px}
.gi-footer nav{display:flex;flex-wrap:wrap;gap:8px 26px}
.gi-footer nav a{font:700 15px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:#e9e0ff;text-decoration:none}
.gi-footer nav a:hover{color:var(--gold)}
.gi-footer p{margin:0;font-size:14px;color:#a89bcf;max-width:820px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .gi-nav{display:none}.gi-top{justify-content:space-between}
  .gi-hero-grid{flex-direction:column;align-items:flex-start}
  .gi-cards{grid-template-columns:repeat(2,1fr)}
  .gi-card--big{min-height:560px}
  .gi-steps{grid-template-columns:repeat(2,1fr)}
  .gi-tiles{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .gi-feature,.gi-feature--flip,.gi-two,.gi-safety{grid-template-columns:1fr}
  .gi-feature--flip .gi-feature-art{order:0}
  .gi-feature-art{min-height:260px}.gi-shot{min-height:260px}
  .gi-shield{width:150px;font-size:90px}
  .gi-bgimg{object-position:68% 40%}
}
@media (max-width:560px){
  .gi-body{font-size:17px}
  .gi-top{gap:10px;padding:10px 12px}
  .gi-brand img{height:36px}.gi-brandmark{width:38px;height:38px;font-size:26px}.gi-brandcopy strong{font-size:20px}.gi-brandcopy small{display:none}
  .gi-actions{gap:6px}.gi-actions .gi-btn{padding:10px 14px;font-size:13px;letter-spacing:.05em}
  .gi-hero{min-height:0;background:var(--bg)}
  .gi-scene{bottom:auto;height:min(132vw,560px)}
  .gi-hero-grid{padding-top:min(78vw,330px);gap:20px}
  .gi-bgimg{object-position:68% 40%}
  .gi-shade{background:linear-gradient(0deg,var(--bg) 0,rgba(6,3,13,.55) 30%,transparent 62%),linear-gradient(180deg,rgba(6,3,13,.75) 0,transparent 24%)}
  .gi-cta{min-width:0;width:100%;padding-inline:30px}.gi-cta strong{font-size:22px}
  .gi-stats{flex-direction:column;gap:8px;padding-bottom:22px}.gi-stats li{margin:0;width:100%}.gi-stats strong{font-size:36px}
  .gi-spot{min-width:0;width:100%}
  .gi-cards{grid-template-columns:1fr}.gi-card,.gi-cards--5 .gi-card:not(.gi-card--big){min-height:300px}.gi-card--big{grid-column:auto;grid-row:auto;min-height:400px}.gi-card--big h3{font-size:38px}
  .gi-steps{grid-template-columns:1fr}
  .gi-tiles{grid-template-columns:1fr 1fr}
  .gi-loop{flex-direction:column}.gi-loop-arrow{transform:rotate(90deg)}
  .gi-fair{padding:16px 16px}
  .gi-map-cta{flex-direction:column;align-items:stretch}
  .gi-pin span{display:none}
  .gi-final-btns .gi-btn{flex:1}
  .gi-head{flex-direction:column;align-items:flex-start}
}
@media (prefers-contrast:more){
  .gi-body{--mut:#ece6ff}
  .gi-btn,.gi-cta,.gi-chip,.gi-panel,.gi-card,.gi-step,.gi-tile{outline:1px solid #fff}
  .gi-shade{background:rgba(6,3,13,.82)}
}

/* ---------- motion: only when the visitor allows it ---------- */
@media (prefers-reduced-motion:no-preference){
  .gi-btn,.gi-cta,.gi-card,.gi-island,.gi-tile,.gi-step,.gi-spot,.gi-nav a{transition:transform .25s ease,filter .25s ease,background-color .25s ease,color .2s ease}
  .gi-btn::before,.gi-cta::before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
  .gi-btn--ghost::before,.gi-btn--purple::before{z-index:0;transform:none;background:linear-gradient(100deg,var(--violet2),var(--cyan))}
  .gi-btn:hover::before,.gi-cta:hover::before{transform:translateX(120%);transition:transform .7s ease}
  .gi-btn--ghost:hover::before,.gi-btn--purple:hover::before{transform:none;transition:none}
  .gi-btn:hover,.gi-cta:hover{transform:translateY(-2px)}
  .gi-card:hover{transform:translateY(-6px)}
  .gi-card:hover .gi-island{transform:translate(-50%,-54%) scale(1.07)}
  .gi-card .gi-crop{transition:transform .8s ease}
  .gi-card:hover .gi-crop{transform:scale(1.08)}
  .gi-tile:hover,.gi-step:hover{transform:translateY(-4px)}
  .gi-spot:hover{transform:translateY(-3px)}
  .gi-ticker-track{animation:gi-tick 46s linear infinite}
  .gi-embers i{animation:gi-ember 7s linear infinite}
  .gi-embers i:nth-child(2n){animation-duration:9s;animation-delay:-3s}.gi-embers i:nth-child(3n){animation-duration:11s;animation-delay:-6s}.gi-embers i:nth-child(5n){animation-duration:8s;animation-delay:-1s}
  .gi-rays{animation:gi-rays 9s ease-in-out infinite alternate}
  .gi-bgimg{animation:gi-push 28s ease-in-out infinite alternate}
  .gi-pin{animation:gi-ping 2.4s ease-out infinite}
  .gi-shield svg{animation:gi-glow 3.2s ease-in-out infinite alternate}
  .gi-js .gi-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
  .gi-js .gi-reveal.gi-in{opacity:1;transform:none}
  .gi-js .gi-cards .gi-card,.gi-js .gi-steps .gi-step,.gi-js .gi-tiles .gi-tile{opacity:0;transform:translateY(26px)}
  .gi-js .gi-in .gi-card,.gi-js .gi-in .gi-step,.gi-js .gi-in .gi-tile{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .gi-js .gi-in .gi-card:nth-child(2),.gi-js .gi-in .gi-step:nth-child(2),.gi-js .gi-in .gi-tile:nth-child(2){transition-delay:.08s}
  .gi-js .gi-in .gi-card:nth-child(3),.gi-js .gi-in .gi-step:nth-child(3),.gi-js .gi-in .gi-tile:nth-child(3){transition-delay:.16s}
  .gi-js .gi-in .gi-card:nth-child(4),.gi-js .gi-in .gi-step:nth-child(4),.gi-js .gi-in .gi-tile:nth-child(4){transition-delay:.24s}
  .gi-js .gi-in .gi-card:nth-child(n+5),.gi-js .gi-in .gi-tile:nth-child(5){transition-delay:.3s}
  @keyframes gi-tick{to{transform:translateX(-50%)}}
  @keyframes gi-ember{0%{transform:translate(0,0) scale(1);opacity:0}12%{opacity:.95}100%{transform:translate(40px,-80vh) scale(.3);opacity:0}}
  @keyframes gi-rays{from{opacity:.55;transform:rotate(-1.5deg)}to{opacity:1;transform:rotate(1.5deg)}}
  @keyframes gi-push{from{transform:scale(1)}to{transform:scale(1.07)}}
  @keyframes gi-ping{0%{box-shadow:0 0 0 0 rgba(255,200,58,.7)}100%{box-shadow:0 0 0 18px rgba(255,200,58,0)}}
  @keyframes gi-glow{from{filter:drop-shadow(0 0 10px rgba(39,224,255,.4))}to{filter:drop-shadow(0 0 30px rgba(39,224,255,.95))}}
}
@media (prefers-reduced-motion:reduce){
  .gi-ticker-track{transform:none;flex-wrap:wrap;width:auto}
  .gi-ticker-group:nth-child(2){display:none}
  .gi-ticker-group{flex-wrap:wrap}
  .gi-par{transform:none!important}
  .gi-embers{display:none}
}
