:root{
  --bronze:#A9744C;--bronze-deep:#84532F;--bronze-bright:#C99C70;
  --maroon:#6E1A24;--maroon-deep:#4E1017;--maroon-soft:#87303B;
  --cream:#F8F1E5;--cream-2:#EFE3CE;--ink:#2E2620;--muted:#8A7D70;
  --green:#5DA13C;
  --line:rgba(110,26,36,.13);--shadow:0 30px 70px -36px rgba(78,16,23,.4);
  --serif:'Cormorant Garamond',Georgia,serif;--script:'Great Vibes',cursive;--sans:'Jost',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:
  radial-gradient(55% 40% at 88% 0%,rgba(169,116,76,.12),transparent 60%),
  radial-gradient(50% 40% at 6% 10%,rgba(110,26,36,.06),transparent 60%),var(--cream);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* ---------- nav ---------- */
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.brand{display:flex;align-items:center;gap:16px;line-height:0}
.brand img.feathers{height:42px;width:auto}
.brand img.ath{height:30px;width:auto;opacity:.9}
.brand .bsep{width:1px;height:30px;background:var(--line)}
.nav-cta{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--bronze-bright),var(--bronze));padding:9px 18px;border-radius:40px;transition:.3s;border:0;cursor:pointer;line-height:1.4;white-space:nowrap}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px -10px rgba(169,116,76,.65)}

/* ---------- hero (full-width carousel) ---------- */
.hero{display:block;min-height:min(88vh,760px)}
.hero.hero-banner{min-height:0;line-height:0}
.hero-banner a{display:block;cursor:pointer}
.hero-banner img{width:100%;height:auto;display:block;transition:.4s}
.hero-banner a:hover img{filter:brightness(1.04)}
.hero-media{position:relative;overflow:hidden;background:#1b120c;min-height:min(88vh,760px)}
.hero-slides{position:absolute;inset:0}
.hero-slides .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity 1.1s ease,transform 6s linear}
.hero-slides .slide.on{opacity:1;transform:scale(1)}
.hero-dots{position:absolute;right:26px;bottom:26px;z-index:3;display:flex;gap:8px}
.hero-dots button{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:transparent;cursor:pointer;padding:0;transition:.3s}
.hero-dots button.on{background:var(--bronze-bright);border-color:var(--bronze-bright);transform:scale(1.25)}
.price-cta{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--bronze-bright),var(--bronze));padding:14px 24px;border-radius:40px;border:0;cursor:pointer;transition:.3s;align-self:center}
.price-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(169,116,76,.65)}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,12,8,.88) 0%,rgba(30,12,8,.28) 45%,rgba(30,12,8,.15));z-index:1}
.hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:42px 46px}
.hero-copy .eyebrow{font-size:.64rem;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze-bright);font-weight:500}
.hero-copy .sig{font-family:var(--script);font-size:clamp(2.2rem,4.6vw,3.4rem);color:var(--bronze-bright);line-height:.8;margin:10px 0 4px;transform:rotate(-2deg);display:inline-block}
.hero-copy h1{font-family:var(--serif);font-weight:600;color:#fff;font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.08;max-width:620px}
.hero-copy h1 em{font-style:italic;color:var(--bronze-bright)}
.hero-sub{color:rgba(255,255,255,.85);font-size:.92rem;margin-top:10px;letter-spacing:.04em}
.hero-sub2{color:rgba(255,255,255,.78);font-size:.86rem;margin-top:6px;letter-spacing:.02em;max-width:520px}
.cine-badge{display:inline-flex;align-items:center;gap:8px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#FFD65A;background:rgba(0,0,0,.4);border:1px solid rgba(255,214,90,.55);padding:8px 16px;border-radius:30px;backdrop-filter:blur(6px);margin-bottom:14px}
.cine-badge em{font-style:normal;color:#fff}
.hero-price{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.price-chip{background:rgba(255,255,255,.08);border:1px solid rgba(201,156,112,.5);backdrop-filter:blur(6px);border-radius:14px;padding:10px 18px}
.price-chip .pc-l{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-bright);font-weight:600}
.price-chip .pc-v{font-family:var(--serif);font-weight:700;font-size:1.35rem;color:#fff;line-height:1.15}
.price-chip .pc-v span{font-size:.72rem;font-family:var(--sans);font-weight:400;color:rgba(255,255,255,.7)}
.hero-play{position:absolute;top:24px;right:24px;z-index:3;display:inline-flex;align-items:center;gap:9px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#fff;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.35);padding:10px 16px;border-radius:30px;cursor:pointer;backdrop-filter:blur(6px);transition:.25s}
.hero-play:hover{background:rgba(0,0,0,.6)}
.hero-play .tri{width:0;height:0;border-left:9px solid var(--bronze-bright);border-top:6px solid transparent;border-bottom:6px solid transparent}
.formside{background:radial-gradient(120% 90% at 100% 0%,var(--maroon-soft),transparent 55%),linear-gradient(160deg,var(--maroon),var(--maroon-deep));display:flex;align-items:center;padding:36px 26px;position:relative;overflow:hidden}
.formside::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(201,156,112,.12) 1px,transparent 1px);background-size:26px 26px;opacity:.6}
.form-card{position:relative;z-index:2;width:100%;max-width:340px;margin:0 auto}
.form-card .eyebrow{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze-bright);font-weight:500}
.form-card h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.4rem,2.2vw,1.8rem);color:#fff;line-height:1.05;margin:8px 0 4px}
.form-card h2 em{font-style:italic;color:var(--bronze-bright)}
.form-card .fsub{font-size:.82rem;color:rgba(255,255,255,.72);margin-bottom:20px;font-weight:300}
.form-card .fld label{color:rgba(255,255,255,.6)}
.form-card .fld input,.form-card .fld select{color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18)}
.form-card .fld input::placeholder{color:rgba(255,255,255,.4)}
.form-card .fld input:focus,.form-card .fld select:focus{border-color:var(--bronze-bright);box-shadow:0 0 0 3px rgba(201,156,112,.2);background:rgba(255,255,255,.1)}
.form-card .fld select option{color:#2e2620}
.form-card .fnote{color:rgba(255,255,255,.55)}
.form-card .fnote b{color:var(--bronze-bright)}

/* ---------- highlights route strip ---------- */
.hstrip{background:linear-gradient(90deg,var(--maroon-deep),var(--maroon));position:relative;overflow:hidden}
.hstrip::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed rgba(201,156,112,.4)}
.hstrip .wrap{display:flex;justify-content:space-between;gap:8px;padding-top:22px;padding-bottom:22px;position:relative;flex-wrap:wrap}
.hs-item{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:120px;text-align:center;position:relative;z-index:2}
.hs-item .hm{display:flex;align-items:baseline;gap:3px;background:var(--maroon-deep);padding:0 10px}
.hs-item .hm b{font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--bronze-bright);line-height:1}
.hs-item .hm span{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.65);font-weight:600}
.hs-item .hl{font-size:.72rem;color:rgba(255,255,255,.85);letter-spacing:.04em}

