:root{--night:#12051f;--plum:#2e1065;--vio:#a78bfa;--pink:#f472b6;--rose:#fdf4ff;--tx:#e9ddf7;--mu:#b8a6d0;--card:rgba(255,255,255,.06);--line:rgba(255,255,255,.12);--serif:"Prata",Georgia,serif;--sans:"Commissioner",Arial,sans-serif;--grad:linear-gradient(120deg,#f472b6,#a78bfa)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;color:var(--tx);font:400 17px/1.78 var(--sans);background:radial-gradient(1200px 600px at 85% -10%,rgba(244,114,182,.25),transparent 60%),radial-gradient(900px 600px at -10% 30%,rgba(167,139,250,.2),transparent 60%),var(--night)}
img{max-width:100%;height:auto;display:block}
a{color:var(--pink)}
/* header */
.gm-head{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:22px;padding:14px 32px;background:rgba(18,5,31,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.gm-logo img{width:210px}
.gm-nav{margin-left:auto;display:flex;gap:6px}
.gm-nav a{color:var(--tx);text-decoration:none;font-weight:500;font-size:.92rem;padding:7px 14px;border-radius:999px;border:1px solid transparent}
.gm-nav a:hover{border-color:var(--line)}
.gm-nav a.on{background:var(--grad);color:var(--night);font-weight:700}
.gm-age{font-weight:700;font-size:.85rem;color:var(--pink);border:1px solid var(--pink);border-radius:999px;padding:3px 10px}
.gm-menu{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer;padding:0 12px}
.gm-menu i{display:block;height:2px;background:var(--rose);margin:6px 0;border-radius:2px}
.gm-menu i:last-child{width:60%;margin-left:auto;background:var(--pink)}
/* modal menu */
.gm-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(10,2,18,.7);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:.25s}
.gm-modal.open{opacity:1;visibility:visible}
.gm-modal-card{position:relative;width:min(420px,100%);border-radius:28px;padding:30px 24px 22px;background:linear-gradient(160deg,#3b0f5c,#1d0833);border:1px solid rgba(244,114,182,.35);box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.92) translateY(10px);transition:.3s cubic-bezier(.2,.9,.3,1.2)}
.gm-modal.open .gm-modal-card{transform:none}
.gm-modal-t{font:400 1.5rem var(--serif);margin:0 0 16px;color:var(--rose);text-align:center}
.gm-modal-card nav{display:flex;flex-direction:column;gap:8px}
.gm-modal-card a{display:flex;flex-direction:column;text-decoration:none;color:var(--rose);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 16px;font-weight:600}
.gm-modal-card a small{font-size:.72rem;color:var(--pink);letter-spacing:.08em;text-transform:uppercase}
.gm-modal-card a.on{background:var(--grad);color:var(--night)}
.gm-modal-card a.on small{color:var(--plum)}
.gm-modal-f{text-align:center;color:var(--mu);font-size:.82rem;margin:14px 0 0}
.gm-modal-x{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--rose);font-size:1.4rem;cursor:pointer}
/* cover: card over image */
.gm-cover{max-width:1200px;margin:28px auto 34px;padding:0 24px;display:grid}
.gm-cover>*{grid-area:1/1}
.gm-cover-img{margin:0;z-index:0;border-radius:28px;overflow:hidden}
.gm-cover-img img{width:100%;height:clamp(360px,52vw,560px);object-fit:cover}
.gm-cover-img::after{content:"";position:absolute}
.gm-cover-card{z-index:1;align-self:end;justify-self:start;margin:0 0 28px 28px;max-width:640px;padding:28px 30px;border-radius:24px;background:rgba(18,5,31,.78);backdrop-filter:blur(12px);border:1px solid rgba(244,114,182,.3)}
.gm-crumbs{font-size:.85rem;color:var(--mu);margin-bottom:10px}
.gm-crumbs a{color:var(--mu)}
.gm-issue{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gm-cover h1{font:400 clamp(1.8rem,3.4vw,2.8rem)/1.2 var(--serif);color:var(--rose);margin:0 0 14px}
.gm-by{margin:0;font-size:.9rem;color:var(--mu)}
.gm-by b{color:var(--rose)}
/* body */
.gm-body{max-width:860px;margin:0 auto;padding:0 24px;counter-reset:x}
.gm-lead{font:400 1.35rem/1.6 var(--serif);color:var(--rose);margin:0 0 34px}
.gm-lead::first-line{color:var(--pink)}
.gm-body h2{position:relative;font:400 clamp(1.5rem,2.8vw,2.1rem)/1.25 var(--serif);color:var(--rose);margin:64px 0 18px;padding-top:26px;clear:both}
.gm-body h2::before{content:attr(data-n);position:absolute;left:-12px;top:-30px;z-index:-1;font:700 6rem/1 var(--sans);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.22}
.gm-body h3{font:600 1.18rem var(--sans);color:var(--pink);margin:26px 0 8px}
.gm-body p{margin:0 0 1.1em}
.gm-body strong{color:var(--rose)}
.gm-body ul,.gm-body ol{padding-left:1.3em}
.gm-body li{margin-bottom:.4em}
.gm-body li::marker{color:var(--pink)}
.tbl-wrap{overflow-x:auto;margin:0 0 1.4em;border-radius:16px;border:1px solid var(--line);background:var(--card);clear:both}
.tbl-wrap table{width:100%;border-collapse:collapse;min-width:520px;font-size:.93rem}
.tbl-wrap th{text-align:left;padding:12px 14px;font-weight:700;color:var(--night);background:var(--grad)}
.tbl-wrap td{padding:10px 14px;border-top:1px solid var(--line)}
.gm-float{width:46%;margin:6px 0 16px}
.gm-float--right{float:right;margin-left:26px}
.gm-float--left{float:left;margin-right:26px}
.gm-float img{border-radius:20px;border:1px solid var(--line)}
.gm-float figcaption{font-size:.84rem;color:var(--mu);margin-top:8px;font-style:italic}
/* calc */
.gm-calc{clear:both;margin:28px 0 8px;border-radius:24px;padding:24px;background:linear-gradient(140deg,rgba(244,114,182,.18),rgba(167,139,250,.14));border:1px solid rgba(244,114,182,.35)}
.gm-calc-title{font:400 1.45rem var(--serif);color:var(--rose);margin:0 0 16px}
.gm-calc-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gm-calc-f{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--mu)}
.gm-calc input{background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:14px;color:var(--rose);font:600 1.15rem var(--sans);padding:11px 12px;width:100%}
.gm-calc input:focus{outline:none;border-color:var(--pink)}
.gm-calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 10px}
.gm-calc-out div{background:rgba(0,0,0,.22);border-radius:16px;padding:12px 14px}
.gm-calc-out span{display:block;font-size:.76rem;color:var(--mu)}
.gm-calc-out b{font:400 1.45rem var(--serif);color:#86efac}
.gm-calc-out b.is-neg{color:#fda4af}
.gm-calc-note{font-size:.8rem;color:var(--mu);margin:0}
/* pill FAQ */
.gm-pills{display:flex;flex-wrap:wrap;gap:10px}
.gm-pill{flex:0 1 auto;max-width:100%;transition:flex-basis .3s}
.gm-pill button{text-align:left;background:var(--card);border:1px solid var(--line);color:var(--rose);border-radius:999px;padding:10px 18px;font:600 .95rem/1.35 var(--sans);cursor:pointer;transition:.2s}
.gm-pill button:hover{border-color:var(--pink)}
.gm-pill.open{flex-basis:100%}
.gm-pill.open button{background:var(--grad);color:var(--night);border-color:transparent}
.gm-pill-a{display:none;margin-top:8px;padding:14px 18px;border-radius:20px;background:var(--card);border:1px solid rgba(244,114,182,.3)}
.gm-pill.open .gm-pill-a{display:block}
.gm-pill-a p:last-child{margin-bottom:0}
.gm-fine{clear:both;margin:40px 0 0;font-size:.85rem;color:var(--mu);text-align:center}
.gm-fine p{margin:0}
/* 2x2 tiles */
.gm-next{max-width:1100px;margin:60px auto;padding:0 24px}
.gm-next-t{font:400 2rem var(--serif);color:var(--rose);margin:0 0 20px;text-align:center}
.gm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gm-tile:first-child:nth-last-child(odd){grid-column:1/-1;min-height:280px}
.gm-tile{position:relative;display:block;border-radius:24px;overflow:hidden;min-height:230px;text-decoration:none;border:1px solid var(--line)}
.gm-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gm-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,5,31,.95),rgba(18,5,31,.25))}
.gm-tile:hover img{transform:scale(1.06)}
.gm-tile-n{position:absolute;top:10px;right:18px;z-index:1;font:700 3.6rem/1 var(--sans);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gm-tile-t{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;color:var(--rose);font:400 1.2rem/1.3 var(--serif)}
.gm-tile-t small{display:block;font:700 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-bottom:4px}
/* glass footer */
.gm-foot{max-width:1200px;margin:0 auto;padding:30px 24px 30px;display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:18px}
.gm-glass{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;backdrop-filter:blur(10px);font-size:.9rem}
.gm-glass img{width:190px;margin-bottom:10px}
.gm-glass p{margin:0}
.gm-glass-t{font-weight:700;color:var(--rose);margin:0 0 10px !important}
.gm-glass a{display:block;color:var(--tx);text-decoration:none;margin-bottom:6px}
.gm-glass a:hover{color:var(--pink)}
.gm-foot-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--mu);padding-top:6px}
.gm-badges{display:flex;flex-wrap:wrap;gap:8px}
.gm-badges img{height:34px;width:auto}
.gm-up{position:fixed;right:20px;bottom:20px;z-index:40;width:50px;height:50px;border-radius:50%;border:0;background:var(--grad);color:var(--night);font-weight:700;font-size:1.1rem;cursor:pointer;box-shadow:0 10px 30px rgba(244,114,182,.35);opacity:0;visibility:hidden;transition:.25s}
.gm-up.show{opacity:1;visibility:visible}
@media (max-width:900px){
  .gm-nav,.gm-age{display:none}
  .gm-menu{display:block}
  .gm-cover-card{margin:0 14px 14px;max-width:none}
  .gm-foot{grid-template-columns:1fr}
}
@media (max-width:640px){
  .gm-head{padding:10px 14px}
  .gm-logo img{width:170px}
  .gm-cover{padding:0 10px}
  .gm-cover>*{grid-area:auto}
  .gm-cover-card{order:1;margin:0;border-radius:24px 24px 0 0}
  .gm-cover-img{order:2;border-radius:0 0 24px 24px}
  .gm-cover-img img{height:240px}
  .gm-body{padding:0 16px}
  .gm-float{float:none;width:100%;margin:18px 0}
  .gm-calc-fields,.gm-calc-out,.gm-tiles{grid-template-columns:1fr}
  .gm-body h2::before{font-size:4.2rem;left:-4px}
  .gm-lead{font-size:1.15rem}
  body{font-size:16px}
}
