﻿:root {
    color-scheme: dark;
    --bg: #061426;
    --panel: #0b1d34;
    --panel-2: #102842;
    --ink: #f8fbff;
    --muted: #9fb4d1;
    --line: rgba(148, 188, 230, .22);
    --blue: #2388ff;
    --cyan: #5ed7ff;
    --green: #a3e635;
    --danger: #fb7185;
    --shadow: 0 28px 80px rgba(0, 0, 0, .42);
}

* { box-sizing: border-box; }

html {
    min-height: 100%;
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    margin: 0;
    font-family: ui-sans-serif, "Aptos", "Segoe UI", sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 82% 12%, rgba(35, 136, 255, .28), transparent 34%),
        radial-gradient(circle at 16% 80%, rgba(94, 215, 255, .16), transparent 32%),
        linear-gradient(145deg, #020817, var(--bg) 52%, #08223c);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 80%);
}
.site-header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 28px));min-height:76px;margin:0 auto;border-bottom:1px solid var(--line)}.site-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.site-brand .bluca-mark{width:34px;height:38px}.site-brand>span:last-child{display:grid}.site-brand strong{font-size:1.25rem}.site-brand small{color:var(--muted)}.user-actions,.public-nav{display:flex;align-items:center;gap:18px}.public-nav a{color:var(--muted);text-decoration:none}.public-nav .header-login,.logout-button{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.user-name{color:var(--muted)}

.app-shell {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: clamp(22px, 4vw, 56px) 0;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 560px);
    gap: clamp(22px, 4vw, 56px);
    align-items: center;
}

.brand-panel,
.connect-panel,
.swim-pass-card {
    border: 1px solid var(--line);
    border-radius: 32px;
    background: linear-gradient(145deg, rgba(16, 40, 66, .78), rgba(6, 20, 38, .94));
    box-shadow: var(--shadow);
}

.brand-panel {
    padding: clamp(28px, 5vw, 56px);
}

.brand-row {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 850;
    letter-spacing: -.055em;
}

.brand-row.compact {
    font-size: 1.65rem;
}

.bluca-mark {
    position: relative;
    width: 58px;
    height: 62px;
    display: inline-block;
}

.brand-row.compact .bluca-mark {
    width: 42px;
    height: 46px;
}

.bluca-mark::before,
.bluca-mark::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    background: linear-gradient(135deg, #2563ff, #5ed7ff);
    border-radius: 0 999px 999px 0;
}

.bluca-mark::before { top: 5px; height: 24px; }
.bluca-mark::after { bottom: 5px; height: 28px; }

