/* Casa Marly — warm hospitality, quiet elegance */
:root{--cream:#f7f4ed;--paper:#eeeee5;--green:#173b35;--deep:#102b27;--gold:#d5b982;--gold-light:#e4c996;--ink:#23362f;--muted:#727970;--line:#d9dbce;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button{border:0}p{margin:0 0 20px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0;letter-spacing:-.045em}h2{font-size:clamp(48px,4.65vw,73px)}em{font-weight:400}::selection{background:var(--gold);color:var(--deep)}:focus-visible{outline:2px solid #b08441;outline-offset:5px}button:disabled{cursor:default}button svg,a svg{pointer-events:none}.wrap{width:min(1280px,calc(100% - 128px));margin-inline:auto}.section{padding-block:112px}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{height:21px;width:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.flower{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:1}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;line-height:1.6;display:flex;align-items:center;gap:14px;margin-bottom:27px}.short-rule{width:34px;height:1px;background:#a08861;display:inline-block}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:18px 25px;min-height:56px;font-size:12px;font-weight:600;line-height:1.5;border:1px solid transparent;transition:background .25s,color .25s,transform .25s}.button:hover .icon{transform:translate(2px,-2px)}.button .icon{transition:transform .25s;width:19px;height:19px}.button-dark{background:var(--green);color:var(--cream)}.button-dark:hover{background:#28564b}.button-gold{background:var(--gold);color:var(--deep)}.button-gold:hover{background:var(--gold-light)}.text-link{display:inline-flex;align-items:center;gap:25px;padding:0 0 9px;background:none;border-bottom:1px solid #89948a;font-size:12px;font-weight:600;line-height:1.6;transition:gap .25s}.text-link:hover{gap:33px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:20px;background:var(--gold);padding:12px 20px;z-index:100}.skip-link:focus{top:15px}[hidden]{display:none!important}
/* Header */
.site-header{height:99px;padding-inline:46px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--cream);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(23,59,53,.08)}.brand{display:inline-flex;gap:12px;align-items:center;flex-shrink:0}.brand-emblem{font-family:var(--serif);font-size:32px;line-height:50px;text-align:center;width:46px;height:54px;border:1px solid #af9570;border-radius:23px 23px 2px 2px;color:var(--green);position:relative}.brand-emblem:after{position:absolute;inset:3px;border:1px solid #af957066;border-radius:19px 19px 0 0;content:''}.brand-emblem>span{position:absolute;left:50%;transform:translateX(-50%);font:9px var(--sans);top:3px}.brand-text{font-family:var(--serif);font-size:34px;letter-spacing:-.025em;line-height:.95}.brand-text small{display:block;font:6.8px/1.5 var(--sans);letter-spacing:.19em;margin-top:9px}.desktop-nav{display:flex;gap:27px;align-items:center}.desktop-nav a{font-size:11px;position:relative;padding-block:12px}.desktop-nav a:after{position:absolute;content:'';height:1px;width:0;background:var(--green);bottom:5px;left:0;transition:width .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current="location"]:after{width:100%}.header-cta{font-size:10px;padding:13px 18px;min-height:45px;gap:15px}.header-cta .icon{width:16px;height:16px}.menu-toggle{display:none}.mobile-nav{position:fixed;z-index:29;background:var(--green);color:var(--cream);left:0;right:0;top:80px;padding:25px 26px 30px;box-shadow:0 20px 25px #0002}.mobile-nav>a:not(.mobile-phone){font:32px/1.8 var(--serif);display:block;border-bottom:1px solid #ffffff20}.mobile-nav .button{margin-top:23px;width:100%}.mobile-phone{display:block;text-align:center;font-size:15px;margin-top:20px}
/* Arrival */
.hero{position:relative;min-height:660px;height:calc(100svh - 99px);max-height:920px;isolation:isolate;color:#fffdf8;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--deep)}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-photo{object-position:66% 54%;animation:arrive 1.7s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(9,29,23,.87) 0%,rgba(11,29,23,.7) 30%,rgba(14,28,20,.18) 72%),linear-gradient(0deg,rgba(4,20,16,.7),transparent 35%,rgba(13,25,20,.12));z-index:-1}.hero-content{padding-bottom:50px;padding-top:10px}.hero .eyebrow{font-size:9px;font-weight:500;letter-spacing:.2em;color:#e4d8ba;margin-bottom:25px}.tiny-star{font-size:15px;line-height:1}.hero h1{font-size:clamp(70px,7.1vw,108px);line-height:.99;letter-spacing:-.04em;max-width:1010px}.hero h1 em{color:#e1c99d}.hero-description{font-size:13px;line-height:1.95;color:#eeeae0;margin:31px 0 32px;font-weight:400}.hero-actions{display:flex;align-items:center;gap:35px}.hero-actions .button{padding:19px 24px}.hero-link{font-size:11px;display:flex;gap:23px;align-items:center}.hero-link span{font-size:19px;transition:transform .25s}.hero-link:hover span{transform:translateY(4px)}.hero-bottom{position:absolute;left:0;right:0;bottom:0;border-top:1px solid #ffffff35;display:flex;align-items:center;gap:25px;padding-block:23px;color:#e7e7da;min-height:84px}.hero-bottom>a:first-child{display:flex;align-items:center;gap:12px;font-size:10px}.hero-bottom>a:first-child .icon{width:15px;height:17px}.hero-bottom>span{margin-left:auto;font:italic 19px var(--serif)}.scroll-cue{width:35px;height:35px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;font-size:16px;margin-left:30px}.hero-side-note{position:absolute;right:25px;top:50%;writing-mode:vertical-rl;letter-spacing:.23em;font-size:8px;color:#fffc;transform:translateY(-50%)}.welcome-line{border-bottom:1px solid var(--line);height:99px;display:flex;align-items:center;justify-content:center;gap:55px}.welcome-line span{font:italic 25px var(--serif);letter-spacing:-.02em}.welcome-line svg{width:28px;height:28px;fill:none;stroke:#a28d67;stroke-width:1}
/* Restaurant */
.restaurant{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.restaurant-visual{position:relative;margin-right:20px}.restaurant-visual>img{width:100%;height:560px;object-position:49% 50%}.restaurant-visual:before{content:'';position:absolute;left:24px;top:24px;right:-24px;bottom:-24px;border:1px solid #c6baa2;z-index:-1}.restaurant-visual .photo-caption{position:absolute;bottom:0;left:0;right:0;padding:90px 34px 25px;background:linear-gradient(transparent,rgba(11,31,25,.86));color:var(--cream)}.photo-caption span{font-size:8px;letter-spacing:.22em}.photo-caption p{font:italic 28px var(--serif);margin:7px 0 0}.visual-corner{position:absolute;top:-26px;right:-43px;font-size:50px;line-height:1;color:#ad9871;background:var(--cream);padding:9px}.restaurant-copy h2{margin-bottom:29px}.lead{font:26px/1.3 var(--serif);letter-spacing:-.02em;max-width:380px}.restaurant-copy>p:not(.eyebrow):not(.lead){color:var(--muted);font-size:12px;line-height:1.9;max-width:440px}.restaurant-details{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:10px;font-weight:600;border-top:1px solid var(--line);padding-top:22px;margin:28px 0 13px}.restaurant-details i{width:3px;height:3px;border-radius:50%;background:#b79f71}.restaurant-copy .quiet{font-size:11px!important}.restaurant-copy .text-link{margin-top:10px}
/* Celebrations */
.events{background:var(--green);color:var(--cream)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:50px}.events .eyebrow{color:var(--gold);font-size:9px}.events h2 em{color:#d5c7aa}.section-heading>p{width:330px;font-size:12px;color:#d3dbd2;margin-bottom:8px;line-height:1.95}.events-layout{display:grid;grid-template-columns:1.18fr 1fr;gap:90px;align-items:center}.events-photo{height:460px;position:relative}.events-photo img{height:100%;width:100%;object-position:50% 45%}.image-label{position:absolute;left:0;bottom:0;background:var(--gold);color:var(--deep);padding:14px 20px;font-size:8px;font-weight:600;letter-spacing:.15em}.event-option{border-bottom:1px solid #ffffff2b}.event-option:first-child{border-top:1px solid #ffffff2b}.event-option summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font:35px/1.15 var(--serif);letter-spacing:-.015em}.event-option summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.event-option summary .icon{width:18px;height:18px;color:#d4c4a4;transition:transform .2s}.event-option[open] summary .icon{transform:rotate(45deg)}.event-option[open] summary{color:var(--gold)}.event-option>div{padding-bottom:25px}.event-option p{color:#d2dacf;font-size:11px;line-height:1.95;margin:0 0 15px;max-width:370px}.inline-link{background:none;padding:0;font-size:10px;color:var(--gold);border-bottom:1px solid #d5b98260;padding-bottom:4px}.inline-link span{margin-left:13px}.events-footer{display:flex;gap:20px;align-items:center;margin-top:35px;color:#d4c4a4}.events-footer .flower{width:41px;height:41px}.events-footer p{font:italic 21px/1.2 var(--serif);margin:0}
/* Rooms */
.stay{display:grid;grid-template-columns:1fr 1.18fr;align-items:center;gap:100px}.stay h2{margin-bottom:25px}.stay-copy>p:not(.eyebrow):not(.lead){font-size:12px;color:var(--muted);max-width:415px}.stay .lead{font-size:25px;max-width:310px}.stay-visual{height:570px;position:relative;margin-bottom:20px}.stay-visual>img{height:100%;width:100%;object-position:50% 50%}.stay-note{position:absolute;background:var(--green);color:var(--gold);bottom:-27px;left:-35px;display:flex;align-items:center;gap:25px;padding:25px 32px}.stay-note span{font-size:9px;letter-spacing:.14em;line-height:1.9}.stay-note .flower{width:44px;height:44px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:19px 20px;margin:30px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none;max-width:410px}.amenities li{display:flex;gap:12px;align-items:center;font-size:10px}.amenities .icon{color:#8d7e5e;width:20px;height:20px}.stay .button{font-size:11px;padding-inline:19px;gap:15px}.stay-phone{font-size:10px;display:block;margin-top:14px;color:var(--muted)}.stay-phone span{color:var(--green);border-bottom:1px solid #9ba496}
/* Gallery */
.gallery-section{background:var(--paper)}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.gallery-heading h2{font-size:clamp(45px,4.4vw,65px)}.gallery-heading .text-link{font-size:10px;white-space:nowrap;margin-bottom:5px;gap:20px}.gallery-filters{display:flex;gap:28px;margin:39px 0 29px;border-bottom:1px solid #cfd2c5}.gallery-filters button{background:none;padding:0 0 12px;font-size:11px;color:#6b766a;position:relative}.gallery-filters button.active{color:var(--green);font-weight:700}.gallery-filters button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green)}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:240px 240px;gap:15px}.gallery-item{padding:0;position:relative;overflow:hidden;background:#bdc1b3}.gallery-item img{width:100%;height:100%;transition:transform .7s,filter .4s}.gallery-item:hover img{transform:scale(1.045);filter:brightness(.88)}.gallery-item:focus-visible{outline-offset:3px;z-index:1}.gallery-wide{grid-row:span 2}.gallery-wide img{object-position:53% 50%}.gallery-item>span{position:absolute;bottom:0;left:0;right:0;color:#fff;padding:40px 18px 14px;background:linear-gradient(transparent,#0009);font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.gallery-item b{font-size:18px;font-weight:400}.gallery-grid.filtered{grid-template-columns:repeat(2,1fr);grid-template-rows:300px 300px}.gallery-grid.filtered .gallery-wide{grid-row:auto}.gallery-grid.stay-only{grid-template-columns:minmax(0,700px);grid-template-rows:450px}.gallery-grid.stay-only .gallery-item img{object-position:50% 50%}
/* Invitation & location */
.invitation{background:var(--green);color:var(--cream);text-align:center;padding:81px 20px 90px;position:relative;overflow:hidden}.invitation:before,.invitation:after{content:'';position:absolute;border:1px solid #d5b98221;width:420px;height:530px;border-radius:210px 210px 0 0;top:75px;pointer-events:none}.invitation:before{left:-290px;transform:rotate(22deg)}.invitation:after{right:-290px;transform:rotate(-22deg)}.invitation .flower{color:var(--gold);margin:0 auto 22px;width:40px;height:40px}.invitation .eyebrow{justify-content:center;font-size:8px;color:#d3c3a4;margin-bottom:20px}.invitation h2{font-size:clamp(49px,5.2vw,76px)}.invitation h2 em{color:#dbc59c}.invitation .button{margin-top:35px;min-width:215px}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.contact h2{margin-bottom:35px}.contact-row{display:flex;gap:18px;margin:0 0 28px}.contact-row>.icon{width:20px;height:20px;color:#958263;margin-top:5px}.contact-row span{font-size:8px;letter-spacing:.12em;font-weight:600;color:var(--muted);display:block;margin-bottom:9px}.contact-row p{font-size:12px;line-height:1.7;margin:0}.contact-number{font:31px/1.1 var(--serif);letter-spacing:-.025em}.contact .text-link{margin-top:5px;font-size:11px}.map-panel{height:460px;position:relative;background:#dfdfd3;overflow:hidden}.map-panel iframe{width:100%;height:100%;border:0;filter:grayscale(.75) saturate(.6)}.map-card{position:absolute;bottom:24px;left:24px;right:24px;background:var(--cream);padding:17px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 30px #18372c18}.map-card strong{display:block;font:29px/1 var(--serif);font-weight:500}.map-card small{font-size:9px;color:var(--muted);display:block;margin-top:7px}.map-card>.icon{width:23px;height:23px}.faq{padding-bottom:108px;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.faq h2{font-size:52px}.faq .eyebrow{font-size:8px;margin-bottom:20px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:22px 0;font-size:11px;font-weight:600}.faq summary svg{width:17px;height:17px;transition:transform .25s}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{font-size:11px;color:var(--muted);padding-bottom:20px;line-height:1.9;margin:0}.faq details p a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}
/* Footer */
.site-footer{background:var(--deep);color:var(--cream)}.footer-main{padding-block:55px;display:flex;align-items:center;justify-content:space-between;gap:45px}.footer-main .brand-emblem{color:var(--gold)}.footer-main .brand-text{font-size:36px}.footer-main>p{font:italic 22px/1.25 var(--serif);margin:0;color:#ced3c2}.footer-social{display:flex;gap:24px;align-items:center;font-size:10px;color:#d5c5a8}.footer-bottom{display:flex;gap:30px;align-items:center;padding-block:22px;border-top:1px solid #ffffff20;font-size:8px;color:#b7c1b1}.footer-bottom button{padding:0;background:none;color:inherit;font-size:8px}.footer-bottom>a{margin-left:auto}.mobile-contact-bar{display:none}
/* Dialogs */
dialog{border:0;background:var(--cream);color:var(--green);padding:45px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 100px #0003}dialog::backdrop{background:rgba(7,24,18,.76);backdrop-filter:blur(5px)}.dialog-close{width:34px;height:34px;display:grid;place-items:center;position:absolute;right:14px;top:14px;padding:6px;background:transparent;border-radius:50%}.dialog-close:hover{background:#173b3510}.dialog-close .icon{height:20px;width:20px}.reservation-dialog{width:610px}.reservation-dialog .eyebrow{font-size:8px;margin-bottom:17px}.reservation-dialog h2{font-size:43px;letter-spacing:-.025em;max-width:420px}.dialog-intro{font-size:11px;color:var(--muted);margin:14px 0 23px}.reservation-types{padding:0;border:0;display:flex;gap:8px;margin:0 0 21px}.reservation-types label{flex:1;position:relative;cursor:pointer}.reservation-types input{position:absolute;opacity:0;width:1px;height:1px}.reservation-types span{display:block;padding:10px;text-align:center;font-size:10px;border:1px solid #d2d7c9;transition:background .2s}.reservation-types input:checked+span{background:var(--green);color:var(--cream);border-color:var(--green)}.reservation-types input:focus-visible+span{outline:2px solid #ad874c;outline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid>label{font-size:9px;font-weight:600;display:flex;flex-direction:column;gap:6px}.form-grid>label small{font-size:8px;font-weight:400;display:contents}.full-row{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;padding:10px 12px;border:1px solid #ccd2c4;background:#ffffff6b;border-radius:0;color:var(--green);font-size:11px;min-height:43px;resize:vertical}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#8a9184}.form-notice{font-size:9px;color:var(--muted);margin:17px 0;line-height:1.75}.form-submit{width:100%;font-size:11px;min-height:48px;padding:13px 20px}.form-alternative{font-size:9px;color:var(--muted);text-align:center;margin:14px 0 0;line-height:1.95}.form-alternative a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.privacy-dialog{width:650px}.privacy-dialog h2{font-size:43px;margin-bottom:24px}.privacy-dialog .eyebrow{font-size:8px}.privacy-dialog>p:not(.eyebrow){font-size:12px}.privacy-dialog a{text-decoration:underline}.lightbox{width:1100px;padding:50px 75px 25px;background:#112a25;color:var(--cream);overflow:visible;max-height:calc(100dvh - 50px)}.lightbox figure{margin:0}.lightbox figure>img{max-height:calc(100dvh - 180px);max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}.lightbox figcaption{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;padding-top:20px}.lightbox #lightbox-count{font-size:10px;color:#c1c7b8;white-space:nowrap}.lightbox .dialog-close{color:var(--cream);top:9px;right:10px}.lightbox .dialog-close:hover{background:#fff1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:37px;height:46px;background:transparent;color:var(--cream);font-size:24px}.lightbox-nav:hover{color:var(--gold)}.lightbox-nav.previous{left:13px}.lightbox-nav.next{right:13px}.body-locked{overflow:hidden}
/* Progressive enhancement: content stays visible without scripts. */
@keyframes arrive{from{transform:scale(1.035)}to{transform:scale(1)}}.reveal.pending{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(min-width:1550px){.hero-content{padding-bottom:70px}.hero h1{font-size:112px}.hero-description{font-size:14px}.hero .eyebrow{font-size:10px}.site-header{padding-inline:max(50px,calc((100vw - 1400px)/2))}}
@media(max-width:1200px){.wrap{width:calc(100% - 90px)}.site-header{padding-inline:30px;gap:20px}.desktop-nav{gap:18px}.brand-text{font-size:30px}.brand-text small{font-size:6px}.brand-emblem{width:42px;height:49px;line-height:46px}.header-cta{font-size:9px;gap:10px;padding-inline:14px}.restaurant{gap:75px}.restaurant-visual>img{height:490px}.events-layout{gap:55px}.stay{gap:65px}.stay-visual{height:530px}.contact,.faq{gap:65px}.hero h1{font-size:85px}.gallery-grid{grid-template-rows:220px 220px}.section{padding-block:95px}}
@media(max-width:1000px){.header-cta{display:none}.desktop-nav{gap:25px}.hero{height:750px;min-height:650px}.hero h1{font-size:78px}.hero-content{padding-bottom:70px}.hero-shade{background:linear-gradient(90deg,#091d17de,#091d1799 55%,#091d1740),linear-gradient(0deg,#041410aa,transparent 40%)}.welcome-line{gap:30px;height:90px}.welcome-line span{font-size:23px}.restaurant{gap:55px}.restaurant-visual{margin-right:8px}.restaurant-visual>img{height:450px}.restaurant-copy .lead{font-size:24px}.restaurant-copy>p:not(.eyebrow):not(.lead){font-size:11px}.events-layout{gap:40px;grid-template-columns:1fr 1fr}.events-photo{height:410px}.event-option summary{font-size:31px}.events-footer p{font-size:20px}.stay{gap:50px}.stay-visual{height:500px}.stay .button{font-size:10px;gap:12px;padding:15px}.stay-note{left:-20px;padding:20px 25px;gap:18px}.amenities{gap:15px 12px}.amenities li{font-size:9px;gap:8px}.gallery-heading{display:block}.gallery-heading .text-link{margin-top:24px}.contact,.faq{gap:45px;grid-template-columns:1fr 1fr}.map-panel{height:425px}.footer-main{gap:25px}.footer-main>p{font-size:19px}.footer-social{flex-direction:column;gap:7px;align-items:flex-start}.hero-bottom>span{font-size:16px}.scroll-cue{margin-left:5px}}
@media(max-width:760px){html{scroll-padding-top:79px}.wrap{width:calc(100% - 44px)}.section{padding-block:68px}.site-header{height:80px;padding-inline:22px}.desktop-nav{display:none}.brand-text{font-size:30px}.brand-text small{font-size:6px;letter-spacing:.13em;margin-top:7px}.brand-emblem{width:39px;height:46px;font-size:29px;line-height:45px}.brand{gap:10px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:40px;height:42px;background:none;padding:7px}.menu-toggle span{height:1px;width:26px;display:block;background:var(--green);transition:transform .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{height:calc(100svh - 80px);min-height:600px;max-height:830px}.hero-content{padding-top:0;padding-bottom:61px}.hero h1{font-size:clamp(58px,10vw,80px);max-width:630px;line-height:1.01}.hero .eyebrow{font-size:8px;letter-spacing:.16em;gap:10px;margin-bottom:27px}.hero-description{font-size:11px;margin-top:25px;margin-bottom:28px;line-height:1.95}.hero-actions{gap:27px;flex-wrap:wrap}.hero-actions .button{font-size:10px;padding:16px 19px;min-height:53px;gap:18px}.hero-link{font-size:10px;gap:15px}.hero-bottom{min-height:73px;padding-block:20px}.hero-bottom>a:first-child{font-size:8px;gap:8px;max-width:280px}.hero-bottom>a:first-child .icon{width:13px;height:15px}.hero-bottom>span{display:none}.scroll-cue{margin-left:auto;width:30px;height:30px;font-size:14px}.hero-side-note{display:none}.hero-photo{object-position:62% 50%}.hero-shade{background:linear-gradient(90deg,#0a231acb,#10261b55),linear-gradient(0deg,#071b12b3,transparent 70%)}.welcome-line{height:76px;gap:18px;padding-inline:22px}.welcome-line span{font-size:19px;text-align:center;line-height:1.1}.welcome-line svg{width:20px;height:20px;flex-shrink:0}.welcome-line span:last-child,.welcome-line svg:last-of-type{display:none}.restaurant{grid-template-columns:1fr;gap:48px}.restaurant-visual{margin:0 16px 0 0;max-width:540px}.restaurant-visual>img{height:410px;object-position:50% 40%}.restaurant-visual:before{top:17px;left:17px;right:-17px;bottom:-17px}.visual-corner{top:-20px;right:-30px;font-size:38px}.photo-caption p{font-size:28px}.restaurant-copy{padding-top:4px}.eyebrow{font-size:9px;margin-bottom:22px;letter-spacing:.16em}h2{font-size:56px}.restaurant-copy h2{margin-bottom:25px}.restaurant-copy .lead{font-size:27px;max-width:360px}.restaurant-copy>p:not(.eyebrow):not(.lead){font-size:12px;max-width:none}.restaurant-details{font-size:10px;margin-top:25px}.restaurant-copy .text-link{font-size:11px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{width:auto;max-width:350px;margin:25px 0 0;font-size:12px}.events-layout{grid-template-columns:1fr;gap:28px}.events-photo{height:340px}.image-label{font-size:7px;padding:13px 16px}.event-option summary{font-size:32px;padding:22px 0}.event-option p{font-size:12px;max-width:none}.inline-link{font-size:10px}.events-footer{margin-top:28px}.events-footer p{font-size:22px}.stay{grid-template-columns:1fr;gap:40px}.stay-copy{order:2}.stay-visual{order:1;height:420px;margin-bottom:15px;margin-left:15px}.stay-note{left:-15px;bottom:-17px;padding:19px 24px;gap:20px}.stay-note span{font-size:8px}.stay-note .flower{width:38px;height:38px}.stay-copy>p:not(.eyebrow):not(.lead){font-size:12px;max-width:none}.stay .lead{font-size:26px}.stay .button{font-size:11px;padding:17px 20px;min-height:56px}.amenities{max-width:none;gap:20px}.amenities li{font-size:11px;gap:12px}.stay-phone{font-size:11px}.gallery-heading h2{font-size:49px}.gallery-heading .text-link{font-size:10px;margin-top:22px}.gallery-filters{gap:25px;margin:29px 0 22px}.gallery-filters button{font-size:10px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:290px 220px 220px;gap:10px}.gallery-wide{grid-row:auto;grid-column:1/-1}.gallery-item>span{font-size:9px;padding:35px 12px 11px}.gallery-grid.filtered{grid-template-columns:1fr 1fr;grid-template-rows:290px 220px 220px}.gallery-grid.stay-only{grid-template-columns:1fr;grid-template-rows:360px}.invitation{padding:64px 0 70px}.invitation h2{font-size:53px}.invitation .eyebrow{font-size:7px;letter-spacing:.14em}.invitation .button{font-size:11px}.invitation .flower{margin-bottom:20px}.contact{grid-template-columns:1fr;gap:36px}.contact h2{font-size:55px;margin-bottom:30px}.contact-row p{font-size:13px}.contact-number{font-size:32px}.map-panel{height:380px}.map-card{left:17px;right:17px;bottom:17px;padding:16px 20px}.faq{grid-template-columns:1fr;gap:28px;padding-bottom:70px}.faq h2{font-size:46px}.faq h2 br{display:none}.faq .eyebrow{margin-bottom:15px}.faq summary{font-size:11px;padding:20px 0;line-height:1.7}.faq details p{font-size:12px}.footer-main{padding-block:38px;flex-wrap:wrap;align-items:flex-start;gap:25px}.footer-main .brand{width:100%}.footer-main .brand-text{font-size:34px}.footer-main>p{font-size:22px;flex:1}.footer-social{font-size:10px;padding-top:4px}.footer-bottom{padding-top:23px;padding-bottom:25px;flex-wrap:wrap;column-gap:22px;row-gap:15px;font-size:8px}.footer-bottom>span{width:100%}.footer-bottom button{font-size:8px}.footer-bottom>a{margin-left:auto}.site-footer{padding-bottom:61px}.mobile-contact-bar{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:.8fr 1.4fr;height:61px;box-shadow:0 -4px 25px #00000010;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--green)}.mobile-contact-bar>a,.mobile-contact-bar>button{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;font-weight:600}.mobile-contact-bar>a{background:var(--cream);color:var(--green)}.mobile-contact-bar>button{background:var(--green);color:var(--cream)}.mobile-contact-bar .icon{width:17px;height:17px}dialog{padding:35px 24px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.reservation-dialog h2{font-size:37px;max-width:330px}.dialog-intro{font-size:11px;margin-top:15px}.reservation-dialog .eyebrow{font-size:7px;max-width:260px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:9px 10px;min-height:46px}.form-grid>label{font-size:9px}.form-grid{gap:15px 10px}.form-notice{font-size:10px}.reservation-types span{font-size:9px;padding:10px 8px}.form-alternative{font-size:10px}.dialog-close{right:8px;top:8px}.privacy-dialog h2{font-size:36px}.lightbox{padding:48px 13px 62px;max-width:calc(100vw - 20px);width:100%}.lightbox figure>img{max-height:calc(100dvh - 220px)}.lightbox figcaption{font-size:10px;padding-top:15px}.lightbox-nav{top:auto;bottom:8px;transform:none;height:39px;width:45px}.lightbox-nav.previous{left:calc(50% - 52px)}.lightbox-nav.next{right:calc(50% - 52px)}}
@media(max-width:390px){.hero h1{font-size:57px}.hero-actions{gap:18px}.hero-link{font-size:9px}.hero-description{font-size:10px}.hero .eyebrow{font-size:7px}.hero{min-height:610px}.hero-actions .button{font-size:10px;padding-inline:17px}.restaurant-visual>img{height:340px}.gallery-filters{gap:19px}.gallery-filters button{font-size:9px}.gallery-grid{grid-template-rows:250px 185px 185px}.gallery-item>span{font-size:8px}.invitation h2{font-size:46px}.stay-visual{height:350px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}
