/* Visa Current account pages — navy ink, paper canvas, 2026 refresh. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter-latin-variable.woff2') format('woff2')}
:root{--navy:#112447;--navy-2:#203e72;--red:#ba2940;--blue:#2856c7;--blue-2:#2046a7;--ink:#172746;--sub:#586780;--border:#dce2ec;--hairline:#e7ebf3;--paper:#f5f6fa;--card:#fffefd;--ring:0 0 0 4px #2856c71f;--ui-ease:cubic-bezier(.16,1,.3,1);font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;font-synthesis:none;min-height:100dvh;display:flex;flex-direction:column}
a{color:#244fb9;text-underline-offset:4px}
h1{font-size:clamp(28px,4vw,38px);font-weight:600;letter-spacing:-.03em;line-height:1.15;margin:0 0 10px}
h2{font-size:21px;font-weight:600;letter-spacing:-.02em}
p,li{line-height:1.65}
.micro{font-size:14px;color:var(--sub)}
.consent-choice{display:block;font-size:14px;line-height:1.65;margin:16px 0}
.consent-choice input[type=checkbox]{width:18px;min-height:18px;height:18px;display:inline-block;vertical-align:middle;margin:0 8px 0 0}
[hidden]{display:none!important}

/* Header */
.account-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:20px 0}
.account-header nav{display:flex;gap:24px;flex-wrap:wrap;font-size:13.5px;font-weight:500}
.account-header nav a{text-decoration:none;color:#33486b;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.account-header nav a:hover{color:var(--blue)}
.back-link{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:500;color:#33486b;text-decoration:none;min-height:44px}
.back-link svg{width:17px;height:17px;transition:transform .3s var(--ui-ease)}
.back-link:hover svg{transform:translateX(-3px)}
.back-link:hover{color:var(--blue)}

/* Auth split layout */
main{width:min(1180px,calc(100% - 48px));margin:0 auto 48px;flex:1}
.auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:stretch;margin-top:14px}
.auth-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(28px,3.4vw,44px);border-radius:22px;background:linear-gradient(185deg,#17294d,#101d37 78%);color:#e8edf8;box-shadow:0 2px 4px #14244212,0 28px 64px -24px #14244252}
.auth-aside:before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2f5fd4 0 55%,#ffffff2e 55% 72%,var(--red) 72%)}
.auth-aside:after{content:'';position:absolute;right:-120px;bottom:-140px;width:340px;height:340px;border:1px solid #ffffff10;border-radius:50%;box-shadow:0 0 0 44px #ffffff06,0 0 0 96px #ffffff04;pointer-events:none}
.auth-aside .brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;font-weight:700;letter-spacing:-1.1px;color:#f8f9fd}
.auth-aside .brand b{font-weight:400;color:#b4c8f2}
.auth-aside .brand i{font-style:normal;color:#e46377}
.auth-aside .brand-mark{width:30px;height:30px;flex:none}
.auth-aside .kicker{font-size:10.5px;font-weight:600;letter-spacing:.15em;color:#aebcd5;margin:40px 0 14px}
.auth-aside .aside-headline,.auth-aside h2{font-size:clamp(27px,2.6vw,36px);font-weight:600;letter-spacing:-.035em;line-height:1.18;margin:0 0 22px;color:#f8f9fd}
.auth-aside h2 em{font-style:normal;color:#7fa3f0}
.auth-points{list-style:none;margin:0;padding:0;display:grid;gap:14px;position:relative;z-index:1}
.auth-points li{position:relative;padding-left:32px;font-size:14px;line-height:1.6;color:#c2cee2}
.auth-points li:before{content:'';position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:#2856c7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5 10 16.5 18 7.5' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:inset 0 1px 0 #ffffff2b}
.aside-fineprint{font-size:11px;line-height:1.7;color:#8fa0bf;margin:0;position:relative;z-index:1;max-width:44ch}

/* Card */
.account-card{align-self:center;width:100%;max-width:500px;justify-self:center;background:var(--card);padding:clamp(26px,3vw,40px);border:1px solid var(--hairline);border-radius:20px;box-shadow:0 1px 2px #1424420d,0 12px 28px -10px #14244226}
.card-intro{color:var(--sub);font-size:14.5px;margin:0 0 18px}
.account-card label{display:block;font-size:13px;font-weight:500;color:#344b6c;margin:0 0 8px}
.account-card input{width:100%;padding:13px 15px;min-height:48px;border:1px solid #d5dde9;border-radius:12px;margin:0 0 18px;font:inherit;font-size:16px;color:#243b60;background:#fbfcfe;box-shadow:inset 0 1px 2px #1424420a;transition:border-color .24s var(--ui-ease),box-shadow .24s var(--ui-ease),background .24s var(--ui-ease)}
.account-card input:hover{border-color:#9cacc6}
.account-card input:focus{outline:none;background:var(--card);border-color:var(--blue);box-shadow:var(--ring)}
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:500 14px/1.4 Inter,system-ui,sans-serif;cursor:pointer;min-height:48px;padding:12px 20px;border:1px solid var(--blue-2);border-radius:12px;background:linear-gradient(180deg,#3160d2,#2348a8);color:#fafcff;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff2b,0 1px 2px #14244214,0 10px 24px -12px #2856c7cc;transition:background .24s var(--ui-ease),transform .24s var(--ui-ease),box-shadow .24s var(--ui-ease)}
.button:hover,button:hover{background:linear-gradient(180deg,#2a55c0,#1d3f99)}
.button:active,button:active{transform:scale(.985)}
button:disabled{opacity:.6;cursor:wait;transform:none}
form button[type=submit]{width:100%;margin-top:4px}
.secondary,button.secondary{background:var(--card);color:#273f67;border-color:#d5dde9;box-shadow:0 1px 2px #17274608;margin-top:12px}
.secondary:hover,button.secondary:hover{background:#edf1f8;border-color:#9cacc6}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #5984dc;outline-offset:3px}
.switch-links{font-size:14px;margin:20px 0 8px}
.account-card .micro{margin:14px 0 0}
[role=status]:not(:empty){padding:12px 15px;background:#f1f4fa;border:1px solid var(--hairline);border-radius:12px;font-size:13.5px;color:#435b7f;margin:0 0 16px}
[data-auth-mount]{max-width:100%}
[data-auth-mount] .notice{margin-top:0}

/* Membership page */
.membership-page main{max-width:900px;width:min(900px,calc(100% - 48px))}
.membership-page h1{margin:6px 0 22px}
.tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#8e344a;background:#fbeef1;border:1px solid #f0dae0;border-radius:7px;padding:4px 10px}
.notice{padding:22px 26px;border:1px solid var(--hairline);border-radius:16px;background:var(--card);box-shadow:0 1px 2px #1424420a,0 8px 24px -14px #1424421f;margin:18px 0}
.notice h2{margin-top:0}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.plan{background:var(--card);border:1px solid var(--hairline);border-radius:16px;padding:26px;box-shadow:0 1px 2px #1424420a,0 8px 24px -14px #1424421f}
.plan ul{padding-left:20px}
.plan .tag{margin-bottom:12px}
.price{font-size:38px;font-weight:650;letter-spacing:-.04em;color:var(--ink)}

@media(max-width:960px){
  .auth-split{grid-template-columns:1fr;gap:22px}
  .auth-aside{display:none}
  .account-card{max-width:560px;margin:6vh auto 0}
}
@media(max-width:700px){
  .plans{grid-template-columns:1fr}
  .account-header{width:calc(100% - 40px);padding:16px 0}
  main{width:calc(100% - 40px)}
  .account-card{padding:24px 20px;margin-top:12px;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