.eyebrow {
    margin: 34px 0 12px;
    color: var(--cyan);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

h1,
h2,
h3,
p { margin-top: 0; }

h1 {
    max-width: 760px;
    margin-bottom: 18px;
    font-size: clamp(2.7rem, 7vw, 5.6rem);
    line-height: .92;
    letter-spacing: -.07em;
}

.hero-copy {
    max-width: 650px;
    color: var(--muted);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    color: var(--ink);
    font-weight: 850;
    text-decoration: none;
}

.button.primary {
    background: linear-gradient(135deg, #2563ff, #38bdf8);
    box-shadow: 0 18px 34px rgba(37, 99, 255, .28);
}

.button.ghost {
    border: 1px solid var(--line);
    background: rgba(255,255,255,.04);
}

.swim-pass-card {
    padding: clamp(20px, 4vw, 34px);
    background:
        radial-gradient(circle at 80% 18%, rgba(94, 215, 255, .2), transparent 30%),
        linear-gradient(160deg, #061426 0%, #071a32 54%, #020817 100%);
}

.pass-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu-dot {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 1.2rem;
    letter-spacing: .1em;
}

.pass-title p {
    margin: 34px 0 8px;
    color: var(--cyan);
    font-weight: 850;
}

.pass-title h2 {
    margin-bottom: 22px;
    font-size: clamp(2.15rem, 7vw, 3.6rem);
    line-height: .95;
    letter-spacing: -.06em;
}

.identity-card,
.badge-row,
.validity-card {
    border: 1px solid rgba(96, 165, 250, .24);
    background: linear-gradient(135deg, rgba(30, 64, 175, .2), rgba(15, 23, 42, .54));
}

.identity-card {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 132px;
    gap: 18px;
    align-items: center;
    padding: 16px;
    border-radius: 24px;
}

.avatar {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    border-radius: 999px;
    background: linear-gradient(135deg, #2563ff, #5ed7ff);
    color: white;
    font-size: 1.35rem;
    font-weight: 900;
}

.identity-data {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.identity-data strong { font-size: 1.35rem; }
.identity-data span { color: #cbdaf0; }
.identity-data b { color: var(--green); }

.qr-box {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding-left: 14px;
    border-left: 1px solid var(--line);
    text-align: center;
}

.qr-box span {
    color: #dbeafe;
    font-size: .78rem;
    font-weight: 800;
}

.qr-grid {
    display: grid;
    grid-template-columns: repeat(7, 10px);
    gap: 2px;
    padding: 8px;
    border-radius: 10px;
    background: white;
}

.qr-grid i {
    width: 10px;
    height: 10px;
    background: #e2e8f0;
}

.qr-grid i.on { background: #07111f; }

.badges-section h3 {
    margin: 28px 0 14px;
    font-size: 1.45rem;
}

.badge-list {
    display: grid;
    gap: 12px;
}

.badge-row {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 38px;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-radius: 20px;
}

.badge-row.pending {
    opacity: .7;
}

.badge-row img {
    width: 66px;
    height: 66px;
    border: 3px solid rgba(255,255,255,.7);
    border-radius: 999px;
    object-fit: cover;
    box-shadow: 0 14px 28px rgba(0,0,0,.32);
}

.badge-row strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1.25rem;
}

dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

dt {
    color: var(--cyan);
    font-size: .72rem;
    font-weight: 850;
}

dd {
    margin: 2px 0 0;
    color: #edf6ff;
    font-size: .86rem;
}

.badge-row a {
    display: inline-flex;
    width: max-content;
    margin-top: 12px;
    color: #e0f2fe;
    font-weight: 850;
    text-decoration: none;
}

.state {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: linear-gradient(135deg, #2563ff, #5ed7ff);
    font-size: 1.25rem;
    font-weight: 900;
}

.validity-card {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin-top: 24px;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
}

.validity-card > span {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    font-size: 1.5rem;
    font-weight: 900;
}

.validity-card strong {
    display: block;
    font-size: 1.35rem;
}

.validity-card small {
    color: rgba(255,255,255,.82);
}

.connect-panel {
    margin-top: 28px;
    padding: clamp(24px, 4vw, 40px);
}

.connect-panel .eyebrow { margin-top: 0; }
.connect-panel h2 { font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: -.05em; }

.connect-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.connect-grid article {
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
}

.connect-grid span {
    color: var(--muted);
    line-height: 1.55;
}

@media (max-width: 980px) {
    .hero-grid,
    .connect-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .app-shell { width: min(100% - 16px, 560px); padding-top: 10px; }
    .brand-panel { display: none; }
    .swim-pass-card { border-radius: 28px; }
    .identity-card,
    .badge-row,
    .validity-card {
        grid-template-columns: 1fr;
    }
    .qr-box {
        padding-left: 0;
        padding-top: 14px;
        border-left: 0;
        border-top: 1px solid var(--line);
    }
    dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .state { justify-self: end; }
}

.verify-card { width:min(760px,100%); margin-inline:auto; }
.verify-card h1 { font-size:clamp(2.4rem,8vw,4.5rem); }
a:focus-visible,button:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.account-card{width:min(520px,100%);margin:clamp(20px,8vh,80px) auto;padding:clamp(24px,6vw,48px);border:1px solid var(--line);border-radius:28px;background:var(--panel);box-shadow:var(--shadow)}
.account-card h1{font-size:clamp(2.4rem,8vw,4rem)}
.account-card form{display:grid;gap:10px}.account-card label{margin-top:8px;font-weight:800}.account-card input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#061426;color:var(--ink);font:inherit}.account-card button{margin-top:16px;border:0;cursor:pointer}.field-validation-error,.form-error{color:#ffb4b4}.account-link{margin:24px 0 0}.account-link a{color:var(--cyan)}.demo-hint{display:grid;gap:4px;margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}
.account-card .remember-row{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.account-card .remember-row input{width:20px;min-height:20px;accent-color:var(--blue)}
.app-shell{padding-bottom:110px}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:16px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:min(520px,calc(100% - 24px));padding:8px;border:1px solid var(--line);border-radius:22px;background:rgba(6,18,33,.96);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.bottom-nav a{display:grid;place-items:center;gap:3px;min-height:56px;border-radius:15px;color:var(--muted);text-decoration:none}.bottom-nav a:hover,.bottom-nav a:focus{background:var(--panel-2);color:var(--ink)}.bottom-nav span{font-size:1.35rem}.app-header{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:0 auto 24px}.app-header .eyebrow{margin:0 0 8px}.app-header h1{margin:0}.icon-button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);font-size:1.3rem}.empty-card,.form-card{max-width:760px;margin:0 auto 20px;padding:clamp(24px,5vw,40px);border:1px solid var(--line);border-radius:24px;background:var(--panel)}.empty-icon{font-size:3rem}.pass-grid{display:grid;gap:12px;max-width:760px;margin:0 auto}.child-pass{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--ink);text-decoration:none}.child-pass .avatar{width:54px;height:54px}.child-pass div:nth-child(2){display:grid;gap:3px}.child-pass span,.child-pass small{color:var(--muted)}.form-card form{display:grid;gap:10px}.form-card input,.form-card select{min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit}.form-card label{margin-top:8px;font-weight:800}.form-card button{margin-top:14px;border:0}
.wide-form{max-width:860px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid>div{display:grid;gap:8px}.form-card small{color:var(--muted)}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.review-shortcut{position:fixed;right:18px;top:18px;z-index:20;padding:10px 14px;border-radius:999px;background:var(--blue);color:white;text-decoration:none;font-weight:800}.status-dot{font-size:1.5rem;color:var(--warning)}.status-dot.approved{color:var(--green)}.status-dot.rejected{color:var(--danger)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1060px;margin:0 auto}.detail-grid .form-card{width:100%;margin:0}.details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.details>div{padding:10px;border:1px solid var(--line);border-radius:12px}.file-row{display:flex;justify-content:space-between;gap:12px;margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.review-history{padding:12px 0;border-bottom:1px solid var(--line)}.review-history span{display:block;color:var(--muted)}.form-card textarea{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit}.checklist>label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;min-height:42px}.checklist input[type=checkbox]{width:20px;min-height:20px}@media(max-width:800px){.detail-grid{grid-template-columns:1fr}.review-shortcut{top:auto;bottom:90px}}
.landing-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:clamp(30px,7vw,90px);align-items:center;min-height:calc(100vh - 150px);padding:50px 0}.landing-copy h1{max-width:800px;font-size:clamp(3.4rem,7.5vw,7rem)}.landing-copy .eyebrow{margin-top:0}.trust-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;color:var(--muted);font-size:.9rem}.trust-row span::first-letter{color:var(--green)}.landing-pass-preview{padding:28px;border:1px solid rgba(77,163,255,.35);border-radius:30px;background:radial-gradient(circle at 90% 10%,rgba(39,191,241,.22),transparent 35%),linear-gradient(155deg,#102441,#061221 70%);box-shadow:0 36px 100px rgba(0,0,0,.5);transform:rotate(1.5deg)}.pass-present-brand{display:flex;align-items:center;gap:10px}.pass-present-mark{width:36px;height:28px;border-radius:0 99px 99px 0;background:linear-gradient(135deg,#3043d8,#28c3ef)}.pass-present-brand small{margin-left:auto;color:var(--muted)}.preview-person{display:flex;align-items:center;gap:18px;margin:40px 0 30px}.preview-person .avatar{width:76px;height:76px}.preview-person small{color:var(--cyan)}.preview-person h2{margin:3px 0 10px;font-size:2.3rem}.valid-pill,.pass-status{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(103,220,145,.12);color:var(--green);font-size:.8rem;font-weight:850}.preview-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preview-badges div{display:grid;justify-items:center;gap:6px;padding:12px 6px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.preview-badges img{width:62px;height:62px;border-radius:50%;object-fit:cover}.preview-badges span{font-size:.78rem;font-weight:750}.landing-pass-preview footer{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.landing-section{padding:clamp(60px,9vw,120px) 0;border-top:1px solid var(--line)}.landing-section>.eyebrow{margin-top:0}.landing-section>h2,.security-section h2,.landing-cta h2{max-width:800px;font-size:clamp(2.3rem,5vw,4.4rem);letter-spacing:-.055em}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}.steps article{padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}.steps b{color:var(--cyan);font-size:.8rem}.steps h3{margin:34px 0 10px;font-size:1.35rem}.steps p,.security-section p,.landing-cta p{color:var(--muted);line-height:1.6}.security-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.security-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.security-list span{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.security-list span::before{content:'✓';margin-right:8px;color:var(--green)}.landing-cta{text-align:center;padding:clamp(60px,9vw,110px) 20px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(120deg,rgba(48,67,216,.3),rgba(40,195,239,.12))}.landing-cta h2,.landing-cta p{margin-left:auto;margin-right:auto}.pass-page-head{display:flex;justify-content:space-between;align-items:center;width:min(860px,100%);margin:0 auto 18px}.pass-page-head>a:first-child{color:var(--muted);text-decoration:none}.official-pass{width:min(860px,100%);margin:0 auto;border:1px solid rgba(77,163,255,.32);border-radius:30px;overflow:hidden;background:radial-gradient(circle at 90% 5%,rgba(39,191,241,.18),transparent 28%),linear-gradient(155deg,#0b1b32,#061221 60%);box-shadow:var(--shadow)}.official-pass-brand{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}.official-identity{display:grid;grid-template-columns:100px 1fr 170px;gap:22px;align-items:center;padding:34px 28px;background:linear-gradient(120deg,rgba(48,67,216,.18),rgba(39,191,241,.06))}.big-avatar{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#3043d8,#28c3ef);font-size:2rem;font-weight:900}.official-identity p{margin:0;color:var(--cyan);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.official-identity h1{margin:5px 0 18px;font-size:clamp(2.3rem,6vw,4rem)}.official-identity dl{display:flex;gap:28px}.official-identity dl div{display:grid}.official-identity dt{color:var(--muted)}.official-identity dd{font-size:1.15rem;font-weight:850}.verification-mark{display:grid;justify-items:center;gap:6px;text-align:center;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.035)}.verification-mark>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(103,220,145,.15);color:var(--green);font-size:1.5rem}.verification-mark small{color:var(--muted)}.official-awards{padding:30px 28px}.section-heading .eyebrow{margin:0 0 6px}.section-heading h2{font-size:2rem}.official-award{display:grid;grid-template-columns:84px 1fr 60px;gap:18px;align-items:center;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035)}.official-award img{width:78px;height:78px;border-radius:50%;object-fit:cover}.award-state{color:var(--green);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.award-main h3{margin:5px 0;font-size:1.45rem}.award-main p{margin:0;color:var(--muted)}.award-seal{display:grid;justify-items:center;gap:3px;color:var(--green)}.award-seal span{display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;border-radius:50%}.pass-empty{padding:30px;border:1px dashed var(--line);border-radius:20px;text-align:center}.pass-empty p{color:var(--muted)}.official-pass-footer{display:flex;justify-content:space-between;padding:22px 28px;background:linear-gradient(120deg,#3043d8,#2679f4 55%,#28c3ef)}.official-pass-footer div{display:grid}.official-pass-footer span{font-size:.8rem}.footer-code{align-self:center;font-weight:850}
@media(max-width:900px){.landing-hero,.security-section{grid-template-columns:1fr}.landing-pass-preview{max-width:560px;transform:none}.steps{grid-template-columns:1fr 1fr}.official-identity{grid-template-columns:86px 1fr}.verification-mark{grid-column:1/-1;grid-template-columns:auto 1fr;justify-items:start;text-align:left}.verification-mark small{grid-column:2}}
@media(max-width:640px){.site-header{min-height:64px}.user-name,.public-nav>a:not(.header-login){display:none}.logout-button{padding:9px 12px}.landing-hero{padding-top:24px}.landing-copy h1{font-size:3.2rem}.steps,.security-list{grid-template-columns:1fr}.landing-pass-preview{padding:20px}.official-pass{border-radius:22px}.official-pass-brand,.official-identity,.official-awards,.official-pass-footer{padding-left:18px;padding-right:18px}.official-identity{grid-template-columns:64px 1fr}.big-avatar{width:62px;height:62px}.official-identity dl{gap:14px}.official-award{grid-template-columns:62px 1fr}.official-award img{width:58px;height:58px}.award-seal{display:none}.pass-page-head{gap:10px}.pass-page-head .button{padding:0 12px;font-size:.8rem}}

/* Landing hero: photo and copy use isolated columns without overlap. */
.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(36px,5vw,72px)}
.landing-copy{position:relative;z-index:2;min-width:0}
.landing-copy h1{max-width:720px;font-size:clamp(3.3rem,5.7vw,5.75rem);line-height:.94;overflow-wrap:break-word;text-wrap:balance}
.landing-phone{position:relative;z-index:1;display:grid;justify-items:center;align-self:stretch;min-width:0;margin:0}
.landing-phone img{position:relative;z-index:2;display:block;width:100%;max-width:520px;height:min(76vh,820px);object-fit:contain;filter:drop-shadow(0 36px 60px rgba(0,0,0,.42))}
.phone-glow{position:absolute;z-index:0;inset:12% 3% 10%;border-radius:50%;background:radial-gradient(circle,rgba(46,111,242,.32),rgba(39,191,241,.08) 48%,transparent 70%);filter:blur(24px)}
.landing-phone figcaption{max-width:420px;margin-top:-14px;color:var(--muted);font-size:.82rem;text-align:center}
@media(max-width:980px){.landing-hero{grid-template-columns:1fr}.landing-copy h1{max-width:850px}.landing-phone{margin-top:10px}.landing-phone img{max-width:560px;height:auto;max-height:760px}}
@media(max-width:640px){.landing-hero{padding-top:24px;gap:22px}.landing-copy h1{font-size:clamp(2.8rem,14vw,4rem)}.landing-phone img{max-height:620px}.landing-phone figcaption{margin-top:0}}

/* Refined editorial hero */
.landing-hero{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);gap:clamp(54px,7vw,110px);min-height:calc(100vh - 120px);padding:70px 0 90px}
.hero-kicker{display:flex;align-items:center;gap:10px;width:max-content;padding:8px 12px;margin-bottom:22px;border:1px solid rgba(77,163,255,.25);border-radius:999px;background:rgba(46,111,242,.08);font-size:.72rem;letter-spacing:.14em}
.hero-kicker span{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.landing-copy h1{display:grid;gap:2px;max-width:none;margin-bottom:28px;font-size:clamp(3.1rem,4.55vw,4.7rem);line-height:.94;letter-spacing:-.055em;text-wrap:initial}
.landing-copy h1>span{display:block;white-space:nowrap}
.landing-copy h1>span:last-child{background:linear-gradient(100deg,#f7faff 20%,#9edfff 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.landing-copy .hero-copy{max-width:650px;font-size:1.08rem;line-height:1.75}
.landing-copy .hero-actions{margin-top:28px}.landing-copy .button.primary{gap:12px}.landing-copy .button.primary span{font-size:1.2rem}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);max-width:650px;margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}
.hero-proof div{display:grid;gap:3px;padding-right:16px}.hero-proof div+div{padding-left:20px;border-left:1px solid var(--line)}.hero-proof strong{font-size:1.35rem}.hero-proof span{color:var(--muted);font-size:.77rem}
.landing-phone{position:relative;align-self:center;height:760px;isolation:isolate}
.landing-phone .phone-glow{inset:12% -10% 8%;background:radial-gradient(ellipse,rgba(46,111,242,.3),rgba(39,191,241,.08) 48%,transparent 70%);filter:blur(34px)}
.phone-photo-frame{position:relative;z-index:3;width:100%;height:100%;overflow:visible}
.landing-phone .phone-photo-frame img{width:100%;max-width:none;height:100%;max-height:none;object-fit:cover;object-position:center;clip-path:inset(7.2% 13.2% 6.1% 13.2% round 16%);filter:drop-shadow(0 42px 55px rgba(0,0,0,.48));transform:scale(1.14)}
.phone-orbit{position:absolute;z-index:0;border:1px solid rgba(77,163,255,.17);border-radius:50%;transform:rotate(-16deg)}.orbit-one{inset:13% -9% 15%}.orbit-two{inset:23% 1% 25%;transform:rotate(18deg)}
.floating-note{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(77,163,255,.28);border-radius:16px;background:rgba(6,18,33,.88);box-shadow:0 18px 45px rgba(0,0,0,.3);backdrop-filter:blur(14px)}.floating-note>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(103,220,145,.13);color:var(--green);font-weight:900}.floating-note div{display:grid}.floating-note strong{font-size:.8rem}.floating-note small{color:var(--muted);font-size:.68rem}.note-top{top:19%;right:-2%}.note-bottom{bottom:17%;left:-3%}.note-bottom>span{background:rgba(39,191,241,.12);color:var(--cyan)}
@media(max-width:1100px){.landing-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:32px}.landing-copy h1{font-size:clamp(2.9rem,4.7vw,4.1rem)}.landing-phone{height:660px}.floating-note{display:none}}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr;padding-top:44px}.landing-copy h1{font-size:clamp(3rem,8vw,4.5rem)}.landing-phone{width:min(580px,100%);height:720px;margin:0 auto}.floating-note{display:flex}}
@media(max-width:640px){.landing-copy h1{gap:3px;font-size:clamp(2.65rem,12.5vw,3.8rem);line-height:.96}.landing-copy h1>span{white-space:normal}.hero-proof{gap:8px}.hero-proof div+div{padding-left:10px}.hero-proof span{font-size:.68rem}.landing-phone{height:580px}.floating-note{display:none}.landing-phone .phone-photo-frame img{transform:scale(1.08)}}

/* Robust hero behavior for browser zoom and intermediate viewport widths. */
.landing-copy h1,.landing-copy h1>span{min-width:0;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
.landing-copy h1>span:first-child{white-space:nowrap}
.landing-phone{max-width:100%;overflow:visible}
@media(max-width:1240px){.landing-hero{grid-template-columns:minmax(0,1fr) minmax(350px,.72fr);gap:30px}.landing-copy h1{font-size:clamp(2.9rem,4.45vw,4.1rem)}.floating-note{display:none}}
@media(max-width:1080px){.landing-hero{grid-template-columns:1fr;gap:18px;padding-top:46px}.landing-copy{max-width:820px}.landing-copy h1{font-size:clamp(3rem,7vw,4.5rem)}.landing-copy h1>span{white-space:nowrap}.landing-phone{width:min(600px,100%);height:720px;margin:8px auto 0}}
@media(max-width:720px){.landing-copy h1{font-size:clamp(2.65rem,12vw,4rem)}.landing-copy h1>span{white-space:normal}.landing-copy h1>span:first-child{white-space:normal}.landing-phone{height:min(128vw,640px)}.hero-proof{grid-template-columns:1fr;gap:12px}.hero-proof div,.hero-proof div+div{padding:0 0 10px;border-left:0;border-bottom:1px solid var(--line)}}

/* The v4 asset has real alpha transparency and must never be clipped. */
.landing-phone .phone-photo-frame{display:grid;place-items:center;overflow:visible}
.landing-phone .phone-photo-frame img{width:auto;max-width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;clip-path:none;transform:none;filter:drop-shadow(0 42px 55px rgba(0,0,0,.48))}
@media(max-width:640px){.landing-phone .phone-photo-frame img{transform:none}}

/* Reserve the phone's real aspect ratio so following sections can never slide underneath it. */
.landing-phone{width:min(100%,560px);height:auto;min-height:0;align-self:center;overflow:visible}
.phone-photo-frame{position:relative;width:100%;height:auto;aspect-ratio:706/1428}
.landing-phone .phone-photo-frame img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
@media(max-width:1080px){.landing-phone{width:min(100%,520px);height:auto;margin:24px auto 40px}}
@media(max-width:720px){.landing-phone{width:min(100%,430px);height:auto;margin:18px auto 56px}.landing-hero{padding-bottom:30px}.landing-section{position:relative;z-index:2;clear:both}}

@media(max-width:720px){
  .landing-copy h1{font-size:clamp(2rem,8.5vw,3rem);line-height:1;letter-spacing:-.04em}
  .landing-copy h1>span{display:block;max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:normal;hyphens:none}
  .landing-copy .hero-copy{font-size:1rem;line-height:1.65}
}
@media(max-width:420px){.landing-copy h1{font-size:clamp(1.9rem,9vw,2.35rem)}}

.pass-qr{display:grid;justify-items:center;gap:5px;padding:12px;border:1px solid var(--line);border-radius:18px;background:white;color:#061221;text-align:center}.pass-qr a{display:block;line-height:0}.pass-qr svg{display:block;width:122px;height:122px}.pass-qr strong{font-size:.72rem}.pass-qr small{color:#52657b;font-size:.65rem}.verify-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.verify-actions button{border:1px solid var(--line);cursor:pointer}@media(max-width:640px){.pass-qr{grid-column:1/-1;width:min(220px,100%);justify-self:center}.pass-qr svg{width:150px;height:150px}}@media print{body{background:white;color:#111}.site-header,.bottom-nav,.review-shortcut,.verify-actions{display:none!important}.app-shell{width:100%;padding:0}.verify-card{border:0;box-shadow:none;background:white;color:#111}.verify-card .hero-copy,.verify-card dd,.verify-card small{color:#333}.badge-row{break-inside:avoid;background:#f5f8fc;border-color:#ccd5e1;color:#111}}

.profile-editor{display:grid;grid-template-columns:280px 1fr;gap:20px;max-width:860px;margin:0 auto}.profile-photo-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--panel);text-align:center}.profile-photo-card>img,.profile-placeholder{width:190px;height:190px;border-radius:50%;object-fit:cover;border:3px solid rgba(77,163,255,.5)}.profile-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#3043d8,#28c3ef);font-size:3rem;font-weight:900}.profile-photo-card small{color:var(--muted);line-height:1.5}.profile-photo-card form{width:100%}.profile-thumb,.profile-photo{object-fit:cover}.danger-text-link{color:#ff9d9d;text-decoration:none;font-size:.82rem}@media(max-width:720px){.profile-editor{grid-template-columns:1fr}.profile-photo-card>img,.profile-placeholder{width:150px;height:150px}}

/* Clickable badge details */
.award-link{color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease}.award-link:hover{transform:translateY(-2px);border-color:var(--cyan)}.award-main small{color:var(--cyan)}.award-open{display:grid;justify-items:center;color:var(--muted)}.award-open span{font-size:2rem}.award-detail-shell{width:min(900px,100%);margin:0 auto}.earned-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 16px}.earned-tab{display:grid;justify-items:center;gap:4px;min-width:116px;padding:14px 12px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);color:var(--ink);text-decoration:none}.earned-tab.current{border-color:var(--cyan);background:rgba(39,191,241,.09)}.earned-image{position:relative}.earned-image img{width:68px;height:68px;border-radius:50%;object-fit:cover}.earned-image b{position:absolute;right:-2px;bottom:1px;display:grid;place-items:center;width:23px;height:23px;border:2px solid var(--panel);border-radius:50%;background:#209653;color:white;font-size:.7rem}.earned-tab small{color:var(--green)}.award-detail-card{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:linear-gradient(155deg,#0b1b32,#061221);box-shadow:var(--shadow)}.award-detail-head{display:flex;align-items:center;gap:24px;padding:28px;background:linear-gradient(120deg,rgba(46,111,242,.2),rgba(39,191,241,.07))}.award-detail-head>img{width:112px;height:112px;border-radius:50%;object-fit:cover}.award-detail-head .eyebrow{margin:0 0 6px}.award-detail-head h1{margin:0 0 12px;font-size:clamp(2.4rem,6vw,4rem)}.verification-facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.verification-facts>div{padding:18px}.verification-facts>div+div{border-left:1px solid var(--line)}.verification-facts span{color:var(--cyan);font-size:1.25rem}.verification-facts p{margin:6px 0 3px;color:var(--muted);font-size:.74rem}.verification-facts strong{font-size:.88rem}.requirements{padding:28px}.requirements .eyebrow{margin:0 0 5px}.requirement-row{display:grid;grid-template-columns:44px 1fr 32px;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.requirement-row>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(46,111,242,.11);color:var(--cyan);font-size:1.25rem}.requirement-row p{margin:4px 0 0;color:var(--muted);line-height:1.45}.requirement-row>b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(103,220,145,.14);color:var(--green)}.award-verification-footer{display:flex;align-items:center;gap:16px;padding:22px 28px;background:linear-gradient(120deg,#3043d8,#2679f4 55%,#28c3ef)}.shield-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.16);font-size:1.4rem}.award-verification-footer p{margin:3px 0 0;color:rgba(255,255,255,.8)}@media(max-width:720px){.official-award.award-link{grid-template-columns:62px 1fr 34px}.award-detail-head{padding:20px}.award-detail-head>img{width:82px;height:82px}.verification-facts{grid-template-columns:1fr 1fr}.verification-facts>div:nth-child(3){border-left:0}.verification-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.requirements{padding:20px}}

.child-manage-card{display:flex;padding:0;overflow:hidden}.child-main-link{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center;min-width:0;flex:1;padding:16px;color:var(--ink);text-decoration:none}.manage-link{display:grid;place-items:center;min-width:96px;padding:12px;border-left:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:.82rem;font-weight:800}.manage-link:hover{background:rgba(241,100,100,.1);color:#ffb4b4}.delete-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto}.delete-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin:0}.delete-option p{flex:1;color:var(--muted);line-height:1.65}.delete-option.critical{border-color:rgba(241,100,100,.45)}.delete-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(241,100,100,.13);color:var(--danger);font-size:2rem}.delete-icon.pass-delete{background:rgba(244,183,64,.12);color:var(--warning);font-size:1.4rem}.danger-button{border:1px solid rgba(241,100,100,.5)!important;background:transparent;color:#ffb4b4;cursor:pointer}.danger-button.solid{background:var(--danger);color:white}.delete-cancel{display:flex;justify-content:center;margin:24px 0}.muted-note{color:var(--muted)}@media(max-width:720px){.delete-grid{grid-template-columns:1fr}.child-main-link{grid-template-columns:50px 1fr auto}.manage-link{min-width:80px}}

/* Administration */
.admin-link{color:var(--cyan);font-weight:800;text-decoration:none}.admin-users{display:grid;gap:14px}.admin-user-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.4fr);gap:24px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.admin-user-card>div{display:grid;gap:5px}.admin-user-card>div span,.admin-user-card>div small{color:var(--muted)}.admin-user-card form{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:end}.admin-user-card label{display:grid;gap:6px}.admin-user-card .check{display:flex;align-items:center;padding-bottom:14px}.admin-user-card select{min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--ink)}@media(max-width:760px){.admin-user-card{grid-template-columns:1fr}.admin-user-card form{grid-template-columns:1fr}.admin-user-card .check{padding:0}.user-actions .admin-link{display:none}}
