@font-face{font-family:Cormorant;src:url(cormorant-regular.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Cormorant;src:url(cormorant-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:DM;src:url(dm-sans.woff2) format("woff2");font-weight:100 1000;font-display:swap}
:root{--paper:#faf6ed;--paper-deep:#f0e7dc;--ink:#412c2a;--muted:#65504b;--cameo:#edcec7;--cameo-soft:#f6e2dc;--cream:#fffaf3;--gold:#f1dcb2;--accent:#75443f;--edge:#dfc9c0;--control-edge:#ab8278;--serif:Mayfair,Cormorant,Georgia,serif;--sans:DM,Arial,sans-serif;--ease:cubic-bezier(.22,.72,.21,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:102px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;width:100%;object-fit:cover}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98;margin:0;letter-spacing:-.023em}
h1{font-size:clamp(4.45rem,8.2vw,9.1rem)}
h2{font-size:clamp(3.55rem,6.3vw,6.25rem)}
h3{font-size:clamp(1.9rem,3vw,3rem);line-height:1.05}
em{font-weight:400}
:focus-visible{outline:2px solid #ad7824;outline-offset:5px}
:target{scroll-margin-top:12px}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;left:1rem;top:1rem;background:var(--paper);color:var(--ink);padding:10px 20px;z-index:60}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.block{padding-block:clamp(74px,9vw,142px)}
.site-header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--edge)}
.mast{width:min(1490px,calc(100% - 76px));margin:auto;height:79px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;flex:none}
.brand-mark{display:grid;width:37px;height:37px;place-items:center;border:1px solid currentColor;border-radius:50%;position:relative}
.brand-mark i{position:absolute;width:18px;height:10px;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:rotate(30deg) skewX(-28deg);top:11px;left:9px}
.brand-mark i:nth-child(2){top:16px}
.brand-mark i:nth-child(3){top:21px}
.brand-type{font:32px/.8 var(--serif);letter-spacing:-.02em}
.brand-type span{display:block;font:600 8px/1 var(--sans);letter-spacing:.34em;margin:7px 0 0 2px}
.mast nav{display:flex;align-items:center;gap:clamp(3px,1.25vw,21px)}
.mast nav a{font-size:.85rem;font-weight:600;padding:10px 7px;position:relative}
.mast nav a::after{content:"";position:absolute;bottom:3px;left:8px;right:8px;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .25s}
.mast nav a[aria-current]::after,.mast nav a:hover::after{transform:scaleX(1)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid transparent;border-radius:4px;min-height:47px;padding:11px 19px;font:700 .82rem/1.25 var(--sans);white-space:nowrap;transition:background .25s,color .25s,border-color .25s;vertical-align:middle}
.button span,.text-link span{font-size:1.04em;transition:transform .25s}
.button:hover span,.text-link:hover span{transform:translate(2px,-2px)}
.nav-cta,.primary{background:var(--cameo);color:var(--ink)}
.nav-cta:hover,.primary:hover{background:var(--cameo-soft)}
.light{border-color:var(--edge);background:transparent}
.light:hover{background:var(--paper-deep);color:var(--ink)}
.gold{background:var(--gold);color:#1b2c31}
.gold:hover{background:#f9e4b7}
.ghost{background:#14272e38;border-color:#fcf4df80;color:#fff9ec;backdrop-filter:blur(7px)}
.ghost:hover{background:#fcf4df28}
.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:.87rem;border-bottom:1px solid currentColor;padding:4px 0;color:inherit;min-height:39px;align-self:flex-start}
.menu-toggle{display:none}
.hero-wrap{padding:0 23px}
.home-hero{position:relative;isolation:isolate;min-height:clamp(620px,calc(100svh - 103px),1000px);overflow:hidden;border-radius:4px;display:grid;align-items:center;perspective:1100px;background:var(--paper);color:var(--ink)}
.hero-media,.feature-picture{position:absolute;inset:0;z-index:-3;transform:translate3d(var(--dx,0px),calc(var(--dy,0px) + var(--scroll,0px)),0) scale(var(--zoom,1.045));will-change:transform}
.hero-media img,.feature-picture img{height:100%;object-position:50% 55%}
.hero-media img{filter:saturate(.78) sepia(.1) contrast(1.03) brightness(.91)}
.hero-shade,.feature-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,24,23,.84) 0%,rgba(14,26,27,.68) 29%,rgba(20,28,26,.27) 62%,rgba(12,22,20,.07) 100%),linear-gradient(0deg,#111e20b5 0%,transparent 32%,transparent 79%,#1423282e 100%)}
.hero-edge{position:absolute;inset:17px;border:1px solid #fff4d842;pointer-events:none;z-index:-1}
.hero-content{width:min(1280px,calc(100% - 112px));margin:auto;padding:64px 0 85px}
.eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:.19em;font-weight:800;font-size:.7rem;line-height:1.4;margin:0 0 20px;color:var(--accent)}
.eyebrow i{display:inline-block;width:6px;height:6px;transform:rotate(45deg);background:currentColor;flex:none}
.hero-content .eyebrow,.feature-hero .eyebrow,.rooms-hero .eyebrow,.contact-hero .eyebrow,.packages-band .eyebrow,.footer-cta .eyebrow{color:var(--accent)}
.hero-content h1 em,.feature-hero h1 em,.rooms-hero h1 em,.contact-hero h1 em,.footer-cta h2 em{color:var(--accent)}
.hero-content>p:not(.eyebrow),.feature-inner>p:not(.eyebrow),.room-hero-title>p:not(.eyebrow),.contact-layout>div>p:not(.eyebrow){font-size:clamp(1rem,1.45vw,1.19rem);line-height:1.55;max-width:440px;margin:23px 0 27px;color:#fff8e9}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.hero-bottom{position:absolute;bottom:33px;left:34px;right:34px;display:flex;align-items:center;justify-content:space-between;color:#fbf1df;font-size:.71rem;letter-spacing:.09em}
.explore-down{display:inline-flex;gap:10px;align-items:center;padding:5px 10px}
.explore-down span{display:grid;place-items:center;width:33px;height:33px;border:1px solid #f9eace77;border-radius:50%;font-size:16px}
.section-head{display:grid;grid-template-columns:1fr minmax(230px,350px);align-items:end;gap:34px;margin-bottom:40px}
.section-head>div:last-child>p{color:var(--muted);line-height:1.58;margin:0 0 7px}
.section-head h2 em,.notes h2 em,.about-intro h2 em,.contact-details h2 em,.moments-hero h1 em{color:var(--accent)}
.room-grid,.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.room-card,.offer{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .28s var(--ease);background:#fffaf0;border:1px solid var(--edge);border-radius:12px;min-width:0;overflow:hidden}
.room-card{display:flex;flex-direction:column}
.room-photo{aspect-ratio:1.31;overflow:hidden}
.room-photo img,.offer-media img,.place-card img{height:100%;transition:transform .65s var(--ease)}
.room-card:hover img,.offer:hover img,.place-card:hover img{transform:scale(1.06)}
.room-copy,.offer-content{padding:23px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.room-copy p,.offer-content p{font-size:.92rem;color:var(--muted);margin:.7rem 0 1rem}
.room-copy .text-link,.offer-content .text-link{margin-top:auto}
.coffee-grid .room-card{background:#24383b;color:var(--cream);border-color:#24383b;overflow:visible;margin-top:38px}
.coffee-grid .room-photo{margin:-38px 15px 0;border-radius:8px;box-shadow:0 11px 22px #11262c35;aspect-ratio:1.54}
.coffee-grid .room-copy{padding:24px 23px 22px}
.coffee-grid .room-copy p{color:#e6e1d1}
.packages-band{background:radial-gradient(ellipse at 70% 0,#284047,var(--cameo) 60%);color:var(--cream)}
.packages-band .section-head h2 em{color:var(--accent)}
.packages-band .section-head>div:last-child>p{color:#e6dece}
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.offer{display:flex;flex-direction:column}
.offer-media{aspect-ratio:1.61;overflow:hidden;position:relative}
.offer-media img{filter:saturate(.75)}
.offer-price{position:absolute;left:13px;bottom:13px;border:1px solid #f8ead0;border-radius:3px;padding:5px 9px;background:#f5e5c5;color:var(--ink);font-weight:800;font-size:.8rem}
.offer-content{padding:19px 17px}
.offer-content h3{font-size:clamp(1.9rem,2.68vw,2.65rem)}
.offer-content ul{list-style:none;margin:0 0 12px;padding:0;font-size:.83rem;line-height:1.6;color:var(--muted)}
.offer-content li{display:flex;align-items:baseline;gap:7px;margin:2px 0}
.offer-content li::before{content:"";width:4px;height:4px;background:var(--accent);border-radius:50%;flex:none;align-self:center}
.packages-band .offer{background:#24373e;border-color:#506167}
.packages-band .offer-content p,.packages-band .offer-content ul{color:#e4e0d3}
.packages-band .offer-content li::before{background:var(--gold)}
.moments-section,.faq-section{padding:clamp(72px,8vw,116px) 0;background:#eee7d8;overflow:hidden}
.moments-section .section-head,.faq-section .section-head{margin-bottom:24px}
.rail{width:min(1510px,100%);margin-inline:auto;overflow:hidden}
.rail-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(1260px,calc(100% - 44px));margin:auto}
.rail-card{min-width:0}
.photo-open{display:block;position:relative;isolation:isolate;background:#2a3d3c;color:white;height:100%;min-height:210px;border-radius:12px;overflow:hidden}
.photo-open img{height:100%;position:absolute;inset:0;z-index:-2}
.photo-open::before{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#122027dd);z-index:-1}
.photo-open>span{display:flex;align-items:center;justify-content:space-between;gap:12px;position:absolute;bottom:0;width:100%;padding:20px 24px;font-weight:700}
.photo-open b{font-weight:500}
.rail-controls{display:none}
.js .rail-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:19px;color:var(--ink);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}
.rail-controls button{display:grid;place-items:center;border:1px solid #a3957b;background:transparent;color:var(--ink);border-radius:50%;height:45px;width:45px;font-size:1.2rem;transition:background .2s,color .2s}
.rail-controls button:hover{background:var(--cameo);color:var(--ink)}
.js .rail-stage{position:relative;display:block;width:100%;height:clamp(315px,36vw,510px);perspective:1250px;touch-action:pan-y}
.js .rail-card{position:absolute;--distance:max(var(--position), calc(var(--position) * -1));--depth:calc(var(--distance) * -75px);left:50%;top:50%;width:min(49%,730px);height:87%;border-radius:12px;transform:translate(-50%,-50%) translate3d(calc(var(--position) * 73%),calc(var(--distance) * 13px),var(--depth)) rotateY(calc(var(--position) * -20deg));z-index:calc(8 - var(--distance));opacity:clamp(0,calc(1.43 - var(--distance) * .43),1);transition:transform .66s var(--ease),opacity .42s;box-shadow:0 18px 45px #473c2530}
.js .rail-card[data-hidden]{opacity:0;pointer-events:none}
.js .photo-open{min-height:0}
.js .photo-open:focus-visible{outline-offset:-6px;outline-color:#ffe8ac}
.faq-section{background:#e6ebe4}
.faq-section .section-head h2 em{color:#516d60}
.faq-copy{background:#f8f7e9;border:1px solid #fff;border-radius:13px;padding:clamp(19px,3vw,38px);height:100%;color:#233c37}
.faq-copy>span{display:block;margin:0 0 20px;color:#526b62;font-size:.62rem;letter-spacing:.16em;font-weight:800}
.faq-copy h3{font-size:clamp(1.95rem,3.5vw,3.55rem)}
.faq-copy p{margin:16px 0 0;font-size:.93rem;line-height:1.62;color:#3b534b}
.js .faq-rail .rail-stage{height:clamp(310px,34vw,420px)}
.js .faq-rail .rail-card{width:min(34%,475px);height:91%;transform:translate(-50%,-50%) translate3d(calc(var(--position) * 88%),calc(var(--distance) * 29px),var(--depth)) rotate(calc(var(--position) * 4deg)) rotateY(calc(var(--position) * -9deg));box-shadow:0 16px 33px #41534922}
.faq-rail .rail-card:nth-child(4n+2) .faq-copy{background:#f2ebdb}
.faq-rail .rail-card:nth-child(4n+3) .faq-copy{background:#eaf1eb}
.faq-rail .rail-card:nth-child(4n+4) .faq-copy{background:#efebf0}
.place-card{overflow:hidden;background:#fffbf1;border:1px solid var(--edge);border-radius:10px}
.place-card img{aspect-ratio:1.52;height:auto}
.place-card>div{padding:22px}
.place-card p{color:var(--muted);margin:8px 0;font-size:.92rem}
.notes{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(0,1.25fr);gap:clamp(35px,9vw,140px);border-top:1px solid var(--edge)}
.notes>div:first-child{position:sticky;top:112px;align-self:start}
.notes h2{font-size:clamp(3.15rem,5.4vw,5.4rem)}
.note-links{display:flex;flex-direction:column;gap:8px;margin-top:27px}
.editorial{max-width:760px;min-width:0}
.editorial section+section{border-top:1px solid var(--edge);margin-top:29px;padding-top:29px}
.editorial h3{font-size:clamp(2rem,3.2vw,3rem);margin-bottom:13px}
.editorial p{font-size:.97rem;line-height:1.74;color:#40545a;margin:0 0 .9rem}
.editorial p:last-child{margin-bottom:0}
.footer-cta{padding:clamp(58px,8vw,110px) 0;background:radial-gradient(ellipse at 85% 110%,#3b5753,var(--cameo) 68%);color:var(--cream);text-align:center}
.footer-cta .eyebrow{justify-content:center}
.footer-cta h2{margin:0 0 26px}
.footer{background:#0e2026;color:#eee6d6}
.footer-inner{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:start;gap:35px;padding-block:47px}
.footer-inner p{margin:22px 0 0;font-size:.82rem;color:#e0ddce}
.foot-phone{font-weight:700;font-size:.9rem}
.footer nav{display:grid;grid-template-columns:repeat(2,minmax(60px,1fr));gap:6px 23px;font-size:.84rem}
.footer nav a:hover,.footer-bottom a:hover,.credits a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-block:17px;border-top:1px solid #a6ae9c4d;font-size:.73rem;color:#d3d0c0}
.feature-hero{min-height:clamp(565px,calc(82svh - 70px),850px);position:relative;isolation:isolate;overflow:hidden;display:grid;align-items:center;background:#172b36;color:var(--cream)}
.feature-inner{padding-block:79px}
.feature-inner h1{font-size:clamp(4rem,8.6vw,8.6rem)}
.night-hero .feature-picture img{filter:brightness(.79) saturate(.84);object-position:50% 59%}
.night-hero .feature-shade{background:radial-gradient(ellipse at 63% 57%,#1823422e,#0c1a35b0),linear-gradient(0deg,#0a1b30d6 0%,#07132c00 53%,#111c3f77 100%)}
.night-hero .feature-inner{text-align:center}
.night-hero .feature-inner .eyebrow,.night-hero .hero-actions{justify-content:center}
.night-hero .feature-inner>p:not(.eyebrow){margin-inline:auto}
.page-packages,.page-events{background:#101f2b;color:var(--cream)}
:is(.page-packages,.page-events) .block h2 em{color:var(--accent)}
:is(.page-packages,.page-events) .block .eyebrow{color:#dfc598}
:is(.page-packages,.page-events) .section-head>div:last-child>p,:is(.page-packages,.page-events) .editorial p{color:#e1dace}
:is(.page-packages,.page-events) .offer{background:linear-gradient(145deg,#2a3d4e,#1a2b38);border-color:#536478}
:is(.page-packages,.page-events) .offer p,:is(.page-packages,.page-events) .offer li{color:#e1dace}
:is(.page-packages,.page-events) .offer li::before{background:var(--gold)}
:is(.page-packages,.page-events) .notes,:is(.page-packages,.page-events) .editorial section+section{border-color:#556274}
.rooms-hero{overflow:hidden;text-align:center;padding:64px 0 0;color:var(--cream);background:radial-gradient(ellipse at 50% 95%,#48605a 0%,#23383e 40%,#101e2a 82%);position:relative;isolation:isolate}
.rooms-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background:repeating-linear-gradient(145deg,#fff0 0%,#c9d8cb10 12%,#fff0 26%);transform:scale(1.5) rotate(var(--flow,0deg))}
.room-hero-title .eyebrow{justify-content:center}
.room-hero-title h1{font-size:clamp(4.2rem,7.8vw,7.7rem)}
.room-hero-title>p:not(.eyebrow){margin:15px auto 19px}
.fan{margin:0 auto;position:relative;width:min(1050px,100%);height:clamp(238px,30vw,405px);perspective:1000px;isolation:isolate}
.fan-card{position:absolute;top:47%;left:50%;width:min(30%,310px);aspect-ratio:1.26;overflow:hidden;border-radius:11px;border:1px solid #d9e3d78c;box-shadow:0 23px 37px #06131980;--fan-abs:max(var(--fan),calc(var(--fan)*-1));transform:translate(-50%,-50%) translate3d(calc(var(--fan) * var(--fan-span,59%)),calc(var(--fan-abs) * var(--fan-rise,22px) + var(--fan-drop,0px)),calc(var(--fan-abs) * -48px)) rotate(calc(var(--fan) * var(--fan-angle,10deg))) rotateY(calc(var(--fan) * -10deg));z-index:calc(4 - var(--fan-abs))}
.fan-card img{height:100%}
.amble-hero{background:#dce9e6;color:#1e3436;min-height:620px}
.amble-hero .feature-picture{left:3%;right:49%;top:9%;bottom:9%;border-radius:14px;overflow:hidden;box-shadow:0 23px 55px #26474436;--zoom:1.015}
.amble-hero .feature-picture img{object-position:49% 54%}
.amble-hero .feature-shade{display:none}
.amble-hero .feature-inner{display:flex;flex-direction:column;align-items:flex-start;padding-left:54%}
.amble-hero .feature-inner h1{font-size:clamp(3.65rem,6.2vw,6.4rem)}
.amble-hero .feature-inner h1 em,.amble-hero .eyebrow{color:#516d60}
.amble-hero .feature-inner>p:not(.eyebrow){color:#34504e}
.amble-hero .ghost{color:#213b3d;border-color:#58736b;background:#f4f5ec40}
.about-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,8vw,100px)}
.about-intro img{aspect-ratio:1.3;border-radius:12px}
.about-intro h2{margin-bottom:13px}
.about-intro p:not(.eyebrow){color:var(--muted)}
.moments-hero{background:linear-gradient(130deg,#f6efe0,#e5dfcd);padding:76px 0 53px}
.moments-hero h1{font-size:clamp(4rem,8vw,8rem)}
.moments-hero p:not(.eyebrow){max-width:460px;margin:19px 0 0;color:var(--muted)}
.page-moments .moments-section{padding-top:43px}
.page-moments .moments-section .section-head h2{font-size:clamp(2.85rem,5vw,5.2rem)}
.credits{padding:31px 0 45px;color:var(--muted);font-size:.87rem}
.credits summary{cursor:pointer;font-weight:700;min-height:44px}
.credits ul{margin:0;padding-left:19px}
.credits a{text-decoration:underline;text-underline-offset:3px}
.contact-hero{background:radial-gradient(ellipse at 78% 45%,#426272,#233c4b 55%,#152b38);color:var(--cream);overflow:hidden}
.contact-layout{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:20px;min-height:555px;padding-block:69px}
.contact-layout h1{font-size:clamp(4.3rem,8vw,8rem)}
.mail-scene{height:350px;display:grid;place-items:center;perspective:900px;position:relative}
.mail-scene::before,.mail-scene::after{content:"";position:absolute;border:1px solid #e9d8ab48;border-radius:50%;width:min(78%,370px);aspect-ratio:1;pointer-events:none}
.mail-scene::after{width:min(90%,426px);border-style:dashed;opacity:.48}
.mailbox{position:relative;transform-style:preserve-3d;width:280px;height:244px;transform:rotateY(-22deg) rotateX(5deg);z-index:1}
.contact-body{display:grid;grid-template-columns:.72fr 1.15fr;gap:clamp(30px,7vw,100px)}
.contact-details dl{margin:28px 0}
.contact-details dt{color:var(--muted);font-size:.8rem;margin-top:18px}
.contact-details dd{margin:2px 0 0;font-weight:700;max-width:320px}
.contact-details dd a{text-decoration:underline;text-underline-offset:4px}
.contact-details .direct{margin:12px 0 0}
.form-panel{background:#fffbf2;border:1px solid var(--edge);padding:clamp(22px,4vw,50px);border-radius:11px}
.form-panel h2{font-size:clamp(2.55rem,4.5vw,4.5rem);margin-bottom:10px}
.form-panel p{color:var(--muted);font-size:.91rem}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.form-fields label{font-size:.83rem;font-weight:700;display:grid;gap:5px;align-content:start;min-width:0}
.form-fields label small{display:inline;color:#5a6866;font-size:.71rem;font-weight:500}
.form-fields input,.form-fields select,.form-fields textarea{width:100%;min-width:0;max-width:100%;min-height:45px;padding:10px 9px;border-radius:4px;border:1px solid #9a9f93;color:var(--ink);background:#fffef9;font-size:1rem}
.form-fields textarea{resize:vertical}
.form-fields .full{grid-column:1/-1}
.form-panel .form-status{margin:12px 0 0}
.lightbox{width:min(940px,calc(100vw - 26px));max-height:92vh;padding:0;border:1px solid #6d817b;border-radius:12px;color:var(--cream);background:var(--cameo);overflow:auto}
.lightbox::backdrop{background:#0a171bed}
.lightbox img{max-height:72vh;object-fit:contain;background:#0b161c}
.lightbox>div{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;font-size:.84rem}
.lightbox>div p{margin:0}
.lightbox>div a{text-decoration:underline}
.lightbox button{position:absolute;top:9px;right:9px;display:grid;place-items:center;border:1px solid #fff5e9a0;border-radius:50%;width:44px;height:44px;color:white;background:#142632e8;font-size:1.6rem;line-height:1}
@media(max-width:1120px){
 .wrap,.hero-content{width:calc(100% - 76px)}
 .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .offer-media{aspect-ratio:2.15}
 .offer-content h3{font-size:2.6rem}
 .amble-hero .feature-inner{padding-left:53%}
}
@media(max-width:900px){
 .mast{width:calc(100% - 45px);height:67px;gap:15px}
 .mast nav{gap:0}
 .mast nav a{padding-inline:6px;font-size:.79rem}
 .nav-cta{padding-inline:10px;gap:6px}
 .hero-wrap{padding:0 12px}
 .hero-content{padding-bottom:85px}
 .room-grid,.places{gap:13px}
 .room-copy,.coffee-grid .room-copy,.place-card>div{padding:16px}
 .contact-layout{gap:6px}
 .mail-scene{scale:.85}
}
@media(max-width:740px){
 html{scroll-padding-top:78px}
 .wrap,.hero-content{width:calc(100% - 40px)}
 .mast{width:calc(100% - 34px);gap:10px;height:64px}
 .brand-type{font-size:29px}
 .brand-mark{height:33px;width:33px}
 .brand-mark i{left:7px;top:9px}
 .brand-mark i:nth-child(2){top:14px}
 .brand-mark i:nth-child(3){top:19px}
 .mast .nav-cta{margin-left:auto;padding-inline:10px;min-height:40px;font-size:.76rem;order:2}
 .js .menu-toggle{display:grid;order:3;place-content:center;gap:5px;width:43px;height:43px;background:none;border:1px solid var(--edge);border-radius:4px}
 .menu-toggle span:not(.sr){width:18px;height:1px;background:var(--ink)}
 .mast nav{position:absolute;left:0;right:0;top:63px;display:flex;flex-wrap:wrap;background:var(--paper);padding:5px 14px;gap:3px 5px;border-bottom:1px solid var(--edge);justify-content:center}
 .js .mast nav{display:none;flex-direction:column;align-items:stretch;padding:10px 20px 16px}
 .js .mast nav.is-open{display:flex}
 .mast nav a{padding:12px;font-size:1rem}
 .mast nav a::after{right:auto;width:25px}
 .hero-wrap{padding-inline:8px}
 .home-hero{min-height:min(720px,max(612px,calc(100svh - 77px)))}
 .hero-edge{inset:10px}
 .hero-media img{object-position:58% 54%}
 .hero-shade{background:linear-gradient(90deg,#101e20b5,#13292b38),linear-gradient(0deg,#102021e0 0%,#13292b16 81%)}
 .hero-content h1{font-size:clamp(3.75rem,10vw,6.4rem)}
 .hero-content{padding-block:66px 92px}
 .hero-content>p:not(.eyebrow){max-width:360px;margin-block:19px 23px}
 .hero-bottom{left:15px;right:15px;bottom:17px}
 .hero-caption{display:none}
 .section-head{grid-template-columns:1fr;gap:15px;margin-bottom:26px}
 .section-head h2{font-size:clamp(3.25rem,10vw,5.2rem)}
 .room-grid,.places{grid-template-columns:1fr}
 .coffee-grid .room-card{margin-top:33px}
 .coffee-grid .room-photo{margin-top:-30px}
 .room-photo{aspect-ratio:1.66}
 .room-copy,.coffee-grid .room-copy,.place-card>div{padding:20px}
 .offer-content{padding:14px 12px}
 .offer-content h3{font-size:clamp(1.74rem,5.1vw,2.55rem)}
 .offer-content p,.offer-content ul{font-size:.79rem}
 .offer-grid{gap:12px}
 .offer-media{aspect-ratio:1.48}
 .offer-price{bottom:7px;left:7px;padding:4px 6px;font-size:.69rem}
 .rail-stage{grid-template-columns:1fr 1fr}
 .js .rail-stage{height:clamp(250px,61vw,410px)}
 .js .rail-card{width:77%;transform:translate(-50%,-50%) translate3d(calc(var(--position) * 83%),calc(var(--distance) * 10px),var(--depth)) rotateY(calc(var(--position) * -19deg))}
 .photo-open>span{padding:13px 14px;font-size:.85rem}
 .js .faq-rail .rail-card{width:76%;height:91%;transform:translate(-50%,-50%) translate3d(calc(var(--position) * 88%),calc(var(--distance) * 18px),var(--depth)) rotate(calc(var(--position) * 5deg))}
 .js .faq-rail .rail-stage{height:clamp(300px,75vw,353px)}
 .faq-copy h3{font-size:clamp(2rem,6vw,3rem)}
 .faq-copy p{font-size:.87rem}
 .faq-copy>span{margin-bottom:15px}
 .notes{grid-template-columns:1fr;gap:24px}
 .notes>div:first-child{position:static}
 .note-links{margin-top:17px;flex-direction:row;flex-wrap:wrap;gap:8px 19px}
 .footer-inner{grid-template-columns:1fr 1fr;gap:25px}
 .foot-action{grid-column:1/-1}
 .feature-hero{min-height:545px}
 .feature-inner h1{font-size:clamp(3.95rem,11vw,6.6rem)}
 .room-hero-title h1{font-size:clamp(3.95rem,10vw,6.4rem)}
 .fan-card{width:34%;top:48%}
 .amble-hero{display:flex;flex-direction:column-reverse;align-items:stretch;min-height:auto}
 .amble-hero .feature-inner{padding:55px 0 27px}
 .amble-hero .feature-picture{position:relative;inset:auto;width:calc(100% - 42px);height:260px;margin:0 auto 33px;--zoom:1}
 .about-intro{grid-template-columns:1fr}
 .contact-layout{display:flex;flex-direction:column;align-items:flex-start;min-height:0;gap:3px;padding:57px 0 32px}
 .contact-layout h1{font-size:clamp(3.95rem,11vw,6.6rem)}
 .mail-scene{width:100%;height:255px;scale:.72;margin-top:-4px}
 .contact-body{grid-template-columns:1fr}
}
@media(max-width:375px){
 .button{gap:8px;padding-inline:12px}
 .hero-content h1{font-size:3.45rem}
 .form-fields{grid-template-columns:1fr}
 .offer-grid{grid-template-columns:1fr}
 .offer-media{aspect-ratio:2.05}
 .offer-content{padding:18px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
 .hero-media,.feature-picture{will-change:auto}
}
.button span,.text-link span,.photo-open b{font-family:Arial,sans-serif}
.button span,.text-link span{font-size:0;width:11px;height:11px;flex:none;position:relative}
.button span::before,.text-link span::before{content:"";position:absolute;right:0;top:1px;width:6px;height:6px;border-top:1.3px solid currentColor;border-right:1.3px solid currentColor}
.button span::after,.text-link span::after{content:"";position:absolute;top:5px;left:0;width:11px;border-top:1.3px solid currentColor;transform:rotate(-45deg)}
.button[href^="#"] span{transform:rotate(135deg)}
.button[href^="#"]:hover span{transform:translateY(2px) rotate(135deg)}
.hero-media,.feature-picture{transform:perspective(1350px) translate3d(var(--dx,0px),calc(var(--dy,0px) + var(--scroll,0px)),0) rotateX(var(--scene-x,0deg)) rotateY(var(--scene-y,0deg)) scale(var(--zoom,1.045))}
.js .coffee-grid .room-photo img{transform:translate3d(0,var(--room-shift,0px),0) scale(1.085);transition:transform .16s ease-out}
.js .coffee-grid .room-card:hover img{transform:translate3d(0,var(--room-shift,0px),0) scale(1.14)}
@media(max-width:740px){.hero-media img{object-position:65% 54%}}
@media(prefers-reduced-motion:reduce){.js .coffee-grid .room-photo img{transform:none}}

/* Cameo pink and eggshell */
:root{--hero-nav-height:111px}
.site-header{position:absolute;inset:0 0 auto;z-index:10;background:#faf6edf5;color:var(--ink);border-bottom:1px solid #dfc9c07d}
.mast{width:min(1550px,calc(100% - 82px));height:var(--hero-nav-height);gap:20px}
.site-header .brand{align-self:center}
.brand img{object-fit:contain;width:92px;height:auto;max-height:94px;filter:drop-shadow(0 1px 2px #64473040)}
.mast nav{gap:clamp(5px,1.25vw,24px)}
.mast nav a{color:var(--ink);font-weight:600}
.mast nav a::after{background:var(--accent)}
.nav-cta{background:var(--cameo);color:var(--ink);border-color:var(--control-edge)}
.nav-cta:hover{background:var(--cameo-soft);color:var(--ink)}
.button.gold,.button.primary{background:var(--cameo);color:var(--ink);border-color:var(--control-edge)}
.button.gold:hover,.button.primary:hover{background:var(--cameo-soft)}
.button.ghost{background:#fffaf3de;color:var(--ink);border-color:var(--control-edge)}
.button.ghost:hover{background:var(--cream)}
:focus-visible{outline-color:var(--accent)}
.hero-wrap{padding:0}
.home-hero{border-radius:0;min-height:max(735px,100svh);background:var(--paper)}
.hero-content{padding-top:calc(var(--hero-nav-height) + 42px);padding-bottom:110px}
.hero-content h1,.feature-inner h1,.contact-layout h1{font-size:clamp(4.4rem,8.1vw,8.3rem)}
.hero-content h1 em,.feature-inner h1 em,.contact-layout h1 em,.room-hero-title h1 em,.moments-hero h1 em{color:var(--accent)}
.hero-media img{filter:saturate(.94) brightness(1.06);object-position:51% 56%}
.hero-shade{background:linear-gradient(90deg,#faf6edfc 0%,#faf6edf5 32%,#f6e2dcef 51%,#f6e2dc33 76%,transparent 100%),linear-gradient(0deg,#faf6ed90,transparent 29%)}
.hero-bottom{left:clamp(22px,4vw,72px);right:clamp(22px,4vw,72px);bottom:27px}
.packages-band,.footer-cta{background:linear-gradient(118deg,var(--cameo-soft),var(--cameo));color:var(--ink)}
.packages-band .offer{background:var(--cream);border-color:var(--edge)}
.coffee-grid .room-card{background:var(--cameo-soft);border-color:var(--edge)}
.coffee-grid .room-copy p,.packages-band .offer-content p,.packages-band .offer-content ul{color:var(--muted)}
.footer{background:var(--cameo-soft);color:var(--ink);border-top:1px solid var(--edge)}
.footer .brand img{width:105px;max-height:none}
.footer .button.light:hover{background:var(--cameo);color:var(--ink)}
.feature-hero,.contact-hero,.moments-hero,.rooms-hero{color:var(--ink);background-color:var(--paper);position:relative;isolation:isolate;overflow:hidden}
.feature-hero{min-height:clamp(590px,80svh,850px)}
.feature-inner{padding-top:calc(var(--hero-nav-height) + 45px);padding-bottom:90px}
.feature-shade,.night-hero .feature-shade{display:block;background:linear-gradient(90deg,#faf6edfc 0%,#faf6edf2 32%,#f6e2dcc9 54%,#f6e2dc26 84%),linear-gradient(0deg,#faf6ed55 0%,transparent 52%)}
.night-hero .feature-shade{background:radial-gradient(ellipse at 50% 46%,#faf6edfa 0%,#faf6edf5 34%,#f6e2dca8 61%,#f6e2dc2e 100%),linear-gradient(0deg,#faf6edba 0%,transparent 60%)}
.night-hero .feature-picture img{filter:saturate(.9) brightness(1.05)}
.page-packages,.page-events{background:var(--paper);color:var(--ink)}
:is(.page-packages,.page-events) .block h2 em,:is(.page-packages,.page-events) .block .eyebrow{color:var(--accent)}
:is(.page-packages,.page-events) .section-head>div:last-child>p,:is(.page-packages,.page-events) .editorial p{color:var(--muted)}
:is(.page-packages,.page-events) .offer{background:#fffaf1;border-color:var(--edge)}
:is(.page-packages,.page-events) .offer p,:is(.page-packages,.page-events) .offer li{color:var(--muted)}
:is(.page-packages,.page-events) .offer li::before{background:var(--accent)}
:is(.page-packages,.page-events) .notes,:is(.page-packages,.page-events) .editorial section+section{border-color:var(--edge)}
.rooms-hero{padding-top:calc(var(--hero-nav-height) + 30px);background:linear-gradient(147deg,var(--cameo-soft),var(--paper))}
.rooms-hero::before{opacity:.24}
.room-backdrop{position:absolute;inset:0;z-index:-2}
.room-backdrop img{height:100%;object-position:50% 50%;opacity:.47}
.room-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#faf6eddf 3%,#f6e2dc73 46%,#faf6edcf 75%)}
.fan-card{border-color:#fffaf3bb;box-shadow:0 18px 34px #69443a30}
.amble-hero .feature-picture{inset:0;border-radius:0;box-shadow:none}
.amble-hero .feature-picture img{object-position:50% 52%}
.amble-hero .feature-inner{padding-left:0}
.amble-hero .feature-inner h1{font-size:clamp(4.3rem,8vw,8rem)}
.amble-hero .eyebrow,.moments-hero .eyebrow{color:var(--accent)}
.amble-hero .feature-inner>p:not(.eyebrow),.moments-hero p:not(.eyebrow){color:var(--muted)}
.amble-hero .feature-shade{display:block}
.moments-hero{padding:calc(var(--hero-nav-height) + 70px) 0 95px;min-height:550px}
.moments-hero .feature-picture img{object-position:55% 52%}
.moments-hero .feature-shade{display:block}
.moments-section{background:linear-gradient(125deg,var(--paper),var(--cameo-soft))}
.faq-section{background:var(--cameo-soft)}
.faq-section .section-head h2 em{color:var(--accent)}
.faq-copy,.faq-rail .rail-card:nth-child(4n+3) .faq-copy{background:var(--cream);color:var(--ink)}
.faq-copy>span,.faq-copy p{color:var(--muted)}
.faq-rail .rail-card:nth-child(4n+2) .faq-copy{background:var(--paper-deep)}
.faq-rail .rail-card:nth-child(4n+4) .faq-copy{background:var(--cameo)}
.contact-hero{background:var(--paper)}
.contact-hero .feature-picture img{object-position:50% 63%}
.contact-layout{min-height:clamp(565px,77svh,760px);padding-top:calc(var(--hero-nav-height) + 30px);padding-bottom:65px}
.mail-scene{height:350px}
.mail-scene::before,.mail-scene::after{border-color:#9d6b6266}
.mailbox{width:clamp(210px,26vw,340px);height:auto;aspect-ratio:1.47;transform:perspective(850px) rotateX(9deg) rotateY(-13deg) rotateZ(-9deg);filter:drop-shadow(12px 20px 17px #60403a35)}
.envelope-body,.envelope-flap,.envelope-fold,.envelope-seal,.mail-letter{position:absolute}
.envelope-body,.envelope-fold,.envelope-flap{inset:0;border-radius:9px}
.envelope-body{background:linear-gradient(130deg,#f3dcd4,#dcb5ab);border:1px solid var(--edge);z-index:1}
.envelope-fold{background:linear-gradient(28deg,#dab0a6,#f5dfd8 53%,#e6c2b9);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);z-index:4;box-shadow:inset 0 0 0 1px #fdf0e8}
.envelope-flap{background:linear-gradient(148deg,#fff0e9,#e8c7bd 74%);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;transition:transform .56s var(--ease),z-index .05s .24s;z-index:5}
.envelope-seal{z-index:6;top:44%;left:calc(50% - 24px);width:48px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 27%,#f6e5c5,#d7b67f 65%);border:1px solid #bd9b6a;box-shadow:0 2px 8px #76544d45;transition:transform .47s var(--ease),opacity .25s}
.envelope-seal::after{content:"";position:absolute;inset:6px;border:1px solid #fff5e1ad;border-radius:50%}
.mail-letter{left:10%;right:10%;top:14%;height:81%;display:grid;place-items:center;background:var(--cream);border:1px solid var(--edge);border-radius:5px;transform:translateY(0);opacity:1;z-index:3;transition:transform .62s var(--ease)}
.mail-letter img{width:50px;height:50px;object-fit:contain}
.mailbox.is-open .envelope-flap{transform:rotateX(175deg);z-index:2}
.mailbox.is-open .envelope-seal{opacity:0;transform:translateY(-12px)}
.mailbox.is-open .mail-letter{transform:translateY(-56%) rotate(4deg);transition-delay:.16s}
.trap{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.contact-details dd{overflow-wrap:anywhere}
.form-panel .button:disabled{opacity:.6;cursor:wait}
.whatsapp-float{position:fixed;z-index:9;right:clamp(12px,2.2vw,34px);bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 14px;border:1px solid var(--control-edge);border-radius:50px;background:var(--cream);color:var(--ink);box-shadow:0 7px 26px #69443a30;font-size:.81rem;font-weight:700}
.whatsapp-float:hover{background:var(--cameo)}
.whatsapp-float svg{width:22px;height:22px}
.valley-guide{margin-top:clamp(55px,8vw,100px)}
.valley-guide h2{font-size:clamp(2.8rem,5vw,5rem)}
.valley-guide h2 em{color:var(--accent)}
.valley-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:23px 0 14px}
.valley-grid article{padding:20px;border:1px solid var(--edge);background:#fffaf0;border-radius:8px}
.valley-grid p{font-size:.93rem;margin:8px 0 3px;color:var(--muted)}
@media(max-width:900px){
 :root{--hero-nav-height:90px}
 .mast{width:calc(100% - 35px);gap:12px}
 .mast nav{gap:1px}
 .brand img{width:76px;max-height:76px}
}
@media(max-width:740px){
 :root{--hero-nav-height:77px}
 .mast{width:calc(100% - 30px);gap:9px}
 .mast nav{top:var(--hero-nav-height);background:var(--paper);color:var(--ink);border-color:var(--edge)}
 .js .menu-toggle{border-color:var(--control-edge)}
 .menu-toggle span:not(.sr){background:var(--ink)}
 .brand img{width:66px;max-height:65px}
 .home-hero{min-height:max(660px,100svh)}
 .hero-content{padding-top:calc(var(--hero-nav-height) + 49px);padding-bottom:102px}
 .hero-content h1,.feature-inner h1,.amble-hero .feature-inner h1,.contact-layout h1{font-size:clamp(3.35rem,10.75vw,5.4rem)}
 .home-image{object-position:61% 54%!important}
 .hero-shade{background:linear-gradient(0deg,#faf6edf7 5%,#faf6edef 54%,#f6e2dc82 83%),linear-gradient(90deg,#faf6ed80,transparent)}
 .feature-hero{min-height:570px}
 .feature-inner,.amble-hero .feature-inner{padding:calc(var(--hero-nav-height) + 45px) 0 62px}
 .amble-hero{display:grid;align-items:center}
 .amble-hero .feature-picture{position:absolute;inset:0;width:auto;height:auto;margin:0}
 .rooms-hero{padding-top:calc(var(--hero-nav-height) + 32px)}
 .room-hero-title h1,.moments-hero h1{font-size:clamp(3.3rem,10.25vw,5.1rem)}
 .moments-hero{min-height:470px;padding:calc(var(--hero-nav-height) + 52px) 0 64px}
 .contact-layout{min-height:0;padding:calc(var(--hero-nav-height) + 34px) 0 26px;gap:14px}
 .mail-scene{height:220px;scale:.95;margin-top:0}
 .mail-scene::before{width:min(66%,225px)}
 .mail-scene::after{width:min(77%,260px)}
 .mailbox{width:min(63%,248px)}
 .valley-grid{grid-template-columns:1fr}
 .whatsapp-float{min-height:44px;width:44px;justify-content:center;padding:0;bottom:calc(13px + env(safe-area-inset-bottom))}
 .whatsapp-float span{display:none}
}
.contact-hero .feature-shade{background:linear-gradient(90deg,#faf6edfa 5%,#faf6edf2 44%,#f6e2dc63),linear-gradient(0deg,#faf6ed80,transparent)}
@media(max-width:740px){html:not(.js) .mast{height:auto;min-height:var(--hero-nav-height);flex-wrap:wrap;padding-block:8px}.mast nav:not(.is-open){position:static}.js .mast nav{position:absolute}}

.hero-content>p:not(.eyebrow),.feature-inner>p:not(.eyebrow),.room-hero-title>p:not(.eyebrow),.contact-layout>div>p:not(.eyebrow),
.packages-band .section-head>div:last-child>p,.footer-inner p,.footer-bottom,.editorial p,.form-fields label small{color:var(--muted)}
.hero-bottom,.coffee-grid .room-card,.footer,.faq-copy,.lightbox{color:var(--ink)}
.hero-bottom .explore-down,.hero-caption{background:#faf6edf0;border-radius:40px}
.hero-bottom .explore-down{padding-right:13px}
.hero-bottom .explore-down span{border-color:var(--control-edge)}
.hero-caption{padding:5px 11px;margin-right:145px}
.footer-bottom{border-color:var(--edge)}
.offer-price{background:var(--cameo-soft);border-color:var(--edge)}
.photo-open{background:var(--paper-deep);color:var(--ink)}
.photo-open::before{display:none}
.photo-open>span{background:#faf6edf5}
.js .photo-open:focus-visible{outline-color:var(--accent)}
.rail-controls button,.form-fields input,.form-fields select,.form-fields textarea{border-color:var(--control-edge)}
.form-panel,.lightbox,.lightbox img,.lightbox button{background:var(--cream)}
.lightbox,.lightbox button{border-color:var(--control-edge);color:var(--ink)}
.lightbox::backdrop{background:#f0e0d8d9}
.amble-hero .ghost{color:var(--ink);border-color:var(--control-edge);background:#fffaf3de}
