
:root{
  --bg:#13090d; --bg2:#1d0f14; --surface:#22131a; --text:#fff4f5; --muted:#d0b4b9; --line:rgba(255,255,255,.09);
  --primary:#ff5d7e; --primary2:#ff9bb0; --accent:#ffdbe4; --shadow:0 22px 70px rgba(0,0,0,.34);
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--text); min-height:100vh; overflow-x:hidden;
background:linear-gradient(120deg, rgba(255,93,126,.08) 0%, transparent 32%), radial-gradient(circle at 85% 12%, rgba(255,155,176,.10), transparent 26%), linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%)}
a{color:inherit;text-decoration:none} .wrap{width:min(1200px, calc(100% - 36px)); margin:0 auto}
.site-header{position:sticky; top:0; z-index:30; backdrop-filter:blur(16px); background:rgba(18,9,13,.62); border-bottom:1px solid var(--line)}
.nav-shell{display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:78px}
.brand{font-family:Georgia,serif; font-size:22px; font-weight:700}
.nav{display:flex; gap:18px; flex-wrap:wrap} .nav a{font-size:15px; color:#e5ccd1} .nav a.is-active,.nav a:hover{color:#fff}
.nav-actions{display:flex; align-items:center; gap:12px} .header-call{font-size:14px; color:var(--accent)}
.header-cta,.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2)); color:#300913; font-weight:800; box-shadow:0 10px 26px rgba(255,93,126,.24)}
.header-cta{padding:12px 16px; border-radius:999px}
.nav-toggle{display:none; background:none; border:0; padding:0; width:42px; height:42px} .nav-toggle span{display:block; width:24px; height:2px; background:#fff; margin:5px auto}
.mobile-drawer{position:fixed; inset:78px 0 auto 0; background:#13090d; border-top:1px solid var(--line); z-index:25}
.mobile-drawer-inner{padding:18px 0 24px} .mobile-nav{display:flex; flex-direction:column; gap:12px} .mobile-nav a{padding:12px 0; border-bottom:1px solid var(--line)}
.mobile-cta-row{display:flex; gap:12px; margin-top:18px}
.hero{padding:84px 0 34px} .hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center}
.eyebrow{display:inline-flex; padding:10px 15px; border-radius:999px; background:rgba(255,255,255,.05); border:1px solid var(--line); color:var(--accent); font-size:13px; letter-spacing:.4px; text-transform:uppercase}
h1{font-family:Georgia,serif; font-size:clamp(40px,6vw,82px); line-height:1.01; margin:18px 0 14px; letter-spacing:-1.6px; max-width:800px}
.lead{font-size:18px; line-height:1.8; color:var(--muted); max-width:720px}
.cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:24px}
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 22px; border-radius:16px; font-weight:800}
.btn-secondary{border:1px solid var(--line); background:rgba(255,255,255,.03); color:#fff}
.microcopy{font-size:13px; color:#d9c0c6; margin-top:14px}
.hero-stack{display:grid; gap:16px}
.hero-card,.city-card,.feature-card,.timeline-card,.quote-box,.contact-panel,.final-cta,.requirement-box{position:relative; overflow:hidden; padding:24px; border-radius:26px; background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)); border:1px solid var(--line); box-shadow:var(--shadow)}
.hero-card:before,.city-card:before,.feature-card:before,.timeline-card:before{content:""; position:absolute; inset:auto -12% -55% auto; width:180px; height:180px; border-radius:50%; background:rgba(255,93,126,.12); filter:blur(18px)}
.hero-card strong{position:relative; display:block; font-size:28px; margin-bottom:8px} .hero-card span{position:relative; color:var(--muted)}
.section{padding:28px 0 34px}
.section-head h2,.city-copy h2,.quote-box h2,.contact-panel h2,.final-cta h2,.requirement-box h2{font-family:Georgia,serif; font-size:clamp(30px,4vw,48px); line-height:1.05; margin:0 0 12px}
.city-split{display:grid; grid-template-columns:.9fr 1.1fr; gap:22px}
.city-copy p,.quote-box p,.contact-panel p,.final-cta p,.requirement-box p{margin:0; color:var(--muted); line-height:1.8}
.city-cards,.feature-grid,.timeline-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.city-card h3,.feature-card h3,.timeline-card h3{margin:0 0 10px; font-size:22px}
.city-card p,.feature-card p,.timeline-card p{margin:0; color:var(--muted); line-height:1.7}
.step-no{display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg,var(--primary),var(--primary2)); color:#300913; font-weight:900; margin-bottom:14px}
.requirement-box{display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center}
.pill-cloud{display:flex; gap:10px; flex-wrap:wrap} .pill-cloud span{padding:10px 14px; border-radius:999px; background:rgba(255,93,126,.12); border:1px solid rgba(255,93,126,.26); color:var(--accent)}
.contact-number{font-family:Georgia,serif; font-size:32px; font-weight:700; margin-top:12px}
.footer-shell{padding:22px 0 40px; text-align:center; color:#d5bcc2; border-top:1px solid var(--line)}
.heart{color:#ff7aa4} .reveal{opacity:0; transform:translateY(18px); transition:all .55s ease} .reveal.is-visible{opacity:1; transform:none}
@media (max-width:1024px){.hero-grid,.city-split,.requirement-box{grid-template-columns:1fr}}
@media (max-width:860px){.nav-desktop,.header-call,.header-cta{display:none}.nav-toggle{display:block}}
@media (max-width:720px){.city-cards,.feature-grid,.timeline-grid{grid-template-columns:1fr}.mobile-cta-row,.cta-row{flex-direction:column}.btn{width:100%}}
