:root{--p:#8D1A8D;--pd:#641064;--ink:#171417;--cream:#faf7fa;--muted:#716b71}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}.nav{height:84px;padding:10px 5vw;display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:20;top:0;width:100%;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid #eee}.brand img{width:105px;height:64px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav-cta{background:var(--p);color:#fff;padding:13px 19px;border-radius:999px}.menu{display:none;border:0;background:none;font-size:26px}.hero{height:100vh;min-height:680px;position:relative;overflow:hidden;color:#fff}.hero video{width:100%;height:100%;object-fit:cover;animation:heroZoom 18s ease-in-out infinite alternate}.veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,8,27,.76) 0%,rgba(38,11,38,.48) 43%,rgba(0,0,0,.12) 75%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 40%)}.hero-copy{position:absolute;left:8vw;top:50%;transform:translateY(-42%);max-width:760px}.eyebrow,.kicker{font-size:12px;letter-spacing:.22em;font-weight:750;color:var(--p)}.hero .eyebrow{color:#f1c8f1}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(58px,7.6vw,112px);line-height:.9;margin:22px 0}.hero h1 em{font-weight:400;color:#f3cef3}.hero p{max-width:620px;font-size:18px;line-height:1.7;color:#f3edf3}.actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;border:0;border-radius:999px;padding:15px 23px;font-weight:700;font-size:14px;cursor:pointer}.primary{background:var(--p);color:#fff}.glass{border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);color:#fff}.scroll{position:absolute;bottom:30px;right:5vw;font-size:12px;letter-spacing:.13em}.intro{padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}.intro h2,.split h2,.location h2,.gallery h2,.referral h2,.contact h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.2vw,64px);line-height:1.08;margin:18px 0}.intro h2 span{color:var(--p)}.intro-copy p,.copy p,.section-head p,.contact p{color:var(--muted);line-height:1.8;font-size:17px}.text-link{display:inline-block;margin-top:14px;color:var(--p);font-weight:700}.features{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);padding:0 6vw}.features article{padding:58px 30px;border-right:1px solid #e8dfe8}.features article:last-child{border:0}.features b{color:var(--p);font-size:12px}.features h3{font-family:Georgia,serif;font-size:25px;margin:35px 0 10px}.features p{color:var(--muted);line-height:1.65}.split{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px}.split .photo img{width:100%;height:100%;object-fit:cover}.split .copy{padding:10vw 8vw;background:#fff;align-self:center}.mini{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;color:#514b51;font-size:14px}.mini span::first-letter{color:var(--p)}.location{display:grid;grid-template-columns:.8fr 1.2fr;background:#211621;color:#fff}.location-card{padding:100px 8vw;align-self:center}.location .kicker{color:#d88bd8}.location p{line-height:1.8;color:#d7ced7}.location address{font-style:normal;line-height:1.7;margin:28px 0}.location img{width:100%;height:100%;min-height:600px;object-fit:cover}.gallery{padding:110px 6vw}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px}.section-head p{max-width:420px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:14px}.grid img{width:100%;height:100%;object-fit:cover;border-radius:3px;transition:.35s}.grid img:hover{transform:scale(.99);filter:brightness(.9)}.grid .wide{grid-column:span 2}.referral{background:var(--p);color:#fff;padding:100px 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.referral .light{color:#efb9ef}.ref-copy p{line-height:1.8;color:#f1dff1}.contact-lines{display:flex;flex-direction:column;gap:8px;margin-top:35px;font-weight:700}.referral form{background:#fff;color:var(--ink);padding:40px;border-radius:16px;box-shadow:0 30px 80px rgba(55,0,55,.25)}label{font-size:12px;font-weight:700;display:block;margin-bottom:17px}input,textarea,select{display:block;width:100%;border:0;border-bottom:1px solid #cfc7cf;padding:11px 2px;font:inherit;background:#fff;outline:none;margin-top:5px}input:focus,textarea:focus,select:focus{border-color:var(--p)}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-btn{background:var(--ink);color:#fff;width:100%;margin-top:8px}.referral small{display:block;color:#8a838a;line-height:1.5;margin-top:12px}.contact{padding:90px 8vw;display:grid;grid-template-columns:180px 1fr 1fr;gap:6vw;align-items:center}.contact>img{width:160px}.details{display:grid;grid-template-columns:1fr 1fr;gap:30px}.details small{display:block;color:var(--p);font-weight:800;letter-spacing:.14em;margin-bottom:8px}.details p{margin:0;color:var(--ink)}footer{padding:28px 6vw;background:#171417;color:#bfb7bf;display:flex;justify-content:space-between;font-size:12px}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.035)}}@media(max-width:850px){.nav nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;padding:28px}.nav nav.open{display:flex}.menu{display:block}.hero-copy{left:6vw;right:6vw}.intro,.split,.location,.referral{grid-template-columns:1fr}.intro{gap:35px}.features{grid-template-columns:1fr 1fr}.split .photo{height:480px}.location img{min-height:400px}.grid{grid-template-columns:1fr 1fr}.grid .wide{grid-column:span 2}.contact{grid-template-columns:1fr}.contact>img{width:120px}.section-head{display:block}}@media(max-width:560px){.hero h1{font-size:55px}.hero p{font-size:16px}.actions{flex-direction:column;align-items:flex-start}.features{grid-template-columns:1fr}.features article{border-right:0;border-bottom:1px solid #e8dfe8}.grid{grid-template-columns:1fr;grid-auto-rows:300px}.grid .wide{grid-column:auto}.two,.details{grid-template-columns:1fr}.referral form{padding:25px}.contact{padding:70px 7vw}footer{gap:20px;flex-direction:column}}
