.page-heading h1:focus { outline:none; }
.plans-current { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:25px; padding:24px 27px; margin-bottom:30px; border:1px solid #473351; border-radius:18px; background:radial-gradient(ellipse at 5% 10%,#57316850,transparent 65%),#151019; position:relative; overflow:hidden; }
.plans-current::after { content:''; width:210px; height:210px; border:1px solid #ac85d218; border-radius:50%; position:absolute; right:85px; top:-115px; box-shadow:0 0 0 32px #ac85d207,0 0 0 64px #ac85d205; pointer-events:none; }
.plans-current-main { display:flex; align-items:center; gap:17px; min-width:0; position:relative; z-index:1; }
.plans-emblem { display:grid; place-items:center; width:56px; height:62px; flex-shrink:0; border:1px solid #78529b; border-radius:15px; background:linear-gradient(145deg,#624379,#261b37); color:#dcc4f6; font:500 23px Manrope,sans-serif; }
.plans-current .eyebrow { font-size:9px; margin-bottom:6px; }
.plans-current h2 { font-size:25px; letter-spacing:-.7px; }
.plans-current-title { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.plans-current p { color:#a498b1; font-size:11px; margin-top:5px; }
.plans-current-stats { display:flex; gap:30px; align-items:center; position:relative; z-index:1; }
.plans-current-stats>div { display:grid; gap:5px; }
.plans-current-stats span { color:#a798b8; font-size:10px; }
.plans-current-stats strong { font:500 23px Manrope,sans-serif; letter-spacing:-.4px; }
.plans-holdings { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #ffffff0a; padding-top:16px; margin-top:-4px; position:relative; z-index:1; }
.plans-holdings span { color:#b2a3c2; font-size:10px; padding:5px 10px; border:1px solid #ffffff0a; border-radius:7px; background:#110d1770; }
.plans-holdings b { color:#d5c5e4; font-weight:500; margin-right:6px; }
.plans-workbench { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,330px); gap:25px; align-items:start; }
.plans-step { display:flex; gap:12px; align-items:center; margin-bottom:18px; }
.plans-step-number { width:27px; height:27px; border:1px solid #3c2d49; border-radius:50%; display:grid; place-items:center; color:#b393cf; font-size:10px; flex-shrink:0; }
.plans-step h2 { font-size:16px; }
.plans-step p { font-size:11px; color:var(--muted); margin-top:3px; }
.plans-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; border:0; padding:0; margin:0; min-width:0; }
.plan-option-shell { --plan-accent:#b595dd; position:relative; display:flex; min-width:0; flex-direction:column; }
.plan-option-core { --plan-accent:#5ecbff; }
.plan-option-prime { --plan-accent:#ba6dff; }
.plan-option-elite { --plan-accent:#3ee7ef; }
.plan-option-apex { --plan-accent:#ffc45f; }
.plan-option { position:relative; cursor:pointer; display:block; min-width:0; }
.plan-option>input { position:absolute; width:1px; height:1px; min-height:0; opacity:0; padding:0; border:0; }
.plan-option-card { position:relative; isolation:isolate; display:block; height:100%; padding:20px; overflow:hidden; border:1px solid #302637; border-radius:14px 14px 0 0; background:linear-gradient(145deg,#17121d,#100d16); transition:border-color .18s,background .18s,transform .18s; }
.plan-option-card::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#100c17f5 5%,#100c17c9 54%,#100c1770),linear-gradient(0deg,#100c17 3%,transparent 60%); }
.plan-option-art { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:72% center; opacity:.3; filter:saturate(.86); }
.plan-option:hover .plan-option-card { border-color:#735584; transform:translateY(-2px); }
.plan-option>input:focus-visible+.plan-option-card { outline:2px solid #c5a5ef; outline-offset:4px; }
.plan-option>input:checked+.plan-option-card { border-color:#b284df; background:radial-gradient(ellipse at 0 0,#5e387a55,transparent 80%),#1b1325; box-shadow:inset 0 0 0 1px #b284df25; }
.plan-option-top { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:23px; margin-bottom:15px; }
.plan-tier { font-size:9px; letter-spacing:1.2px; color:#8e7a9f; }
.plan-badge { font-size:9px; color:#b1a4bc; padding:3px 6px; border-radius:5px; background:#ffffff05; border:1px solid #ffffff0b; }
.plan-badge.current { color:#a2d6bc; background:#182b23; border-color:#2b4136; }
.plan-radio { display:grid; place-items:center; width:18px; height:18px; flex-shrink:0; border:1px solid #655171; border-radius:50%; color:transparent; }
.plan-option>input:checked+.plan-option-card .plan-radio { background:#b595dd; border-color:#b595dd; color:#21132e; }
.plan-option-title { display:flex; align-items:center; gap:8px; justify-content:space-between; }
.plan-option-name { font:600 22px Manrope,sans-serif; letter-spacing:-.5px; color:#ebe0f7; }
.plan-option-range { display:block; font-size:11px; color:#a193ad; margin-top:5px; }
.plan-option-rate { display:flex; align-items:baseline; gap:7px; margin:20px 0 14px; }
.plan-option-rate strong { font:500 27px Manrope,sans-serif; color:#dbc3f7; letter-spacing:-.7px; }
.plan-option-rate small { color:#907c9f; font-size:10px; }
.plan-option-rule { display:block; color:#a494b3; font-size:10px; padding-top:13px; border-top:1px solid #ffffff0a; }
.plan-option-scheduled { display:block; font-size:10px; color:#ae94c3; margin-top:7px; }
.plan-option-preview { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-height:36px; padding:7px 12px; border:1px solid #302637; border-top:0; border-radius:0 0 11px 11px; background:#110d17; color:#a99ab7; font:500 9px Manrope,sans-serif; cursor:pointer; transition:color .18s,border-color .18s,background .18s; }
.plan-option-preview:hover, .plan-option-preview:focus-visible { color:#fff; border-color:var(--plan-accent); background:#1d1525; }
.plan-option-preview svg { color:var(--plan-accent); }
.plans-explainer { display:flex; align-items:flex-start; gap:8px; margin-top:17px; color:#8e7b9e; font-size:10px; line-height:1.8; }
.plans-explainer svg { margin-top:2px; }
.plan-payment { position:sticky; top:22px; border:1px solid #483252; border-radius:18px; padding:23px; background:linear-gradient(150deg,#211529,#130f1a 65%); }
.plan-payment .plans-step { padding-bottom:20px; border-bottom:1px solid #3c2a47; }
.plan-payment .plans-step h2 { font-size:15px; }
.plan-payment-selected { display:flex; align-items:center; justify-content:space-between; margin:19px 0; }
.plan-payment-selected h3 { font-size:21px; }
.plan-payment-selected small { color:#9e88b0; font-size:10px; }
.plan-selected-story { display:block; margin-top:5px; padding:0; border:0; background:transparent; color:#b89bd7; font:500 10px Manrope,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.plan-selected-story:hover, .plan-selected-story:focus-visible { color:#eadcff; }
.plan-amount-input { position:relative; }
.plan-amount-input>span { position:absolute; left:14px; top:11px; font-size:19px; color:#ab90c1; }
.plan-amount-input input { padding:12px 18px 12px 33px; font-size:20px; font-weight:500; letter-spacing:-.4px; background:#100b17; }
.plan-payment .field { gap:8px; margin-bottom:15px; }
.plan-amount-hint { color:#9d86af; font-size:10px; line-height:1.7; }
.plan-payment .detail-row { font-size:11px; }
.plan-amount-error { font-size:10px; color:#e3a5b7; min-height:0; margin-top:5px; }
.plan-amount-error:empty { display:none; }
.plan-total { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; border-top:1px solid #3c2a47; padding-top:17px; margin-top:18px; }
.plan-total span { display:block; color:#bfb0cc; font-size:11px; }
.plan-total small { display:block; font-size:9px; letter-spacing:1px; color:#82708f; margin-top:4px; }
.plan-total strong { font:500 28px Manrope,sans-serif; letter-spacing:-1px; }
.plan-payment .checkbox { font-size:10px; margin:20px 0 17px; }
.plan-payment .button.full { min-height:45px; }
.plan-payment-footer { text-align:center; color:#8f7c9f; font-size:9px; margin-top:12px; }
.plan-pending { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border:1px solid #57422b; border-radius:12px; padding:14px 17px; margin-bottom:23px; background:#211a12; color:#c3ae88; font-size:11px; }
body.plan-story-open { overflow:hidden; }
#plan-modal { width:min(920px,calc(100vw - 38px)); max-height:calc(100dvh - 38px); padding:0; overflow:auto; border:1px solid #5a4868; border-radius:24px; background:#08060c; color:var(--text); box-shadow:0 35px 150px #000d,0 0 80px #8f62c31f; overscroll-behavior:contain; }
#plan-modal[open] { animation:plan-story-enter .28s ease-out; }
#plan-modal::backdrop { background:#050309d6; backdrop-filter:blur(9px); }
.plan-story { --story-accent:#b595dd; position:relative; isolation:isolate; min-height:690px; overflow:hidden; }
.plan-story-core { --story-accent:#5ecbff; }
.plan-story-prime { --story-accent:#ba6dff; }
.plan-story-elite { --story-accent:#3ee7ef; }
.plan-story-apex { --story-accent:#ffc45f; }
.plan-story-image { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.plan-story-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,#07050bf7 0%,#07050be6 42%,#07050b70 68%,#07050b16 100%),linear-gradient(0deg,#07050bec 0%,transparent 45%,#07050b75 100%); }
.plan-story-close { position:absolute; z-index:2; top:22px; right:22px; width:40px; height:40px; border:1px solid #ffffff2b; border-radius:50%; background:#09070ca8; color:#fff; font-size:25px; backdrop-filter:blur(12px); }
.plan-story-copy { width:min(510px,62%); padding:58px 0 42px 52px; }
.plan-story-tier { display:block; color:var(--story-accent); font:600 10px/1 Manrope,sans-serif; letter-spacing:2px; text-transform:uppercase; }
.plan-story h2 { margin:25px 0 8px; color:#fff; font:600 clamp(48px,7vw,76px)/.92 Manrope,sans-serif; letter-spacing:-4px; text-shadow:0 2px 26px #000; }
.plan-story-tagline { margin:0 0 16px; color:var(--story-accent); font:600 18px/1.35 Manrope,sans-serif; }
.plan-story-summary { max-width:450px; margin:0; color:#d3c9d9; font-size:13px; line-height:1.75; }
.plan-story-stats { display:grid; grid-template-columns:1.15fr .85fr; gap:12px; margin:27px 0 21px; }
.plan-story-stats>div { padding:15px 16px; border:1px solid #ffffff1c; border-radius:11px; background:#08060ba8; backdrop-filter:blur(10px); }
.plan-story-stats span { display:block; margin-bottom:7px; color:#93879c; font-size:9px; text-transform:uppercase; letter-spacing:.7px; }
.plan-story-stats strong { color:#f5edf9; font:600 14px/1.3 Manrope,sans-serif; }
.plan-story-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 17px; margin:0; padding:0; list-style:none; }
.plan-story-points li { display:flex; align-items:flex-start; gap:8px; color:#cfc4d6; font-size:11px; line-height:1.5; }
.plan-story-points svg { flex:0 0 auto; margin-top:1px; color:var(--story-accent); }
.plan-story-risk { max-width:460px; margin:22px 0 0; color:#817687; font-size:9px; line-height:1.65; }
.plan-story-actions { display:flex; gap:10px; margin-top:24px; }
.plan-story-actions .button { min-height:42px; }
@keyframes plan-story-enter { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:none; } }
@media (max-width:1120px) and (min-width:861px) {
  .plans-workbench { gap:18px; grid-template-columns:minmax(0,1fr) 295px; }
  .plans-options { grid-template-columns:1fr; }
  .plan-option-card { padding:15px 18px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 16px; }
  .plan-option-top { grid-column:1/-1; margin-bottom:5px; }
  .plan-option-rate { grid-column:2; grid-row:2/4; margin:0; flex-direction:column; gap:0; align-items:flex-end; }
  .plan-option-rule { grid-column:1/-1; padding-top:8px; margin-top:8px; }
  .plan-option-scheduled { grid-column:1/-1; }
  .plan-option-name { font-size:20px; }
  .plans-current-stats { gap:20px; }
}
@media (max-width:860px) {
  .plans-workbench { grid-template-columns:1fr; gap:25px; }
  .plan-payment { position:static; }
  .plans-current { grid-template-columns:1fr; gap:20px; }
  .plans-current-stats { padding-left:73px; justify-content:space-between; }
  .plans-current-stats .subtle-link { margin-left:auto; }
}
@media (max-width:620px) {
  #plan-modal { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:20px; }
  .plan-story { min-height:760px; }
  .plan-story-image { object-position:64% center; }
  .plan-story-shade { background:linear-gradient(180deg,#07050bd9 0%,#07050b3b 28%,#07050bea 57%,#07050b 100%),linear-gradient(90deg,#07050bbf,transparent 78%); }
  .plan-story-close { top:16px; right:16px; width:37px; height:37px; }
  .plan-story-copy { width:auto; padding:62px 20px 26px; }
  .plan-story h2 { margin-top:20px; font-size:52px; letter-spacing:-3px; }
  .plan-story-tagline { font-size:16px; }
  .plan-story-summary { max-width:88%; }
  .plan-story-stats { grid-template-columns:1fr 1fr; margin-top:260px; }
  .plan-story-stats>div { padding:12px; }
  .plan-story-stats strong { font-size:12px; }
  .plan-story-points { grid-template-columns:1fr; gap:7px; }
  .plan-story-actions { flex-direction:column-reverse; }
  .plan-story-actions .button { width:100%; justify-content:center; }
}
@media (max-width:480px) {
  .plans-current { padding:20px; margin-bottom:24px; }
  .plans-current-main { gap:13px; }
  .plans-current h2 { font-size:23px; }
  .plans-current-stats { padding-left:0; gap:16px; }
  .plans-current-stats strong { font-size:20px; }
  .plans-current-title { gap:8px; }
  .plans-current p { font-size:10px; }
  .plans-current-stats .subtle-link { font-size:10px; }
  .plans-options { gap:11px; }
  .plan-option-card { padding:16px 13px; }
  .plan-option-top { margin-bottom:12px; }
  .plan-tier { font-size:8px; letter-spacing:.5px; }
  .plan-badge { font-size:8px; padding:2px 4px; }
  .plan-option-name { font-size:20px; }
  .plan-option-rate { display:block; margin:15px 0 12px; }
  .plan-option-rate small { display:block; }
  .plan-option-range { font-size:10px; }
  .plan-option-rule { font-size:9px; }
  .plan-payment { padding:21px; }
}
@media (prefers-reduced-motion:reduce) { #plan-modal[open] { animation:none; } }
