*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#05070f;color:#e7ecf7;line-height:1.6}
a{color:#7fe3ff}img,svg{max-width:100%}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:10;background:rgba(5,7,15,.88);backdrop-filter:blur(8px);border-bottom:1px solid #141a2e}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;max-width:1100px;margin:0 auto;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:#fff;letter-spacing:.5px}.logo span{background:linear-gradient(90deg,#ff4fd8,#ffb84f,#4fe3ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
nav a{color:#cdd6ea;text-decoration:none;margin-left:14px;font-size:.95rem}nav a:hover{color:#fff}
.btn{display:inline-block;padding:13px 22px;border-radius:999px;font-weight:700;text-decoration:none;background:linear-gradient(90deg,#ff4fd8,#7b5cff,#4fe3ff);color:#fff;border:0;cursor:pointer;font-size:1rem;box-shadow:0 0 24px rgba(123,92,255,.5)}
.btn.ghost{background:transparent;border:1px solid #3a4470;box-shadow:none}
.hero{position:relative;overflow:hidden;padding:60px 0 30px;background:radial-gradient(ellipse at 50% 120%,#1b1550 0,#070a1c 55%,#03040a 100%)}
.hero h1{text-wrap:balance;max-width:820px;font-size:clamp(2rem,5.5vw,3.2rem);line-height:1.1;margin:.2em 0;color:#fff}.hero p.lead{text-wrap:pretty;font-size:1.15rem;color:#b9c3dc;max-width:640px}
.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:.8rem;color:#ffb84f;font-weight:700}
.hero.photo{min-height:min(88vh,760px);display:flex;align-items:center;padding:90px 0 60px;background:linear-gradient(180deg,rgba(5,7,15,.75),rgba(5,7,15,.35) 50%,#05070f),var(--bg) center/cover no-repeat}
.hero.photo .lead{color:#dfe6f5}.hero.photo h1,.hero.photo .lead{text-shadow:0 2px 16px rgba(0,0,0,.6)}
.sr-img{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff8,transparent),radial-gradient(1px 1px at 70% 15%,#fff6,transparent),radial-gradient(1px 1px at 85% 40%,#fff5,transparent),radial-gradient(1px 1px at 40% 10%,#fff7,transparent);pointer-events:none}
.house{display:block;margin:8px auto 0;width:100%;max-width:760px}
.dot{animation:glow 3s ease-in-out infinite}@keyframes glow{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes hue{to{filter:hue-rotate(360deg)}}.rainbow{animation:hue 8s linear infinite}
section{padding:56px 0}h2{font-size:clamp(1.6rem,4vw,2.3rem);color:#fff;margin:0 0 .4em}
.grid.occ{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.grid.occ{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid.occ{grid-template-columns:1fr}}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:linear-gradient(180deg,#0d1226,#090c1a);border:1px solid #1a2140;border-radius:16px;padding:20px}
.card h3{margin:.2em 0;color:#fff}.ico{font-size:1.8rem}
.alt{background:#080b18}.areas{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.areas li{border:1px solid #2a3360;border-radius:999px;padding:6px 14px;font-size:.9rem}
details{border-bottom:1px solid #1a2140;padding:14px 0}summary{cursor:pointer;font-weight:700;color:#fff}
form{display:grid;gap:12px;max-width:640px}label{font-size:.9rem;color:#b9c3dc}input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #2a3360;background:#0b1022;color:#fff;font-size:1rem}
.hidden{display:none}footer{border-top:1px solid #141a2e;padding:30px 0;color:#8b95b0;font-size:.9rem}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
@media(max-width:640px){nav a{margin:0 12px 0 0}}
body:has(.hero.over) header{position:absolute;left:0;right:0;background:linear-gradient(180deg,rgba(3,4,10,.6),rgba(3,4,10,.25) 65%,transparent);backdrop-filter:none;border-bottom:0}
body:has(.hero.over) nav a{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.hero.over{min-height:min(92vh,820px);align-items:flex-start;padding:150px 0 60px;background:linear-gradient(90deg,rgba(3,4,10,.38),rgba(3,4,10,0) 55%),linear-gradient(180deg,rgba(3,4,10,.5),rgba(3,4,10,0) 40%,rgba(3,4,10,0) 85%,rgba(3,4,10,.25)),var(--bg) center/cover no-repeat}
.hero.show{min-height:min(85vh,760px);display:flex;align-items:flex-end;padding:60px 0;background:linear-gradient(180deg,rgba(3,4,10,.15),rgba(3,4,10,0) 25%,rgba(3,4,10,.05) 50%,rgba(3,4,10,.65)),var(--bg) center/cover no-repeat}
nav{display:flex;flex-wrap:wrap;row-gap:4px}nav a{white-space:nowrap}@media(max-width:640px){nav a{font-size:.85rem;margin:0 10px 0 0}.hero.over{padding-top:170px;min-height:auto;background-position:center,center,62% center}.hero.show{min-height:70vh}}
body{background:#fffaf1;color:#2b2420}a{color:#c2410c}h2{color:#1f1a17}
header{background:rgba(255,250,241,.94);border-bottom:1px solid #f0e2c8}nav a{color:#3b302a}nav a:hover{color:#c2410c}.logo{color:#1f1a17}
body:has(.hero.over) .logo{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.btn{background:linear-gradient(90deg,#ffb020,#ff7a1a);color:#1f1a17;box-shadow:0 6px 24px rgba(255,140,30,.45)}
.btn.ghost{background:rgba(255,255,255,.12);border:2px solid #ffc14d;color:#fff;box-shadow:none}
section:not(.hero) .btn.ghost{color:#c2410c;border-color:#ff9a2e;background:#fff}
.eyebrow{color:#ffc14d}section:not(.hero) .eyebrow{color:#d9480f}
.alt{background:#fff1dc}.card{background:#fff;border:1px solid #f3dfbf;box-shadow:0 4px 18px rgba(180,120,40,.1)}.card h3{color:#1f1a17}
.areas li{border-color:#f0c98a;background:#fff}details{border-bottom-color:#f0dcbc}summary{color:#1f1a17}
label{color:#5a4a3f}input,select,textarea{background:#fff;border:1px solid #e9cfa5;color:#1f1a17}
footer{background:#fff1dc;border-top-color:#f0dcbc;color:#6b5a4c}
.hero:not(.photo){background:linear-gradient(180deg,#fff1dc,#fffaf1)}.hero:not(.photo) h1{color:#1f1a17}.hero:not(.photo) p.lead{color:#5a4a3f}
.hero.photo h1,.hero.photo h2{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.7)}.hero.photo .lead{text-shadow:0 1px 10px rgba(0,0,0,.8)}
