:root { --ink:#eff4ff; --muted:#aebbd0; --glass:rgba(30,43,71,.63); --line:rgba(216,230,255,.16); --blue:#87b7ff; --navy:#080d1b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--navy); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
main { overflow:hidden; }
.hero { min-height:780px; position:relative; padding:28px clamp(24px,7vw,112px) 80px; background:radial-gradient(circle at 74% 46%,#243f75 0,transparent 26%),radial-gradient(circle at 22% 100%,#263566 0,transparent 34%),#080d1b; }
.nav { max-width:1240px; margin:auto; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; }
.brand { color:var(--ink); display:inline-flex; align-items:center; gap:10px; font-weight:800; text-decoration:none; letter-spacing:-.04em; font-size:20px; }
.brand img { width:32px; height:32px; border-radius:10px; }
.nav-actions { display:flex; gap:18px; align-items:center; }.nav-link { color:var(--muted); text-decoration:none; font-size:14px; }.language { color:#d5e6ff; font-size:12px; font-weight:800; text-decoration:none; border:1px solid var(--line); border-radius:99px; padding:7px 10px; }
.hero-copy { max-width:1240px; margin:120px auto 0; position:relative; z-index:1; }
.eyebrow { color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; margin:0 0 18px; }
h1,h2 { letter-spacing:-.065em; margin:0; }
h1 { font-size:clamp(56px,8vw,114px); font-weight:700; line-height:.92; max-width:680px; }
h1 em { color:#bbd4ff; font-family:'Playfair Display',serif; font-weight:600; }
.lede { max-width:450px; font-size:18px; line-height:1.65; color:var(--muted); margin:32px 0 25px; }
.availability { display:inline-block; border:1px solid var(--line); border-radius:100px; padding:11px 16px; font-size:13px; color:#d8e6ff; background:rgba(255,255,255,.04); }
.phone-wrap { position:absolute; width:390px; height:720px; right:clamp(20px,13vw,190px); bottom:-90px; }
.orb { position:absolute; filter:blur(2px); border-radius:50%; }
.orb-one { width:330px; height:330px; right:-50px; top:80px; background:radial-gradient(circle,#80b7ff88,transparent 67%); }
.orb-two { width:260px; height:260px; left:-70px; bottom:20px; background:radial-gradient(circle,#c7a9ff55,transparent 68%); }
.phone { width:316px; height:650px; background:linear-gradient(155deg,#17243d,#090e1b 68%); border:8px solid #27334a; border-radius:49px; margin:auto; padding:31px 19px 24px; position:relative; box-shadow:0 35px 90px #0009,inset 0 1px #ffffff44; }
.island { position:absolute; width:105px; height:27px; background:#05070d; top:10px; left:calc(50% - 52px); border-radius:22px; }
.phone-top { display:flex; justify-content:space-between; align-items:center; font-size:11px; color:#d9e7ff; }
.phone-top button { width:35px; height:35px; border-radius:50%; color:#d5e7ff; background:#273854cc; border:1px solid #ffffff22; font-size:16px; }
.event-card { margin-top:135px; border:1px solid #ffffff26; border-radius:30px; padding:25px 20px; background:linear-gradient(150deg,#476a9b9c,#1c2a43d9); box-shadow:0 20px 30px #0005; backdrop-filter:blur(15px); }
.date { display:block; font-family:'Playfair Display',serif; font-size:23px; color:#fff; }.relative { font-size:13px; color:#a9c8ff; }.divider { height:1px; background:#ffffff26; margin:21px 0; }.event-card h2 { font-size:25px; }.event-card p { color:#c3d3eb; margin:12px 0 20px; font-size:13px; }.reminder { color:#b7d2ff; font-size:11px; border:1px solid #b7d2ff33; padding:7px 9px; border-radius:9px; }
.dots { position:absolute; right:13px; top:50%; display:flex; flex-direction:column; gap:7px; }.dots i { width:5px; height:5px; border-radius:50%; background:#9aaac1; opacity:.5; }.dots .active { height:16px; border-radius:10px; background:#c4dcff; opacity:1; }.add { position:absolute; bottom:22px; left:calc(50% - 27px); width:54px; height:54px; border:none; border-radius:50%; background:#b8d7ff; color:#14233d; font-size:31px; box-shadow:0 9px 24px #0008; }
.intro { padding:150px clamp(24px,13vw,190px); background:#0c1222; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }.intro h2,.family h2 { font-size:clamp(40px,5vw,73px); line-height:.98; }.intro > p:last-child,.family > p { color:var(--muted); max-width:390px; font-size:17px; line-height:1.75; margin:0; }
.features { padding:25px clamp(24px,7vw,112px) 130px; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:16px; background:#0c1222; }.feature { min-height:300px; border:1px solid var(--line); border-radius:25px; padding:28px; background:linear-gradient(145deg,#17233c,#101827); }.feature-wide { background:linear-gradient(145deg,#203a66,#14213a); }.feature-number { color:#91bbff; font-size:12px; font-weight:800; }.feature h3 { font-size:24px; letter-spacing:-.045em; margin:70px 0 12px; }.feature p { color:var(--muted); font-size:14px; line-height:1.65; margin:0; }.calendar-visual { margin-top:32px; padding:13px 15px; border-radius:14px; background:#ffffff12; display:grid; grid-template-columns:1fr auto; gap:3px; font-size:12px; }.calendar-visual span { color:#a8c7ff; }.calendar-visual b { grid-row:span 2; align-self:center; }.calendar-visual small { color:#c8d8ee; }
.family { padding:120px clamp(24px,13vw,190px); display:flex; justify-content:space-between; gap:50px; background:radial-gradient(circle at 10% 40%,#294c8652,transparent 28%),#080d1b; }.family .eyebrow { margin-bottom:20px; }
footer { padding:32px clamp(24px,7vw,112px); border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; }.developer { display:flex; gap:16px; }.developer a { color:#c5dcff; text-decoration:none; }.copyright { white-space:nowrap; }
.policy-page { min-height:100vh; overflow:visible; }.policy { max-width:820px; margin:0 auto; padding:100px 24px 72px; }.policy h1 { font-size:clamp(46px,7vw,76px); margin-bottom:28px; }.policy h2 { font-size:27px; letter-spacing:-.04em; margin:42px 0 14px; }.policy p,.policy li { color:var(--muted); line-height:1.75; font-size:16px; }.policy ul { padding-left:22px; }.policy a { color:#c5dcff; }.policy .updated { color:var(--blue); font-size:13px; font-weight:800; }
@media(max-width:800px){ .hero{min-height:830px;padding-top:22px}.hero-copy{margin-top:85px}.phone-wrap{position:relative;right:auto;bottom:auto;margin:55px auto -130px;width:316px;height:650px}.intro{grid-template-columns:1fr;padding-top:115px;gap:28px}.features{grid-template-columns:1fr}.feature h3{margin-top:55px}.family{display:block;padding-top:90px;padding-bottom:90px}.family>p{margin-top:30px}.developer{flex-wrap:wrap;justify-content:center}footer{flex-direction:column;text-align:center}.copyright{order:3} }
