/* v18: Professional blue animated public access pages (login + membership application) */
:root {
    --dcc-access-blue: #075dc9;
    --dcc-access-blue-deep: #033b95;
    --dcc-access-blue-dark: #022d75;
    --dcc-access-ink: #17365e;
    --dcc-access-muted: #607a9a;
    --dcc-access-line: #d8e8fa;
}

html:has(.dcc-access-body) { background: var(--dcc-access-blue); }
body.dcc-access-body {
    min-height: 100dvh;
    overflow-x: hidden;
    color: var(--dcc-access-ink);
    background: var(--dcc-access-blue);
}
body.dcc-access-body .dcc-mobile-bottom-nav { display: none !important; }

.dcc-access-page {
    position: relative;
    isolation: isolate;
    min-height: 100dvh;
    overflow: hidden;
    padding: 0 clamp(1rem, 4vw, 3rem) clamp(2rem, 5vw, 4rem);
    color: #fff;
    background: var(--dcc-access-blue);
}
.dcc-access-motion { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.dcc-access-grid {
    position: absolute;
    inset: 0;
    opacity: .42;
    background-image:
        linear-gradient(rgba(255,255,255,.072) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.072) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.65), transparent 76%);
    animation: dcc-access-grid-drift 26s linear infinite;
}
.dcc-access-orb {
    position: absolute;
    display: block;
    width: clamp(200px, 30vw, 520px);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: .46;
    filter: blur(4px);
    will-change: transform;
}
.dcc-access-orb-one { top: -14%; left: -7%; background: rgba(143, 222, 255, .68); animation: dcc-access-float-one 14s ease-in-out infinite; }
.dcc-access-orb-two { right: -11%; top: 23%; background: rgba(2, 47, 149, .58); animation: dcc-access-float-two 17s ease-in-out infinite; }
.dcc-access-orb-three { right: 25%; bottom: -26%; width: clamp(230px, 36vw, 620px); background: rgba(72, 191, 255, .3); animation: dcc-access-float-three 20s ease-in-out infinite; }

