*{box-sizing:border-box}
:root{color-scheme:dark;--ink:#171d27;--paper:#fffaf3;--gold:#d9a13c;--gold-deep:#b77a16;--pink:#ff2b4e;--green:#129f37;--blue:#1789b9;--violet:#df64e9;--shadow:0 24px 70px rgba(0,0,0,.4)}
html{scroll-behavior:smooth}
body{margin:0;background:#101620;color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}
button,summary,[role="button"]{cursor:pointer}
button{font:inherit}
[hidden]{display:none!important}
.portal{position:relative;min-height:100vh;display:grid;place-items:center;padding:112px 24px 80px;isolation:isolate;overflow:hidden}
.official-scene{position:absolute;inset:-20px;z-index:-2;background:#24303b url("/images/gaybloom-background.webp") center/cover no-repeat;filter:blur(10px) saturate(.82);transform:scale(1.055);transition:filter .45s ease,transform .45s ease}
.official-scene:focus-visible{outline:4px solid #fff;outline-offset:-14px}
.portal::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,15,22,.74),rgba(10,15,22,.34) 52%,rgba(10,15,22,.55)),linear-gradient(0deg,rgba(10,15,22,.68),transparent 45%)}
.is-unlocked .official-scene{filter:blur(2px) saturate(.98);transform:scale(1.025)}
.portal-bar{position:absolute;top:0;left:0;right:0;min-height:82px;padding:16px clamp(20px,4vw,62px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(17,23,32,.9);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px)}
.brand-lockup{display:flex;align-items:center;gap:12px;font-size:clamp(1.2rem,2.3vw,1.65rem);font-weight:800;letter-spacing:.02em}
.brand-lockup img{width:42px;height:42px;object-fit:contain}
.account-button{border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:10px 18px;font-weight:700}
.account-button:hover,.account-button:focus-visible{background:#fff;color:var(--ink)}
.preview-card{width:min(510px,100%);margin-left:auto;margin-right:clamp(0px,5vw,88px);padding:clamp(26px,4.5vw,48px);border:1px solid rgba(255,255,255,.35);border-radius:28px;background:rgba(18,24,34,.88);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.preview-kicker{margin:0 0 10px;color:#f5c56c;font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.preview-title{margin:0;font-size:clamp(2rem,4.7vw,4.2rem);font-weight:800;line-height:1.02;letter-spacing:-.045em}
.preview-copy{margin:22px 0;color:#e3e8ee;font-size:1.06rem}
.offer-button{width:100%;border:0;border-radius:14px;padding:16px 22px;background:linear-gradient(135deg,#e2ad45,#bf7f16);color:#17120b;font-weight:800;box-shadow:0 12px 28px rgba(214,155,48,.3)}
.offer-button:hover,.offer-button:focus-visible{background:linear-gradient(135deg,#f1c46d,#d59a31);transform:translateY(-1px)}
.preview-note{margin:14px 0 0;color:#aeb8c4;font-size:.86rem;text-align:center}
.guide-cue{position:absolute;bottom:22px;left:clamp(20px,4vw,62px);padding:9px 14px;border-radius:999px;background:rgba(17,23,32,.76);color:#e4e9ef;font-size:.82rem}
.check-screen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:rgba(7,11,17,.68);backdrop-filter:blur(14px)}
.check-card{width:min(520px,100%);padding:clamp(28px,5vw,52px);border:1px solid rgba(255,255,255,.18);border-radius:30px;background:linear-gradient(145deg,#202936,#111722);box-shadow:0 30px 90px rgba(0,0,0,.62);text-align:center}
.check-logo{width:72px;height:72px;object-fit:contain;margin-bottom:12px}
.check-kicker{margin:0;color:#f2c469;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.check-question{margin:12px auto 14px;max-width:430px;font-size:clamp(1.75rem,5vw,2.65rem);font-weight:800;line-height:1.08;letter-spacing:-.035em}
.check-note{margin:0 auto 26px;max-width:420px;color:#bfc8d3}
.check-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}
.check-actions button{min-height:52px;border-radius:13px;padding:12px 18px;font-weight:800}
.check-accept{border:0;background:linear-gradient(135deg,#e4af47,#c4861c);color:#15120b}
.check-reject{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff}
.check-actions button:hover,.check-actions button:focus-visible{outline:3px solid rgba(255,255,255,.72);outline-offset:2px}
.editorial-details{background:var(--paper);color:#232937;border-top:1px solid #d5d7d8}
.editorial-details summary{padding:24px clamp(22px,6vw,90px);background:#171d27;color:#fff;font-size:1.05rem;font-weight:800;list-style-position:inside}
.editorial-details summary:focus-visible{outline:3px solid var(--gold);outline-offset:-6px}
.editorial-copy{width:min(920px,calc(100% - 40px));margin:0 auto;padding:clamp(38px,7vw,84px) 0 90px}
.editorial-copy h1{margin:0 0 22px;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.05em;color:#121923}
.editorial-copy h2{margin:56px 0 18px;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.16;color:#171d27}
.editorial-copy h3{margin:34px 0 12px;font-size:1.28rem;color:#253448}
.editorial-copy p,.editorial-copy li{font-size:1.02rem;color:#3d4755}
.editorial-copy strong{color:#151c26}
.editorial-copy ul{padding-left:24px}
.tuwy-table{margin:28px 0;overflow:auto;border:1px solid #d9dde2;border-radius:16px;background:#fff}
.tuwy-table table{width:100%;min-width:650px;border-collapse:collapse}
.tuwy-table th,.tuwy-table td{padding:15px;border-bottom:1px solid #e7e9ec;text-align:left;vertical-align:top}
.tuwy-table thead th{background:#eef5ff;color:#1d3557}
.tuwy-table tbody th{color:#1b2736}
@media(max-width:760px){.portal{padding:100px 18px 68px;align-items:end}.portal-bar{min-height:72px;padding:13px 18px}.brand-lockup span{font-size:1.12rem}.brand-lockup img{width:36px;height:36px}.account-button{padding:9px 13px;font-size:.82rem}.preview-card{margin:0;padding:26px 22px;border-radius:22px}.preview-title{font-size:clamp(2rem,12vw,3.2rem)}.guide-cue{left:18px;bottom:14px}.check-actions{grid-template-columns:1fr}.check-card{padding:30px 22px;border-radius:24px}.editorial-details summary{padding:20px}.editorial-copy{width:min(100% - 32px,920px)}}
@media(max-width:420px){.portal{min-height:844px}.preview-copy{font-size:.95rem}.brand-lockup{gap:8px}.account-button{max-width:128px}.check-question{font-size:1.8rem}}
