@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--forest:#06140f;--gold:#d8ad60;--gold-light:#f0d095;--ivory:#f5efe3;--muted:#d6c9b2;--line:rgba(221,181,104,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--forest);color:var(--ivory);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.hero{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;background:#06120e}.image-layer{position:absolute;inset:0;z-index:-3;background-image:linear-gradient(90deg,rgba(2,14,10,.97) 0%,rgba(3,17,12,.88) 25%,rgba(4,16,12,.52) 43%,rgba(4,15,11,.12) 75%),linear-gradient(0deg,rgba(2,12,9,.95) 0%,rgba(3,13,10,.62) 16%,transparent 42%),linear-gradient(180deg,rgba(1,10,7,.24),transparent 30%),url('assets/villa-day.jpg');background-size:cover;background-position:center 46%;transform:scale(1.025);animation:sceneReveal 1.6s ease-out both}.grain{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}.site-header{width:min(100% - 9vw,1640px);margin:0 auto;min-height:112px;display:flex;align-items:center;gap:40px;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-mark{width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;overflow:hidden;background:rgba(3,15,10,.68);box-shadow:0 0 24px rgba(219,170,83,.12)}.brand-mark img{width:100%;height:100%;object-fit:cover;mix-blend-mode:screen}.brand-copy{display:flex;flex-direction:column;gap:5px}.brand-name{font-family:'Playfair Display',serif;letter-spacing:.12em;font-size:18px;color:var(--gold-light)}.brand-tagline{font-size:8px;letter-spacing:.18em;color:#e0d4bd;white-space:nowrap}.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(24px,4vw,68px);margin:0 auto}.main-nav a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#f2eadc;position:relative;padding:12px 0;transition:color .25s}.main-nav a:after{content:'';position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:width .3s}.main-nav a:hover,.main-nav a.active{color:var(--gold-light)}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.social-pill{display:flex;align-items:center;gap:11px;border:1px solid rgba(219,177,99,.7);border-radius:999px;padding:11px 16px;background:rgba(5,17,12,.43);font-family:'Playfair Display',serif;font-size:14px;white-space:nowrap;transition:background .3s,box-shadow .3s}.social-pill:hover{background:rgba(207,159,73,.15);box-shadow:0 0 25px rgba(217,169,85,.16)}.social-pill svg{width:19px;stroke:var(--gold-light);fill:none;stroke-width:1.8}.social-pill .dot{fill:var(--gold-light);stroke:none}.arrow{color:var(--gold);font-size:18px}.menu-toggle{display:none}.hero-content{width:min(100% - 11vw,1510px);margin:26px auto 0;flex:1;position:relative;z-index:1;padding-bottom:44px;animation:contentReveal 1s .12s both}.eyebrow{display:flex;align-items:center;gap:17px;color:var(--gold-light);font-size:10px;letter-spacing:.27em;font-weight:600;margin:4px 0 22px}.eyebrow span{display:block;width:42px;height:1px;background:var(--gold)}h1{font-family:'Playfair Display',serif;font-size:clamp(64px,6.3vw,104px);font-weight:400;line-height:.99;letter-spacing:-.045em;margin:0 0 18px;max-width:680px;text-shadow:0 3px 35px rgba(0,0,0,.12)}h1 em{font-weight:400;color:#e4b566}.signature{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(19px,1.65vw,28px);letter-spacing:.025em;margin:0 0 22px;color:#f5ecdf}.intro{font-size:14px;line-height:1.8;color:#e2d9c9;margin:0 0 29px;max-width:490px}.countdown-card{width:min(100%,545px);padding:20px 28px 18px;border:1px solid rgba(221,177,96,.73);border-radius:15px;background:linear-gradient(130deg,rgba(3,19,13,.84),rgba(4,21,15,.58));box-shadow:0 18px 60px rgba(0,0,0,.22),inset 0 0 35px rgba(219,171,88,.025);backdrop-filter:blur(7px);position:relative;overflow:hidden}.countdown-label{display:flex;justify-content:center;align-items:center;gap:12px;color:var(--gold-light);font-size:9px;letter-spacing:.27em;font-weight:600}.countdown-label span{height:1px;width:21px;background:var(--gold)}.launch-date{text-align:center;font-family:'Playfair Display',serif;font-size:clamp(18px,1.7vw,25px);letter-spacing:.16em;color:#e7bd77;margin:18px 0 18px;font-weight:500}.launch-date strong{font-weight:500;color:#f4ead8}.countdown{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr;align-items:center}.countdown>div{display:flex;flex-direction:column;align-items:center;gap:6px}.countdown>div span{font-family:'Playfair Display',serif;font-size:clamp(29px,2.3vw,38px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.05em}.countdown small{font-size:9px;letter-spacing:.16em;color:#cfc3ad}.countdown>i{height:44px;background:rgba(221,177,96,.48);width:1px}.launched-message{text-align:center;color:var(--gold-light);font-family:'Playfair Display',serif;font-size:18px}.location-note{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#d8c7a7;margin:22px 0 0}.location-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(216,173,96,.12)}.contact-dock{width:min(100% - 8vw,1640px);margin:0 auto 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;z-index:3;border-top:1px solid rgba(223,181,102,.2);border-bottom:1px solid rgba(223,181,102,.16);background:linear-gradient(90deg,rgba(3,14,10,.2),rgba(3,14,10,.58),rgba(3,14,10,.2));backdrop-filter:blur(9px)}.contact-item{min-width:0;display:flex;align-items:center;gap:15px;padding:15px 20px 15px 0;position:relative;transition:background .3s}.contact-item:not(:first-child){padding-left:22px;border-left:1px solid rgba(221,177,96,.22)}.contact-item:hover{background:rgba(218,171,87,.055)}.icon-orbit{width:78px;height:78px;flex:0 0 78px;border:1px solid rgba(215,171,95,.22);border-radius:50%;display:grid;place-items:center;position:relative;transition:transform .45s,border-color .4s;animation:orbitGlow 4s ease-in-out infinite}.contact-item:nth-child(2) .icon-orbit{animation-delay:.6s}.contact-item:nth-child(3) .icon-orbit{animation-delay:1.2s}.contact-item:nth-child(4) .icon-orbit{animation-delay:1.8s}.icon-orbit:before,.icon-orbit:after{content:'';position:absolute;inset:6px;border:1px solid rgba(223,181,102,.42);border-radius:50%;transition:inset .35s,opacity .35s}.icon-orbit:after{inset:-5px;border-color:rgba(223,181,102,.13);opacity:.7}.icon-core{width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:rgba(4,17,12,.78);box-shadow:0 0 20px rgba(218,171,87,.1);transition:box-shadow .35s,background .35s}.icon-core svg{width:26px;height:26px;stroke:var(--gold-light);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s}.icon-core svg .dot{fill:var(--gold-light);stroke:none}.contact-item:hover .icon-orbit{transform:scale(1.05);border-color:rgba(240,208,149,.7)}.contact-item:hover .icon-orbit:before{inset:2px}.contact-item:hover .icon-core{box-shadow:0 0 29px rgba(218,171,87,.32);background:rgba(25,32,20,.9)}.contact-item:hover .icon-core svg{transform:scale(1.12) rotate(-4deg)}.contact-copy{display:flex;flex-direction:column;gap:9px;min-width:0}.contact-copy small{font-size:9px;letter-spacing:.19em;color:#d8b875;white-space:nowrap}.contact-copy strong{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(13px,1.15vw,17px);color:#f5ecdf;overflow-wrap:anywhere}.contact-arrow{font-size:19px;color:var(--gold);margin-left:auto;padding-left:4px;transition:transform .3s}.contact-item:hover .contact-arrow{transform:translate(3px,-3px)}.bottom-rule{height:1px;background:linear-gradient(90deg,transparent,rgba(220,178,100,.45),transparent);position:absolute;bottom:0;left:0;right:0}.menu-toggle{border:0;background:none;color:var(--gold);cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:var(--gold);margin:6px}
@keyframes orbitGlow{0%,100%{box-shadow:0 0 0 rgba(220,177,97,0)}50%{box-shadow:0 0 24px rgba(220,177,97,.07)}}@keyframes sceneReveal{from{opacity:.5;transform:scale(1.07)}to{opacity:1;transform:scale(1.025)}}@keyframes contentReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero-content{margin-top:45px}.contact-dock{margin-bottom:32px}.contact-item{padding-top:12px;padding-bottom:12px}}
@media(max-width:1100px){.site-header{width:calc(100% - 7vw);gap:22px}.main-nav{gap:22px}.main-nav a{font-size:10px}.social-pill{padding:10px 12px}.hero-content{width:calc(100% - 9vw);margin-top:20px}.contact-dock{width:calc(100% - 5vw)}.contact-item{gap:10px;padding-right:10px}.contact-item:not(:first-child){padding-left:12px}.icon-orbit{width:62px;height:62px;flex-basis:62px}.icon-core{width:46px;height:46px}.icon-core svg{width:22px;height:22px}.contact-copy small{font-size:8px;letter-spacing:.12em}.contact-copy strong{font-size:13px}}
@media(max-width:760px){.hero{min-height:100svh}.image-layer{background-position:62% center;background-image:linear-gradient(90deg,rgba(2,13,9,.91),rgba(3,15,11,.57) 65%,rgba(3,15,11,.25)),linear-gradient(0deg,rgba(2,12,9,.97),rgba(2,12,9,.65) 22%,transparent 65%),url('assets/villa-day.jpg')}.site-header{min-height:86px;width:calc(100% - 36px);gap:12px}.brand{gap:9px}.brand-mark{width:45px;height:45px}.brand-name{font-size:14px;letter-spacing:.09em}.brand-tagline{font-size:6.5px;letter-spacing:.11em}.social-pill{margin-left:auto;padding:9px 10px;gap:7px;font-size:12px}.social-pill svg{width:16px}.main-nav{display:none;position:absolute;top:75px;right:0;left:0;padding:16px 20px;background:rgba(3,15,10,.97);border:1px solid var(--line);border-radius:12px;align-items:flex-start;flex-direction:column;gap:5px}.main-nav.open{display:flex}.main-nav a{width:100%;padding:12px 0}.menu-toggle{display:block;padding:6px 0 6px 6px}.hero-content{width:calc(100% - 40px);margin:27px auto 0;padding-bottom:26px}.eyebrow{font-size:8px;letter-spacing:.2em;gap:9px;margin-bottom:18px}.eyebrow span{width:23px}h1{font-size:clamp(53px,12vw,78px);margin-bottom:14px}.signature{font-size:20px;margin-bottom:18px}.intro{font-size:12px;line-height:1.8;margin-bottom:22px}.desktop-break{display:none}.countdown-card{padding:17px 13px 16px;border-radius:12px}.countdown-label{font-size:8px;letter-spacing:.16em;gap:8px}.countdown-label span{width:13px}.launch-date{font-size:17px;letter-spacing:.1em;margin:17px 0}.countdown>div span{font-size:29px}.countdown small{font-size:7px;letter-spacing:.1em}.countdown>i{height:37px}.location-note{font-size:8px;letter-spacing:.1em;margin-top:17px}.contact-dock{width:100%;margin:0;padding:9px 20px 13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:rgba(2,13,9,.74);border-top:1px solid rgba(223,181,102,.22);border-bottom:0}.contact-item{padding:11px 8px 11px 0;gap:10px}.contact-item:not(:first-child){padding-left:10px}.contact-item:nth-child(3){border-left:0;padding-left:0}.contact-item:nth-child(n+3){border-top:1px solid rgba(221,177,96,.16)}.icon-orbit{width:48px;height:48px;flex-basis:48px}.icon-orbit:before{inset:4px}.icon-orbit:after{inset:-3px}.icon-core{width:36px;height:36px}.icon-core svg{width:18px;height:18px}.contact-copy{gap:5px}.contact-copy small{font-size:6.5px;letter-spacing:.09em;white-space:normal}.contact-copy strong{font-size:11px;line-height:1.25}.contact-arrow{font-size:15px}.bottom-rule{display:none}}
@media(max-width:390px){.brand-tagline{display:none}.social-pill span:not(.arrow){font-size:11px}.social-pill{padding:8px}.hero-content{margin-top:18px}.eyebrow{font-size:7px}h1{font-size:51px}.countdown-card{padding-inline:9px}.contact-dock{padding-inline:12px}.contact-item{gap:7px}.contact-item:not(:first-child){padding-left:7px}.icon-orbit{width:42px;height:42px;flex-basis:42px}.icon-core{width:31px;height:31px}.contact-copy strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
