@import url('./fonts.css');
:root{--paper:#f5f3ec;--white:#fffefa;--ink:#153e39;--muted:#54645c;--accent:#b65c38;--line:#d8ddd3;--soft:#e5e9e0;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}body.waikiki{--paper:#fff9ed;--white:#fffcf5;--ink:#163e45;--muted:#576869;--accent:#ae4c32;--line:#e4dfce;--soft:#f4ead2}a{color:inherit;text-underline-offset:5px}img{display:block;width:100%;height:auto}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c77d21;outline-offset:5px}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.wrap{max-width:var(--max);margin:auto;padding:0 44px}header{height:98px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;flex-shrink:0}.brand svg{width:44px;height:44px}.brand-name{font:27px/1.15 var(--serif);display:block;letter-spacing:-.6px}.brand-small{font:9px/1.4 var(--sans);letter-spacing:2.6px;text-transform:uppercase;display:block;margin-top:5px}.nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600}.nav a{text-decoration:none}.nav a:not(.btn):hover,.nav a[aria-current=page]:not(.btn){text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:49px;padding:12px 22px;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:var(--white);font-size:13px;font-weight:600;letter-spacing:.2px;transition:background .15s,transform .15s}.btn:hover{background:#24574e;transform:translateY(-2px)}.btn.light{background:var(--white);color:var(--ink);border-color:var(--white)}.btn.outline{background:transparent;color:var(--ink)}.btn.outline:hover{background:var(--soft)}.btn.ghost{color:white;border-color:#ffffff90;background:transparent}.btn.ghost:hover{background:#ffffff20}.menu-toggle{display:none;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:8px 12px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;margin:0 0 20px}.hero{position:relative;min-height:650px;height:calc(100svh - 98px);max-height:900px;display:flex;align-items:flex-end;color:white;isolation:isolate}.hero>.hero-photo{position:absolute;inset:0;z-index:-2;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,30,24,.69),rgba(9,30,24,.07)),linear-gradient(0deg,rgba(9,30,24,.4),transparent 65%);z-index:-1}.hero-copy{width:100%;padding-top:90px;padding-bottom:85px}.hero h1{font:clamp(52px,6.7vw,92px)/1.02 var(--serif);font-weight:400;letter-spacing:-2.8px;max-width:800px;margin:0 0 24px}.hero h1 em{font-weight:400;color:#e5d7ac}.hero p.lead{max-width:550px;font-size:18px;line-height:1.65;margin:0 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero-caption{position:absolute;right:30px;bottom:23px;font-size:10px;letter-spacing:1.1px;text-transform:uppercase}.island-hero{display:grid;grid-template-columns:46% 54%;max-width:1600px;margin:auto;min-height:690px}.island-copy{padding:80px max(38px,calc((100vw - 1152px)/2)) 70px;padding-right:42px;display:flex;flex-direction:column;justify-content:center}.island-copy h1{font:clamp(55px,5.6vw,83px)/1.04 var(--serif);letter-spacing:-2.4px;margin:0 0 24px}.island-copy h1 em{color:var(--accent);font-weight:400}.island-copy .lead{font-size:17px;max-width:450px;margin:0 0 26px}.island-media{position:relative;min-width:0}.island-media>img{height:100%;object-fit:cover}.postcard{position:absolute;bottom:30px;left:-35px;background:var(--white);width:200px;padding:8px;transform:rotate(-5deg);box-shadow:0 12px 28px #153e3925}.postcard img{aspect-ratio:4/3;object-fit:cover}.postcard p{font:18px/1.4 var(--serif);text-align:center;margin:6px}.island-copy .mini-note{margin-top:24px;font-size:11px;letter-spacing:1px;text-transform:uppercase}.factbar{border-bottom:1px solid var(--line)}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0;text-align:center}.fact{border-right:1px solid var(--line);padding:0 10px}.fact:last-child{border:0}.fact b{display:block;font:27px/1.3 var(--serif);font-weight:400}.fact span{font-size:10px;text-transform:uppercase;letter-spacing:1.6px}.section{padding:95px 0}.section.soft{background:var(--soft)}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}.section h2,.page-title{font:clamp(35px,4.2vw,57px)/1.12 var(--serif);letter-spacing:-1.2px;margin:0 0 24px;font-weight:400}.section h3{font:26px/1.25 var(--serif);font-weight:400;margin:18px 0 12px}.body-copy p{margin:0 0 18px}.text-link{font-size:13px;font-weight:700;display:inline-block;margin-top:12px}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}.feature{border-top:1px solid var(--ink);padding-top:23px}.feature .number{font:12px var(--sans);letter-spacing:2px;color:var(--muted)}.feature p{font-size:14px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:400px;margin:0}.editorial-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.editorial-grid figure{margin:0}.editorial-grid img{height:420px;object-fit:cover}.editorial-grid figure:nth-child(2) img{height:340px}.editorial-grid figure:nth-child(2){padding-top:80px}figcaption{font-size:12px;color:var(--muted);padding-top:10px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split>.photo img{aspect-ratio:1/1;object-fit:cover}.pill-list{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:25px 0;list-style:none}.pill-list li{font-size:12px;padding:6px 13px;border:1px solid var(--line);border-radius:30px}.quote-strip{text-align:center;background:var(--ink);color:var(--white);padding:64px 30px}.quote-strip p{font:clamp(28px,3.4vw,46px)/1.3 var(--serif);max-width:870px;margin:0 auto}.quote-strip span{font-size:10px;text-transform:uppercase;letter-spacing:2px;display:block;margin-top:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:var(--white);border:1px solid var(--line)}.card img{aspect-ratio:4/3;object-fit:cover}.card-copy{padding:25px}.card h3{margin:0 0 15px}.card p{font-size:14px;color:var(--muted)}.booking-section{padding:85px 0;background:var(--ink);color:var(--white)}.booking-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.booking-section h2{font:clamp(36px,4.2vw,58px)/1.1 var(--serif);margin:0 0 16px;letter-spacing:-1px}.booking-section p{font-size:15px;max-width:480px}.booking-section small{display:block;font-size:12px;color:#d4ded8;margin-top:15px}.booking-section .btn.ghost:hover{background:#ffffff20}.booking-note{font-size:13px!important}.footer{padding:55px 0 26px}.footer-top{display:flex;justify-content:space-between;gap:35px;margin-bottom:35px}.footer-links{display:flex;flex-wrap:wrap;gap:22px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--muted)}.footer-small{font-size:11px;color:var(--muted);max-width:700px}.mobile-book{display:none}.page-head{padding:65px 0 50px}.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:30px}.page-head .lead{font-size:18px;max-width:740px;margin-bottom:0}.page-banner img{max-height:580px;object-fit:cover;aspect-ratio:2.2/1}.page-banner figcaption{padding-left:44px}.page-banner{margin:0}.article-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(220px,1fr);gap:70px}.article h2{font-size:35px;margin:48px 0 20px}.article h2:first-child{margin-top:0}.article h3{font-size:24px;margin-top:32px}.article p{margin:0 0 18px}.article ul{padding-left:22px}.article li{margin-bottom:10px}.aside{background:var(--soft);padding:30px;align-self:start;position:sticky;top:30px}.aside h2{font-size:28px}.aside a:not(.btn){display:block;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.aside .btn{margin-top:25px;width:100%}.aside p{font-size:13px}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.room{border-bottom:1px solid var(--line);padding-bottom:25px}.room img{aspect-ratio:3/2;object-fit:cover}.room p{font-size:14px}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.amenity-grid ul{padding-left:18px;font-size:14px}.amenity-grid li{margin:10px 0}.amenity-grid h3{margin-top:0}.notice{padding:22px 26px;border-left:3px solid var(--accent);background:var(--soft);font-size:14px;margin-top:30px}.faq{max-width:850px;margin:auto}details{border-bottom:1px solid var(--line);padding:23px 0}summary{font-size:18px;font-weight:500;cursor:pointer;list-style:none;padding-right:40px;position:relative}summary:after{content:'+';position:absolute;right:0;font-size:24px;top:-6px}details[open] summary:after{content:'−'}details p{color:var(--muted);margin:18px 40px 0 0;font-size:15px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filter-bar button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:9px 20px;border-radius:24px;font-size:13px}.filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-grid figure{margin:0}.gallery-grid button{padding:0;border:0;background:none;width:100%;overflow:hidden;display:block}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.gallery-grid button:hover img{transform:scale(1.035)}[hidden]{display:none!important}.lightbox{border:0;background:#101d1c;color:white;padding:20px;width:min(1100px,96vw);max-height:94svh}.lightbox::backdrop{background:#00110deb}.lightbox img{max-height:72svh;object-fit:contain}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dialog-top p{margin:0;font-size:12px}.lightbox button{color:white;border:1px solid #ffffff70;background:transparent;padding:7px 15px}.dialog-bottom{display:flex;align-items:center;gap:18px;justify-content:space-between;margin-top:15px}.dialog-bottom p{font-size:13px;flex:1;text-align:center;margin:0}.guide-link{padding:22px 0;border-bottom:1px solid var(--line)}.guide-link h3{margin-top:0}.guide-link a{font-size:13px}.plain-list{list-style:none;padding:0!important}.plain-list li{padding:13px 0;border-bottom:1px solid var(--line)}.reading-width{max-width:850px}.label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.season-row{display:grid;grid-template-columns:70px 1fr;gap:20px;margin-top:24px;border-top:1px solid var(--line);padding-top:22px}.season-row b{font:32px var(--serif);font-weight:400}.source-note{font-size:12px!important;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.island-copy{padding-left:80px}}
@media(max-width:1050px){.wrap{padding:0 28px}.nav{gap:17px}.brand-name{font-size:24px}.brand svg{width:34px}.nav .btn{padding:10px 15px}.hero{min-height:600px}.intro{gap:45px}.split{gap:35px}.island-copy{padding:60px 30px}.island-copy h1{font-size:62px}.postcard{width:165px;left:-20px}.article-grid{gap:35px}.editorial-grid img{height:350px}.editorial-grid figure:nth-child(2) img{height:280px}}
@media(max-width:800px){header{height:84px}.menu-toggle{display:block;font-size:12px}.nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:25px 28px;flex-direction:column;align-items:stretch;gap:20px;box-shadow:0 10px 20px #00000015}.nav.open{display:flex}.nav a{padding:4px}.nav .btn{padding:12px}.hero{height:650px;min-height:0}.hero-copy{padding-top:60px;padding-bottom:70px}.hero h1{font-size:65px;letter-spacing:-2px}.hero p.lead{font-size:16px;max-width:470px}.hero:after{background:linear-gradient(90deg,#102d25b8,#102d251f),linear-gradient(0deg,#102d2555,transparent)}.island-hero{grid-template-columns:1fr;min-height:0}.island-copy{padding:55px 28px 45px}.island-copy h1{font-size:66px;max-width:600px}.island-copy .lead{max-width:600px}.island-media{height:460px;margin:0 28px 25px}.postcard{left:auto;right:20px;bottom:-20px;width:160px}.section{padding:65px 0}.intro,.split,.booking-section .wrap,.article-grid{grid-template-columns:1fr;gap:30px}.intro h2{max-width:600px}.feature-list{gap:20px}.section h2{font-size:42px}.section-heading{display:block}.section-heading p{margin-top:20px;max-width:none}.cards{grid-template-columns:1fr 1fr}.cards .card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.cards .card:last-child img{height:100%}.aside{position:static}.gallery-grid{grid-template-columns:repeat(2,1fr)}.amenity-grid{grid-template-columns:repeat(2,1fr)}.footer-top{flex-direction:column}.footer-bottom{flex-direction:column;gap:10px}.page-head{padding:40px 0}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -3px 16px #0000000a}.mobile-book span{font-size:12px}.mobile-book .btn{min-height:43px;padding:8px 17px}.footer{padding-bottom:110px}.article h2{font-size:33px}.page-banner figcaption{padding-left:28px}}
@media(max-width:520px){.wrap{padding:0 22px}.brand-name{font-size:23px}.brand-small{font-size:8px;letter-spacing:2px}.brand{gap:8px}.brand svg{width:32px}.header-inner{gap:12px}.hero{height:610px}.hero h1{font-size:53px;max-width:360px}.hero .lead{max-width:330px}.hero-caption{font-size:8px;right:20px;bottom:15px}.hero .actions{gap:10px}.btn{padding:12px 17px;font-size:12px}.island-copy{padding:43px 22px 35px}.island-copy h1{font-size:58px}.island-media{height:360px;margin:0 22px 25px}.postcard{width:135px;right:10px}.postcard p{font-size:16px}.facts{grid-template-columns:repeat(2,1fr);padding:10px 0}.fact{padding:16px 8px}.fact:nth-child(2){border:0}.fact b{font-size:24px}.fact span{font-size:9px}.feature-list{grid-template-columns:1fr;margin-top:30px}.feature{padding-top:16px}.feature h3{margin-top:10px}.section h2{font-size:36px}.editorial-grid{grid-template-columns:1fr}.editorial-grid img{height:auto;aspect-ratio:4/3}.editorial-grid figure:nth-child(2){padding-top:0}.editorial-grid figure:nth-child(2) img{height:auto;aspect-ratio:4/3}.cards,.cards .card:last-child{display:block}.card{margin-bottom:22px}.cards .card:last-child img{height:auto}.booking-section{padding:60px 0}.booking-section .wrap{gap:20px}.booking-section h2{font-size:40px}.room-grid{grid-template-columns:1fr}.amenity-grid{grid-template-columns:1fr;gap:24px}.gallery-grid{gap:18px 12px}.gallery-grid figcaption{font-size:10px}.filter-bar{gap:7px}.filter-bar button{padding:7px 13px;font-size:12px}.page-title{font-size:44px}.page-head .lead{font-size:16px}.page-banner img{aspect-ratio:4/3}.page-banner figcaption{padding-left:22px}.footer-links{gap:14px}.lightbox{padding:12px}.dialog-bottom{gap:8px}.dialog-bottom p{font-size:11px}.dialog-bottom button{padding:7px 10px}.eyebrow{font-size:10px;letter-spacing:2px}.quote-strip{padding:45px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
