/* Liberty: wide cinematic composition, soft surfaces and curved transitions. */
:root { --bg:#100b1c; --muted:#c0b3d1; --purple:#f2a3d3; --accent:#d471e6; }
body { background:radial-gradient(ellipse at 90% 35%,#241537 0,transparent 35%),var(--bg); }
.container { width:calc(100% - clamp(40px,8vw,160px)); max-width:none; }
.header { padding:22px 3vw 0; border:0; }
.header.scrolled { background:none; backdrop-filter:none; padding-top:12px; }
.nav-shell { width:100%; max-width:none; min-height:80px; padding:12px 26px; border:1px solid #ffffff20; border-radius:100px; background:#1711219c; backdrop-filter:blur(22px); box-shadow:0 12px 55px #0003; }
.header.scrolled .nav-shell { background:#140f20ed; }
.brand img { width:52px; height:52px; }
.header nav>a:not(.button) { font-size:14px; }
.button { border-radius:100px; padding:17px 29px; background:linear-gradient(120deg,#ffb59f,#f58bcf 48%,#ad78f3); color:#261032; box-shadow:0 8px 36px #ef83ce35; }
.button-small { padding:11px 23px; min-height:44px; }
.button-glass { color:white; background:#ffffff0b; border-color:#ffffff40; box-shadow:none; }
.hero { height:auto; min-height:100svh; max-height:none; display:flex; align-items:center; padding:160px 0 135px; }
.hero-content { padding-top:0; width:100%; padding-inline:clamp(24px,6vw,120px); margin:0; }
.hero-image { background-image:url('assets/miami.webp'); background-position:72% center; }
.hero-shade { background:linear-gradient(90deg,#160d27df 0%,#2a133a88 38%,#34134012 78%),linear-gradient(0deg,#100b1ca0,transparent 35%,#29112f22); }
.hero:after { content:""; position:absolute; bottom:-1px; left:-5%; width:110%; height:60px; background:var(--bg); border-radius:50% 50% 0 0 / 100% 100% 0 0; z-index:1; }
h1 { font-size:clamp(90px,9.5vw,185px); line-height:.94; max-width:1100px; margin-bottom:30px; letter-spacing:-1.5px; }
h1 span { background:linear-gradient(100deg,#efe3ff,#c59bff 50%,#ee94d7); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-description { font-size:clamp(16px,1.2vw,21px); color:#e4dbea; }
.hero-note { color:#c9bdd9; font-size:14px; }
.hero-bottom { bottom:80px; }
.hero-word { bottom:28px; right:2vw; font-size:23vw; opacity:.65; }
.eyebrow { font-size:12px; }
.hero-content>.eyebrow { display:inline-flex; border:1px solid #ddc4ff35; background:#b382ed12; border-radius:100px; padding:10px 17px; backdrop-filter:blur(10px); }
.identity-strip { border:0; background:none; }
.identity-strip .container { min-height:88px; font-size:12px; }
.section { padding-block:clamp(72px,7vw,135px); }
.section-heading { gap:8vw; }
.section-heading>p { max-width:520px; font-size:16px; }
h2 { font-size:clamp(48px,4.7vw,86px); }
h2 span { color:#c2aadf; }
.feature-grid { gap:24px; }
.feature { border-radius:32px; padding:clamp(28px,3vw,55px); background:linear-gradient(135deg,#251a32b3,#14101ed9); border-color:#b389ed25; box-shadow:0 16px 45px #0002; }
.feature-top { margin-bottom:45px; }
.feature-top .icon { width:58px; height:58px; padding:13px; border-radius:20px; background:#b98af514; }
.feature h3 { font-size:22px; }
.feature p,.story-copy p,.steps p,.faq-heading p:not(.eyebrow),details>p { font-size:16px; }
.tags span { border-radius:100px; font-size:12px; padding:6px 13px; }
.stories { width:100%; border:0; border-radius:60px; background:radial-gradient(ellipse at 0 70%,#39204b88,transparent 65%),#15101f; }
.story-layout { gap:7vw; grid-template-columns:1fr 1.05fr; }
.story-left>p:not(.eyebrow) { max-width:560px; font-size:16px; }
.story-tabs { gap:12px; }
.story-tabs button { border:1px solid #b68ae624; border-radius:100px; padding:14px 24px; background:#ffffff03; }
.story-tabs button[aria-selected=true] { border-color:#b68ae65c; background:#b68ae61f; }
.story-panel { border-radius:36px; box-shadow:0 25px 65px #0003; }
.story-art { height:clamp(240px,22vw,420px); background-image:linear-gradient(90deg,#22103288,#35134410),url('assets/miami.webp'); }
.story-art-title { left:36px; top:32px; font-size:52px; }
.story-copy { padding:12px 36px 36px; }
.story-copy h3 { font-size:clamp(25px,2.1vw,36px); }
.story-kicker,.text-link { font-size:14px; }
.steps { gap:24px; }
.steps article { border:1px solid #b38aea22; border-radius:28px; padding:32px; background:#ffffff03; }
.steps p { max-width:100%; }
.step-number { color:#c29aef; }
.faq-heading h2 { font-size:clamp(48px,4vw,72px); }
.faq-list details,.faq-list details:first-child { border:1px solid #b68ce62b; border-radius:23px; background:#21162d66; margin-bottom:12px; padding-inline:25px; }
summary { padding-block:24px; font-size:16px; }
.final-cta { width:100%; border-radius:64px 64px 0 0; border:0; padding:95px 24px; background:radial-gradient(ellipse at 50% 0,#69418470,transparent 70%),#1d112d; }
.final-cta h2 { font-size:clamp(60px,6vw,100px); }
.final-cta>img { width:96px; height:96px; }
.final-cta .eyebrow { font-size:12px; }
.footer { padding-block:32px; }
.footer p,.footer>div { font-size:13px; }
dialog { border-radius:32px; }
@media (max-width:1100px) {
  .header nav { gap:20px; }
  .feature { padding:28px; }
  .feature h3 { font-size:19px; }
  .story-layout { gap:40px; }
}
@media (max-width:850px) {
  .header { padding:15px 20px 0; }
  .nav-shell { padding:10px 18px; min-height:72px; }
  .header nav { left:20px; right:20px; top:99px; border-radius:26px; background:#1b1328f5; }
  .header nav>a:not(.button) { border-radius:16px; }
  .hero { padding:150px 0 130px; }
  .hero-content { padding-inline:30px; }
  h1 { font-size:clamp(78px,12vw,110px); }
  .hero-image { background-position:65% center; }
.hero-shade { background:linear-gradient(90deg,#170b2bdc,#30134488 70%,#35144340),linear-gradient(0deg,#100b1ca0,transparent 55%); }
  .stories { border-radius:38px; }
  .story-layout { grid-template-columns:1fr; }
  .story-tabs { gap:8px; }
  .story-tabs button { font-size:14px; padding:12px 18px; }
  .story-art { height:280px; }
  .steps { grid-template-columns:1fr; }
  .steps article { display:grid; grid-template-columns:60px 1fr; gap:0 20px; }
  .step-number { grid-row:1/4; }
  .steps h3 { font-size:20px; }
  .steps .text-link { justify-self:start; }
}
@media (max-width:540px) {
  .container { width:calc(100% - 40px); }
  .header { padding-inline:14px; }
  .nav-shell { padding:10px 15px; }
  .brand img { width:42px; height:42px; }
  .brand>span { font-size:20px; }
  .hero { padding:142px 0 120px; }
  .hero-content { padding-inline:24px; }
  .hero-content>.eyebrow { font-size:10px; letter-spacing:1px; padding:9px 12px; margin-bottom:24px; }
  h1 { font-size:clamp(63px,16.8vw,91px); letter-spacing:-.8px; line-height:.98; }
  .hero-description { font-size:16px; }
  .hero-actions { align-items:stretch; }
  .hero-actions .button { width:100%; min-height:54px; font-size:14px; }
  .hero-note { font-size:12px; max-width:100%; }
  .hero-bottom { bottom:72px; }
  .hero:after { height:38px; }
  .identity-strip .container>span:last-child { font-size:10px; letter-spacing:.3px; white-space:normal; text-align:center; }
  .identity-strip i { margin-inline:5px; }
  h2 { font-size:46px; }
  .feature { border-radius:26px; }
  .feature-top { margin-bottom:26px; }
  .feature h3 { font-size:20px; }
  .story-tabs button { font-size:13px; padding:10px 13px; }
  .story-panel { border-radius:28px; }
  .story-art { height:230px; }
  .story-copy { padding:12px 24px 28px; }
  .story-art-title { left:24px; }
  .steps article { padding:24px; grid-template-columns:40px 1fr; gap:0 16px; }
  .steps h3 { font-size:18px; }
  .faq-list details { padding-inline:20px; }
  summary { font-size:15px; }
  .final-cta { width:100%; border-radius:38px 38px 0 0; padding:65px 24px; }
  .final-cta h2 { font-size:59px; }
  .final-cta .button { font-size:14px; }
  .footer p { font-size:12px; }
}
@media (max-height:650px) and (min-width:851px) {
  .hero { padding-block:135px 125px; }
  h1 { font-size:clamp(80px,8vw,125px); }
}
