@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--dark:#161c18;--dark2:#222d25;--cream:#f3f0e7;--cream2:#e5e4d9;--accent:#c8b28c;--sage:#879b80}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}h1,h2,h3,p{margin-top:0}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--cream);position:relative;z-index:10}.brand{font-family:'Playfair Display',serif;font-size:30px;letter-spacing:.14em}.brand span{font-family:'DM Sans',sans-serif;display:block;font-size:8px;letter-spacing:.22em;margin-top:4px;font-weight:700}.nav nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.navcta{padding:14px 19px;border:1px solid var(--dark)}.hero{height:min(780px,calc(100svh - 92px));min-height:550px;position:relative;overflow:hidden;color:white;background:radial-gradient(ellipse at 72% 50%,#7f8c65 0%,transparent 23%),radial-gradient(ellipse at 80% 20%,#45533d 0%,transparent 44%),linear-gradient(125deg,#17221b,#303f30 55%,#18231b)}.orb{position:absolute;width:46vw;max-width:680px;aspect-ratio:1;border-radius:50%;border:1px solid #cbd3af4c;right:7%;top:13%;box-shadow:0 0 0 42px #bccb9a0c,0 0 0 95px #bccb9a0b,inset 0 0 160px #b3ad7152;background:radial-gradient(circle at 36% 31%,#dad1a872,#ffffff05 38%,#111c19b0 70%)}.hero-content{position:absolute;left:9%;top:22%;max-width:700px;z-index:1}.eyebrow{font-size:11px;letter-spacing:.28em;font-weight:700;color:#c7c9b9;margin-bottom:25px}.eyebrow.dark{color:#81876e}h1,h2{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.04em}h1{font-size:clamp(56px,7vw,112px);line-height:1.05}h2{font-size:clamp(43px,5.1vw,77px);line-height:1.11}h1 em,h2 em{font-weight:400;color:var(--accent)}.hero-content>p:not(.eyebrow){max-width:450px;line-height:1.9;color:#e2e6d9;font-size:15px}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{display:inline-block;padding:16px 25px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.12em;border:0;cursor:pointer}.btn.light{background:var(--cream);color:var(--dark)}.btn.outline{border:1px solid #f3f0e7a9;color:#fff}.btn.outline-dark{background:transparent;border:1px solid #6b7369;color:var(--dark)}.hero-foot{position:absolute;bottom:35px;left:9%;right:9%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em}.section{padding:115px 9%}.sect-head{display:flex;justify-content:space-between;align-items:end;gap:45px}.sect-head>p{max-width:360px;line-height:1.9;color:#667065}.suite-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:50px}.suite-card{min-height:420px;padding:35px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;position:relative;overflow:hidden;background-color:#526452}.suite-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141c18d9,transparent 75%)}.suite-card.pool{background:radial-gradient(ellipse at 80% 20%,#b2b9a3,#607a70 43%,#293d38)}.suite-card.vine{background:radial-gradient(ellipse at 80% 20%,#adb17b,#7b7b4e 40%,#33452f)}.suite-card>*{position:relative;z-index:1}.suite-card span{font-size:10px;letter-spacing:.18em}.suite-card h3{font-family:'Playfair Display',serif;font-size:44px;font-weight:400;margin:12px 0}.suite-card p{font-size:13px}.name-strip{border-top:1px solid #cdd0c1;border-bottom:1px solid #cdd0c1;margin-top:40px;padding:20px 0;font-size:12px;letter-spacing:.11em;line-height:2}.name-strip i{margin:0 10px;color:#a8b29a}.notice{font-size:12px;line-height:1.7;opacity:.73;margin-top:21px}.dark-section{background:#1c2921;color:#f1f1e8}.dark-section h2{margin-bottom:60px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.features>div{padding:30px 0;border-top:1px solid #607665}.features span,.ecosystem span{color:var(--accent);font-size:12px}.features h3,.ecosystem h3{font-family:'Playfair Display',serif;font-weight:400;font-size:29px;margin-top:24px}.features p{font-size:14px;line-height:1.7;color:#c5d0c6}.ecosystem{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 30px;margin-top:50px}.ecosystem article{border-top:1px solid #c8c9be;padding-top:20px}.ecosystem p{font-size:13px;color:#737c73;line-height:1.7}.closing{background:radial-gradient(circle at 82% 50%,#4a5d43,#16251e 60%);color:#fff;padding:130px 9%}.closing h2{margin-bottom:40px}footer{padding:30px 6%;display:flex;justify-content:space-between;gap:20px;background:#121a15;color:#aeb9ad;font-size:10px;letter-spacing:.08em}.guest-body{background:#e9eae1}.guest-shell{max-width:1150px;padding:60px 25px 100px;margin:auto}.guest-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px}.guest-top h1{font-size:clamp(53px,5.4vw,80px)}.guest-top p:not(.eyebrow){max-width:620px;line-height:1.7;color:#58655a}.status{padding:13px 18px;border:1px solid #b4bfb1;white-space:nowrap;font-size:10px;letter-spacing:.1em}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#829a6b;margin-right:8px}.guest-panel{background:#f8f8f2;padding:34px;margin:18px 0;border:1px solid #dbe1d3}.control-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.control-heading span{font-size:11px;color:#788879}.guest-panel h2{font-size:31px;margin-bottom:24px}.guest-panel label{display:block;font-size:13px;font-weight:600;margin:17px 0 12px}.guest-panel select{width:100%;padding:14px;background:#fff;border:1px solid #aebcae;max-width:430px}.mini{font-size:11px;color:#788179;line-height:1.7}.modes{display:flex;gap:10px;flex-wrap:wrap}.modes button{padding:13px 19px;background:#f0f1e9;border:1px solid #ccd4c8;cursor:pointer}.modes button.active{background:#283e30;color:#fff}.mode-display{padding:20px 0;color:#57665a;font-size:14px}.guest-panel input[type=range]{width:100%;accent-color:#506d58}.guest-panel output{float:right}.mocklight{height:80px;border-radius:5px;background:#edca84;opacity:.5;margin-top:16px;transition:background .25s,opacity .25s}.checklist label{font-weight:400;padding:13px 0;border-bottom:1px solid #e2e5dd;margin:0}.checklist input{margin-right:12px;accent-color:#516d55}.future-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.future-grid div{padding:21px;background:#eeefe8}.future-grid strong,.future-grid small{display:block}.future-grid small{margin-top:9px;color:#758077}.guest-bottom{display:flex;align-items:center;gap:30px;margin-top:30px;font-size:12px}@media(max-width:760px){.nav{height:74px;padding:0 5%}.brand{font-size:22px}.brand span{font-size:6px}.nav nav a:not(.navcta){display:none}.nav nav{gap:0}.navcta{padding:10px;font-size:10px}.hero{height:740px;min-height:650px}.hero-content{left:7%;right:6%;top:24%}.hero-content h1{font-size:58px}.orb{width:92vw;right:-30%;top:5%}.hero-foot{left:7%;right:7%}.section{padding:75px 7%}.sect-head{display:block}.suite-grid,.features,.ecosystem{grid-template-columns:1fr}.suite-card{min-height:300px}.closing{padding:90px 7%}.guest-top{display:block}.status{display:inline-block;white-space:normal}.guest-shell{padding:40px 15px 70px}.guest-panel{padding:23px}.future-grid{grid-template-columns:1fr}footer{flex-direction:column}}

/* T3 stay planner */
.stay-form{display:grid;gap:20px}.stay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stay-form label{display:grid;gap:8px;font-weight:600}.stay-form input,.stay-form select{width:100%;padding:14px;border:1px solid #bfc5bc;border-radius:6px;background:#fff;color:#18201b;font:inherit}.dark-btn{background:#1d2c22;color:white;border:0;cursor:pointer;width:max-content}.stay-output{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;padding:20px;border-radius:8px;background:#eff2ed;color:#243026;font-family:inherit}#stayError{color:#942c2c}@media(max-width:620px){.stay-grid{grid-template-columns:1fr}.dark-btn{width:100%}}

/* T4 suite inventory: public read-only catalog */
.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inventory-grid .guest-panel{margin:0;min-height:230px}.inventory-top{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.inventory-tag{border:1px solid #9a9c8d;color:#606d60;padding:7px 9px;font-size:9px;letter-spacing:.07em;white-space:nowrap}.inventory-card h2{font-size:30px;margin:14px 0}.inventory-card p{line-height:1.6}@media(max-width:700px){.inventory-grid{grid-template-columns:1fr}.inventory-top{flex-wrap:wrap}}