.dcc-access-topbar {
    width: min(1180px, 100%);
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 auto;
    animation: dcc-access-rise .6s both;
}
.dcc-access-brand { display: inline-flex; align-items: center; gap: .72rem; color: #fff; min-width: 0; }
.dcc-access-brand:hover { color: #fff; }
.dcc-access-logo-wrap {
    width: 47px;
    height: 47px;
    display: grid;
    place-items: center;
    overflow: hidden;
    flex: 0 0 auto;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0,31,100,.28);
}
.dcc-access-logo-wrap img { width: 100%; height: 100%; display: block; object-fit: contain; }
.dcc-access-brand-copy { display: grid; gap: .1rem; line-height: 1; }
.dcc-access-brand-copy strong { font-size: 1rem; font-weight: 850; letter-spacing: -.035em; }
.dcc-access-brand-copy small { color: rgba(255,255,255,.72); font-size: .6rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.dcc-access-toplink {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    padding: .62rem .82rem;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 13px;
    color: #fff;
    background: rgba(1,46,133,.18);
    box-shadow: 0 8px 18px rgba(0,39,113,.12);
    font-size: .78rem;
    font-weight: 800;
    transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.dcc-access-toplink:hover, .dcc-access-toplink:focus-visible { color: #fff; border-color: rgba(255,255,255,.68); background: rgba(255,255,255,.14); transform: translateY(-1px); }

.dcc-login-layout {
    width: min(1180px, 100%);
    min-height: calc(100dvh - 88px);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(370px, .78fr);
    gap: clamp(2.5rem, 8vw, 9rem);
    align-items: center;
    margin: 0 auto;
    padding: clamp(2rem, 6vw, 4.5rem) 0;
}
.dcc-access-intro { max-width: 650px; animation: dcc-access-rise .7s .08s both; }
.dcc-access-kicker {
    display: inline-flex;
    align-items: center;
    gap: .44rem;
    padding: .48rem .7rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    color: #effbff;
    background: rgba(255,255,255,.105);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.11);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .11em;
}
.dcc-access-kicker i { color: #b9f0ff; font-size: .8rem; }
.dcc-access-intro h1,
.dcc-registration-hero h1 {
    margin: 1rem 0 .95rem;
    color: #fff;
    font-size: clamp(2.45rem, 5.4vw, 4.9rem);
    font-weight: 850;
    line-height: .98;
    letter-spacing: -.07em;
    text-wrap: balance;
}
.dcc-access-intro > p,
.dcc-registration-hero-copy > p {
    max-width: 610px;
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(.93rem, 1.3vw, 1.07rem);
    line-height: 1.72;
}
.dcc-access-trust-list { display: grid; gap: .74rem; margin-top: 1.75rem; }
.dcc-access-trust-list > div { display: grid; grid-template-columns: 39px minmax(0, 1fr); gap: .7rem; align-items: center; }
.dcc-access-trust-list > div > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 13px;
    color: #fff;
    background: rgba(255,255,255,.14);
    font-size: 1rem;
}
.dcc-access-trust-list strong { display: block; color: #fff; font-size: .82rem; font-weight: 850; }
.dcc-access-trust-list small { display: block; margin-top: .12rem; color: rgba(255,255,255,.76); font-size: .72rem; line-height: 1.42; }
.dcc-access-status-line { display: inline-flex; align-items: center; gap: .48rem; margin-top: 1.65rem; color: rgba(255,255,255,.84); font-size: .72rem; font-weight: 750; }
.dcc-access-status-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: #9ef2bd; box-shadow: 0 0 0 5px rgba(158,242,189,.15); animation: dcc-access-pulse 1.8s ease-in-out infinite; }

.dcc-access-card-wrap { width: min(100%, 472px); justify-self: end; animation: dcc-access-rise .72s .17s both; }
.dcc-access-card {
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 3.3vw, 2.15rem);
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 28px;
    color: var(--dcc-access-ink);
    background: rgba(255,255,255,.98);
    box-shadow: 0 24px 70px rgba(0, 32, 101, .3), 0 1px 0 rgba(255,255,255,.85) inset;
}
.dcc-access-card::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: #0a70dc; }
.dcc-access-card-head { display: flex; gap: .8rem; align-items: flex-start; margin-bottom: 1.5rem; }
.dcc-access-card-icon { width: 45px; height: 45px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; color: #fff; background: #0a70dc; box-shadow: 0 9px 17px rgba(8,98,207,.22); font-size: 1.08rem; }
.dcc-access-card-kicker { display: block; color: #0a6fda; font-size: .63rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dcc-access-card h2 { margin: .18rem 0 .28rem; color: #15355d; font-size: 1.48rem; font-weight: 850; letter-spacing: -.055em; }
.dcc-access-card-head p,
.dcc-registration-form-head p { margin: 0; color: var(--dcc-access-muted); font-size: .77rem; line-height: 1.55; }
.dcc-access-field .form-label { margin-bottom: .4rem; color: #294869; font-size: .78rem; font-weight: 800; }
.dcc-access-label-row { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.dcc-access-label-row span { color: #7790ad; font-size: .63rem; font-weight: 750; }
.dcc-access-input-group .form-control,
.dcc-access-input-group .input-group-text,
.dcc-access-input-group .btn-outline-secondary,
.dcc-registration-input-group .form-control,
.dcc-registration-input-group .input-group-text,
.dcc-registration-input-group .btn-outline-secondary {
    min-height: 51px;
    border-color: #d8e7f6;
    box-shadow: none;
}
.dcc-access-input-group .input-group-text,
.dcc-registration-input-group .input-group-text { color: #0a70dc; background: #f2f8ff; }
.dcc-access-input-group .form-control:focus,
.dcc-registration-input-group .form-control:focus { border-color: #1182e8; box-shadow: 0 0 0 .22rem rgba(17,130,232,.13); }
.dcc-access-input-group:focus-within .input-group-text,
.dcc-registration-input-group:focus-within .input-group-text { border-color: #1182e8; color: #075ec8; background: #eaf5ff; }
.dcc-access-input-group .btn-outline-secondary,
.dcc-registration-input-group .btn-outline-secondary { color: #0a70dc; background: #fff; }
.dcc-access-submit {
    min-height: 53px;
    border: 0;
    border-radius: 15px;
    color: #fff;
    background: #086bd4;
    box-shadow: 0 12px 24px rgba(0,93,199,.24);
    font-size: .87rem;
    font-weight: 850;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.dcc-access-submit:hover, .dcc-access-submit:focus-visible { color: #fff; background: #055abb; box-shadow: 0 16px 29px rgba(0,93,199,.3); transform: translateY(-1px); }
.dcc-access-submit:active { transform: translateY(0); }
.dcc-access-divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .65rem; margin: 1.35rem 0 1rem; color: #8ca1ba; font-size: .66rem; font-weight: 750; }
.dcc-access-divider::before, .dcc-access-divider::after { height: 1px; content: ""; background: #e0ebf6; }
.dcc-access-secondary-action { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .72rem; border: 1px solid #dceafa; border-radius: 16px; color: #315677; background: #f8fbff; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.dcc-access-secondary-action:hover, .dcc-access-secondary-action:focus-visible { color: #19436f; border-color: #91c6f4; background: #f2f9ff; transform: translateY(-1px); }
.dcc-access-secondary-action > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #0a70dc; background: #e2f1ff; }
.dcc-access-secondary-action strong { display: block; font-size: .74rem; font-weight: 850; }
.dcc-access-secondary-action small { display: block; margin-top: .11rem; color: #728aa7; font-size: .65rem; line-height: 1.4; }
.dcc-access-secondary-action > i { color: #0a70dc; font-size: 1.18rem; }
.dcc-access-help { display: flex; align-items: flex-start; gap: .38rem; margin-top: 1rem; color: #7188a6; font-size: .67rem; line-height: 1.5; }
.dcc-access-help i { color: #0a70dc; margin-top: .06rem; }

/* Membership application */
.dcc-registration-page { padding-bottom: clamp(2rem, 5vw, 4rem); }
.dcc-registration-hero {
    width: min(1180px, 100%);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(310px, .78fr);
    gap: clamp(1.8rem, 6vw, 6rem);
    align-items: center;
    margin: clamp(1rem, 3vw, 2rem) auto clamp(1.7rem, 4vw, 2.8rem);
    animation: dcc-access-rise .7s .08s both;
}
.dcc-registration-hero h1 { max-width: 720px; font-size: clamp(2.3rem, 5vw, 4.35rem); }
.dcc-registration-hero-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.15rem; }
.dcc-registration-hero-pills span { display: inline-flex; align-items: center; gap: .34rem; padding: .46rem .64rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #f4fbff; background: rgba(255,255,255,.105); font-size: .68rem; font-weight: 800; }
.dcc-registration-hero-pills i { color: #b7f4ff; }
.dcc-registration-process { padding: 1.15rem; border: 1px solid rgba(255,255,255,.26); border-radius: 23px; background: rgba(3,43,125,.19); box-shadow: 0 18px 45px rgba(0,29,91,.14); backdrop-filter: blur(12px); }
.dcc-registration-process-title { color: rgba(255,255,255,.84); font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dcc-registration-process ol { display: grid; gap: .85rem; padding: 0; margin: .85rem 0 0; list-style: none; }
.dcc-registration-process li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: .65rem; align-items: start; }
.dcc-registration-process li > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: #075dc9; background: #fff; font-size: .58rem; font-weight: 900; }
.dcc-registration-process strong { display: block; color: #fff; font-size: .76rem; font-weight: 850; }
.dcc-registration-process small { display: block; margin-top: .1rem; color: rgba(255,255,255,.72); font-size: .64rem; line-height: 1.45; }
.dcc-registration-layout { width: min(1180px, 100%); display: grid; grid-template-columns: minmax(240px, .35fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 2rem); align-items: start; margin: 0 auto; animation: dcc-access-rise .8s .16s both; }
.dcc-registration-side-panel { display: grid; gap: .8rem; position: sticky; top: 1rem; }
.dcc-registration-side-card { padding: 1rem; border: 1px solid rgba(255,255,255,.26); border-radius: 19px; color: #fff; background: rgba(1,49,136,.22); box-shadow: 0 12px 26px rgba(0,31,100,.14); backdrop-filter: blur(12px); }
.dcc-registration-side-card h2 { margin: .32rem 0 .45rem; color: #fff; font-size: 1rem; font-weight: 850; letter-spacing: -.04em; }
.dcc-registration-side-card p { margin: 0; color: rgba(255,255,255,.78); font-size: .7rem; line-height: 1.58; }
.dcc-registration-status-card { display: grid; grid-template-columns: 39px minmax(0, 1fr); gap: .7rem; }
.dcc-registration-side-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 13px; color: #075dc9; background: #fff; font-size: 1.05rem; }
.dcc-registration-side-card .dcc-access-card-kicker { color: #cbefff; }
.dcc-registration-wallet-list { display: grid; gap: .48rem; margin-top: .86rem; }
.dcc-registration-wallet-list span { display: flex; align-items: center; gap: .55rem; color: rgba(255,255,255,.9); font-size: .7rem; font-weight: 760; }
.dcc-registration-wallet-list i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 9px; color: #0a70dc; background: #fff; font-size: .75rem; }
.dcc-registration-side-note { display: flex; gap: .58rem; align-items: flex-start; background: rgba(1, 43, 117, .34); }
.dcc-registration-side-note > i { color: #b9f2ff; font-size: 1.05rem; }

.dcc-registration-form-card { padding: clamp(1rem, 3vw, 2rem); border: 1px solid rgba(255,255,255,.82); border-radius: 27px; color: var(--dcc-access-ink); background: rgba(255,255,255,.985); box-shadow: 0 24px 70px rgba(0,32,101,.27); }
.dcc-registration-form-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.dcc-registration-form-head h2 { margin: .2rem 0 .32rem; color: #15355d; font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 850; letter-spacing: -.055em; }
.dcc-registration-pending-chip { display: inline-flex; align-items: center; gap: .32rem; flex: 0 0 auto; padding: .42rem .6rem; border: 1px solid #ffdf9c; border-radius: 999px; color: #996200; background: #fff7dd; font-size: .62rem; font-weight: 850; }
.dcc-registration-form-section { padding: 1.2rem 0; border-top: 1px solid #e4eef8; }
.dcc-registration-form-section:first-of-type { border-top: 0; padding-top: .2rem; }
.dcc-registration-section-title { display: flex; gap: .64rem; align-items: flex-start; margin-bottom: .88rem; }
.dcc-registration-section-title > span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #fff; background: #0a70dc; box-shadow: 0 6px 12px rgba(8,98,207,.18); font-size: .69rem; font-weight: 900; }
.dcc-registration-section-title strong { display: block; color: #284969; font-size: .8rem; font-weight: 850; }
.dcc-registration-section-title small { display: block; margin-top: .1rem; color: #738ca8; font-size: .66rem; line-height: 1.45; }
.dcc-registration-form-card .form-label { color: #2b4a6b; font-size: .76rem; font-weight: 800; }
.dcc-registration-form-card .form-control,
.dcc-registration-form-card .form-select { min-height: 48px; border-color: #d8e7f6; }
.dcc-registration-form-card textarea.form-control { min-height: 86px; }
.dcc-registration-form-card .form-control:focus,
.dcc-registration-form-card .form-select:focus { border-color: #1182e8; box-shadow: 0 0 0 .22rem rgba(17,130,232,.13); }
.dcc-registration-form-card .form-text { color: #7890ad; font-size: .65rem; line-height: 1.45; }
.dcc-registration-sponsor-note { height: 100%; display: flex; gap: .58rem; padding: .8rem; border: 1px solid #d8eafa; border-radius: 15px; color: #496987; background: #f5faff; }
.dcc-registration-sponsor-note > i { color: #0a70dc; font-size: 1.15rem; }
.dcc-registration-sponsor-note strong { display: block; color: #2c5278; font-size: .73rem; font-weight: 850; }
.dcc-registration-sponsor-note span { display: block; margin-top: .14rem; color: #7088a6; font-size: .65rem; line-height: 1.45; }
.dcc-registration-consent { padding: .92rem; border: 1px solid #d8eafa; border-radius: 15px; color: #5b7492; background: #f5faff; font-size: .7rem; line-height: 1.55; }
.dcc-registration-consent .form-check { display: flex; gap: .55rem; padding-left: 0; }
.dcc-registration-consent .form-check-input { flex: 0 0 auto; margin: .2rem 0 0; }
.dcc-registration-consent .form-check-label { cursor: pointer; }
.dcc-registration-form-actions { display: flex; justify-content: flex-end; gap: .65rem; margin-top: 1.15rem; }
.dcc-registration-form-actions .dcc-access-submit { min-width: min(100%, 270px); padding-inline: 1.1rem; }
.dcc-access-back { min-height: 53px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #c9ddf3; border-radius: 15px; color: #0a70dc; background: #fff; font-size: .78rem; font-weight: 850; transition: background .18s ease, transform .18s ease, border-color .18s ease; }
.dcc-access-back:hover, .dcc-access-back:focus-visible { border-color: #7fbbee; color: #075fc9; background: #f4faff; transform: translateY(-1px); }
.dcc-registration-form-card .dcc-sponsor-status { margin-top: .55rem; }
.dcc-registration-form-card .dcc-public-registration-success { margin-bottom: 1rem; }

@keyframes dcc-access-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes dcc-access-grid-drift { from { transform: translate3d(0,0,0); } to { transform: translate3d(-48px, -48px, 0); } }
@keyframes dcc-access-float-one { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(10%, 8%, 0) scale(1.1); } }
@keyframes dcc-access-float-two { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(-11%, -8%, 0) scale(.88); } }
@keyframes dcc-access-float-three { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(6%, -12%, 0) scale(1.12); } }
@keyframes dcc-access-pulse { 0%,100% { box-shadow: 0 0 0 5px rgba(158,242,189,.15); } 50% { box-shadow: 0 0 0 9px rgba(158,242,189,0); } }

@media (max-width: 920px) {
    .dcc-login-layout { grid-template-columns: 1fr; gap: 1.5rem; padding-top: 1.5rem; }
    .dcc-access-intro { max-width: 720px; }
    .dcc-access-card-wrap { width: min(100%, 560px); justify-self: start; }
    .dcc-access-trust-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
    .dcc-access-trust-list > div { grid-template-columns: 1fr; gap: .45rem; align-items: start; padding: .72rem; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: rgba(0,48,143,.13); }
    .dcc-registration-hero { grid-template-columns: 1fr; gap: 1.25rem; }
    .dcc-registration-process { max-width: 620px; }
    .dcc-registration-layout { grid-template-columns: 1fr; }
    .dcc-registration-side-panel { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .dcc-access-page { padding: 0 1rem 1.5rem; }
    .dcc-access-topbar { min-height: 74px; }
    .dcc-access-logo-wrap { width: 42px; height: 42px; border-radius: 14px; }
    .dcc-access-brand-copy strong { font-size: .91rem; }
    .dcc-access-brand-copy small { font-size: .53rem; }
    .dcc-access-toplink { min-height: 38px; padding: .5rem .64rem; border-radius: 12px; font-size: .7rem; }
    .dcc-access-intro h1, .dcc-registration-hero h1 { font-size: clamp(2.15rem, 11vw, 3.15rem); letter-spacing: -.068em; }
    .dcc-access-intro > p, .dcc-registration-hero-copy > p { font-size: .84rem; line-height: 1.62; }
    .dcc-access-trust-list { grid-template-columns: 1fr; margin-top: 1.2rem; }
    .dcc-access-trust-list > div { grid-template-columns: 34px minmax(0,1fr); align-items: center; padding: .58rem .65rem; }
    .dcc-access-trust-list > div > span { width: 34px; height: 34px; border-radius: 11px; }
    .dcc-access-status-line { margin-top: 1.15rem; }
    .dcc-access-card { border-radius: 22px; padding: 1.05rem; }
    .dcc-access-card-head { gap: .65rem; margin-bottom: 1.15rem; }
    .dcc-access-card-icon { width: 40px; height: 40px; border-radius: 13px; }
    .dcc-access-card h2 { font-size: 1.28rem; }
    .dcc-access-input-group .form-control, .dcc-access-input-group .input-group-text, .dcc-access-input-group .btn-outline-secondary { min-height: 50px; }
    .dcc-access-field .form-label { font-size: .75rem; }
    .dcc-access-submit { min-height: 51px; }
    .dcc-registration-hero { margin-top: .7rem; margin-bottom: 1.25rem; }
    .dcc-registration-hero-pills { gap: .42rem; margin-top: .95rem; }
    .dcc-registration-hero-pills span { font-size: .61rem; padding: .4rem .54rem; }
    .dcc-registration-process { padding: .9rem; border-radius: 18px; }
    .dcc-registration-process li { grid-template-columns: 26px minmax(0,1fr); gap: .5rem; }
    .dcc-registration-process li > span { width: 26px; height: 26px; border-radius: 9px; }
    .dcc-registration-layout { gap: .85rem; }
    .dcc-registration-side-panel { grid-template-columns: 1fr; gap: .65rem; }
    .dcc-registration-side-card { padding: .8rem; border-radius: 16px; }
    .dcc-registration-wallet-list { grid-template-columns: 1fr 1fr; gap: .42rem; }
    .dcc-registration-wallet-list span { font-size: .64rem; }
    .dcc-registration-wallet-list i { width: 22px; height: 22px; border-radius: 8px; font-size: .68rem; }
    .dcc-registration-form-card { border-radius: 22px; padding: 1rem; }
    .dcc-registration-form-head { gap: .65rem; margin-bottom: .9rem; }
    .dcc-registration-form-head h2 { font-size: 1.28rem; }
    .dcc-registration-pending-chip { padding: .36rem .5rem; font-size: .56rem; }
    .dcc-registration-form-section { padding: 1rem 0; }
    .dcc-registration-section-title { gap: .52rem; margin-bottom: .72rem; }
    .dcc-registration-section-title > span { width: 25px; height: 25px; border-radius: 9px; font-size: .63rem; }
    .dcc-registration-form-card .form-label { font-size: .75rem; }
    .dcc-registration-form-card .form-control, .dcc-registration-form-card .form-select { min-height: 48px; font-size: 16px; }
    .dcc-registration-sponsor-note { padding: .7rem; }
    .dcc-registration-form-actions { flex-direction: column-reverse; margin-top: .9rem; }
    .dcc-registration-form-actions > * { width: 100%; }
    .dcc-registration-form-actions .dcc-access-submit { min-width: 0; }
}
@media (max-width: 380px) {
    .dcc-access-toplink span { display: none; }
    .dcc-access-toplink { width: 39px; justify-content: center; padding: 0; }
    .dcc-registration-wallet-list { grid-template-columns: 1fr; }
    .dcc-registration-pending-chip { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}


/* ========================================================================
   Public Landing + AI Visual Auth Upgrade v30.3
   The markup keeps the existing login/register field names and validation.
   ======================================================================== */
.dcc-access-top-actions { display: inline-flex; align-items: center; gap: .55rem; }
.dcc-access-home-link { background: rgba(255,255,255,.08); }
.dcc-auth-intro { max-width: 690px; }
.dcc-auth-visual,
.dcc-registration-media-card {
    position: relative;
    overflow: hidden;
    margin: 0 0 1.25rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 26px;
    background: rgba(3,41,117,.22);
    box-shadow: 0 24px 52px rgba(0,23,83,.20);
}
.dcc-auth-visual::after,
.dcc-registration-media-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4,29,92,.05) 22%, rgba(4,29,92,.72) 100%);
    pointer-events: none;
}
.dcc-auth-visual img,
.dcc-registration-media-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% center;
}
.dcc-auth-login-visual { height: 270px; }
.dcc-auth-visual figcaption,
.dcc-registration-media-card figcaption {
    position: absolute;
    inset: auto 1rem 1rem 1rem;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    width: fit-content;
    max-width: calc(100% - 2rem);
    padding: .6rem .75rem;
    color: #fff;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 14px;
    background: rgba(2,34,102,.52);
    box-shadow: 0 8px 26px rgba(0,0,0,.14);
    backdrop-filter: blur(9px);
    font-size: .72rem;
    font-weight: 800;
}
.dcc-auth-visual figcaption i,
.dcc-registration-media-card figcaption > i { color: #a8ddff; font-size: 1rem; }
.dcc-login-page .dcc-access-card { box-shadow: 0 25px 62px rgba(0,28,91,.24); }
.dcc-login-page .dcc-access-card::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -118px;
    bottom: -135px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(43,158,255,.20), rgba(43,158,255,0));
    pointer-events: none;
}
.dcc-registration-media-card { min-height: 245px; margin-bottom: .9rem; }
.dcc-registration-media-card img { object-position: 72% center; }
.dcc-registration-media-card figcaption {
    align-items: flex-start;
    width: auto;
    max-width: calc(100% - 2rem);
}
.dcc-registration-media-card figcaption span { display: grid; gap: .11rem; }
.dcc-registration-media-card figcaption strong { font-size: .72rem; }
.dcc-registration-media-card figcaption small { color: rgba(255,255,255,.76); font-size: .62rem; line-height: 1.4; }
.dcc-registration-page .dcc-registration-hero { align-items: end; }
.dcc-registration-page .dcc-registration-hero-copy { max-width: 770px; }
.dcc-registration-page .dcc-registration-form-card { box-shadow: 0 25px 62px rgba(0,28,91,.20); }
.dcc-registration-side-panel { padding-bottom: .5rem; }
.dcc-registration-side-card { background: linear-gradient(145deg, rgba(4,56,151,.32), rgba(2,35,108,.24)); }
.dcc-access-card .alert { position: relative; z-index: 2; }
@media (min-width: 921px) {
    .dcc-login-layout { grid-template-columns: minmax(0, 1.28fr) minmax(390px, .72fr); gap: clamp(2rem, 5vw, 5.5rem); }
    .dcc-login-page .dcc-access-card-wrap { width: min(100%, 478px); }
    .dcc-registration-side-panel { top: .85rem; }
}
@media (max-width: 920px) {
    .dcc-auth-login-visual { height: 250px; max-width: 680px; }
    .dcc-registration-media-card { min-height: 220px; grid-column: 1 / -1; }
    .dcc-registration-side-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .dcc-access-top-actions { gap: .35rem; }
    .dcc-access-home-link { display: none; }
    .dcc-auth-login-visual { height: 205px; border-radius: 20px; margin-bottom: 1rem; }
    .dcc-auth-visual figcaption { inset: auto .72rem .72rem .72rem; font-size: .64rem; }
    .dcc-registration-media-card { min-height: 195px; border-radius: 18px; }
    .dcc-registration-media-card figcaption { inset: auto .72rem .72rem .72rem; padding: .52rem .6rem; }
    .dcc-registration-side-panel { grid-template-columns: 1fr; }
}
