:root{--paper:#eff1ee;--ink:#16262a;--muted:#5b7076;--accent:#1f5e63;--deep:#162f32;--line:#c6d1ce;--sand:#f1e8dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Golos Text,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{object-fit:cover;width:100%;display:block}h1,h2,h3,.logo{letter-spacing:-.03em;font-family:Playfair Display,serif;font-weight:400}h1{margin:0 0 28px;font-size:clamp(46px,8vw,112px);line-height:.98}h2{margin:0 0 28px;font-size:clamp(38px,5.5vw,72px);line-height:1.02}h3{margin:.3em 0;font-size:30px;line-height:1.05}.topbar{justify-content:space-between;align-items:center;gap:25px;padding:21px 4vw;display:flex}.logo{white-space:nowrap;font-size:25px}.logo i{color:var(--accent);font-style:italic}.topbar nav{letter-spacing:.08em;text-transform:uppercase;gap:22px;font:12px Oswald,sans-serif;display:flex}.topbar nav a:hover,.top-actions a:hover,.arrow-link:hover,.text-link:hover{color:var(--accent)}.top-actions{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:9px;font:12px Oswald,sans-serif;display:flex}.top-actions>a:first-child{margin-right:15px}.top-actions .active{color:var(--accent);font-weight:600}.mobile-nav{display:none}.hero{background:linear-gradient(145deg,#eff1ee 15%,#d6e3e0 52%,#89b0ad 100%);grid-template-columns:1.12fr .88fr;align-items:center;gap:7vw;min-height:78vh;padding:8vh 8vw 11vh;display:grid}.hero-copy{max-width:720px}.eyebrow,.section-kicker,.event-meta{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:23px;font:12px Oswald,sans-serif}.hero h1{font-size:clamp(52px,8.7vw,125px)}em{color:var(--accent);font-style:italic}.hero p{max-width:500px;font-size:clamp(18px,2vw,24px);line-height:1.4}.hero-actions{align-items:center;gap:26px;margin-top:36px;display:flex}.button{background:var(--accent);color:#f7f4ed;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;border:0;padding:15px 24px;font:13px Oswald,sans-serif;display:inline-block}.button:hover{background:#17474b}.button.light{color:var(--deep);background:#e4eeee}.text-link,.arrow-link{letter-spacing:.1em;text-transform:uppercase;font:13px Oswald,sans-serif}.hero-visual{position:relative}.hero-visual img{aspect-ratio:4/5}.hero-visual span{color:#fff;text-transform:uppercase;letter-spacing:.16em;font:11px Oswald,sans-serif;position:absolute;bottom:12px;left:14px}.section{padding:10vw 8vw}.intro{background:#fafbf7}.intro-grid,.coliving-grid,.people-grid{grid-template-columns:1fr 1fr;gap:9vw;display:grid}.intro h2{font-size:clamp(44px,6.5vw,88px)}.intro p{max-width:490px}.lead{font-size:clamp(20px,2.2vw,30px);line-height:1.3}.intro .arrow-link{margin-top:24px;display:inline-block}.dark{background:var(--deep);color:#eef4ef}.dark .section-kicker,.dark .event-meta,.dark .note{color:#a6c5c2}.dark em{color:#b4d6cf}.format-grid{grid-template-columns:repeat(3,1fr);gap:23px;margin-top:55px;display:grid}.format-grid article{border-top:1px solid #486b6e;padding-top:17px}.format-grid img{aspect-ratio:1.35;margin-bottom:20px}.format-grid p{color:#bed1ce}.section-head{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0}.empty>span{color:var(--accent);font:50px Georgia}.event-list article{border-top:1px solid var(--line);grid-template-columns:280px 1fr;gap:30px;padding:25px 0;display:grid}.event-list img{aspect-ratio:1.4}.pale{background:var(--sand)}.camp-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.camp-card{background:#fafbf7}.camp-card img{aspect-ratio:1.14}.card-copy{padding:22px}.card-copy p{color:var(--muted)}.card-copy span,.villa-card span{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:15px;font:12px Oswald,sans-serif;display:inline-block}.coliving{background:#e2ece9}.villa-mosaic{grid-template-rows:1fr 1fr;grid-template-columns:1.25fr .75fr;gap:14px;display:grid;position:relative}.villa-mosaic img:first-child{grid-row:1/3;height:100%}.villa-mosaic img{height:100%}.villa-mosaic span{color:#fff;text-transform:uppercase;letter-spacing:.16em;font:12px Oswald,sans-serif;position:absolute;bottom:15px;left:15px}.people-grid{align-items:center}.people .note{margin-top:23px;font-size:13px}.communities{background:linear-gradient(140deg,#e8ddd1,#ebcfb6)}.community-end{justify-content:space-between;align-items:end;gap:40px;display:flex}.community-end p{max-width:500px;font-size:24px;line-height:1.3}footer{color:#dce7e4;background:#122a2d;padding:44px 8vw 25px}.footer-top{border-bottom:1px solid #38595b;justify-content:space-between;align-items:center;padding-bottom:48px;display:flex}.footer-top p{color:#a9c1be}.footer-top a{text-transform:uppercase;letter-spacing:.12em;font:12px Oswald,sans-serif}.footer-bottom{color:#8fa9a6;letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;padding-top:20px;font:12px Oswald,sans-serif;display:flex}.inner-page{width:100%;padding:7vw 8vw 11vw}.page-lead{max-width:720px;margin-bottom:60px;font-size:clamp(21px,2.4vw,34px);line-height:1.25}.inner-page .section{padding:70px 0 0}.detail-page{width:100%;padding-bottom:10vw}.detail-hero-image{height:min(70vh,750px)}.detail-copy{max-width:1250px;padding:7vw 16vw 0}.detail-cols{grid-template-columns:1fr 1fr;gap:10vw;margin:55px 0;display:grid}.detail-cols h2{font-size:38px}.line{border-bottom:1px solid var(--line);padding:13px 0}.gallery{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.gallery img{aspect-ratio:1.2}.gallery img.wide{aspect-ratio:1.8;grid-column:span 2}.villa-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.villa-card{background:#fafbf7}.villa-card img{aspect-ratio:1.2}.villa-card>div{padding:22px}.villa-card h2{margin:9px 0;font-size:37px}.feature-list{flex-wrap:wrap;gap:12px;margin:35px 0;display:flex}.feature-list span{border:1px solid var(--line);padding:10px 14px;font-size:14px}.notice{background:#f4ece0;max-width:700px;margin-bottom:30px;padding:20px}.form-page{max-width:1000px}.form{gap:24px;max-width:700px;display:grid}.form label{gap:8px;font-size:14px;display:grid}.form input,.form textarea{border:1px solid var(--line);color:var(--ink);background:#fafbf7;width:100%;padding:13px 14px;font:16px Golos Text,sans-serif}.form textarea{resize:vertical}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips label{display:inline-flex}.chips input{display:none}.chips span{border:1px solid var(--line);cursor:pointer;padding:9px 14px}.chips input:checked+span{background:var(--accent);color:#fff}.consent{align-items:start;gap:8px;display:flex!important}.consent input{width:auto}.success{background:#dcebe7;max-width:700px;padding:55px}.success span{color:var(--accent);font-size:40px}@media (max-width:850px){.topbar{padding:18px 5vw}.topbar nav,.top-actions a:first-child{display:none}.mobile-nav{background:var(--paper);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;gap:18px;padding:0 5vw 17px;font:12px Oswald,sans-serif;display:flex;overflow:auto}.hero{grid-template-columns:1fr;gap:45px;padding:9vh 7vw 12vw}.hero-visual{max-width:500px}.section{padding:17vw 7vw}.intro-grid,.coliving-grid,.people-grid,.detail-cols{grid-template-columns:1fr;gap:40px}.format-grid,.camp-grid,.villa-grid{grid-template-columns:1fr}.format-grid{gap:45px}.section-head{flex-direction:column;align-items:start;gap:20px}.community-end{display:block}.community-end .button{margin-top:15px}.footer-top,.footer-bottom{gap:18px;display:grid}.event-list article{grid-template-columns:1fr}.inner-page{padding:15vw 7vw}.detail-copy{padding:13vw 7vw 0}.detail-hero-image{height:52vh}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img.wide{grid-column:span 2}.hero h1{font-size:clamp(52px,14vw,88px)}.hero p{font-size:19px}.page-lead{margin-bottom:40px}}.topbar nav,.top-actions,.mobile-nav,.button,.arrow-link,.text-link,.event-meta,.section-kicker{font-size:14px}.request-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.copy-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px;text-decoration:underline}.request-actions textarea{width:100%}.week-controls{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-bottom:35px;padding:20px 0;font-size:20px;display:flex}.week-controls small{color:var(--muted);margin-top:5px;font-size:14px;display:block}.week-controls button,.gallery-controls>button{border:1px solid var(--line);cursor:pointer;background:0 0;flex-shrink:0;width:44px;height:44px;font-size:22px}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;display:grid}.event-card{background:#fafbf7;min-width:0}.event-card>img{aspect-ratio:4/3;object-fit:cover}.event-card-copy{padding:22px}.event-card time{color:var(--muted);font-size:14px}.event-card time strong{color:var(--accent);margin-top:7px;font-family:Playfair Display,serif;font-size:34px;display:block}.event-card h3{min-height:2.3em;margin:12px 0 24px;font-size:20px;line-height:1.15}.event-card .button{padding:12px 15px;font-size:14px}.event-card .copy-button{font-size:14px}.term-controls{border-block:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:25px;margin:40px 0;padding:20px 0;display:flex}.term-controls>div{gap:8px;display:flex}.term-controls button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:10px 16px}.term-controls button[aria-pressed=true],.booking-options button[aria-pressed=true]{background:var(--accent);color:#fff}.term-controls small{color:var(--muted);font-size:14px}.villa-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:45px;padding:45px 0 65px;display:grid}.villa-info h2{margin-bottom:20px;font-size:56px}.villa-info .feature-list{margin:20px 0}.villa-info .feature-list span{padding:6px 10px}.gallery-cover{background:var(--deep);cursor:zoom-in;border:0;width:100%;padding:0;position:relative}.gallery-cover>img{object-fit:cover;height:540px}.gallery-cover>span{color:#fff;background:#122a2dde;padding:8px 12px;font-size:14px;position:absolute;bottom:15px;left:15px}.gallery-controls{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.gallery-thumbs{gap:8px;min-width:0;display:flex;overflow:auto}.gallery-thumbs button{cursor:pointer;background:0 0;border:2px solid #0000;flex:0 0 58px;padding:0}.gallery-thumbs button[aria-pressed=true]{border-color:var(--accent)}.gallery-thumbs img{height:58px}.booking-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.booking-options button{font:inherit;text-align:left;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fafbf7;padding:16px 12px}.booking-options strong{font-size:27px;display:block}.booking-options small{font-size:14px;font-weight:400}.booking-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.booking-form label{gap:5px;min-width:0;font-size:14px;display:grid}.booking-form input{font:inherit;width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);background:#fafbf7;padding:10px}.booking-form .button{letter-spacing:.02em;align-self:end;padding:13px;font-size:14px}.booking .note{color:var(--muted);font-size:14px}.booking-request{background:#dcebe7;margin-top:15px;padding:18px}.villa-terms{padding:80px 0 50px}.terms-grid{grid-template-columns:repeat(3,1fr);gap:35px;margin:35px 0;display:grid}.terms-grid h3{font-size:28px}.terms-grid p{color:var(--muted)}.villa-page .page-lead{max-width:780px}.villa-page>h1{max-width:950px}.photo-dialog{z-index:100;color:#fff;background:#122a2d;border:0;border-radius:0;flex-direction:column;gap:10px;width:auto;padding:20px;display:flex;position:fixed;inset:4vh 4vw;max-width:none!important;transform:none!important}.photo-dialog>h2{margin:0;font:18px Golos Text,sans-serif}.photo-dialog>img{object-fit:contain;flex:1;width:100%;height:70vh;min-height:0}.photo-dialog .gallery-controls button{color:#fff}.photo-close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:35px;position:absolute;top:8px;right:16px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-slot=dialog-overlay]{z-index:90;background:#000b;position:fixed;inset:0}.form fieldset{border:0;margin:0;padding:0}.form legend{margin-bottom:10px}.form .chips input{width:18px;height:18px;margin:0;display:inline-block}.form .chips label{align-items:center}.form .chips span{border:0}.honeypot{left:-10000px;position:absolute!important}.form-error{color:#9b2424}.form .consent a{text-decoration:underline}.button:disabled{opacity:.6;cursor:wait}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible){outline-offset:4px;outline:3px solid #de963f}.hero-actions{flex-wrap:wrap}h1,h2,h3{overflow-wrap:break-word}.hero em{animation:1.2s ease-out both state-in}@keyframes state-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero em{animation:none}}@media (max-width:1100px){.topbar nav{gap:12px;font-size:12px}.villa-row{gap:25px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:850px){.villa-row{grid-template-columns:1fr}.gallery-cover>img{height:440px}.terms-grid,.event-grid{grid-template-columns:1fr}.event-card h3{min-height:0}.week-controls{font-size:16px}.villa-info h2{font-size:44px}.term-controls{gap:14px}.term-controls button{padding:10px 13px}.photo-dialog{padding:12px;inset:2vh 2vw}.photo-dialog>img{height:65vh}.mobile-nav{font-size:14px}.villa-page>h1{font-size:clamp(44px,12vw,80px)}}.villa-gallery,.villa-info,.gallery-controls,.villa-row{min-width:0}.gallery-thumbs{flex:1;width:0}.gallery-cover{max-width:100%;display:block}.calendar-title{margin-bottom:0;padding:60px 5% 0}.hero h1 em{min-height:1.2em}.booking-options button:disabled{opacity:.5;cursor:not-allowed}.booking select{width:100%;font:inherit;border:1px solid var(--line);background:#fafbf7;margin:10px 0;padding:12px}.booking-options{margin:15px 0}.booking-options .room-note{margin-top:6px;font-size:12px;display:block}.booking-error{color:#922}.booking-options button{overflow-wrap:anywhere}.weekly-time{color:var(--muted);font-size:14px}.weekly-time strong{color:var(--accent);margin-top:7px;font-family:Playfair Display,serif;font-size:30px;display:block}.hero.hero-centered{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:0}.hero-centered .hero-copy{width:100%;min-width:0;max-width:1050px}.hero-centered h1{font-size:clamp(44px,8vw,112px)}.hero-centered p{max-width:650px;margin-inline:auto}.hero-centered .hero-actions{justify-content:center}.event-card>img[src$=tennis-community\.jpg]{object-position:50% 52%}.detail-hero-image[src$=tennis-community\.jpg]{object-fit:contain;background:#d6e3e0}
