@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--ink:#092f3f;--deep:#072a38;--orange:#087f83;--paper:#f7f8f5;--muted:#536570;--line:#dbe1e1;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;max-width:100%;object-fit:cover;height:auto}p{margin:0 0 1.25rem}h1,h2,h3{font-weight:400;margin:0;line-height:1.08}h1,h2{font-family:var(--serif);letter-spacing:-.045em}h1{font-size:clamp(3.75rem,7.6vw,8rem);line-height:.98}h2{font-size:clamp(2.6rem,4vw,4.5rem)}h3{font-size:1.65rem;letter-spacing:-.04em}em{font-weight:400}::selection{background:#087f83;color:white}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:80px 90px}.eyebrow{font:600 .75rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px}.button,.book-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 24px;border:1px solid transparent;font-size:.9rem;font-weight:550;line-height:1.5;transition:background .2s,transform .2s;color:white;background:var(--ink)}.button:hover,.book-button:hover{background:#134d61;transform:translateY(-2px)}.button span{font-size:1.3rem;line-height:1}.orange{background:var(--orange);color:white}.orange:hover{background:#05646a}.light{background:white;color:var(--ink)}.light:hover{background:#e1eceb}.outline{background:none;color:var(--ink);border-color:var(--ink)}.outline:hover{background:#e5eeed}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid currentColor;padding:10px 0;font-size:.9rem;font-weight:600}.text-link:hover{color:var(--orange)}.subtle-link{display:block;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;margin-top:24px}.button-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:36px;position:relative;z-index:20}.over-hero{position:absolute;top:0;left:0;width:100%;color:white;border-bottom:1px solid #ffffff38}.solid{background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;flex-direction:column;line-height:1;white-space:nowrap}.wordmark strong{font-family:var(--sans);font-weight:650;letter-spacing:-.065em;font-size:1.8rem}.wordmark span{font-size:.75rem;letter-spacing:.235em;margin-top:11px;font-weight:600}.site-header nav{display:flex;gap:32px}.site-header nav a{font-size:.875rem;position:relative}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{content:'';position:absolute;bottom:-8px;height:1px;left:0;width:100%;background:currentColor}.book-button{background:var(--orange);font-size:.85rem;padding:13px 20px;gap:35px}.nav-actions{display:flex;gap:15px;align-items:center}.menu-button{display:none;background:none;color:inherit;border:0;padding:10px;font-size:.875rem}.menu-button span{margin-left:10px}.mobile-menu{position:absolute;z-index:25;top:90px;right:0;width:100%;background:var(--deep);color:white;padding:30px 6%}.mobile-menu a{display:block;padding:12px 0;font-size:1.2rem}.hero{height:max(750px,92svh);max-height:1050px;min-height:650px;position:relative;color:white}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-position:center 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,24,36,.50) 0%,rgba(3,24,36,.15) 25%,rgba(3,24,36,.15) 50%,rgba(3,24,36,.55) 100%),linear-gradient(90deg,rgba(2,22,32,.24),transparent)}.hero-content{position:relative;top:48%;transform:translateY(-40%)}.hero h1{max-width:1050px;text-shadow:0 2px 25px #00233022}.hero-content>p:last-child{margin-top:32px;font-size:1.08rem;max-width:540px;color:#fff;line-height:1.65}.hero-foot{position:absolute;bottom:83px;left:0;right:0;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.15em}.hero-foot span:last-child{font-size:.75rem}.subhero{height:660px;min-height:600px;max-height:none}.subhero h1{font-size:clamp(3.5rem,6.8vw,7rem)}.subhero .hero-content{top:52%}.subhero .hero-foot{bottom:35px}.booking-wrap{position:relative;z-index:4;margin-top:-42px}.bookingbar{display:grid;grid-template-columns:1fr 1fr .8fr 1fr;align-items:center;background:white;padding:14px 16px;box-shadow:0 12px 35px #0023300d;gap:0}.bookingbar label{padding:4px 25px;border-right:1px solid var(--line);color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;font-weight:600;display:flex;flex-direction:column;gap:6px}.bookingbar input,.bookingbar select{width:100%;border:0;color:var(--ink);background:white;text-transform:none;letter-spacing:0;font-size:.95rem;line-height:1.6;min-height:29px;padding:0;outline-offset:4px}.bookingbar .button{margin-left:24px;padding:21px 22px}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding-top:112px;padding-bottom:55px}.intro>div:nth-child(2){padding-top:8px;max-width:470px;color:var(--muted)}.intro .text-link{color:var(--ink)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:44px}.section-head h2{font-size:clamp(2.5rem,3.6vw,4rem)}.section-head>p{max-width:380px;color:var(--muted);margin:0}.section-head .eyebrow{margin-bottom:18px}.stay-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:25px}.image-card{height:510px;position:relative;overflow:hidden;color:white}.image-card img{width:100%;height:100%;transition:transform .7s}.image-card:hover img{transform:scale(1.045)}.image-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#001925b8)}.image-tag{position:absolute;top:25px;left:25px;background:rgba(255,255,255,.94);color:var(--ink);padding:9px 13px;font-size:.75rem;letter-spacing:.1em;z-index:1;font-weight:600}.image-caption{position:absolute;bottom:33px;left:32px;right:32px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px}.image-caption p{font-size:.75rem;letter-spacing:.13em;margin-bottom:10px}.image-caption h3{font-family:var(--serif);font-size:2.3rem}.round-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff77;border-radius:50%;font-size:1.35rem;flex-shrink:0}.under-row{display:flex;justify-content:space-between;align-items:center;margin-top:25px;font-size:.85rem;color:var(--muted)}.under-row .text-link{color:var(--ink)}.ownership{display:grid;grid-template-columns:1.03fr 1fr;background:var(--deep);color:white;margin-top:20px;min-height:690px}.ownership-photo{position:relative;overflow:hidden}.ownership-photo img{height:100%;width:100%;object-position:45% center}.photo-note{position:absolute;bottom:25px;left:35px;color:white;letter-spacing:.12em;font-size:.75rem;text-shadow:0 2px 8px #000}.ownership-copy{padding:80px max(45px,7vw)}.ownership-copy .eyebrow{color:#a4c4cc}.ownership-copy h2{font-size:clamp(2.5rem,3.7vw,4.25rem)}.ownership-copy>p:not(.eyebrow){color:#c7d7dc;margin-top:28px;max-width:480px}.stat-line{display:flex;gap:25px;align-items:center;border-top:1px solid #ffffff33;padding-top:22px;margin:32px 0}.stat-line strong{font-size:4.75rem;line-height:1;font-weight:400;font-family:var(--serif)}.stat-line span{font-size:.875rem;color:#c7d7dc;line-height:1.5}.editorial{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;align-items:center;padding-top:130px;padding-bottom:120px}.editorial img{height:540px;width:100%}.editorial p:not(.eyebrow){margin-top:30px;color:var(--muted);max-width:400px}.editorial h2{font-size:clamp(3.5rem,5vw,5.5rem)}.cta{border-top:1px solid var(--line);padding-block:70px;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta h2{font-size:clamp(2.6rem,3.75vw,4rem)}.cta p:not(.eyebrow){margin:20px 0 0;color:var(--muted)}.cta .eyebrow{margin-bottom:18px}.cta .button{flex-shrink:0}footer{background:var(--deep);color:white;padding:65px 0 25px}.footer-top{display:grid;grid-template-columns:1.1fr 1.3fr .65fr .65fr;gap:35px}.footer-top>p{font-size:.9rem;line-height:1.8;color:#b6ccd3}.footer-top>div a{display:block;font-size:.875rem;margin-bottom:13px;color:#cfdee2}.footer-top>div a:hover{color:white;text-decoration:underline}.footer-bottom{margin-top:55px;padding-top:22px;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;font-size:.75rem;color:#9db9c3}.footer-bottom a{font-size:.75rem}.split-text{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:75px 0 100px;border-top:1px solid var(--line)}.split-text p{color:var(--muted)}.split-text .text-link{margin:10px 20px 10px 0}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:55px}.story-grid article{border-top:1px solid var(--line);padding-top:25px}.story-grid .index{font-size:.75rem;letter-spacing:.1em;color:var(--orange);font-weight:600}.story-grid h3{margin:30px 0 18px}.story-grid p{color:var(--muted)}.detail-layout{display:grid;grid-template-columns:1.3fr .8fr;gap:13%;padding:95px 0}.detail-layout h2{margin-bottom:30px}.detail-layout p{color:var(--muted)}.detail-layout h3{margin:30px 0 15px}.enquiry-box{background:#eaf0ef;padding:35px;align-self:start;border-top:3px solid var(--ink)}.enquiry-box h3{margin:0 0 20px}.enquiry-box p{font-size:.95rem}.enquiry-box .button{width:100%;gap:15px}.enquiry-box .text-link{margin-top:20px;line-height:1.6}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:30px 0}.feature-grid>div{padding:15px 10px 15px 0;border-bottom:1px solid var(--line);font-size:.95rem}.fine{font-size:.8rem!important;color:var(--muted);line-height:1.6;margin-top:20px}.filters{display:flex;gap:10px;margin:30px 0;flex-wrap:wrap}.filters button{padding:10px 23px;border:1px solid var(--line);border-radius:30px;color:var(--ink);background:none;font-size:.875rem}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.property-card{background:white}.property-card[hidden]{display:none}.property-card img{height:280px;width:100%;transition:filter .25s}.property-card a:hover img{filter:brightness(.9)}.property-card>div{padding:28px}.property-card .eyebrow{font-size:.75rem;margin-bottom:16px}.property-card h3{font-family:var(--serif);font-size:2.2rem;margin-bottom:20px}.property-card p:not(.eyebrow){font-size:.925rem;color:var(--muted)}.guide-banner{padding:70px;background:var(--deep);color:white;display:grid;grid-template-columns:1.4fr .8fr;gap:13%;align-items:center;margin-top:20px;margin-bottom:90px}.guide-banner p:not(.eyebrow){color:#c7d7dc;margin:25px 0;max-width:500px}.guide-cover{background:#edf1ed;color:var(--ink);padding:35px;aspect-ratio:.75;box-shadow:15px 15px 0 #0003;transform:rotate(4deg);display:flex;flex-direction:column;justify-content:space-between}.guide-cover>span{font-size:.85rem;font-weight:650;line-height:1.3}.guide-cover strong{font-family:var(--serif);font-size:3.7rem;line-height:.95;letter-spacing:-.06em;font-weight:400;margin:25px 0}.guide-cover small{font-size:.75rem;letter-spacing:.13em}.clean-list{padding-left:20px;color:var(--muted)}.clean-list li{padding:7px 0}.steps{margin-top:40px}.steps article{display:flex;gap:25px;border-top:1px solid var(--line);padding-top:25px;margin-top:20px}.steps article>span{color:var(--orange);font-size:.9rem;margin-top:5px}.steps h3{margin:0 0 15px}.guide-intro,.page-intro{padding:90px 0 65px}.guide-intro h1,.page-intro h1{font-size:clamp(3.5rem,6.2vw,6.8rem);margin-bottom:30px}.guide-intro>p:not(.eyebrow),.page-intro>p:not(.eyebrow){max-width:620px;font-size:1.1rem;color:var(--muted)}.wide-photo{height:480px;margin-top:15px}.wide-photo img{width:100%;height:100%;object-position:center 60%}.booking-page{display:grid;grid-template-columns:1fr 340px;gap:40px;padding-bottom:30px}.booking-main .bookingbar{grid-template-columns:1fr 1fr 1fr;padding:15px;gap:15px}.booking-main .bookingbar label{padding:5px 10px}.booking-main .bookingbar .button{grid-column:1/-1;margin:0;padding:15px 22px}.booking-results{padding:40px;background:white;border-top:1px solid var(--line)}.booking-results h2{font-size:2.5rem;margin-bottom:20px}.booking-results>p{color:var(--muted)}.booking-results .eyebrow{color:var(--ink)}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:12%;padding-bottom:100px}.contact-form label{display:flex;flex-direction:column;font-size:.85rem;font-weight:550;gap:8px;margin-bottom:23px}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #c0cece;background:#fff;padding:13px 14px;color:var(--ink);border-radius:0;width:100%;font-size:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form textarea{resize:vertical;min-height:150px}.contact-details{padding:35px;border-top:3px solid var(--ink);background:#eaf0ef;align-self:start;overflow-wrap:anywhere}.contact-details h3{font-size:1.05rem;font-weight:550;letter-spacing:0;margin:25px 0 8px}.contact-details p,.contact-details>a{font-size:.9rem;color:var(--muted)}.contact-details>a:hover{color:var(--orange)}.skip{position:absolute;z-index:100;top:-80px;left:15px;background:white;color:var(--ink);padding:15px}.skip:focus{top:15px}:focus-visible{outline:3px solid #e39457;outline-offset:5px}#contact-status{font-size:.9rem;color:var(--ink)}
@media(min-width:1600px){.hero-content{top:49%}.hero h1{font-size:9rem}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{gap:24px;height:95px}.site-header nav{gap:20px}.site-header nav a{font-size:.8rem}.wordmark strong{font-size:1.6rem}.book-button{gap:16px;padding:12px 16px}.hero{height:800px;min-height:650px}.hero h1{font-size:6.6rem}.hero-foot{bottom:75px}.subhero{height:620px;min-height:580px}.subhero h1{font-size:5.6rem}.bookingbar label{padding:4px 16px}.bookingbar .button{margin-left:15px;padding:20px 15px;gap:15px;font-size:.8rem}.intro{gap:8%;padding-top:90px}.image-card{height:420px}.image-caption{left:25px;right:25px}.image-caption h3{font-size:1.9rem}.ownership-copy{padding:60px 40px}.editorial{gap:8%}.editorial img{height:460px}.booking-page{grid-template-columns:1fr 300px;gap:25px}.contact-layout{gap:7%}.guide-banner{padding:45px}.guide-cover strong{font-size:3.1rem}}
@media(max-width:860px){.site-header nav{display:none}.menu-button{display:block}.site-header{padding:0 32px;height:90px}.hero{height:760px}.hero h1{font-size:5.6rem}.hero-content{top:45%}.subhero{height:640px}.bookingbar{grid-template-columns:1fr 1fr;gap:15px;padding:22px}.bookingbar label{padding:0 12px}.bookingbar label:nth-child(2){border:0}.bookingbar .button{margin:0;padding:17px 18px}.booking-wrap{margin-top:-85px}.intro{grid-template-columns:1fr;gap:30px;padding-top:70px}.intro>div:nth-child(2){max-width:620px}.section-head{display:block}.section-head>p{margin-top:25px;max-width:550px}.stay-grid{grid-template-columns:1fr 1fr;gap:20px}.image-card{height:380px}.image-caption{left:20px;bottom:25px;right:20px}.image-caption h3{font-size:1.65rem}.image-caption p{font-size:.75rem}.round-arrow{width:34px;height:34px}.image-tag{left:20px;top:20px;font-size:.75rem}.ownership{grid-template-columns:1fr 1fr;min-height:640px}.ownership-copy{padding:45px 30px}.ownership-copy h2{font-size:2.65rem}.ownership-copy p{font-size:.925rem}.stat-line{gap:18px}.stat-line strong{font-size:3.5rem}.editorial{padding-block:85px;gap:8%}.editorial h2{font-size:3.5rem}.editorial img{height:430px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>p{justify-self:end}.cta{align-items:start}.cta .button{margin-top:30px}.detail-layout{grid-template-columns:1fr .8fr;gap:40px}.enquiry-box{padding:25px}.property-grid{gap:15px}.property-card>div{padding:22px}.property-card img{height:230px}.property-card p:not(.eyebrow){font-size:.85rem}.property-card .text-link{gap:10px;font-size:.8rem}.guide-banner{gap:40px;padding:40px}.guide-cover{padding:25px}.guide-cover strong{font-size:2.7rem}.booking-page{grid-template-columns:1fr}.booking-page .enquiry-box{margin-top:10px}.contact-layout{grid-template-columns:1fr}.contact-details{margin-top:50px}.story-grid{gap:25px}.story-grid h3{font-size:1.4rem}}
@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.site-header{padding:0 20px;height:82px;gap:12px}.wordmark strong{font-size:1.4rem}.wordmark span{font-size:.75rem;letter-spacing:.15em;margin-top:8px}.book-button{padding:10px 12px;gap:10px;font-size:.75rem}.menu-button{font-size:0;padding:7px}.menu-button span{font-size:1.1rem;margin:0}.nav-actions{gap:7px}.mobile-menu{top:82px}.hero{height:720px;min-height:670px;max-height:850px}.hero-img{object-position:57% center}.hero-content{top:39%;transform:translateY(-25%)}.hero h1{font-size:clamp(3.7rem,13vw,5rem);line-height:1.02}.hero .eyebrow{font-size:.75rem;letter-spacing:.14em;max-width:310px}.hero-content>p:last-child{font-size:1rem;margin-top:25px;max-width:310px}.hero-foot{bottom:135px;font-size:.75rem}.hero-foot span:last-child{font-size:.75rem;letter-spacing:.08em}.subhero{height:630px;min-height:610px}.subhero .hero-content{top:43%;transform:translateY(-30%)}.subhero .hero-foot{bottom:40px}.subhero h1{font-size:3.8rem}.booking-wrap{margin-top:-102px}.bookingbar{padding:18px 12px;gap:16px 8px}.bookingbar label{padding:0 9px;font-size:.75rem}.bookingbar input,.bookingbar select{font-size:.85rem;min-height:27px}.bookingbar .button{font-size:.78rem;gap:10px;padding:16px 13px}.intro{padding-top:65px;padding-bottom:15px;gap:27px}.eyebrow{font-size:.75rem;margin-bottom:20px}h2{font-size:2.65rem}.section{padding-top:65px;padding-bottom:65px}.section-head{margin-bottom:30px}.section-head h2{font-size:2.5rem}.section-head>p{font-size:.95rem}.stay-grid{grid-template-columns:1fr;gap:22px}.image-card{height:420px}.image-caption h3{font-size:2.1rem}.image-caption p{font-size:.75rem}.image-caption{left:25px;right:25px;bottom:30px}.round-arrow{width:43px;height:43px}.image-tag{left:25px;top:25px}.under-row{display:block;margin-top:20px}.under-row>span{display:block;margin-bottom:10px}.ownership{grid-template-columns:1fr;margin:10px 0 0}.ownership-photo{height:370px}.ownership-photo img{object-position:center 65%}.ownership-copy{padding:50px 25px 55px}.ownership-copy h2{font-size:3rem}.ownership-copy p:not(.eyebrow){font-size:1rem}.stat-line{margin-block:30px}.stat-line strong{font-size:4.5rem}.editorial{grid-template-columns:1fr;gap:40px;padding-block:70px}.editorial img{height:390px;grid-row:2}.editorial h2{font-size:3.7rem}.editorial p:not(.eyebrow){margin-top:25px}.cta{display:block;padding-block:50px}.cta h2{font-size:2.6rem}.cta .button{margin-top:25px}.cta p:not(.eyebrow){font-size:.95rem}.footer-top{gap:35px;grid-template-columns:1fr 1fr}.footer-top .wordmark{grid-column:1/-1}.footer-top>p{grid-column:1/-1;justify-self:start;margin:-10px 0 0}.footer-bottom{margin-top:30px;gap:15px;display:block}.footer-bottom>*{display:block;margin-bottom:10px}footer{padding:45px 0 20px}.split-text{grid-template-columns:1fr;padding:55px 0 65px;gap:30px}.story-grid{grid-template-columns:1fr;gap:20px;margin-bottom:20px}.story-grid h3{margin-top:15px;font-size:1.6rem}.story-grid p{margin-bottom:10px}.detail-layout{grid-template-columns:1fr;padding:60px 0;gap:35px}.detail-layout h2{font-size:2.9rem}.enquiry-box{padding:30px 25px}.feature-grid>div{font-size:.85rem}.property-grid{grid-template-columns:1fr;gap:25px}.property-card img{height:290px}.property-card>div{padding:27px}.property-card p:not(.eyebrow){font-size:1rem}.property-card .text-link{font-size:.9rem;gap:30px}.filters{gap:8px}.filters button{font-size:.8rem;padding:9px 17px}.guide-banner{grid-template-columns:1fr;padding:40px 25px;gap:45px;margin-top:0;margin-bottom:60px}.guide-cover{max-width:250px;justify-self:center;width:100%;padding:30px}.guide-cover strong{font-size:3.6rem}.guide-intro,.page-intro{padding:55px 0 35px}.guide-intro h1,.page-intro h1{font-size:3.65rem}.guide-intro>p:not(.eyebrow),.page-intro>p:not(.eyebrow){font-size:1rem}.wide-photo{height:300px}.booking-main .bookingbar{grid-template-columns:1fr 1fr;gap:18px 10px}.booking-main .bookingbar label:nth-child(3){grid-column:1/-1;border:0}.booking-main .bookingbar .button{grid-column:1/-1}.booking-results{padding:30px 22px}.booking-results h2{font-size:2.2rem}.booking-results .button{font-size:.8rem}.form-row{grid-template-columns:1fr;gap:0}.contact-layout{padding-bottom:60px}.contact-form .button-row{align-items:stretch;gap:12px}.contact-form .button{width:100%}.contact-details{padding:30px 25px}.guide-intro .button-row{gap:15px}.guide-intro .button-row .button{width:100%;font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.mobile-menu,footer,.button,.text-link,.cta{display:none!important}body{background:white}.wrap{width:90%}.guide-intro{padding-top:25px}h1{font-size:50px!important}.wide-photo{height:250px}.section,.split-text{padding:30px 0}.story-grid{display:block}.story-grid article{break-inside:avoid}}
.inventory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:48px 0;border-bottom:1px solid var(--line)}.inventory-stats>div{display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--line);padding-right:20px}.inventory-stats>div:last-child{border:0}.inventory-stats strong{font:400 clamp(1.7rem,2.8vw,3rem)/1.2 var(--serif);letter-spacing:-.035em}.inventory-stats span{font-size:.85rem;color:var(--muted)}.lot-section{padding:75px 0 35px}.lot-map-layout{display:grid;grid-template-columns:1fr 290px;gap:28px;align-items:start}.lot-map{position:relative;background:var(--ink)}.lot-map>img{width:100%;height:auto}.lot-pin{position:absolute;transform:translate(-50%,-50%);width:4.45%;aspect-ratio:1;min-width:24px;max-width:55px;border-radius:50%;border:2px solid white;color:white;background:var(--ink);padding:0;font-size:clamp(.875rem,1.3vw,1.15rem);font-weight:600;line-height:1;box-shadow:0 2px 5px #0005}.lot-pin.sold{background:#783c36}.lot-pin:hover,.lot-pin[aria-pressed=true]{background:var(--orange);outline:3px solid white;outline-offset:2px;z-index:2}.lot-pin.sold[aria-pressed=true]{background:#783c36}.map-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:16px;font-size:.8rem}.map-legend>span{display:flex;gap:7px;align-items:center}.map-legend i{display:inline-block;width:13px;height:13px;border-radius:50%;background:var(--ink)}.map-legend i.sold{background:#783c36}.map-legend a{margin-left:auto;text-decoration:underline;text-underline-offset:4px}.lot-detail{padding:26px;background:white;border-top:3px solid var(--ink)}.lot-detail h3{font:400 2.8rem/1.1 var(--serif);margin-bottom:20px}.lot-detail .eyebrow{margin-bottom:15px}.lot-price{display:block;font-size:1.8rem;font-weight:500;line-height:1.4}.lot-price small{font-size:.8rem;font-weight:500}.lot-detail dl{margin:25px 0}.lot-detail dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:12px 0;font-size:.875rem}.lot-detail dt{color:var(--muted)}.lot-detail dd{margin:0;font-weight:550;text-align:right}.lot-detail .button{width:100%;padding:15px;gap:15px;font-size:.85rem}.lot-detail a[hidden]{display:none}.lot-filters{display:flex;gap:22px;align-items:end;flex-wrap:wrap;margin:30px 0 22px}.lot-filters label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:550}.lot-filters select{background:white;border:1px solid #bac9cd;color:var(--ink);padding:10px 32px 10px 15px;border-radius:0;font-size:.9rem}.lot-filters p{margin:0 0 10px auto;font-size:.85rem;color:var(--muted)}.lot-table-scroll{overflow-x:auto}.lot-table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left;min-width:690px}.lot-table thead{background:var(--ink);color:white}.lot-table th,.lot-table td{padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:middle}.lot-table thead th{font-size:.8rem;font-weight:550;white-space:nowrap}.lot-table tbody th{font-weight:600;white-space:nowrap}.lot-table .price-cell{font-weight:600;white-space:nowrap}.lot-table tbody tr{background:white}.lot-table tbody tr:nth-child(even){background:#edf2f1}.lot-table tbody tr[data-selected=true]{background:#e0ebea;box-shadow:inset 4px 0 var(--orange)}.lot-select{background:none;border:0;color:var(--ink);font-weight:600;padding:7px 0;text-decoration:underline;text-underline-offset:4px;font-size:inherit}.lot-table .text-link{gap:15px;padding:5px 0;font-size:.8rem}.lot-note{display:block;font-size:.75rem;max-width:220px;color:var(--muted);margin-top:5px}.status{font-size:.75rem;border:1px solid #b7cccc;padding:5px 9px;border-radius:25px;color:var(--ink);display:inline-block;background:#e4eeeb;white-space:nowrap}.status.sold{background:#f1e5e3;border-color:#dfc4bf;color:#783c36}.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.design-grid h2{margin-bottom:30px}.design-grid p:not(.eyebrow){color:var(--muted)}.design-grid figure{margin:0}.design-grid img{width:100%;height:auto;object-fit:contain;background:white}.design-grid figcaption{font-size:.8rem;color:var(--muted);margin-top:15px}.design-grid .text-link{margin:10px 20px 10px 0}
@media(max-width:1000px){.lot-map-layout{grid-template-columns:1fr}.lot-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.lot-detail h3{grid-column:1}.lot-detail .eyebrow{grid-column:1/-1}.lot-detail .lot-price{grid-column:1}.lot-detail dl{grid-column:2;grid-row:2/4;margin:0}.lot-detail .button{grid-column:2;grid-row:4;align-self:start}.lot-detail>p.fine{grid-column:1}.lot-detail #lot-note{margin-bottom:15px}.lot-pin{font-size:1rem}.design-grid{gap:40px}}
@media(max-width:600px){.inventory-stats{gap:20px;padding:35px 0;grid-template-columns:1fr}.inventory-stats>div{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}.inventory-stats>div:last-child{padding:0}.inventory-stats strong{font-size:2.2rem}.lot-section{padding:50px 0 25px}.lot-pin{font-size:.875rem;border-width:1px}.map-legend{font-size:.75rem;gap:13px}.map-legend a{margin:0}.lot-detail{display:block;padding:25px}.lot-detail dl{margin:20px 0}.lot-detail h3{font-size:2.3rem;margin-bottom:12px}.lot-filters{gap:14px}.lot-filters label{flex:1}.lot-filters select{width:100%;padding:10px;font-size:.85rem}.lot-filters p{width:100%;margin:0}.lot-table th,.lot-table td{padding:12px 15px}.lot-section .section-head>p{font-size:.875rem}.design-grid{grid-template-columns:1fr;gap:35px}.design-grid figure{grid-row:auto}}
/* Geographic lot highlights and hover/tap previews. */
.lot-map{isolation:isolate}.lot-regions{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.lot-region{pointer-events:all;cursor:pointer;fill:#1ba6ae0d;stroke:#b5ebe07a;stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .16s,stroke .16s}.lot-region.sold{fill:#783c3630;stroke:#efb9ad80}.lot-region.is-selected{fill:#0f6b8526;stroke:#fff9}.lot-region.is-preview{fill:#26d2bb65;stroke:#ffffff;stroke-width:3}.lot-region.sold.is-preview{fill:#ad514a80;stroke:#ffdbd5}.lot-pin{z-index:2}.lot-pin.is-preview{background:var(--orange);outline:3px solid white;outline-offset:2px}.lot-pin.sold.is-preview{background:#783c36}.lot-popup{position:absolute;z-index:10;width:285px;max-width:calc(100% - 24px);padding:25px;background:#fff;color:var(--ink);box-shadow:0 14px 50px #00182050;border-top:4px solid var(--orange);border-radius:3px;line-height:1.5;text-align:left}.lot-popup[hidden]{display:none}.lot-popup.sold{border-top-color:#783c36}.lot-popup .eyebrow{font-size:.75rem;letter-spacing:.1em;margin:0 24px 9px 0;color:var(--orange)}.lot-popup.sold .eyebrow{color:#783c36}.lot-popup h3{font-family:var(--serif);font-size:2rem;line-height:1.1;margin:0 0 14px}.lot-popup-close{position:absolute;top:9px;right:9px;width:34px;height:34px;display:grid;place-items:center;background:transparent;border:0;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:50%}.lot-popup-close:hover{background:#eaf0ef}.popup-specs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:13px;font-size:.875rem;font-weight:550}.popup-specs span+span{border-left:1px solid var(--line);padding-left:9px}.lot-popup #popup-description{font-size:.875rem;color:var(--muted);line-height:1.6;margin:0 0 15px}.popup-caveat{font-size:.8rem;line-height:1.55;background:#f5eee5;color:#674722;padding:10px;margin:0 0 15px}.popup-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.popup-bottom strong{font-size:1.05rem;font-weight:600}.popup-bottom a{font-size:.85rem;font-weight:600;color:var(--orange);text-decoration:underline;text-underline-offset:4px}.popup-bottom a[hidden]{display:none}
@media(max-width:600px){.lot-map{isolation:auto}.lot-popup{position:fixed;inset:auto 14px 14px!important;width:auto;max-width:none;max-height:65svh;overflow-y:auto;padding:23px;z-index:100;border-radius:10px;box-shadow:0 0 0 1px #092f3f20,0 8px 70px #00182080}.lot-popup-close{width:44px;height:44px;top:4px;right:4px}.lot-popup h3{font-size:1.8rem}.lot-popup #popup-description{font-size:.95rem}.lot-popup .popup-bottom a{padding:9px 0}.lot-region.is-preview{stroke-width:2}}
/* Keep lot previews in the photo's upper-right corner. */
.lot-map{isolation:isolate}.lot-popup{position:absolute;inset:12px 12px auto auto!important;left:auto!important;top:12px!important;right:12px!important;bottom:auto!important;width:275px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);overflow-y:auto;padding:22px;background:rgba(247,250,249,.82);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid #ffffffb3;border-top:3px solid var(--orange);border-radius:5px;box-shadow:0 8px 28px #00182040;z-index:10}.lot-popup.sold{border-top-color:#783c36}.lot-popup #popup-description{color:#274450}.lot-popup .popup-caveat{background:#fff2dba3;color:#563a16}.lot-region{stroke-width:1;stroke:#f8cc8270;fill:#1ba6ae05}.lot-region.is-selected{stroke:#f8cc8290;fill:#0f6b8518}.lot-region.is-preview{stroke:#ffffff;stroke-width:1.5;fill:#26d2bb65}.lot-region.sold.is-preview{stroke:#ffdbd5;fill:#ad514a80}
@media(max-width:600px){.lot-popup{inset:8px 8px auto auto!important;left:auto!important;top:8px!important;right:8px!important;bottom:auto!important;width:215px;max-width:72%;max-height:calc(100% - 16px);padding:14px;border-radius:5px}.lot-popup .eyebrow{font-size:.75rem;margin-bottom:6px;letter-spacing:.045em}.lot-popup h3{font-size:1.55rem;margin-bottom:9px}.lot-popup #popup-description{font-size:.875rem;line-height:1.45;margin-bottom:10px}.lot-popup .popup-specs{font-size:.8rem;gap:6px;margin-bottom:9px}.lot-popup .popup-specs span+span{padding-left:6px}.lot-popup-close{top:2px;right:2px;width:34px;height:34px}.lot-popup .popup-bottom{padding-top:9px;gap:6px;flex-wrap:wrap}.lot-popup .popup-bottom strong{font-size:.95rem}.lot-popup .popup-bottom a{font-size:.85rem;padding:3px 0}.lot-popup .popup-caveat{font-size:.8rem;padding:8px;margin-bottom:10px}}
/* Coastal accent and expanded navigation */
.site-header{padding-inline:3%;gap:20px;background:var(--deep);color:white;height:108px}.site-header.over-hero{background:linear-gradient(#072a388c,#072a3826)}.site-header .wordmark{flex-direction:row;align-items:center;gap:12px}.brand-type{display:flex;flex-direction:column}.brand-bull{width:52px;height:52px;object-fit:contain;filter:grayscale(1) contrast(10) invert(1);mix-blend-mode:screen}.site-header .wordmark strong{font-size:1.45rem}.site-header .wordmark span{font-size:.65rem;letter-spacing:.18em}.site-header nav{gap:19px;white-space:nowrap}.site-header nav a{font-size:.875rem}.site-header .book-button{gap:14px;white-space:nowrap}.book-button:hover{background:#05646a}.intro-media{grid-column:1/-1;margin-top:35px}.intro-film{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover}.investor-form{max-width:770px;margin:34px 0;text-align:left}.investor-form label{display:block;font-size:1rem;font-weight:550;margin-bottom:8px}.investor-input-row{display:flex;gap:12px}.investor-input-row input{min-width:0;flex:1;padding:15px;background:white;color:var(--ink);border:1px solid #9badae;border-radius:0;font-size:1rem}.investor-form .fine{margin:14px 0 0;font-size:.875rem}.investor-form .button{white-space:nowrap}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#investor-status{margin-top:14px;font-size:1rem}#investor-download[hidden]{display:none}.investor-form button:disabled{opacity:.65}.mobile-menu{top:108px;max-height:calc(100svh - 108px);overflow-y:auto}
@media(max-width:1250px){.site-header nav{display:none}.menu-button{display:inline-flex}.site-header{gap:15px}.nav-actions{margin-left:auto}.mobile-menu{display:block}.mobile-menu[hidden]{display:none}}
@media(max-width:600px){.site-header{height:90px;padding-inline:20px}.site-header .wordmark{gap:8px}.brand-bull{width:42px;height:42px}.site-header .wordmark strong{font-size:1.15rem}.site-header .wordmark span{font-size:.6rem;margin-top:8px}.site-header .book-button{display:none}.mobile-menu{top:90px;max-height:calc(100svh - 90px)}.intro-film{aspect-ratio:4/3}.intro-media{margin-top:10px}.investor-input-row{flex-direction:column}.investor-form .button{font-size:.9rem;white-space:normal}.investor-input-row input{width:100%}}
.travel-jump{display:flex;gap:24px;flex-wrap:wrap;padding-block:25px;border-bottom:1px solid var(--line)}.travel-jump a{font-size:.9rem;font-weight:600;border-bottom:1px solid var(--orange)}.airport-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.airport-grid article{background:white;border-top:3px solid var(--orange);padding:34px}.airport-grid h3{margin-bottom:22px;font-size:1.8rem}.airport-code{display:block;color:var(--orange);font-size:2.7rem;font-weight:650;letter-spacing:-.06em;margin-bottom:20px}.airport-grid p{color:var(--muted)}.travel-table-scroll{overflow-x:auto;margin:24px 0}.travel-table{border-collapse:collapse;width:100%;font-size:1rem;background:white;min-width:520px}.travel-table th{background:var(--ink);color:white;text-align:left;font-size:.875rem}.travel-table th,.travel-table td{padding:15px 18px;border-bottom:1px solid var(--line)}.travel-table tr:nth-child(even){background:#eef4f3}.travel-table .text-link{font-size:.875rem;white-space:nowrap}.shuttle-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:44px;align-items:start}.shuttle-quote{position:sticky;top:24px}.shuttle-quote h3{margin-bottom:28px}.shuttle-quote label{display:block;font-size:.875rem;font-weight:600;margin-bottom:17px}.shuttle-quote select{display:block;width:100%;padding:13px;background:white;border:1px solid #9badae;margin-top:7px;font-size:1rem;color:var(--ink)}.shuttle-quote output{font-size:2.8rem;font-weight:600;line-height:1.2;display:block;margin:22px 0 8px;letter-spacing:-.05em}.shuttle-quote .fine{margin-top:20px;font-size:.875rem}.quote-destination{font-size:.9rem}.coast-road{background:#e8f0ef}.road-copy{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:1150px}.road-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0}.road-stops article{border-top:1px solid #8ca7a8;padding-top:25px}.road-stops span{font-size:.875rem;letter-spacing:.08em;font-weight:600;color:var(--orange)}.road-stops h3{margin:15px 0 20px}.route-note{background:white;border-left:4px solid var(--orange);padding:28px;margin:40px 0 22px}.route-note h3{margin-bottom:15px}.route-note p{margin:0}.table-heading{margin-top:42px}.travel-sources{font-size:.875rem;margin-top:25px}.travel-sources summary{cursor:pointer;font-weight:600}.travel-sources p{margin-top:15px}.travel-sources a,.coast-road .fine a{ text-decoration:underline;text-underline-offset:3px}.benefit-layout{display:grid;grid-template-columns:320px 1fr;gap:60px}.benefit-price{background:var(--ink);padding:32px;color:white;align-self:start}.benefit-price>span{font-size:.875rem;letter-spacing:.07em}.benefit-price strong{display:block;font-size:4rem;letter-spacing:-.05em;margin:10px 0;line-height:1.3}.benefit-price small{font-size:1rem;letter-spacing:0}.benefit-layout h3{margin:0 0 22px}.phase-update{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding-block:40px;border-bottom:1px solid var(--line)}.phase-update h3{margin-bottom:16px}.phase-update .eyebrow{color:var(--orange);margin-bottom:13px}.phase-update p:last-child{margin-bottom:0}
@media(max-width:1000px){.shuttle-layout{grid-template-columns:1fr}.shuttle-quote{position:static;max-width:620px}.road-stops{grid-template-columns:1fr}.benefit-layout{grid-template-columns:270px 1fr;gap:30px}}
@media(max-width:650px){.airport-grid,.road-copy,.benefit-layout,.phase-update{grid-template-columns:1fr;gap:25px}.airport-grid article{padding:25px}.travel-jump{gap:14px 22px}.travel-jump a{font-size:.875rem}.travel-table th,.travel-table td{padding:12px}.benefit-price{max-width:100%}.route-note{padding:22px}.table-heading{font-size:1.5rem}.shuttle-layout{gap:25px}}
.brand-bull{filter:none;mix-blend-mode:normal}.intro-media{position:relative}.intro-film{aspect-ratio:16/9;object-fit:contain;background:var(--deep)}.film-toggle{position:absolute;bottom:20px;right:20px;border:1px solid #ffffff90;border-radius:30px;background:#072a38bd;color:white;padding:10px 22px;font-size:1rem;opacity:0;transition:opacity .18s;backdrop-filter:blur(8px)}.intro-media:hover .film-toggle,.film-toggle:focus-visible{opacity:1}.custom-date-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23087f83' stroke-width='1.7'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M7 3v4m10-4v4M3 11h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;padding-right:27px!important}.date-calendar{position:fixed;z-index:1000;width:650px;max-width:calc(100vw - 24px);background:#fff;color:var(--ink);border:1px solid #d3e1e0;border-radius:18px;box-shadow:0 20px 80px #072a383d;padding:25px;max-height:calc(100svh - 24px);overflow:auto}.date-calendar[hidden]{display:none}.calendar-head{display:flex;justify-content:space-between;align-items:center}.calendar-head strong{display:block;font-size:1.3rem;letter-spacing:-.03em}.calendar-head span{font-size:.75rem;letter-spacing:.13em;color:var(--orange);font-weight:600}.calendar-close{border:0;background:#edf4f3;width:36px;height:36px;border-radius:50%;font-size:1.5rem;color:var(--ink)}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:18px 0 5px}.calendar-nav p{font-size:.875rem;color:var(--muted);margin:0}.calendar-nav button{width:36px;height:36px;border:1px solid var(--line);background:white;border-radius:50%;font-size:1.5rem;color:var(--ink);line-height:1}.calendar-nav button:disabled{opacity:.3}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:26px}.calendar-month h3{font-family:var(--sans);font-size:1rem;text-align:center;font-weight:600;margin:10px 0 20px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-week span{text-align:center;font-size:.75rem;color:var(--muted);padding-bottom:10px}.calendar-days button{border:0;background:white;color:var(--ink);font-size:.875rem;aspect-ratio:1;border-radius:50%;padding:0;min-height:34px}.calendar-days button:disabled{color:#bdc7c9;cursor:default}.calendar-days button:not(:disabled):hover{background:#d9eeeb}.calendar-days button.today{box-shadow:inset 0 0 0 1px #087f83}.calendar-days button.in-range{background:#e0f1ee;border-radius:4px}.calendar-days button.selected{background:var(--orange);color:white}.calendar-days button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.calendar-foot{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:.875rem;color:var(--muted)}
@media(max-width:650px){.date-calendar{width:360px;padding:20px}.calendar-months{grid-template-columns:1fr}.calendar-month:nth-child(2){display:none}.calendar-days button{min-height:38px}.calendar-foot{gap:7px;flex-direction:column}.film-toggle{bottom:12px;right:12px}}
@media(hover:none){.film-toggle{opacity:0}.film-toggle:focus-visible{opacity:1}}
/* A compact main menu with resort information grouped together. */
.site-header nav{align-items:center;gap:36px}.nav-group{position:relative}.nav-group summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;font-size:.875rem;padding:14px 0}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}.nav-group[open] summary span{transform:rotate(180deg)}.nav-group-current summary{text-decoration:underline;text-underline-offset:8px}.nav-dropdown{position:absolute;top:100%;left:-22px;min-width:225px;background:var(--deep);border:1px solid #ffffff30;box-shadow:0 15px 35px #0003;border-radius:8px;padding:10px;color:white}.site-header .nav-dropdown a{display:block;padding:11px 13px;border-radius:4px}.site-header .nav-dropdown a:hover,.site-header .nav-dropdown a[aria-current]{background:#ffffff15}.site-header .nav-dropdown a:after{display:none!important}.mobile-menu .nav-group summary{font-size:1.2rem;padding:12px 0;justify-content:space-between}.mobile-menu .nav-dropdown{position:static;background:#ffffff08;box-shadow:none;border:0;border-left:2px solid var(--orange);border-radius:0;margin:3px 0 12px;padding:5px 18px}.mobile-menu .nav-dropdown a{font-size:1rem;padding:10px 0}
@media(min-width:901px) and (max-width:1250px){.site-header nav{display:flex}.site-header .menu-button{display:none}}

/* Home film replaces the left intro heading, beside the resort copy. */
.home-intro{grid-template-columns:1fr 1fr;gap:5%;align-items:center}
.home-intro>.intro-media{grid-column:auto;margin:0;min-width:0}
.home-intro>.intro-media .intro-film{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:contain}
.home-intro>div:nth-child(2){max-width:none;padding-top:0}
@media(max-width:760px){.home-intro{grid-template-columns:1fr;gap:28px}.home-intro>.intro-media{grid-column:1/-1}}
.home-intro .intro-title{font-size:clamp(1.8rem,2.5vw,2.7rem);margin-bottom:22px;line-height:1.12}
.phase-update h2,.contact-details h2{font-family:var(--sans);font-size:1.65rem;letter-spacing:-.04em;line-height:1.15;margin-bottom:18px}
.contact-details h2{margin-top:28px}
.film-quality{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:8px;padding:5px 8px;background:#082e3fe8;color:white;font-size:.875rem;opacity:0;transition:opacity .2s;pointer-events:none}
.film-quality select{border:0;background:#082e3f;color:white;font-size:.875rem;padding:4px;max-width:160px}
.intro-media:hover .film-quality,.film-quality:focus-within{opacity:1;pointer-events:auto}
.map-intro{padding-top:55px;padding-bottom:28px}.map-intro h1{font-size:clamp(2.8rem,5vw,5.2rem)}.map-intro .eyebrow{margin-bottom:12px}.map-intro p:last-child{margin:20px 0 0;max-width:700px;color:var(--muted)}
.map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.map-toolbar button{padding:10px 16px;border:1px solid #bccdce;background:white;color:var(--ink);font-size:.9rem}.map-toolbar button[aria-pressed=true]{background:var(--deep);color:white;border-color:var(--deep)}
.map-shell{position:relative;background:#153e48;height:min(69svh,780px);min-height:420px}.map-shell:fullscreen{height:100vh}.map-shell #resort-map{position:absolute;inset:0}.map-status{position:absolute;left:18px;top:18px;max-width:calc(100% - 85px);padding:10px 16px;background:#092f3fee;color:white;font-size:.9rem;pointer-events:none}.map-status[hidden],.map-fallback[hidden]{display:none}
.map-fallback{position:absolute;inset:0;background:linear-gradient(#082e3fd9,#082e3fea),url('/assets/aerial.jpg') center/cover;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;gap:20px;text-align:center}.map-fallback h2{font-size:2.5rem}.map-fallback p{max-width:440px;margin:0}.map-fallback .outline{color:white;border-color:white}.map-noscript{position:absolute;inset:30% 10%;color:white;font-size:1.1rem}.map-noscript a{text-decoration:underline}
.map-caption{display:flex;justify-content:space-between;gap:32px;padding-top:14px;color:var(--muted);font-size:.875rem}.map-caption p{max-width:550px}.map-details{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-block:40px 85px}.map-details h2{font-size:2.6rem;margin-bottom:20px}.map-details p{color:var(--muted)}
.resort-map-pin{background:#087f83;border:2px solid white;border-radius:5px;color:white;font:600 12px/1.3 var(--sans);letter-spacing:.05em;padding:10px 12px;box-shadow:0 4px 16px #0008;cursor:pointer}.resort-map-pin:after{content:'';position:absolute;bottom:-9px;left:calc(50% - 7px);border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid white}.maplibregl-popup-content{font:400 15px/1.5 var(--sans);padding:18px 22px!important;color:var(--ink)}.maplibregl-popup-content p{margin:10px 0}.maplibregl-popup-content a{text-decoration:underline}.maplibregl-ctrl-attrib{font-size:12px!important;max-width:500px}
@media(max-width:760px){.map-intro{padding-top:32px}.map-toolbar{gap:6px}.map-toolbar button{padding:9px 11px;font-size:.875rem}.map-shell{min-height:430px;height:63svh}.map-caption{display:block}.map-details{grid-template-columns:1fr;gap:32px}.maplibregl-ctrl-attrib{max-width:240px!important}.film-quality{top:8px;right:8px}.film-quality span{display:none}}
@media(prefers-reduced-motion:reduce){.film-quality{transition:none}}
/* Airport routes */
.airport-map-shell{border:1px solid #cbd7d7;border-radius:12px;overflow:hidden;background:#fff}.airport-map-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:16px;background:#eef3f1}.airport-map-toolbar button{background:#fff;border:1px solid #bacbcb;border-radius:30px;padding:10px 15px;color:#173e49;font:inherit;font-size:13px;cursor:pointer}.airport-map-toolbar button[aria-pressed=true]{background:#123f4b;color:#fff;border-color:#123f4b}.airport-map-toolbar i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.airport-map-toolbar button:focus-visible,.airport-location:focus-visible,.airport-resort-pin:focus-visible{outline:3px solid #eaa92b;outline-offset:3px}#airport-road-map{height:560px;background:#e5ede8}#airport-road-map .maplibregl-canvas{outline-offset:-3px}.airport-map-caption{padding:22px 26px}.airport-map-caption p{margin:7px 0 12px}.airport-location{background:white;border:2px solid;border-radius:5px;padding:6px 9px;font:600 12px/1.2 sans-serif;box-shadow:0 2px 8px #0003;color:#173e49;cursor:pointer}.airport-resort-pin{display:flex;align-items:center;gap:8px;background:#123f4b;color:white;border:2px solid white;border-radius:7px;padding:10px;box-shadow:0 3px 14px #0005;font:700 15px/1.3 sans-serif;cursor:pointer;z-index:2}.airport-resort-pin img{width:32px;height:32px;object-fit:contain}.airport-resort-pin small{display:block;font-size:8px;letter-spacing:1px}.airport-border{background:#fffE;color:#354c52;font:11px/1.3 sans-serif;padding:3px 6px;border-radius:3px;margin-top:9px}@media(max-width:600px){#airport-road-map{height:470px}.airport-map-toolbar{gap:6px;padding:12px}.airport-map-toolbar button{padding:9px 10px;font-size:12px}.airport-location{font-size:10px;padding:5px}.airport-resort-pin{font-size:12px;padding:7px}.airport-resort-pin img{width:24px}.airport-map-caption{padding:18px}}

.investor-sales-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(max-width:600px){.investor-sales-stats{grid-template-columns:1fr}}

#lot-deposit-dialog{border:0;border-radius:14px;width:min(560px,calc(100% - 32px));max-height:85vh;padding:32px;color:var(--ink);background:#f7f8f5;box-shadow:0 20px 90px #0005}#lot-deposit-dialog::backdrop{background:#092f3fb3}#lot-deposit-dialog h2{font-size:2.3rem;margin:12px 0}#lot-deposit-dialog p{line-height:1.6}.deposit-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:28px;cursor:pointer;color:var(--ink)}.deposit-totals{margin:22px 0}.deposit-totals>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.deposit-totals dd{margin:0;font-weight:700;white-space:nowrap}.deposit-accept{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:14px;line-height:1.5}.deposit-accept input{width:18px;height:18px;flex-shrink:0}.deposit-pay{width:100%}.deposit-pay:disabled{opacity:.5;cursor:not-allowed}#lot-deposit-open{width:100%;font-size:13px;text-align:left}#popup-deposit-open{background:var(--ink);color:white;border:0;border-radius:4px;padding:9px;font:inherit;font-size:12px;cursor:pointer}.popup-bottom{flex-wrap:wrap;gap:10px}.lot-deposit-offer{border-top:1px solid var(--line)}@media(max-width:600px){#lot-deposit-dialog{padding:26px 20px}.deposit-totals{font-size:13px}}

/* Resort overview */
.resort-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:30px;gap:25px}.resort-facts strong{display:block;font:400 1.8rem/1.2 var(--serif);margin-bottom:10px}.resort-facts span{font-size:.9rem;color:var(--muted)}.resort-stay-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px}.resort-stay-copy h3{font:400 2rem/1.2 var(--serif);margin-bottom:16px}.resort-stay-copy p{color:var(--muted)}.resort-nature{background:var(--deep);color:white}.resort-nature p:not(.eyebrow){color:#e0e9ea}.resort-nature .split-text{padding-block:70px}.resort-amenities{margin-top:35px}.resort-amenities .eyebrow{font-size:.875rem}.resort-amenities article{border-top:3px solid var(--orange)}
@media(max-width:760px){.resort-facts{grid-template-columns:1fr 1fr}.resort-stay-copy{grid-template-columns:1fr;gap:20px}.resort-facts strong{font-size:1.5rem}}
@media(max-width:380px){.resort-facts{grid-template-columns:1fr}}

/* Immersive resort photography */
.resort-film-section{padding-bottom:65px}.resort-film-frame{position:relative;background:var(--deep);overflow:hidden}.resort-film-frame video{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}.resort-film-label{position:absolute;left:30px;top:28px;color:white;pointer-events:none;text-shadow:0 2px 14px #000;display:grid;gap:9px}.resort-film-label span,.resort-photo-grid figcaption span{font-size:.875rem;letter-spacing:.13em}.resort-film-label strong{font:400 clamp(1.6rem,3.5vw,3.1rem)/1.1 var(--serif)}.resort-nature-photo{margin:0;position:relative;height:clamp(300px,42vw,600px);overflow:hidden}.resort-nature-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.resort-nature-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#072a38)}.resort-nature-photo figcaption{position:absolute;z-index:1;bottom:30px;left:6%;right:6%;font:400 clamp(1.7rem,3.8vw,3.4rem)/1.15 var(--serif);color:white}.resort-photo-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:280px 280px;gap:18px}.resort-photo-grid figure{position:relative;margin:0;overflow:hidden;background:var(--deep)}.resort-photo-grid .gallery-house{grid-row:span 2}.resort-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.resort-photo-grid figure:hover img{transform:scale(1.035)}.resort-photo-grid figcaption{position:absolute;inset:auto 0 0;padding:60px 28px 26px;background:linear-gradient(transparent,#061e2bd9);color:white;display:grid;gap:10px}.resort-photo-grid figcaption strong{font:400 clamp(1.7rem,2.8vw,2.6rem)/1.1 var(--serif)}.resort-facts>div{padding-left:18px;border-left:3px solid var(--orange)}.resort-amenities article{background:#edf3f3;padding:28px}.resort-amenities article:nth-child(n+2){background:#092f3f;color:white}.resort-amenities article:nth-child(n+2) p{color:#d8e7ea}.resort-amenities article:nth-child(n+2) .eyebrow{color:#ffc49c}
@media(max-width:700px){.resort-film-frame video{aspect-ratio:4/3}.resort-film-label{left:18px;top:18px}.resort-film-label span{font-size:.75rem}.resort-photo-grid{grid-template-columns:1fr;grid-template-rows:380px 280px 280px}.resort-photo-grid .gallery-house{grid-row:auto}.resort-nature-photo{height:330px}.resort-photo-grid figcaption{padding:55px 22px 22px}.resort-film-section{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.resort-photo-grid img{transition:none}.resort-photo-grid figure:hover img{transform:none}}

/* Things to do guide */
.guide-jumps{display:flex;flex-wrap:wrap;gap:10px;padding-block:25px;border-bottom:1px solid var(--line)}.guide-jumps a{border:1px solid var(--line);padding:10px 15px;font-size:.9rem}.guide-jumps a:hover{background:var(--deep);color:white}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.activity-card{padding:32px;background:#edf3f3;border-top:3px solid #087c88}.activity-card h3{font:400 2rem/1.15 var(--serif);margin-bottom:18px}.activity-card p:not(.eyebrow){color:var(--muted)}.guide-feature{background:var(--deep);color:white;padding:75px 0}.guide-feature-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center}.guide-feature h2{margin-bottom:25px}.guide-feature p{color:#e1ecee}.guide-tip{padding:20px;border-left:3px solid var(--orange);background:#ffffff0c;margin:25px 0}.guide-feature aside{text-align:center}.guide-big-word{display:block;font:400 clamp(4rem,9vw,8rem)/.95 var(--serif);color:#a6d7da}.guide-outline-label{display:inline-block;border:1px solid #ffffff55;padding:12px;font-size:.875rem;letter-spacing:.09em;margin-top:15px}.guide-table-scroll{overflow-x:auto}.guide-surf-table{width:100%;border-collapse:collapse;min-width:630px;text-align:left}.guide-surf-table th{background:var(--deep);color:white}.guide-surf-table th,.guide-surf-table td{padding:20px;border-bottom:1px solid var(--line);vertical-align:top}.guide-surf-table tbody tr:nth-child(even){background:#edf3f3}.guide-surf-table td:first-child{font-weight:600;min-width:180px}.guide-hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.guide-hotel-grid img{width:100%;height:580px;object-fit:cover}.guide-hotel-grid h3{font:400 1.8rem/1.2 var(--serif);margin:0 0 12px}.guide-hotel-grid p{margin-bottom:24px}.guide-coming{border:1px solid #ffffff55;padding:22px}.guide-coming p{margin:12px 0 0}.guide-itineraries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.guide-itineraries article{padding:28px;border:1px solid var(--line)}.guide-itineraries article>span{font:400 3rem var(--serif);color:#087c88}.guide-itineraries h3{font:400 1.9rem/1.15 var(--serif);margin:15px 0}.guide-itineraries ol{padding-left:22px}.guide-itineraries li{padding:8px 0}.guide-jumps~section[id]{scroll-margin-top:120px}#at-resort .section-head p{color:#e1ecee}#at-resort h2,#at-resort h3{color:white}
@media(max-width:800px){.guide-feature-inner,.guide-hotel-grid{grid-template-columns:1fr;gap:35px}.guide-feature aside{display:none}.guide-itineraries{grid-template-columns:1fr}.guide-hotel-grid img{height:340px}.guide-feature{padding:50px 0}}
@media(max-width:600px){.activity-grid{grid-template-columns:1fr}.activity-card{padding:25px}.guide-jumps{gap:8px}.guide-jumps a{font-size:.875rem;padding:9px 11px}.guide-surf-table td,.guide-surf-table th{padding:15px}}
/* Activity photos and location explorer */
.activity-photo{margin:20px 0 24px}.activity-photo img{display:block;width:100%;height:250px;object-fit:cover}.activity-photo figcaption{font-size:.8rem;line-height:1.5;margin-top:8px;color:var(--muted)}.tide-photo .activity-photo img{height:440px}.guide-feature .activity-photo figcaption{color:#d8e7ea}.surf-banner img,.beach-day-photo img{height:360px}.activity-map-filters,.activity-map-actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.activity-map-filters button,.activity-map-actions button{padding:11px 16px;background:white;color:var(--ink);border:1px solid var(--line);font:inherit;font-size:.9rem;cursor:pointer}.activity-map-filters button[aria-pressed=true]{background:var(--deep);color:white}.activity-map-shell{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);border:1px solid var(--line);background:#edf3f3}.activity-map-main{min-width:0}#activity-map{height:560px;background:#d8e6e7}.activity-map-actions{padding:0 18px}#activity-map-status{font-size:.875rem;padding:0 18px 15px}#activity-map-detail{padding:25px;min-width:0}#activity-map-detail img{width:100%;height:190px;object-fit:cover}#activity-map-detail h3{font:400 1.9rem/1.15 var(--serif);margin:22px 0 15px}#activity-map-detail p{font-size:1rem}#activity-map-detail .text-link{display:block;font-size:.9rem;margin-top:18px}#activity-map-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}#activity-map-list button{background:white;border:1px solid var(--line);text-align:left;padding:14px;color:var(--ink);cursor:pointer;font:inherit}#activity-map-list button[aria-pressed=true]{border:2px solid var(--orange);padding:13px;background:#fff7ef}#activity-map-list strong{display:block;font-size:.95rem}#activity-map-list span{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.activity-pin{background:#087c88;color:white;border:2px solid white;width:32px;height:32px;border-radius:50%;box-shadow:0 2px 8px #0005;cursor:pointer;font-weight:700;font-size:14px}.activity-pin.resort-pin{width:auto;border-radius:5px;background:#e86f39;padding:6px 10px;height:auto;font-size:12px}.activity-pin.is-selected{outline:3px solid #f9aa67;outline-offset:3px}.activity-pin[hidden]{display:none}.activity-credits{margin-bottom:55px;font-size:.875rem}.maplibregl-popup-content{color:#092f3f;font-size:14px}#explore-map{scroll-margin-top:115px}
@media(max-width:850px){.activity-map-shell{grid-template-columns:1fr}#activity-map{height:440px}#activity-map-detail img{max-width:280px}#activity-map-list{grid-template-columns:1fr 1fr}.guide-feature .tide-photo{display:block}}
@media(max-width:500px){#activity-map{height:370px}.activity-photo img{height:220px}.tide-photo .activity-photo img{height:300px}#activity-map-list{grid-template-columns:1fr}.activity-map-filters button{padding:9px 11px;font-size:.875rem}}
.tide-photo .activity-photo img{height:auto;max-height:440px;object-fit:contain;background:#163c4a}.activity-photo img[src*="tide-pools"],.activity-photo img[src*="guasacate"]{object-fit:contain;background:#dce7e8}
/* Coastline introduction and map share one opening section. */
#explore-map{padding-top:48px}#explore-map .section-head{align-items:center}.activity-photo img[src*="popoyo-v2"]{object-position:center 62%}.activity-photo img[src*="chacocente-v2"]{object-position:center 70%}
/* Getting Here: photography and travel cards */
.arrival-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center;padding-block:75px 95px}.arrival-copy h2{margin-bottom:25px}.arrival-copy>p:not(.eyebrow){color:var(--muted);max-width:540px}.arrival-steps{display:grid;gap:0;margin-top:30px}.arrival-steps a{display:flex;align-items:center;gap:18px;padding:15px 0;border-top:1px solid var(--line);font-size:1rem}.arrival-steps span{font:400 1.7rem var(--serif);color:#087c88}.arrival-steps strong{font-weight:500}.arrival-collage{position:relative;padding:0 0 70px 30px}.arrival-collage figure{margin:0}.arrival-wide img{width:100%;height:390px;object-fit:cover}.arrival-wide figcaption{font-size:.75rem;letter-spacing:.12em;margin-top:12px}.arrival-inset{position:absolute;bottom:0;left:0;width:48%;border:7px solid white;background:white;box-shadow:0 12px 30px #092f3f22}.arrival-inset img{width:100%;height:170px;object-fit:cover}.arrival-inset figcaption{font-size:.75rem;padding:7px;color:var(--muted)}.arrival-stamp{position:absolute;right:20px;bottom:10px;border:1px solid #087c88;border-radius:50%;width:118px;height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg);font:400 1.45rem var(--serif);color:#087c88}.arrival-stamp small{font:500 .7rem sans-serif;letter-spacing:.15em;margin-top:7px}.arrival-page #airports{padding-top:25px}.arrival-page #airports .airport-grid article{border:1px solid var(--line);border-top:5px solid #087c88;background:#fff;padding:35px}.arrival-page #airports .airport-grid article:nth-child(2){border-top-color:#7053a3}.arrival-ticket-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #a9babc;padding-bottom:20px;margin-bottom:24px;gap:20px}.arrival-ticket-top .airport-code{font:500 3.6rem/1 sans-serif;margin:0;color:#087c88}.arrival-page #airports article:nth-child(2) .airport-code{color:#7053a3}.arrival-country{text-align:right;font-size:.875rem;letter-spacing:.08em}.arrival-country small{display:block;color:var(--muted);font-size:.8rem;letter-spacing:0;margin-top:8px}.arrival-route{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.875rem;padding:14px 0;margin:10px 0 20px;color:#087c88}.arrival-route strong{font-weight:600}.arrival-page #airport-map .airport-map-shell{border-radius:0;box-shadow:0 15px 45px #092f3f12}.arrival-shuttle-photo{position:relative;margin:0 0 40px;height:290px;overflow:hidden}.arrival-shuttle-photo img{height:100%;width:100%;object-fit:cover}.arrival-shuttle-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#052532b5,transparent)}.arrival-shuttle-photo figcaption{position:absolute;left:35px;bottom:35px;z-index:1;color:white;display:grid;gap:12px}.arrival-shuttle-photo figcaption span{font-size:.875rem;letter-spacing:.1em}.arrival-shuttle-photo figcaption strong{font:400 2.8rem/1.1 var(--serif)}.arrival-page .shuttle-quote{border-top:5px solid var(--orange);box-shadow:0 12px 35px #092f3f12}.arrival-coast-photos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:35px 0 45px}.arrival-coast-photos figure{margin:0}.arrival-coast-photos img{width:100%;height:230px;object-fit:cover}.arrival-coast-photos figure:first-child img{object-position:center 65%}.arrival-coast-photos figcaption{font-size:.875rem;padding-top:12px}.arrival-page .road-stops article{border-top:2px solid #68b1b9;padding-top:25px}.arrival-page .road-stops article>span{font-size:.8rem;letter-spacing:.1em}.arrival-page .travel-table thead th{background:#092f3f;color:white}.arrival-page .travel-table tbody tr:nth-child(even){background:#edf3f3}.arrival-finish{position:relative;min-height:460px;display:flex;align-items:center;margin-top:35px;overflow:hidden;color:white}.arrival-finish>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.arrival-finish:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#052532ce,#05253210)}.arrival-finish>.wrap{position:relative;z-index:1;padding-block:65px}.arrival-finish h2{color:white;margin-bottom:18px}.arrival-finish p{color:#edf6f6}.arrival-finish .button{margin-top:18px}.arrival-photo-credits{margin-bottom:45px}
@media(max-width:850px){.arrival-intro{grid-template-columns:1fr;gap:35px;padding-block:45px 55px}.arrival-collage{max-width:650px;width:100%}.arrival-wide img{height:350px}.arrival-coast-photos{grid-template-columns:1fr 1fr}.arrival-coast-photos figure:last-child{grid-column:1/-1}.arrival-coast-photos figure:last-child img{height:200px;max-width:400px}.arrival-stamp{right:8%}}
@media(max-width:500px){.arrival-collage{padding-left:12px}.arrival-wide img{height:280px}.arrival-inset{width:57%}.arrival-inset img{height:130px}.arrival-stamp{width:90px;height:90px;right:5px;font-size:1.15rem}.arrival-stamp small{font-size:.6rem}.arrival-page #airports .airport-grid article{padding:24px}.arrival-ticket-top .airport-code{font-size:3rem}.arrival-shuttle-photo{height:250px}.arrival-shuttle-photo figcaption{left:22px;bottom:25px;right:20px}.arrival-shuttle-photo figcaption strong{font-size:2.1rem}.arrival-coast-photos{grid-template-columns:1fr}.arrival-coast-photos figure:last-child{grid-column:auto}.arrival-coast-photos img{height:250px}.arrival-coast-photos figure:last-child img{max-width:none}.arrival-finish{min-height:420px}.arrival-finish:after{background:#05253288}}

/* Shared nearby destinations on the satellite map. */
.resort-places{padding:22px 0;border-bottom:1px solid #d9e3e3}.resort-places summary{cursor:pointer;font-weight:700;font-size:1.1rem}.resort-place-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.resort-place-list button{font:inherit;font-size:14px;padding:9px 13px;border:1px solid #b8cfce;border-radius:24px;background:white;color:#123e43;cursor:pointer}.resort-place-list button:hover,.resort-place-list button:focus-visible{background:#123e43;color:white}.resort-place-popup{font:14px/1.5 Arial,sans-serif;color:#163b3e}.resort-place-popup img{width:100%;height:140px;object-fit:cover;border-radius:6px;margin-bottom:10px}.resort-place-popup strong{display:block;font-size:17px;padding-right:12px}.resort-place-popup p{margin:8px 0}.resort-place-popup a{color:#176c6c;font-weight:700}

.guide-cover.guide-cover-photo{padding:0;aspect-ratio:auto;overflow:hidden;background:#092f3f}.guide-cover-photo img{display:block;width:100%;height:auto;object-fit:contain}

.guide-cover.guide-cover-photo{aspect-ratio:3/4;display:block;align-self:stretch}.guide-cover-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.phase-update{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.phase-update>div{padding:25px;border:1px solid var(--line);background:white}.phase-update h3{margin-bottom:18px}@media(max-width:800px){.phase-update{grid-template-columns:1fr}.guide-cover.guide-cover-photo{max-width:100%;width:100%}}

.surf-break-pin{background:var(--surf-color);color:white;border:2px solid white;border-radius:18px;padding:7px 11px;font:700 14px/1.2 var(--sans);box-shadow:0 2px 9px #0007;white-space:nowrap;cursor:pointer}.surf-break-pin:focus-visible{outline:3px solid #ffe773;outline-offset:3px}.resort-place-list .surf-list-button{border-left:7px solid var(--surf-color)}.surf-places .fine{margin:12px 0}.surf-places>.button{font-size:14px;padding:10px 16px}

.whatsapp-float{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#25d366;color:white;border-radius:50%;z-index:80;box-shadow:0 4px 18px #0004;transition:transform .2s,background .2s}.whatsapp-float svg{width:32px;height:32px}.whatsapp-float:hover{background:#1fba59;transform:translateY(-3px)}.whatsapp-float:focus-visible{outline:3px solid var(--ink);outline-offset:4px}@media(max-width:650px){.whatsapp-float{width:56px;height:56px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}

/* Keep both brand lines anchored to the same left edge. */
.site-header .brand-type{align-items:flex-start;text-align:left;min-width:0}.site-header .brand-type strong,.site-header .brand-type span{display:block;margin-left:0;padding-left:0;text-indent:0;transform:none}.site-header .brand-type strong{letter-spacing:-.045em}.site-header .brand-type span{align-self:flex-start}
.ownership-map-link{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-block:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ownership-map-link h2{font-size:clamp(2.3rem,3.5vw,3.7rem)}.ownership-map-link p{max-width:560px}.ownership-map-link .eyebrow{margin-bottom:16px}@media(max-width:700px){.ownership-map-link{grid-template-columns:1fr;gap:24px;padding-block:36px}}
.home-shop{border-top:1px solid var(--line)}.shop-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:24px}.shop-controls{display:flex;gap:10px}.shop-controls[hidden]{display:none}.shop-controls button{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:1.5rem;display:grid;place-items:center}.shop-controls button:hover:not(:disabled){background:var(--ink);color:white}.shop-controls button:disabled{opacity:.3;cursor:default}.shop-track{list-style:none;margin:0;padding:0 0 18px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9badae transparent;overscroll-behavior-x:contain}.shop-card{scroll-snap-align:start;min-width:0}.shop-card>a{display:block;height:100%}.shop-photo{aspect-ratio:1;background:#f0f2f0;overflow:hidden}.shop-photo img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.shop-card a:hover img{transform:scale(1.04)}.shop-card-copy{padding-top:19px}.shop-card h3{font:550 1rem/1.4 var(--sans);letter-spacing:0;min-height:2.8em;margin-bottom:8px}.shop-card p{font-size:1rem;margin-bottom:9px}.shop-card p span{font-size:.875rem;color:var(--muted)}.shop-product-link{font-size:.875rem;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:3px}.shop-foot{display:flex;justify-content:space-between;gap:24px;margin-top:16px;color:var(--muted)}.shop-foot p{font-size:.875rem;max-width:520px;margin-bottom:0}.shop-controls button:focus-visible,.shop-card a:focus-visible,.shop-track:focus-visible{outline:3px solid var(--orange);outline-offset:4px}@media(max-width:1000px){.shop-track{grid-auto-columns:calc((100% - 48px)/3)}}@media(max-width:700px){.home-shop .section-head{align-items:flex-start;gap:24px}.shop-heading-actions{align-items:flex-start}.shop-track{grid-auto-columns:78%;gap:18px}.shop-foot{flex-direction:column;gap:8px}.shop-controls button{width:44px;height:44px}.shop-card h3{min-height:0}}@media(prefers-reduced-motion:reduce){.shop-photo img{transition:none}}

.footer-properties{margin-top:40px;padding-top:30px;border-top:1px solid #ffffff26}.footer-properties h2{font-family:var(--sans);font-size:1rem;font-weight:550;letter-spacing:0;line-height:1.5;margin:0 0 20px}.footer-property-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}.footer-property-links a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:fit-content}.footer-property-links strong{font-size:1rem;font-weight:550}.footer-property-links span{font-size:.875rem;color:#b6ccd3}.footer-property-links a:hover strong{text-decoration:underline;text-underline-offset:4px}.footer-property-links a:focus-visible{outline:2px solid white;outline-offset:6px}.footer-properties+.footer-bottom{margin-top:30px}@media(max-width:600px){.footer-property-links{grid-template-columns:1fr;gap:24px}}
.gather-hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:580px;background:#edf3f4}.gather-hero-copy{width:auto;margin:0;padding:74px 7vw 70px 5vw;align-self:center}.gather-hero h1{font-size:clamp(3.25rem,4.8vw,5.8rem);line-height:1.04}.gather-hero-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.7;margin:28px 0}.gather-hero-photo{position:relative;margin:0;min-height:560px}.gather-hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.gather-hero-photo figcaption{position:absolute;bottom:16px;right:16px;left:16px;width:fit-content;background:#072a38dd;color:white;padding:7px 12px;font-size:.8125rem}.gather-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-block:90px 60px}.gather-intro>div:last-child{color:var(--muted)}.gather-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-bottom:80px}.gather-pillars article{border-top:1px solid #bdcdcf;padding-top:28px}.gather-pillars h2{font:500 1.65rem/1.2 var(--sans);letter-spacing:-.025em;margin:14px 0 20px}.gather-pillars p{color:var(--muted)}.gather-setting{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-block:20px 60px}.gather-setting figure{margin:0}.gather-setting img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.gather-setting figcaption{font-size:.8125rem;color:var(--muted);padding-top:8px}.gather-setting h2{margin-bottom:28px}.gather-setting p{color:var(--muted)}.event-types{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:48px;padding:0;margin:0}.event-types a{display:grid;grid-template-columns:30px 1fr 20px;gap:14px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);font-size:1rem}.event-types a>span:first-child{font-size:.8125rem;color:var(--muted)}.event-types a:hover{color:var(--orange);border-color:var(--orange)}.gather-enquiry-section{background:#edf3f4;padding:85px 0}.gather-enquiry-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.gather-enquiry-grid h2{margin-bottom:28px}.gather-enquiry-grid>div>p{max-width:420px}.gather-enquiry-grid .contact-form{background:white;padding:35px;border-radius:6px;min-width:0}.gather-enquiry-grid label span{font-weight:400;color:var(--muted);font-size:.875rem}.gather-contact-note{margin-top:24px}.gather-contact-note a{text-decoration:underline}.gather-enquiry-grid .text-link{overflow-wrap:anywhere;font-size:1rem}.gather-enquiry-grid input,.gather-enquiry-grid select{min-width:0;width:100%}#event-enquiry{scroll-margin-top:30px}#event-status{font-size:.875rem;margin-top:18px}#event-status:empty{display:none}.event-types a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(max-width:1320px){.site-header nav{display:none}.site-header .menu-button{display:block}}@media(max-width:900px){.gather-hero{grid-template-columns:1fr}.gather-hero-copy{padding:55px 7%}.gather-hero-photo{min-height:420px}.gather-intro,.gather-setting,.gather-enquiry-grid{grid-template-columns:1fr;gap:32px}.gather-pillars{gap:24px}.gather-enquiry-grid .contact-form{padding:28px}.gather-setting img{aspect-ratio:16/10}.gather-intro{padding-top:60px}}@media(max-width:600px){.gather-hero-photo{min-height:310px}.gather-hero h1{font-size:3.2rem}.gather-pillars,.event-types{grid-template-columns:1fr}.gather-pillars{gap:20px;padding-bottom:40px}.gather-enquiry-section{padding:50px 0}.gather-enquiry-grid .contact-form{padding:22px 18px}.gather-enquiry-grid .button{width:100%;gap:12px}.gather-setting{padding-bottom:20px}.event-types a{padding-block:17px}}

.supplied-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-bottom:60px}.supplied-photo-pair figure{margin:0;min-width:0}.supplied-photo-pair img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.supplied-photo-pair figcaption{padding-top:12px;font-size:.9375rem;color:var(--muted)}.resort-arrival-photos{padding-top:10px}.gather-coast-photos{padding-bottom:70px}@media(max-width:700px){.supplied-photo-pair{grid-template-columns:1fr;gap:28px;padding-bottom:40px}}

.occasion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.occasion-card{position:relative;display:block;padding:30px 24px 65px;background:#edf3f4;border-radius:8px;border:1px solid #dbe5e6;transition:background .2s,border-color .2s}.occasion-card:nth-child(2){background:#f2eee7}.occasion-card:nth-child(3){background:#e8efed}.occasion-card:nth-child(4){background:#e9eef5}.occasion-label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.08em;margin-bottom:24px;color:var(--muted)}.occasion-card h3{font-family:var(--serif);font-size:1.9rem;margin-bottom:14px}.occasion-card p{font-size:.9375rem;line-height:1.6;color:var(--muted);margin:0}.occasion-arrow{position:absolute;bottom:22px;right:24px;font-size:1.5rem;color:var(--orange)}.occasion-card:hover{border-color:var(--orange);background:#dfeeed}.occasion-card:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.occasion-note{margin-top:20px;color:var(--muted);font-size:.9375rem}.event-form-simple label{margin-bottom:20px}.event-form-simple input,.event-form-simple select,.event-form-simple textarea{border-radius:5px}.event-form-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.event-form-actions .button{border-radius:5px}.event-whatsapp{border:0;background:none;padding:10px 0;font-size:.9375rem;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.event-send-note{margin:18px 0 0;font-size:.8125rem;color:var(--muted)}@media(max-width:1050px){.occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.occasion-grid{gap:12px}.occasion-card{padding:22px 16px 50px}.occasion-card h3{font-size:1.5rem}.occasion-label{font-size:.7rem;letter-spacing:.04em;margin-bottom:16px}.occasion-card p{font-size:.875rem}.event-form-actions{gap:8px}}

/* Shared compact Surf Ranch header. */
@font-face{font-family:Barlow;src:url('/fonts/barlow-600.woff2');font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url('/fonts/barlow-800.woff2');font-weight:800;font-display:swap}
.site-header,.site-header.over-hero{height:64px;padding:0 max(24px,calc((100% - 1232px)/2));gap:24px;background:#082b38;color:white;border:0;font-family:Barlow,Arial,sans-serif}
.site-header .wordmark{gap:8px}.site-header .brand-bull{width:36px;height:36px;filter:brightness(0) invert(1)}
.site-header .brand-type{display:flex;flex-direction:column;gap:3px;line-height:1.25}
.site-header .brand-type strong{font:800 14px/1.25 Barlow,Arial,sans-serif;letter-spacing:1.4px}
.site-header .brand-type span{font:600 12px/1.25 Barlow,Arial,sans-serif;letter-spacing:2.4px;color:#008b91;margin:0;white-space:nowrap}
.site-header nav{gap:28px}.site-header nav a,.site-header nav summary{font:600 14px/1.5 Barlow,Arial,sans-serif;letter-spacing:.4px}
.site-header .book-button{padding:8px 20px;border-radius:2px;font-size:14px;background:#00868c}
.language-switch{display:flex;background:#ffffff1a;border:1px solid #ffffff33;border-radius:2px;overflow:hidden;flex-shrink:0}
.language-switch button{border:0;background:transparent;color:#ffffff99;padding:6px 12px;font:800 12px/1.5 Barlow,Arial,sans-serif;letter-spacing:1.2px}
.language-switch button[aria-pressed=true]{background:#00868c;color:white}
.mobile-menu{top:64px;max-height:calc(100svh - 64px)}
@media(max-width:600px){.site-header{padding:0 16px;gap:10px}.site-header .brand-type span{font-size:10px;letter-spacing:1.5px}.site-header .menu-button{font-size:0;padding:8px}.site-header .menu-button span{font-size:20px}.nav-actions{gap:8px}}
/* Centered date and guest dialogs with a soft backdrop. */
dialog.date-calendar,dialog.guest-picker-dialog{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 48px);max-width:calc(100vw - 32px);border:1px solid #e7dce9;border-radius:22px;padding:28px;background:#fff;color:var(--ink);box-shadow:0 28px 100px #071e2a55;overflow:auto}
dialog.date-calendar:not([open]),dialog.guest-picker-dialog:not([open]){display:none}
dialog.date-calendar::backdrop,dialog.guest-picker-dialog::backdrop{background:#071e2a66;backdrop-filter:blur(5px)}
.calendar-head strong{font-weight:600;font-size:24px}.calendar-head span{color:#942565}.calendar-close{background:#f5f0f6;width:40px;height:40px}.calendar-days button.selected{background:#942565}.calendar-days button.in-range{background:#f1e5f1}.calendar-days button.selected.in-range{background:#942565}.calendar-foot{background:#f7f4f8;border:0;border-radius:12px;padding:16px}.calendar-days button:focus-visible,.guest-picker-trigger:focus-visible{outline:2px solid #942565;outline-offset:3px}
.bookingbar select[hidden]{display:none}.guest-picker-trigger{border:0;padding:0;background:transparent;color:var(--ink);text-align:left;font-size:.95rem;text-transform:none;letter-spacing:0;min-height:29px;width:100%}
dialog.guest-picker-dialog{width:420px}.guest-picker-hint{font-size:14px;color:var(--muted);margin:18px 0 28px}.guest-stepper{display:flex;gap:16px;align-items:center;padding:20px 0;border-block:1px solid #ece5ee}.guest-stepper>span{margin-right:auto;font-weight:600}.guest-stepper button{width:40px;height:40px;border:1px solid #dccde0;border-radius:50%;background:#fff;color:#942565;font-size:24px}.guest-stepper button:disabled{opacity:.3}.guest-stepper output{font-size:22px;min-width:30px;text-align:center;font-weight:600}.guest-done{width:100%;margin-top:26px;border:0;border-radius:10px;padding:14px;background:#942565;color:#fff;font-weight:600}
@media(max-width:650px){dialog.date-calendar,dialog.guest-picker-dialog{padding:20px}.calendar-head strong{font-size:21px}}

/* Small-screen controls and long content must fit without clipping. */
.mobile-menu{overflow-y:auto;overscroll-behavior:contain}
.po-footer-columns>*{min-width:0}
@media(max-width:600px){
 .site-header,.site-header.over-hero{padding-inline:12px;gap:8px}
 .site-header .brand-type strong{font-size:12px}
 .language-switch button{padding:10px 8px;min-height:44px}
 .menu-button{min-width:44px;min-height:44px}
 input,select,textarea{font-size:16px}
 .contact-form,.enquiry-box,.detail-layout>*{min-width:0;max-width:100%;box-sizing:border-box}
 .occasion-grid{grid-template-columns:1fr}
 .hero-content h1{overflow-wrap:break-word}
}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:120ms}}

/* EN/ES labels share stable columns, including narrow phones. */
.bookingbar{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.8fr) minmax(190px,1.2fr)}
.bookingbar>*,.bookingbar label{min-width:0}
.bookingbar .button{white-space:normal;line-height:1.4;text-align:center;justify-content:center}
@media(max-width:800px){.bookingbar{grid-template-columns:repeat(2,minmax(0,1fr))}.bookingbar .button{min-height:60px;margin:0}}
@media(max-width:380px){.site-header .brand-type strong{font-size:11px;letter-spacing:.8px}.site-header .brand-bull{width:28px;height:28px}.site-header .nav-actions{gap:4px}}
