:root{
  --char:#121117; --char2:#1b1a22; --char3:#27252f; --line:#363342; --black:#09080c;
  --accent:#7c3aed; --accent-d:#6425d6; --accent-l:#b49cff; --glow:124,58,237; --silver:#d9dde4; --silver-d:#9aa0ab; --red:#c94c3c;
  --chrome:linear-gradient(180deg,#ffffff 0%,#d9dde4 42%,#8d939e 52%,#e8ebf0 70%,#b9bec7 100%);
  --ink:#16181b; --text:#e9ebee; --muted:#9aa2ad; --paper:#f4f2ee; --white:#fff;
  --radius:14px; --shadow:0 10px 30px rgba(0,0,0,.18);
  --font:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --display:"Arial Black","Segoe UI Black","Helvetica Neue",Impact,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:72px}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
h1,h2,h3{line-height:1.12;margin:0 0 .5em}
h1{font-family:var(--display);font-weight:900;font-size:clamp(2.1rem,7vw,3.7rem);letter-spacing:-.5px;text-transform:uppercase}
h2{font-family:var(--display);font-weight:900;font-size:clamp(1.7rem,5vw,2.6rem);text-transform:uppercase;letter-spacing:-.3px}
h3{font-size:1.2rem}
.accent{color:var(--accent-l);text-shadow:0 0 18px rgba(var(--glow),.75),0 0 2px rgba(var(--glow),.9)}
.section .accent{color:var(--accent)}
.section-dark .accent{color:var(--accent-l)}
.chrome{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);margin:0 0 .6em}
.section-dark .eyebrow,.section-black .eyebrow,.hero .eyebrow{color:var(--accent-l)}
.tagline{font-style:italic;font-size:.9rem;text-shadow:0 0 12px rgba(var(--glow),.9)}
.lead{font-size:1.12rem}
.muted{color:#5d6470}
.small{font-size:.85rem}


/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:linear-gradient(180deg,#8b4dff,var(--accent-d));color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 4px 18px rgba(var(--glow),.45);font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;padding:.8em 1.3em;border-radius:10px;border:2px solid var(--accent);cursor:pointer;font-size:.95rem;transition:transform .15s,background .15s,box-shadow .15s;font-family:inherit}
.btn:hover{background:linear-gradient(180deg,#9a63ff,var(--accent));border-color:#9a63ff;transform:translateY(-1px);box-shadow:0 6px 26px rgba(var(--glow),.7)}
.btn-lg{font-size:1.05rem;padding:1em 1.6em}
.btn-sm{font-size:.8rem;padding:.55em .95em}
.btn-block{width:100%}
.btn-ghost{background:transparent;color:var(--silver);border-color:var(--silver-d);box-shadow:none}
.btn-ghost:hover{background:rgba(var(--glow),.15);color:#fff;border-color:var(--accent-l)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(9,8,12,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:12px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white);margin-right:auto}
.brand-logo{height:58px;width:auto;flex:none;filter:drop-shadow(0 0 8px rgba(var(--glow),.45))}
.brand-text{font-family:var(--display);font-weight:900;font-size:1.15rem;letter-spacing:.06em;line-height:1;color:var(--white)}
.brand-text{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-text small{display:block;font-family:var(--font);font-size:.6rem;letter-spacing:.32em;color:var(--accent-l);-webkit-text-fill-color:var(--accent-l);font-weight:700;margin-top:3px}
.header-call{width:44px;height:44px;border-radius:10px;border:2px solid var(--accent);color:var(--accent-l);box-shadow:0 0 12px rgba(var(--glow),.4);display:grid;place-items:center}
.header-call svg{width:20px;height:20px}
.menu-btn{width:44px;height:44px;border:0;background:var(--char3);border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}
.menu-btn span{width:20px;height:2px;background:var(--white);border-radius:2px;transition:.2s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--char);flex-direction:column;padding:12px 20px 20px;border-bottom:1px solid var(--line)}
.nav-links.open{display:flex}
.nav-links a{color:var(--text);text-decoration:none;font-weight:700;padding:12px 0;border-bottom:1px solid var(--char3)}
.nav-links a.btn{color:#fff;margin-top:12px;border-bottom:2px solid var(--accent)}
.nav-links .nav-phone{color:var(--accent-l);white-space:nowrap}
.nav-links a.btn{white-space:nowrap}

/* hero */
.hero{background:radial-gradient(circle at 78% 30%,rgba(var(--glow),.28) 0,transparent 45%),radial-gradient(circle at 10% 0,#1f1c2a 0,var(--black) 60%);color:var(--white);padding:44px 0 56px;overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--accent) 20%,var(--silver) 50%,var(--accent) 80%,transparent);box-shadow:0 0 18px 2px rgba(var(--glow),.8)}
.hero-grid{display:grid;gap:28px}
.hero .lead{color:#c9ced5;max-width:36em}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
@media (max-width:639px){.hero-ctas .btn{flex:1 1 100%}}
.hero-points{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:#c9ced5;font-size:.95rem}
.hero-points li::before{content:"";display:inline-block;width:10px;height:10px;background:var(--accent-l);box-shadow:0 0 8px rgba(var(--glow),1);border-radius:2px;margin-right:10px;transform:rotate(45deg)}
.hero-photo{margin:0;position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(var(--glow),.6);box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 0 40px rgba(var(--glow),.45),0 20px 50px rgba(0,0,0,.6)}
.hero-photo img{width:100%;aspect-ratio:2/1;object-fit:cover}
.hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;font-size:.75rem;font-weight:700;color:var(--silver);background:linear-gradient(transparent,rgba(9,8,12,.88))}
.art-note{font-size:.7rem;color:#6d7480;text-align:center;margin:6px 0 0}

/* sections */
.section{padding:64px 0}
.section-alt{background:#eae7e1}
.section-dark{background:var(--char);color:var(--text)}
.section-black{background:radial-gradient(circle at 50% 0,rgba(var(--glow),.18),transparent 55%),var(--black);color:var(--text)}
.section-dark h2,.section-dark h3,.section-black h2{color:var(--white)}
.gallery-lead{color:#c3c0cf;max-width:40em}
.gallery{display:grid;gap:14px;margin-top:24px}
.gallery figure{margin:0;position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--char2)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figure:hover{border-color:rgba(var(--glow),.8);box-shadow:0 0 24px rgba(var(--glow),.45)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;font-size:.85rem;font-weight:700;color:#fff;background:linear-gradient(transparent,rgba(9,8,12,.85))}

.cards{display:grid;gap:18px;margin-top:24px}
.card{background:var(--white);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border-top:5px solid var(--accent)}
.card p{margin:0;color:#4a505a}
.card .icon{width:52px;height:52px;border-radius:12px;background:var(--char);color:var(--accent-l);box-shadow:0 0 14px rgba(var(--glow),.35);display:grid;place-items:center;margin-bottom:14px}
.card .icon svg{width:30px;height:30px}
.card-accent{background:var(--char);color:var(--white);border-top-color:var(--silver);box-shadow:0 0 30px rgba(var(--glow),.35),var(--shadow)}
.card-accent p{color:#c9ced5}
.card-accent .icon{background:var(--accent);color:#fff}

.hubs-grid{display:grid;gap:32px;align-items:center}
.hub{background:var(--char2);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:18px 20px;margin:14px 0}
.hub h3{display:flex;align-items:center;gap:10px;margin-bottom:.3em}
.hub p{margin:0;color:#c9ced5}
.pin{width:14px;height:14px;background:var(--accent-l);box-shadow:0 0 10px rgba(var(--glow),1);border-radius:50% 50% 50% 0;transform:rotate(-45deg);flex:none}
.states{color:#c9ced5}
.states strong{color:var(--accent-l);letter-spacing:.06em}
.map-art svg{width:100%;max-width:420px;margin:0 auto}
.route{animation:dash 2s linear infinite}
@keyframes dash{to{stroke-dashoffset:-36}}

.steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px;counter-reset:s}
.steps li{background:var(--white);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);position:relative}
.steps p{margin:0;color:#4a505a}
.num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,#8b4dff,var(--accent-d));color:#fff;box-shadow:0 0 14px rgba(var(--glow),.5);font-family:var(--display);font-size:1.3rem;margin-bottom:12px}

/* quote */
.quote-grid{display:grid;gap:28px}
.quote-intro a{font-weight:700}
.trust-badge{display:flex;align-items:center;gap:12px;background:var(--char);border:1px solid rgba(var(--glow),.55);box-shadow:0 0 18px rgba(var(--glow),.3);color:var(--white);border-radius:12px;padding:14px 16px;margin-top:18px;max-width:360px}
.trust-badge svg{width:36px;height:36px;flex:none}
.trust-badge strong{display:block;font-size:.95rem}
.trust-badge span{color:var(--accent-l);font-weight:700;font-size:.9rem;letter-spacing:.03em}
.quote-form{background:var(--white);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:grid;gap:14px;border-top:6px solid var(--accent)}
.field-row{display:grid;gap:14px}
.quote-form label,.radio-set legend{display:grid;gap:6px;font-weight:700;font-size:.88rem;color:#2b2f35}
.quote-form input,.quote-form textarea{font:inherit;font-size:16px;width:100%;padding:12px 14px;border:2px solid #d8d4cc;border-radius:10px;background:#fbfaf8;color:var(--ink)}
.quote-form input:focus,.quote-form textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(var(--glow),.25)}
.quote-form .invalid{border-color:var(--red)}
.radio-set{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.radio-set legend{margin-bottom:6px;width:100%}
.quote-form label.radio{display:flex;align-items:center;gap:8px;font-weight:600;background:#fbfaf8;border:2px solid #d8d4cc;border-radius:10px;padding:10px 14px;cursor:pointer}
.quote-form label.radio input{width:auto;accent-color:var(--char)}
.form-msg{margin:0;font-weight:700;min-height:1.2em}
.form-msg.err{color:var(--red)}
.form-msg.ok{color:#1d7a3e}

/* deposit */
.deposit-box{width:calc(100% - 32px);display:grid;gap:24px;background:radial-gradient(circle at 85% 50%,rgba(var(--glow),.3),transparent 55%),var(--char);border:1px solid rgba(var(--glow),.45);color:var(--text);border-radius:20px;padding:32px 24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.deposit-box h2{color:var(--white)}
.deposit-box .eyebrow{color:var(--accent-l)}
.deposit-terms{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px;color:#c3c0cf}
.deposit-terms li{padding-left:18px;position:relative}
.deposit-terms li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--accent-l);transform:rotate(45deg);box-shadow:0 0 8px rgba(var(--glow),1)}
.deposit-terms strong{color:#fff}
.deposit-box .muted{color:var(--muted)}
.deposit-cta{text-align:center;display:grid;gap:8px;justify-items:center;align-content:center}
.deposit-cta .btn{min-width:240px}
.pay-note{background:var(--char3);border:1px solid rgba(var(--glow),.45);border-radius:10px;padding:10px 14px;font-size:.85rem;margin:0;max-width:320px}
.pay-note a{color:var(--accent-l)}
.pay-alt{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0}
.deposit-cta .pay-alt .btn{min-width:0}

/* faq */
details{background:var(--white);border-radius:12px;margin:12px 0;box-shadow:0 4px 14px rgba(0,0,0,.06);overflow:hidden}
summary{cursor:pointer;font-weight:800;padding:18px 52px 18px 20px;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.2rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:0;padding:0 20px 18px;color:#4a505a}

/* footer */
.site-footer{background:var(--black);color:#c3c0cf;padding:48px 0 24px;position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent) 20%,var(--silver) 50%,var(--accent) 80%,transparent);box-shadow:0 0 18px 2px rgba(var(--glow),.8)}
.footer-logo img{width:220px;height:auto;filter:drop-shadow(0 0 14px rgba(var(--glow),.45))}
.tagline-foot{font-style:italic;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.footer-grid{display:grid;gap:26px}
.site-footer h3{color:var(--white);font-size:1rem;text-transform:uppercase;letter-spacing:.1em}
.site-footer p{margin:.3em 0}
.site-footer a{color:var(--accent-l)}
.site-footer a.btn{color:#fff}
.site-footer a.btn-ghost{color:var(--silver)}
.call-text{display:flex;gap:8px;margin-top:10px!important}
.legal{border-top:1px solid #23262b;margin-top:32px;padding-top:18px;color:#6d7480}

/* sticky mobile CTA */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr 2fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(9,8,12,.97);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s}
.mobile-cta.show{transform:none}
.mobile-cta .btn{padding:.75em .5em;font-size:.85rem}

@media (min-width:640px){
  .gallery{grid-template-columns:1fr 1fr}
  .gallery .g-wide{grid-column:1/-1}
  .cards,.steps{grid-template-columns:1fr 1fr}
  .field-row{grid-template-columns:1fr 1fr}
  .field-row.three{grid-template-columns:110px 1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:960px){
  body{padding-bottom:0}
  .mobile-cta,.menu-btn,.header-call{display:none}
  .nav{min-height:76px}
  .nav-links{display:flex;position:static;flex-direction:row;align-items:center;gap:18px;padding:0;background:none;border:0}
  .nav-links a{border:0;padding:0;font-size:.92rem}
  .nav-links a.btn{margin:0;padding:.6em 1em}
  .hero{padding:72px 0 88px}
  .hero-grid{grid-template-columns:.95fr 1.15fr;align-items:center;gap:44px}
  .hero h1{font-size:3.2rem}
  .hero-photo img{aspect-ratio:4/3;object-position:62% 40%}
  .cards{grid-template-columns:repeat(4,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .gallery .g-wide{grid-column:1/-1}
  .gallery .g-wide img{aspect-ratio:21/9}
  .steps{grid-template-columns:repeat(4,1fr)}
  .hubs-grid{grid-template-columns:1.1fr .9fr}
  .quote-grid{grid-template-columns:.8fr 1.2fr;align-items:start}
  .quote-intro{position:sticky;top:100px}
  .deposit-box{grid-template-columns:1.4fr 1fr;align-items:center;padding:44px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
  .section{padding:88px 0}
}
@media (prefers-reduced-motion:reduce){.route{animation:none}html{scroll-behavior:auto}}
.nw{white-space:nowrap}
.trust-badge em{display:block;font-style:normal;font-size:.82rem;color:var(--silver);margin-top:2px}
/* reviews */
.stars{color:#ffd76a;letter-spacing:.08em;text-shadow:0 0 10px rgba(255,200,80,.35)}
.stars.big{font-size:1.5rem}
.positive{display:inline-flex;align-items:center;gap:6px;color:#4ade80;font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
.positive svg{width:16px;height:16px}
.positive.big{font-size:1rem}.positive.big svg{width:22px;height:22px}
.hero-rating a{text-decoration:none;color:#fff;font-weight:700}
.hero-rating .stars{color:#ffd76a}
.rating-badges{display:grid;gap:16px;margin-top:26px}
.rating-badge{background:linear-gradient(180deg,var(--char2),var(--char));border:1px solid rgba(var(--glow),.55);border-radius:18px;padding:24px;text-align:center;box-shadow:0 0 30px rgba(var(--glow),.3)}
.rb-platform{margin:0;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:var(--accent-l)}
.rb-score{margin:4px 0 2px;font-family:var(--display);font-weight:900;font-size:3.2rem;line-height:1;background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.rb-score span{font-size:1.1rem}
.rb-count{margin:6px 0 12px;color:#c3c0cf}
.rb-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.rb-tags li{background:rgba(var(--glow),.18);border:1px solid rgba(var(--glow),.45);color:#e6defc;border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:700}
.ratings-note{color:#8f8a9e;font-size:.8rem;margin:12px 0 0;text-align:center}
.reviews{display:grid;gap:16px;margin-top:28px}
.review{margin:0;background:var(--char2);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}
.review-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.platform{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--silver-d);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.review blockquote{margin:0;color:#ebe8f3;font-size:1rem;line-height:1.55;flex:1}
.review figcaption{display:flex;flex-direction:column;gap:2px;font-size:.85rem;color:#a29db2;border-top:1px solid var(--line);padding-top:10px}
.review figcaption strong{color:#fff}
.review-feature{border-color:rgba(var(--glow),.7);box-shadow:0 0 34px rgba(var(--glow),.35);background:radial-gradient(circle at 0 0,rgba(var(--glow),.25),transparent 60%),var(--char2)}
.review-feature blockquote{font-size:1.25rem;font-weight:600;color:#fff}
.reviews-cta{text-align:center;margin-top:30px}
@media (min-width:640px){
  .rating-badges{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr 1fr}
  .review-feature{grid-column:1/-1}
}
@media (min-width:960px){
  .reviews{grid-template-columns:repeat(3,1fr)}
  .review-feature{grid-column:span 2;padding:28px 32px}
  .review-feature blockquote{font-size:1.35rem}
}
/* legal pages */
.legal-hero{background:radial-gradient(circle at 80% 20%,rgba(var(--glow),.28),transparent 50%),var(--black);color:#fff;padding:56px 0 44px;position:relative}
.legal-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--accent) 20%,var(--silver) 50%,var(--accent) 80%,transparent);box-shadow:0 0 18px 2px rgba(var(--glow),.8)}
.legal-hero h1{font-size:clamp(2rem,6vw,3rem)}
.legal-hero .eyebrow{color:var(--accent-l)}
.updated{color:var(--silver-d);margin:0;font-size:.9rem}
.legal-body .wrap{width:calc(100% - 28px);background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:28px 22px}
.legal-body h2{font-size:1.15rem;font-family:var(--font);text-transform:none;letter-spacing:0;margin:1.6em 0 .4em;color:var(--accent-d)}
.legal-body p,.legal-body li{color:#3c4049}
.legal-body .intro{font-size:1.05rem;margin-top:0}
.legal-body a{color:var(--accent-d);font-weight:700}
@media (min-width:960px){.legal-body .wrap{padding:44px 52px}}
[hidden]{display:none!important}
