/* codex.css v1 - 7 Oct 2026 - shared look for the Codex and Future of pages (15 pages). Was inline on each. */

:root{--ink:var(--b-night-2,#0d0d1f);--blue:var(--b-blue,#2F2F91);--purple:var(--b-magenta,#96069D);--pink:var(--b-accent,#D92A79);--cyan:#007fae;--cyan2:#2ac8ff;--paper:#f6f7fb;--muted:#606779;--line:#dfe2ea;--wrap:min(1160px,calc(100vw - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);font-size:16px;line-height:1.55}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.wrap{width:var(--wrap);margin:0 auto}
.tag{margin:0 0 18px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--blue)}
.tag.light{color:rgba(255,255,255,.72)}
h1,h2,h3{margin:0;letter-spacing:-.04em}h2{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1}h3{font-size:1.2rem;letter-spacing:-.02em}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 20px;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;cursor:pointer}
.b-light{background:#fff;color:var(--blue)}.b-light:hover{background:var(--cyan);color:#fff}.b-clear{color:#fff;border-color:rgba(255,255,255,.45)}.b-clear:hover{border-color:#fff}
.row{display:flex;gap:12px;flex-wrap:wrap}section.s{padding:88px 0}
.grid{display:grid;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.grid>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;background:#fff}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.num{color:var(--cyan);font-size:.68rem;letter-spacing:.12em;font-weight:700}.grid h3{margin:26px 0 8px}.grid p{margin:0;color:var(--muted);font-size:.9rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{padding:24px;border-right:1px solid var(--line)}.stats div:last-child{border-right:0}
.stats strong{display:block;font-size:clamp(2.4rem,4vw,4rem);line-height:1;letter-spacing:-.06em;color:var(--blue)}.stats span{display:block;margin-top:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}
.mb{display:flex;flex-direction:column;justify-content:space-between;min-height:150px}.mb small{font-size:.66rem;font-weight:700;letter-spacing:.12em;color:var(--pink)}.mb a{margin-top:16px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.speaker{color:#fff;background:linear-gradient(135deg,#bc249f,#262176)}.speaker p{color:rgba(255,255,255,.78)}
.foot{padding:28px 24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.6);background:#111120;font-size:.72rem}
.logo strong{font-size:1.5rem;letter-spacing:-.08em}.logo span{margin-left:8px;font-size:.66rem;letter-spacing:.18em;font-weight:700}
.hero{color:#fff;background:linear-gradient(135deg,#d931ae 0%,#8f179e 42%,var(--b-blue,#2F2F91) 100%)}.hi{width:var(--wrap);margin:0 auto;padding:80px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.92;text-transform:uppercase;letter-spacing:-.06em}.q{font-size:1.6rem;margin:28px 0 10px}.sum{color:rgba(255,255,255,.8);max-width:560px}
.cover img{box-shadow:24px 28px 55px rgba(17,12,60,.34)}.meta{margin-top:22px;font-size:.72rem;color:rgba(255,255,255,.6);letter-spacing:.06em}
@media(max-width:900px){.g3,.g4,.stats{grid-template-columns:repeat(2,1fr)}.hi{grid-template-columns:1fr}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}section.s{padding:64px 0}}


:root{--line:#dfe2ea}
/* ===== Email gate modal ===== */
.gate{position:fixed;inset:0;background:rgba(15,10,35,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px;z-index:1000}
.gate.on{display:flex}
.gate .sheet{background:#fff;border-radius:20px;max-width:440px;width:100%;padding:clamp(24px,4vw,36px);box-shadow:0 40px 90px rgba(10,6,40,.5);position:relative;text-align:center}
.gate .x2{position:absolute;top:14px;right:16px;background:none;border:0;font-size:1.3rem;color:#626777;cursor:pointer}
.gate .ic{width:52px;height:52px;border-radius:16px;background:var(--b-accent-tint,#fdeef7);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.gate .ic svg{width:26px;height:26px;fill:var(--pink)}
.gate h3{font-size:1.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--ink)}
.gate p{color:#626777;margin:10px 0 18px;font-size:.9rem}
.gate .rn{color:var(--pink);font-weight:700}
.gate input{width:100%;padding:.9em 1.1em;border:1.5px solid var(--line);border-radius:16px;font:inherit;font-size:1rem;margin-bottom:12px}
.gate input:focus{outline:0;border-color:var(--pink)}
.gate .fine{font-size:.7rem;color:#626777;margin-top:14px}
.gate .gbtn{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:6px;background:var(--pink);color:#fff;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border:0;border-radius:999px;padding:.9em 1.2em;cursor:pointer}
.gate .gbtn.ink{background:var(--ink)}
.gate .doneic{background:#e7f7ee}
.gate .doneic svg{fill:#1a9d5a}
/* email gate v2: option 05 form + S5 success */
.gate .sheet{max-width:500px;max-height:calc(100vh - 40px);overflow:auto}
.gate form,.gate #g311-done{text-align:left}
.gate form h3,.gate form>p,.gate #g311-done h3,.gate #g311-done>p{text-align:center}
.gate .g-row{display:flex;gap:12px}
.gate .g-row .g-f{flex:1 1 0;min-width:0}
.gate .g-f{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.gate .g-f label{font-size:.8rem;font-weight:700;color:var(--ink)}
.gate .g-f input{margin-bottom:0}
.gate input.bad{border-color:var(--pink);background:var(--b-accent-tint,#fdeef7)}
.gate .g-choice{border:0;padding:0;margin:4px 0 14px;display:flex;flex-direction:column;gap:8px}
.gate .g-choice legend{font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:8px;padding:0}
.gate .g-opt{display:flex;gap:12px;align-items:center;padding:11px 14px;border:2px solid var(--line);border-radius:16px;cursor:pointer;background:#fff}
.gate .g-opt:has(input:checked){border-color:var(--pink);background:var(--b-accent-tint,#fdeef7)}
.gate .g-opt input{width:18px;height:18px;margin:0;padding:0;accent-color:var(--pink);flex-shrink:0}
.gate .g-opt span{display:flex;flex-direction:column;gap:1px}
.gate .g-opt b{font-size:.88rem;color:var(--ink)}
.gate .g-opt small{font-size:.75rem;color:#626777}
.gate .g-err{color:#b01d88;font-weight:700;font-size:.82rem;margin:0 0 12px;text-align:center}
.gate #g311-open{text-decoration:none}
.gate .gbtn.gline{background:#fff;color:var(--ink);border:2px solid var(--line);margin-top:10px;text-decoration:none}
.gate .gbtn.gline:hover{border-color:var(--pink);background:var(--b-accent-tint,#fdeef7)}
.gate .gbtn[hidden]{display:none}
.gate .g-next{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.gate .g-next-h{font-size:.8rem;font-weight:700;color:var(--ink)}
.gate .g-mini{display:flex;gap:12px;align-items:center;padding:10px;border:1.5px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}
.gate .g-mini:hover{border-color:var(--pink);background:var(--b-accent-tint,#fdeef7)}
.gate .g-thumb{width:48px;height:68px;flex-shrink:0;border-radius:6px;overflow:hidden;background:linear-gradient(150deg,var(--b-magenta,#96069D),var(--b-accent,#D92A79));display:block}
.gate .g-thumb.land{width:84px;height:59px}
.gate .g-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gate .g-mt{font-size:.88rem;font-weight:700;line-height:1.25}
@media(max-width:480px){.gate .g-row{flex-direction:column;gap:0}}

