:root{--pine-950:#102c2a;--pine-900:#173b37;--pine-800:#214a45;--pine-700:#315f58;--mint-500:#7db9aa;--mint-300:#b7d6cd;--sand-50:#fbfaf7;--sand-100:#f4f0e8;--sand-200:#e9e1d4;--clay-500:#b96f53;--ink:#17302e;--muted:#64716f;--white:#fff;--border:#173b3729;--shadow:0 24px 70px #122a271f;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:999px;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--page:min(1320px, calc(100vw - 64px));--header-height:92px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--sand-50)}body{color:var(--ink);background:var(--sand-50);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img{max-width:100%;display:block}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}p,h1,h2,h3,dl,dd,figure{margin:0}h1,h2,h3{text-wrap:balance}::selection{color:var(--white);background:var(--pine-700)}:focus-visible{outline:3px solid var(--clay-500);outline-offset:4px}.page-shell{width:var(--page);margin-inline:auto}.section-space{padding-block:clamp(84px,10vw,150px)}.skip-link{z-index:1000;color:var(--white);background:var(--pine-900);border-radius:var(--radius-sm);padding:12px 18px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow,.section-kicker,.footer-label,.mobile-menu-kicker{color:var(--mint-500);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:700;line-height:1.4}.button{border:1px solid var(--pine-900);border-radius:var(--radius-pill);min-height:52px;color:var(--white);background:var(--pine-900);letter-spacing:.05em;justify-content:center;align-items:center;padding:13px 24px;font-size:.82rem;font-weight:700;line-height:1;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}.button:hover{color:var(--pine-900);background:0 0;transform:translateY(-2px)}.button-small{min-height:42px;padding:10px 19px}.button-light{color:var(--pine-900);background:var(--white);border-color:var(--white)}.button-light:hover{color:var(--white);border-color:var(--white);background:0 0}.text-link{color:var(--pine-900);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:10px;font-size:.8rem;font-weight:700;line-height:2;display:inline-flex}.text-link span{transition:transform .18s}.text-link:hover span{transform:translate(3px,-3px)}.site-header{z-index:100;height:var(--header-height);backdrop-filter:blur(16px);background:#fbfaf7eb;border-bottom:1px solid #0000;transition:transform .24s,box-shadow .24s,border-color .24s;position:fixed;inset:0 0 auto}.site-header.is-scrolled{border-color:var(--border);box-shadow:0 8px 34px #173b3712}.site-header.is-hidden{transform:translateY(-105%)}.header-shell{width:var(--page);grid-template-columns:auto 1fr auto;align-items:center;gap:44px;height:100%;margin-inline:auto;display:grid;position:relative}.brand{align-items:center;display:inline-flex}.brand img{width:145px;height:auto}.desktop-nav{justify-content:center;align-items:center;gap:clamp(18px,2.5vw,38px);display:flex}.desktop-nav>a,.nav-more>button{color:var(--ink);letter-spacing:.035em;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:.76rem;font-weight:650;position:relative}.desktop-nav>a:after,.nav-more>button:after{content:"";background:var(--pine-700);transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:3px;left:0;right:0;transform:scaleX(0)}.desktop-nav>a:hover:after,.desktop-nav>a[aria-current=page]:after,.nav-more>button:hover:after{transform-origin:0;transform:scaleX(1)}.nav-more{position:relative}.nav-popover{border:1px solid var(--border);background:var(--white);min-width:220px;box-shadow:var(--shadow);opacity:0;pointer-events:none;padding:12px;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:calc(100% + 20px);left:50%;transform:translate(-50%,8px)}.nav-popover.is-open{opacity:1;pointer-events:auto;transform:translate(-50%)}.nav-popover a{padding:10px 12px;font-size:.8rem}.nav-popover a:hover,.nav-popover a[aria-current=page]{background:var(--sand-100)}.header-actions{align-items:center;gap:18px;display:flex}.language-switcher{border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:3px;padding:3px;display:inline-flex}.language-switcher a{border-radius:var(--radius-pill);min-width:30px;min-height:28px;color:var(--muted);letter-spacing:.04em;justify-content:center;align-items:center;font-size:.66rem;font-weight:700;display:inline-flex}.language-switcher a:hover,.language-switcher a[aria-current=page]{color:var(--white);background:var(--pine-900)}.menu-toggle{border:1px solid var(--border);background:0 0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:none}.menu-toggle span{background:var(--pine-900);width:17px;height:1px;transition:transform .18s;position:absolute}.menu-toggle span:first-child{transform:translateY(-3px)}.menu-toggle span:last-child{transform:translateY(3px)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.mobile-menu{z-index:1;inset:var(--header-height) 0 auto;height:calc(100dvh - var(--header-height));overscroll-behavior:contain;color:var(--white);background:var(--pine-950);position:fixed;overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu-inner{min-height:calc(100vh - var(--header-height));flex-direction:column;width:min(100% - 40px,680px);margin-inline:auto;padding:50px 0 32px;display:flex}.mobile-menu nav{margin-top:28px;display:grid}.mobile-menu nav a{font-family:var(--serif);border-bottom:1px solid #ffffff1f;align-items:baseline;gap:20px;padding:10px 0;font-size:clamp(1.8rem,8vw,3.2rem);line-height:1.15;display:flex}.mobile-menu nav a span{color:var(--mint-500);font-family:var(--sans);letter-spacing:.1em;font-size:.65rem}.mobile-menu nav a[aria-current=page]{color:var(--mint-300)}.mobile-menu-footer{flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:auto;padding-top:34px;font-size:.8rem;display:flex}.mobile-languages{flex-wrap:wrap;gap:18px;display:flex}.mobile-languages a[aria-current=page]{color:var(--mint-300);text-underline-offset:.35em;text-decoration:underline}main{min-height:60vh}.home-hero{min-height:min(900px,100svh);padding-top:var(--header-height);background:var(--sand-50);grid-template-columns:minmax(440px,.95fr) minmax(520px,1.05fr);display:grid;position:relative}.home-hero-copy{z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;max-width:760px;margin-left:max(0px,50vw - 720px);padding:clamp(80px,8vw,140px) clamp(32px,4vw,72px);display:flex;position:relative}.home-hero h1{max-width:720px;font-family:var(--serif);letter-spacing:-.045em;margin-top:22px;font-size:clamp(3.75rem,5.2vw,5.75rem);font-weight:500;line-height:.98}.hero-lede{max-width:530px;color:var(--muted);margin-top:32px;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.7}.hero-actions{align-items:center;gap:28px;margin-top:42px;display:flex}.home-hero-media{border-radius:var(--radius-lg) 0 0 var(--radius-lg);min-height:640px;position:relative;overflow:hidden}.home-hero-media:after{content:"";background:linear-gradient(#102c2a05,#102c2a2e);position:absolute;inset:0}.home-hero-media>img{object-fit:cover;width:100%;height:100%}.hero-seal{z-index:2;width:140px;height:140px;color:var(--white);text-align:center;border:1px solid #ffffffb3;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1.2;display:flex;position:absolute;bottom:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px)}.hero-seal strong{font-family:var(--serif);font-size:2rem;font-weight:500}.hero-seal span{letter-spacing:.12em;text-transform:uppercase;font-size:.62rem}.facts-band{z-index:4;color:var(--white);background:0 0;position:relative}.facts-grid{border-radius:var(--radius-lg);background:var(--pine-900);min-height:136px;box-shadow:var(--shadow);grid-template-columns:repeat(4,1fr);align-items:stretch;margin-top:clamp(-56px,-4vw,-38px);padding:22px 24px;display:grid}.facts-grid>div{border-left:1px solid #ffffff29;flex-direction:column;justify-content:center;min-height:92px;padding:12px clamp(22px,3vw,44px);display:flex}.facts-grid>div:first-child{border-left:0}.facts-grid strong{font-family:var(--serif);font-size:clamp(2rem,3vw,3.4rem);font-weight:500;line-height:1}.facts-grid span{color:#ffffffb3;letter-spacing:.07em;text-transform:uppercase;margin-top:10px;font-size:.72rem}.section-heading{max-width:850px}.section-heading h2{font-family:var(--serif);letter-spacing:-.04em;margin-top:18px;font-size:clamp(2.8rem,5vw,5rem);font-weight:500;line-height:1}.feature-intro .section-heading{margin-left:min(10vw,150px)}.feature-grid{grid-template-columns:repeat(3,1fr);margin-top:clamp(70px,9vw,120px);display:grid}.feature-card{border-top:1px solid var(--border);border-right:1px solid var(--border);min-height:330px;padding:36px 44px 42px}.feature-card:last-child{border-right:0}.feature-number,.detail-card>span,.surrounding-card>span,.booking-terms article>span{border:1px solid var(--border);width:42px;height:42px;color:var(--pine-700);border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;display:inline-flex}.feature-card h3{font-family:var(--serif);margin-top:70px;font-size:clamp(1.6rem,2.4vw,2.3rem);font-weight:500;line-height:1.1}.feature-card p{color:var(--muted);margin-top:20px}.editorial-split{background:var(--sand-100);grid-template-columns:1.05fr .95fr;align-items:stretch;display:grid}.editorial-split.reverse{background:var(--white)}.editorial-split.reverse .editorial-image{order:2}.editorial-image{min-height:clamp(550px,60vw,820px)}.editorial-image img{object-fit:cover;width:100%;height:100%}.editorial-copy{flex-direction:column;justify-content:center;align-items:flex-start;max-width:660px;padding:clamp(70px,9vw,150px);display:flex}.editorial-copy h2{font-family:var(--serif);letter-spacing:-.045em;margin-top:22px;font-size:clamp(3rem,5vw,5.4rem);font-weight:500;line-height:.98}.editorial-copy>p:not(.eyebrow){color:var(--muted);margin-top:30px;font-size:1.05rem}.editorial-copy .text-link,.editorial-copy .button{margin-top:38px}.heading-row{justify-content:space-between;align-items:flex-end;gap:50px;max-width:none;display:flex}.stay-grid{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:64px;display:grid}.stay-card{border-radius:var(--radius-md);background:var(--pine-900);min-height:620px;position:relative;overflow:hidden}.stay-card:after{content:"";background:linear-gradient(#0000 48%,#091f1dd1);position:absolute;inset:0}.stay-card img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.65,.3,1)}.stay-card:hover img{transform:scale(1.04)}.stay-card div{z-index:2;color:var(--white);position:absolute;bottom:48px;left:48px;right:48px}.stay-card span{letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.stay-card h3{font-family:var(--serif);margin-top:8px;font-size:clamp(2.3rem,4vw,4rem);font-weight:500;line-height:1}.wide-cta{border-radius:var(--radius-lg);min-height:700px;color:var(--white);place-items:center;display:grid;position:relative;overflow:hidden}.wide-cta:after{content:"";background:#0d2a277a;position:absolute;inset:0}.wide-cta>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.wide-cta>div{z-index:2;text-align:center;max-width:700px;padding:50px;position:relative}.wide-cta h2{font-family:var(--serif);letter-spacing:-.05em;margin:24px 0 40px;font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.95}.page-hero{min-height:min(760px,88svh);padding-top:var(--header-height);background:var(--sand-100);grid-template-columns:minmax(420px,.85fr) minmax(520px,1.15fr);display:grid}.page-hero-copy{flex-direction:column;justify-content:center;max-width:760px;margin-left:max(0px,50vw - 720px);padding:clamp(80px,9vw,150px) clamp(32px,4vw,72px);display:flex}.page-hero h1{font-family:var(--serif);hyphens:auto;letter-spacing:-.04em;margin-top:20px;font-size:clamp(3.5rem,4.6vw,5.1rem);font-weight:500;line-height:1}.page-hero--long-word h1{letter-spacing:-.03em;font-size:clamp(3.25rem,4.05vw,4.55rem)}.page-hero-copy>p:last-child{max-width:580px;color:var(--muted);margin-top:34px;font-size:clamp(1rem,1.5vw,1.2rem)}.page-hero-media{border-radius:var(--radius-lg) 0 0 var(--radius-lg);min-height:580px;overflow:hidden}.page-hero-media img{object-fit:cover;width:100%;height:100%}.story-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.7fr);align-items:start;gap:clamp(70px,10vw,160px);display:grid}.rich-copy{max-width:760px}.rich-copy h2{font-family:var(--serif);letter-spacing:-.035em;margin:80px 0 24px;font-size:clamp(2.4rem,4vw,4rem);font-weight:500;line-height:1}.rich-copy h2:first-child{margin-top:0}.rich-copy p{color:var(--muted);margin-top:20px;font-size:1.04rem;line-height:1.85}.rich-copy .lead{color:var(--ink);font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.35}.rich-copy a{text-decoration:underline;text-decoration-color:var(--mint-500);text-underline-offset:4px}.story-aside{gap:28px;display:grid}.story-aside img{border-radius:var(--radius-md);object-fit:cover;width:100%;max-height:650px}.quote-card{border-radius:var(--radius-md);color:var(--white);background:var(--pine-900);padding:clamp(40px,5vw,70px)}.quote-card p{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.25}.room-intro{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(60px,8vw,130px);display:grid}.room-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-card{border-top:1px solid var(--border);border-right:1px solid var(--border);min-height:300px;padding:32px}.detail-card:nth-child(2n){border-right:0}.detail-card h3{font-family:var(--serif);margin-top:46px;font-size:2rem;font-weight:500;line-height:1.1}.detail-card p{color:var(--muted);margin-top:16px}.amenities-section,.availability-section{background:var(--sand-100)}.amenities-list{grid-template-columns:repeat(2,1fr);column-gap:70px;margin:64px 0 0;padding:0;list-style:none;display:grid}.amenities-list li{border-bottom:1px solid var(--border);padding:20px 16px 20px 34px;position:relative}.amenities-list li:before{border:1px solid var(--mint-500);content:"";border-radius:50%;width:9px;height:9px;position:absolute;top:26px;left:4px}.floorplan{border-radius:var(--radius-md);background:var(--white);grid-template-columns:.55fr 1fr;align-items:center;gap:50px;margin-top:80px;padding:clamp(40px,6vw,80px);display:grid}.floorplan h3{font-family:var(--serif);margin-top:14px;font-size:clamp(2rem,3vw,3.2rem);font-weight:500;line-height:1.05}.floorplan img{object-fit:contain;max-height:600px;margin-inline:auto}.image-ribbon{border-radius:var(--radius-md);grid-template-columns:repeat(4,1fr);min-height:400px;display:grid;overflow:hidden}.image-ribbon img{object-fit:cover;width:100%;height:100%;min-height:400px}.surroundings-grid{grid-template-columns:repeat(2,1fr);display:grid}.surrounding-card{border-top:1px solid var(--border);border-right:1px solid var(--border);min-height:370px;padding:clamp(36px,5vw,70px)}.surrounding-card:nth-child(2n){border-right:0}.surrounding-card h2{font-family:var(--serif);margin-top:54px;font-size:clamp(2rem,4vw,3.8rem);font-weight:500}.surrounding-card p{max-width:540px;color:var(--muted);margin-top:18px}.distance-strip{color:var(--white);background:var(--pine-900)}.distance-strip .page-shell{grid-template-columns:repeat(4,1fr);min-height:220px;display:grid}.distance-strip div div{border-right:1px solid #ffffff26;flex-direction:column;justify-content:center;padding:50px 35px;display:flex}.distance-strip div div:last-child{border-right:0}.distance-strip strong{font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);font-weight:500}.distance-strip span{color:#ffffffb3;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;margin-top:36px;display:grid}.price-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);flex-direction:column;min-height:520px;padding:clamp(32px,4vw,52px);display:flex}.price-card.featured{color:var(--white);background:var(--pine-900)}.price-card>p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.price-card.featured>p,.price-card.featured dt{color:#ffffff9e}.price-card h2{min-height:100px;font-family:var(--serif);margin-top:16px;font-size:clamp(2.2rem,3vw,3.5rem);font-weight:500;line-height:1}.price-card dl{gap:24px;margin-top:50px;display:grid}.price-card dl>div{border-bottom:1px solid;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:18px;display:flex}.price-card dt{color:var(--muted);text-transform:uppercase;font-size:.76rem}.price-card dd{font-family:var(--serif);font-size:1.25rem}.price-card .button{align-self:flex-start;margin-top:auto}.season-note{color:var(--muted);margin-top:28px;font-size:.86rem}.booking-terms{grid-template-columns:repeat(2,1fr);margin-top:90px;display:grid}.booking-terms article{border-top:1px solid var(--border);padding:40px 50px 40px 0}.booking-terms article+article{border-left:1px solid var(--border);padding-left:50px}.booking-terms h3{font-family:var(--serif);margin-top:32px;font-size:2rem;font-weight:500}.booking-terms p{max-width:520px;color:var(--muted);margin-top:12px}.availability-section .heading-row>p{max-width:510px;color:var(--muted)}.month-grid{grid-template-columns:repeat(3,1fr);margin-top:70px;display:grid}.month-grid a{border-top:1px solid var(--border);border-right:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px 20px;transition:color .18s,background .18s;display:flex}.month-grid a:nth-child(3n){border-right:0}.month-grid a:hover{color:var(--white);background:var(--pine-900)}.month-grid span{text-transform:capitalize}.month-grid strong{color:var(--mint-500);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.gallery-filters{flex-wrap:wrap;gap:8px;margin-bottom:40px;display:flex}.gallery-filters button{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;background:0 0;padding:10px 18px;font-size:.76rem;font-weight:700}.gallery-filters button.is-active,.gallery-filters button:hover{color:var(--white);border-color:var(--pine-900);background:var(--pine-900)}.gallery-grid{grid-auto-flow:dense;grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.gallery-item{border-radius:var(--radius-sm);background:var(--sand-200);cursor:zoom-in;border:0;min-height:300px;padding:0;position:relative;overflow:hidden}.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+5){grid-area:span 2/span 2;min-height:612px}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item span{border-radius:var(--radius-sm);color:var(--white);opacity:0;background:#102c2ad1;padding:12px 14px;font-size:.72rem;transition:opacity .18s,transform .18s;position:absolute;bottom:14px;left:14px;right:14px;transform:translateY(8px)}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:hover span{opacity:1;transform:translateY(0)}.lightbox{width:min(1000px,100vw - 80px);max-width:none;height:min(820px,100vh - 80px);max-height:none;color:var(--white);background:0 0;border:0;padding:0;overflow:visible}.lightbox::backdrop{backdrop-filter:blur(10px);background:#071816eb}.lightbox figure{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.lightbox figure img{border-radius:var(--radius-sm);object-fit:contain;max-width:100%;max-height:calc(100% - 60px)}.lightbox figcaption{color:#ffffffbf;text-align:center;min-height:48px;padding-top:18px}.lightbox-close,.lightbox-nav{z-index:2;width:48px;height:48px;color:var(--white);cursor:pointer;background:#102c2a66;border:1px solid #ffffff73;border-radius:50%;place-items:center;display:grid;position:absolute}.lightbox-close{font-size:1.8rem;top:-18px;right:-18px}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-nav.previous{left:-70px}.lightbox-nav.next{right:-70px}.faq-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);align-items:start;gap:clamp(50px,8vw,120px);display:grid}.faq-list details{border-top:1px solid var(--border)}.faq-list details:last-child{border-bottom:1px solid var(--border)}.faq-list summary{min-height:86px;font-family:var(--serif);cursor:pointer;grid-template-columns:46px 1fr 30px;align-items:center;gap:12px;padding:20px 0;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.2;list-style:none;display:grid}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--mint-500);font-family:var(--sans);font-size:.68rem}.faq-list summary i{font-family:var(--sans);font-size:1.3rem;font-style:normal;transition:transform .18s}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details>div{color:var(--muted);padding:0 42px 30px 58px}.faq-aside{top:calc(var(--header-height) + 30px);border-radius:var(--radius-md);color:var(--white);background:var(--pine-900);padding:clamp(42px,5vw,72px);position:sticky}.faq-aside h2{font-family:var(--serif);margin-top:24px;font-size:clamp(2rem,3vw,3.3rem);font-weight:500;line-height:1.1}.faq-aside .button{margin-top:40px}.contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.7fr);align-items:stretch;gap:24px;display:grid}.contact-card{border-radius:var(--radius-md);background:var(--white);padding:clamp(40px,7vw,90px)}.contact-card>h2{max-width:660px;font-family:var(--serif);margin-top:18px;font-size:clamp(2.2rem,4vw,4rem);font-weight:500;line-height:1.08}.contact-card form{margin-top:60px}.form-grid{grid-template-columns:repeat(2,1fr);gap:30px 24px;display:grid}.form-grid label{gap:9px;display:grid}.form-grid label.full{grid-column:1/-1}.form-grid label>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700}.form-grid input,.form-grid textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:var(--sand-50);outline:0;padding:13px 14px;transition:border-color .18s,box-shadow .18s}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--pine-900);box-shadow:0 0 0 3px #7db9aa33}.honeypot{position:absolute;left:-9999px}.contact-card form .button{margin-top:38px}.form-privacy{max-width:640px;color:var(--muted);margin-top:24px;font-size:.78rem}.form-privacy a{color:var(--pine-700);text-underline-offset:3px;text-decoration:underline}.form-status{min-height:28px;margin-top:18px;font-size:.85rem}.form-status.success{color:var(--pine-700)}.form-status.error{color:#99462c}.contact-aside{border-radius:var(--radius-md);grid-template-rows:1fr .9fr;min-height:700px;display:grid;overflow:hidden}.contact-aside>div{color:var(--white);background:var(--pine-900);flex-direction:column;justify-content:center;padding:clamp(42px,6vw,80px);display:flex}.contact-aside h2{font-family:var(--serif);margin-top:18px;font-size:clamp(2rem,4vw,3.8rem);font-weight:500}.contact-aside p:not(.eyebrow){color:#ffffffb3;margin-top:24px}.contact-aside a{text-underline-offset:5px;margin-top:20px;text-decoration:underline}.contact-aside img{object-fit:cover;width:100%;height:100%}.legal-layout{grid-template-columns:240px minmax(0,820px);align-items:start;gap:clamp(60px,10vw,150px);display:grid}.legal-layout>aside{top:calc(var(--header-height) + 40px);gap:14px;display:grid;position:sticky}.legal-layout>aside .eyebrow{margin-bottom:10px}.legal-nav{gap:12px;display:grid}.legal-nav a{color:var(--muted);font-size:.86rem;line-height:1.45}.legal-nav a:hover{color:var(--pine-900)}.legal-copy{max-width:820px}.legal-copy section,.legal-copy h2{scroll-margin-top:calc(var(--header-height) + 36px)}.legal-copy section:first-of-type h2{margin-top:54px}.legal-copy h3{color:var(--pine-700);font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-top:34px;font-size:.78rem;font-weight:700;line-height:1.4}.legal-copy h3+p{margin-top:12px}.legal-copy ul{gap:10px;margin:24px 0 0;padding-left:22px;display:grid}.legal-copy li{color:var(--muted);padding-left:6px}.legal-meta{color:var(--pine-700);letter-spacing:.06em;text-transform:uppercase;margin-top:24px;font-size:.75rem;font-weight:700}.legal-contact{border-radius:var(--radius-md);color:var(--muted);background:var(--white);margin-top:24px;padding:24px;font-style:normal}.legal-contact strong{color:var(--ink)}.legal-contact a,.legal-copy a{text-decoration:underline;text-decoration-color:var(--mint-500);text-underline-offset:4px}.legal-notice{border-left:3px solid var(--mint-500);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--sand-100);padding:22px 24px}.not-found{padding-top:calc(var(--header-height) + 130px)}.not-found h1{max-width:760px;font-family:var(--serif);margin-top:24px;font-size:clamp(3rem,7vw,7rem);font-weight:500;line-height:.95}.not-found>p:not(.eyebrow){color:var(--muted);margin-top:26px}.not-found .button{margin-top:36px}.site-footer{color:var(--white);background:var(--pine-950)}.footer-main{grid-template-columns:1fr 1fr;gap:80px;padding-block:clamp(70px,9vw,130px);display:grid}.footer-logo{filter:brightness(0)invert();width:170px}.footer-title{max-width:560px;font-family:var(--serif);letter-spacing:-.04em;margin-top:40px;font-size:clamp(2.6rem,5vw,5rem);line-height:.98}.footer-copy{color:#fff9;max-width:500px;margin-top:24px}.footer-links{grid-template-columns:repeat(2,1fr);align-items:start;gap:50px;padding-top:20px;display:grid}.footer-links>div{gap:12px;display:grid}.footer-links a,.footer-links p:not(.footer-label){color:#ffffffad;font-size:.88rem}.footer-links a:hover{color:var(--white)}.footer-bottom{color:#ffffff80;border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;padding-block:26px;font-size:.72rem;display:flex}.footer-bottom div{gap:24px;display:flex}@media (width<=1180px){:root{--page:min(100% - 48px, 1120px)}.desktop-nav{display:none}.header-shell{grid-template-columns:1fr auto}.menu-toggle{display:inline-flex;position:relative}.home-hero{grid-template-columns:minmax(410px,.95fr) minmax(440px,1.05fr)}.home-hero-copy{padding-left:45px;padding-right:45px}.story-layout,.faq-layout{gap:60px}.pricing-grid{grid-template-columns:1fr 1fr}.price-card.featured{grid-column:1/-1}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+5){grid-area:span 1/span 1;min-height:300px}.gallery-item:nth-child(5n+1){grid-area:span 2/span 2;min-height:612px}}@media (width<=900px){:root{--page:calc(100% - 40px);--header-height:78px}.brand img{width:122px}.header-actions .button{display:none}.home-hero,.page-hero{grid-template-columns:1fr;min-height:auto}.home-hero-copy,.page-hero-copy{max-width:none;margin-left:0;padding:100px 24px 70px}.home-hero-media,.page-hero-media{border-radius:var(--radius-md) var(--radius-md) 0 0;min-height:62vw;max-height:700px}.facts-grid{grid-template-columns:repeat(2,1fr);margin-top:-34px;padding:18px}.facts-grid>div{min-height:100px;padding:20px}.facts-grid>div:nth-of-type(3){border-left:0}.facts-grid>div:nth-of-type(n+3){border-top:1px solid #ffffff29}.feature-intro .section-heading{margin-left:0}.feature-grid{grid-template-columns:1fr}.feature-card{border-right:0;min-height:260px;padding-inline:0}.feature-card h3{margin-top:42px}.editorial-split{grid-template-columns:1fr}.editorial-split.reverse .editorial-image{order:0}.editorial-image{min-height:70vw}.editorial-copy{max-width:none;padding:70px 40px}.stay-grid{grid-template-columns:1fr}.stay-card{min-height:68vw}.story-layout,.room-intro,.faq-layout,.contact-layout,.legal-layout{grid-template-columns:1fr}.story-aside{grid-template-columns:1fr 1fr}.story-aside .quote-card{grid-area:1/1/auto/-1}.room-detail-grid{margin-top:20px}.image-ribbon{grid-template-columns:repeat(2,1fr)}.surroundings-grid{width:auto;margin-inline:20px}.distance-strip .page-shell{grid-template-columns:repeat(2,1fr)}.distance-strip div div:nth-child(2){border-right:0}.distance-strip div div:nth-child(-n+2){border-bottom:1px solid #ffffff26}.pricing-grid{grid-template-columns:1fr}.price-card.featured{grid-column:auto}.month-grid{grid-template-columns:repeat(2,1fr)}.month-grid a:nth-child(3n){border-right:1px solid var(--border)}.month-grid a:nth-child(2n){border-right:0}.faq-aside,.legal-layout>aside{position:static}.contact-aside{min-height:600px}.legal-layout>aside{display:none}.footer-main{grid-template-columns:1fr}}@media (width<=640px){:root{--page:calc(100% - 32px)}.section-space{padding-block:78px}.language-switcher{display:none}.home-hero h1,.page-hero h1{font-size:clamp(3.4rem,15vw,5.4rem)}.page-hero--long-word h1{font-size:clamp(2.75rem,12vw,3.9rem)}.home-hero-copy,.page-hero-copy{padding:78px 20px 54px}.hero-actions{flex-direction:column;align-items:flex-start}.home-hero-media,.page-hero-media{min-height:95vw}.hero-seal{width:108px;height:108px}.facts-grid strong{font-size:2.3rem}.section-heading h2,.editorial-copy h2{font-size:clamp(2.7rem,12vw,4rem)}.editorial-copy{padding:62px 24px}.heading-row{flex-direction:column;align-items:flex-start}.stay-card{min-height:115vw}.stay-card div{bottom:28px;left:28px;right:28px}.wide-cta{min-height:600px}.story-aside{grid-template-columns:1fr}.story-aside .quote-card{grid-column:auto}.room-detail-grid,.surroundings-grid,.amenities-list,.floorplan,.booking-terms,.month-grid,.form-grid,.footer-links{grid-template-columns:1fr}.detail-card,.surrounding-card{border-right:0;padding-inline:0}.amenities-list{column-gap:0}.floorplan{padding:32px 22px}.image-ribbon{grid-template-columns:1fr 1fr}.image-ribbon img{min-height:260px}.surroundings-grid{margin-inline:16px}.distance-strip .page-shell{width:100%}.distance-strip div div{padding:34px 18px}.booking-terms article,.booking-terms article+article{border-left:0;padding:36px 0}.month-grid a,.month-grid a:nth-child(3n){border-right:0}.gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-item,.gallery-item:nth-child(5n+1){grid-area:auto;min-height:220px}.gallery-item:nth-child(6n+1){grid-column:1/-1;min-height:360px}.gallery-item span{display:none}.lightbox{width:calc(100vw - 32px);height:calc(100vh - 100px)}.lightbox-close{top:-44px;right:0}.lightbox-nav{top:auto;bottom:-36px}.lightbox-nav.previous{left:0}.lightbox-nav.next{right:0}.faq-list summary{grid-template-columns:34px 1fr 22px}.faq-list details>div{padding-left:46px}.contact-card{padding:38px 22px}.contact-aside{min-height:660px}.footer-main{gap:50px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