/* ---------- section shells ---------- */
.sec{padding:84px 0}
.titler{text-align:center;max-width:720px;margin:0 auto 46px}
.titler .the{font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.titler h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3.6vw,2.8rem);color:var(--maroon);line-height:1.05;margin-top:10px}
.titler h2 em{font-style:italic;color:var(--bronze-deep)}
.titler p{color:var(--muted);font-size:.95rem;margin-top:14px;line-height:1.75}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.about-img{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-copy .eyebrow{font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.about-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.2vw,2.5rem);color:var(--maroon);line-height:1.08;margin:12px 0 18px}
.about-copy h2 em{font-style:italic;color:var(--bronze-deep)}
.about-copy p{color:var(--muted);font-size:.95rem;line-height:1.85;margin-bottom:14px}
.canvas-card{background:linear-gradient(160deg,#fff,var(--cream-2));border:1px solid var(--line);border-radius:22px;padding:38px 34px;box-shadow:var(--shadow);position:relative}
.canvas-card .sig{font-family:var(--script);font-size:2.2rem;color:var(--bronze);transform:rotate(-2deg);display:inline-block;margin-bottom:10px}
.canvas-card p{color:var(--muted);font-size:.92rem;line-height:1.85;font-style:italic}

/* ---------- design-for-you cards ---------- */
.dfy-carousel{position:relative;aspect-ratio:16/7;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);margin-bottom:32px}
.dfy{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dfy-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 22px;text-align:center;transition:.3s}
.dfy-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.dfy-card .ic{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(160deg,var(--bronze-bright),var(--bronze));display:flex;align-items:center;justify-content:center;color:#fff}
.dfy-card h3{font-family:var(--serif);font-weight:600;font-size:1.12rem;color:var(--maroon);line-height:1.2;margin-bottom:8px}
.dfy-card p{font-size:.8rem;color:var(--muted);line-height:1.7}

/* ---------- amenities ---------- */
.amen-sec{background:linear-gradient(160deg,var(--cream-2),var(--cream))}
.amen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.amen-tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;display:flex;align-items:center;gap:15px;transition:.3s}
.amen-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.amen-tile .ai{flex:none;width:44px;height:44px;border-radius:12px;background:linear-gradient(160deg,var(--maroon),var(--maroon-deep));color:var(--bronze-bright);display:flex;align-items:center;justify-content:center}
.amen-tile b{font-weight:500;font-size:.9rem;letter-spacing:.02em;color:var(--ink)}

/* ---------- more luxury band ---------- */
.lux{background:radial-gradient(120% 100% at 90% 0%,var(--maroon-soft),transparent 55%),linear-gradient(160deg,var(--maroon),var(--maroon-deep));color:#fff;padding:90px 0}
.lux .k{font-size:.68rem;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze-bright);font-weight:500}
.lux h2{font-family:var(--serif);font-weight:700;font-size:clamp(3rem,8vw,5.4rem);line-height:.95;margin:14px 0 22px;color:#fff}
.lux h2 em{font-style:italic;color:var(--bronze-bright)}
.lux p{max-width:640px;color:rgba(255,255,255,.82);font-size:.98rem;line-height:1.9}

/* ---------- location timeline ---------- */
.loc-rows{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.loc-row{display:grid;grid-template-columns:110px 1fr;gap:26px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;transition:.3s}
.loc-row:hover{box-shadow:var(--shadow)}
.loc-badge{text-align:center;border-right:1px dashed var(--line);padding-right:20px}
.loc-badge .only{font-size:.54rem;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);font-weight:600}
.loc-badge b{display:block;font-family:var(--serif);font-weight:700;font-size:2.4rem;color:var(--maroon);line-height:1}
.loc-badge span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600}
.loc-list{display:flex;flex-direction:column;gap:9px;padding-top:4px}
.loc-list div{display:flex;align-items:center;gap:11px;font-size:.92rem;color:var(--ink)}
.loc-list div::before{content:"";flex:none;width:7px;height:7px;background:var(--bronze);transform:rotate(45deg)}
.loc-list div span{color:var(--muted);font-size:.8rem;margin-left:auto;white-space:nowrap}

/* ---------- location map ---------- */
.map-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.map-card img{width:100%;height:auto}
.map-actions{display:flex;justify-content:center;gap:16px;padding:26px;flex-wrap:wrap}
.map-btn{display:inline-flex;align-items:center;gap:9px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--bronze-bright),var(--bronze));padding:13px 26px;border-radius:40px;transition:.3s;border:0;cursor:pointer}
.map-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(169,116,76,.65)}
.map-btn.ghost{background:transparent;color:var(--maroon);border:1px solid var(--maroon)}
.map-btn.ghost:hover{background:var(--maroon);color:#fff;box-shadow:none}

/* ---------- walkthrough ---------- */
.walk-card{max-width:920px;margin:0 auto;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#000}
.walk-card video{width:100%;height:auto;display:block}

/* ---------- why choose ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:0 auto}
.why-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px;display:flex;gap:13px;align-items:flex-start}
.why-item .wn{flex:none;color:var(--bronze);font-family:var(--serif);font-weight:700;font-size:1.2rem;line-height:1.3}
.why-item div b{display:block;font-weight:500;font-size:.92rem;color:var(--maroon);margin-bottom:4px}
.why-item div span{font-size:.8rem;color:var(--muted);line-height:1.6}

/* ---------- closing / faq / footer ---------- */
.closing{text-align:center;padding:80px 0}
.closing .sig{font-family:var(--script);font-size:clamp(2.2rem,5vw,3.4rem);color:var(--bronze);transform:rotate(-2deg);display:inline-block;margin-bottom:6px}
.closing h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--maroon);margin-bottom:26px}
.closing-cta{display:inline-flex;align-items:center;gap:10px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--bronze-bright),var(--bronze));padding:16px 30px;border-radius:40px;border:0;cursor:pointer;transition:.3s}
.closing-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(169,116,76,.65)}
.faq{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:0;text-align:left;padding:20px 4px;font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--maroon);cursor:pointer}
.faq-q .x{font-size:1.3rem;color:var(--bronze);transition:.3s;flex:none}
.faq-item.open .faq-q .x{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a p{padding:0 4px 20px;color:var(--muted);font-size:.9rem;line-height:1.8}
.footer{background:var(--maroon-deep);color:rgba(255,255,255,.75);padding:44px 0;text-align:center}
.footer .flogos{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:18px;flex-wrap:wrap}
.footer .flogos img{height:34px;width:auto;filter:brightness(0) invert(1);opacity:.85}
.footer p{font-size:.78rem;letter-spacing:.04em;line-height:1.8}
.footer b{color:var(--bronze-bright)}
.footer .flinks{margin-top:12px}
.footer .flinks a{color:var(--bronze-bright);text-decoration:underline;text-underline-offset:3px;transition:.25s}
.footer .flinks a:hover{color:#fff}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}


/* ---------- modals ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(30,12,8,.7);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .35s}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal-box{background:var(--cream);border-radius:22px;max-width:460px;width:100%;max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 50px 120px -40px rgba(0,0,0,.6);transform:translateY(20px);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.modal-overlay.open .modal-box{transform:none}
.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:var(--cream-2);border:1px solid var(--line);color:var(--maroon);font-size:.95rem;cursor:pointer;z-index:3}
.modal-form-body{padding:34px 30px}
.modal-form-body .eyebrow{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.modal-form-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.6vw,2rem);color:var(--maroon);line-height:1.05;margin:8px 0 4px}
.modal-form-body h2 em{font-style:italic;color:var(--bronze-deep)}
.modal-form-body .fsub{font-size:.86rem;color:var(--muted);margin-bottom:22px;font-weight:300}
.media-modal-box{background:#000;border-radius:18px;max-width:920px;width:100%;position:relative;overflow:hidden}
.media-modal-box video{width:100%;height:auto;display:block;max-height:82vh}

/* ---------- form fields ---------- */
.fld{margin-bottom:15px}
.fld label{display:block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:6px}
.fld input,.fld select{width:100%;font-family:var(--sans);font-weight:300;font-size:.9rem;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none;transition:.25s;appearance:none}
.fld input:focus,.fld select:focus{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(169,116,76,.15)}
.phone-row{display:flex;gap:8px}
.phone-row .cc-select{flex:0 0 108px;width:108px;padding:12px 8px;font-size:.82rem}
.phone-row input{flex:1;min-width:0}
.form-card .phone-row .cc-select{color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18)}
.form-card .phone-row .cc-select option{color:#2e2620}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.fstatus{display:none;font-size:.8rem;padding:10px 13px;border-radius:10px;margin-bottom:13px}
.fstatus.error{display:block;background:rgba(180,50,50,.12);color:#B03232;border:1px solid rgba(180,50,50,.25)}
.fstatus.ok{display:block;background:rgba(93,161,60,.12);color:#4C8B30;border:1px solid rgba(93,161,60,.3)}
.lh-submit{margin-top:6px;width:100%;justify-content:center;font-family:var(--sans);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--bronze-bright),var(--bronze));padding:15px 22px;border-radius:40px;border:0;cursor:pointer;display:flex;align-items:center;gap:10px;transition:.3s}
.lh-submit:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(169,116,76,.65)}
.lh-submit:disabled{opacity:.7;transform:none}
.fnote{font-size:.68rem;color:var(--muted);text-align:center;margin-top:12px;letter-spacing:.06em}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .dfy{grid-template-columns:repeat(2,1fr)}
  .amen-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr;gap:36px}
}
@media(max-width:760px){
  .wrap{padding:0 20px}
  .sec{padding:60px 0}
  .nav{padding:10px 18px}
  .brand img.feathers{height:34px}
  .brand img.ath{height:24px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-media{min-height:74vh}
  .hero-copy{padding:28px 22px}
  .hstrip .wrap{justify-content:flex-start;gap:18px}
  .hs-item{min-width:calc(50% - 10px)}
  .dfy-carousel{aspect-ratio:4/3}
  .dfy{grid-template-columns:1fr}
  .amen-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .loc-row{grid-template-columns:1fr;gap:14px}
  .loc-badge{border-right:0;border-bottom:1px dashed var(--line);padding:0 0 14px;text-align:left;display:flex;align-items:baseline;gap:9px}
  .loc-badge b{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* ---------- video splash screen (all devices) ---------- */
.vsplash{position:fixed;inset:0;z-index:200;background:linear-gradient(160deg,var(--maroon),var(--maroon-deep));opacity:1;transition:opacity .5s ease}
.vsplash.closing{opacity:0;pointer-events:none}
.vsplash-stage{position:relative;width:100%;height:100%;overflow:hidden}
.vsplash video{width:100%;height:100%;object-fit:cover;display:block;transition:filter .6s ease,transform .6s ease}
.vsplash.ended video{filter:brightness(.35) saturate(.85);transform:scale(1.03)}
/* form overlay revealed when the video ends */
.vsplash-form{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;pointer-events:none;transition:opacity .5s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}
.vsplash.ended .vsplash-form{opacity:1;pointer-events:auto}
.vsplash-form .form-card{max-width:380px;width:100%;margin:auto;background:radial-gradient(120% 90% at 100% 0%,var(--maroon-soft),transparent 55%),linear-gradient(160deg,var(--maroon),var(--maroon-deep));border:1px solid rgba(201,156,112,.45);border-radius:20px;padding:28px 26px 24px;box-shadow:0 40px 90px -28px rgba(0,0,0,.7);transform:translateY(24px) scale(.97);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.vsplash.ended .vsplash-form .form-card{transform:none}
@media(max-width:760px){
  .vsplash-form{padding:14px}
  .vsplash-form .form-card{padding:22px 20px 20px}
  .vsplash-form .fld{margin-bottom:11px}
  .vsplash-form .form-card h2{font-size:1.4rem}
  .vsplash-form .form-card .fsub{margin-bottom:14px}
}
