@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');

:root{--ink:#291c20;--wine:#3a1a22;--wine-deep:#211216;--rose:#d995a6;--rose-light:#f0c5ce;--paper:#f5e9e6;--cream:#fbf4ef;--line:rgba(88,46,57,.18);--green:#173e32;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #a95770;outline-offset:4px}::selection{background:#d994a5;color:#241318}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px max(5vw,calc((100vw - 1480px)/2));color:#fff}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--serif);font-size:24px;letter-spacing:.02em;line-height:1}.brand::before{content:'m.';display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eac0c9;color:#683848;font-family:var(--serif);font-size:23px;font-style:italic}.desktop-nav{display:flex;align-items:center;gap:clamp(15px,2vw,34px);padding:9px 22px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.22),0 8px 30px rgba(0,0,0,.1);backdrop-filter:blur(18px);font-size:12px}.desktop-nav a{opacity:.84;transition:opacity .25s}.desktop-nav a:hover{opacity:1}.header-book{padding:12px 26px;border:1px solid rgba(255,255,255,.35);border-radius:99px;background:linear-gradient(135deg,rgba(221,150,168,.84),rgba(145,73,94,.8));box-shadow:inset 0 1px 7px rgba(255,255,255,.35);font-size:12px;font-weight:700}.menu-toggle,#mobile-menu{display:none}.hero{position:relative;min-height:min(790px,100svh);overflow:hidden;background:var(--wine-deep);color:#fff}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:.88;animation:hero-image 1.5s both}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,17,21,.96) 0%,rgba(46,21,26,.86) 27%,rgba(47,22,28,.4) 58%,rgba(34,17,20,.12) 100%),linear-gradient(0deg,rgba(38,18,22,.38),transparent 45%);pointer-events:none}.hero__content{position:relative;z-index:1;width:min(1480px,90%);margin:auto;padding:clamp(200px,23vw,300px) 0 150px}.eyebrow,.section-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.33em;text-transform:uppercase}.hero__content .eyebrow{color:#efc1ca;animation:rise .85s .12s both}.hero__title{margin:18px 0 5px;font-family:var(--serif);font-size:clamp(88px,11.6vw,172px);font-weight:400;letter-spacing:-.065em;line-height:.8;animation:rise 1s .2s both}.hero__copy{max-width:390px;margin:25px 0 28px;color:#f4e7e8;font-size:clamp(15px,1.2vw,18px);line-height:1.55;animation:rise .9s .35s both}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;animation:rise .9s .45s both}.button{position:relative;display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:18px;padding:14px 25px;overflow:hidden;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s,background .4s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(69,25,39,.22)}.button:active{transform:scale(.97)}.button--primary{background:linear-gradient(125deg,#e2a5b3,#d88d9f 62%,#f3bec9);color:#2c1720;box-shadow:inset 0 1px 1px rgba(255,255,255,.55)}.button--ghost{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.06);color:#fff;backdrop-filter:blur(12px)}.hero__aside{position:absolute;z-index:2;right:6%;bottom:70px;padding:18px 24px;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.3);backdrop-filter:blur(18px);font-size:12px}.hero__aside strong{display:block;font-family:var(--serif);font-size:30px;font-weight:500;line-height:1}.hero__bottom{position:absolute;z-index:2;left:5%;bottom:32px;display:flex;gap:15px;align-items:center;color:rgba(255,255,255,.75);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.hero__bottom::before{content:'';width:42px;height:1px;background:currentColor}.category-strip{position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;width:min(1480px,90%);margin:-1px auto 0;padding:24px 0}.category-card{position:relative;display:flex;min-height:150px;align-items:flex-end;overflow:hidden;padding:17px 18px;border:1px solid rgba(255,255,255,.56);border-radius:21px;background:#926b72;color:white;box-shadow:0 12px 30px rgba(68,35,42,.13);font-size:14px;font-weight:600;transition:transform .5s var(--ease)}.category-card:hover{transform:translateY(-5px)}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.category-card:hover img{transform:scale(1.07)}.category-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(47,24,29,.76),transparent 75%)}.category-card span,.category-card strong{position:relative;z-index:1}.section{padding:clamp(80px,9vw,140px) max(5vw,calc((100vw - 1480px)/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-kicker{margin-bottom:14px;color:#995b6b}.section-title{margin:0;font-family:var(--serif);font-size:clamp(48px,5.6vw,86px);font-weight:400;letter-spacing:-.045em;line-height:.95}.section-intro{max-width:390px;margin:0;color:#765c61;font-size:14px}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(45px,7vw,110px);align-items:center;padding-top:80px}.about__image{position:relative;min-height:500px;overflow:hidden;border-radius:4px 100px 4px 4px;background:#ad8d90}.about__image img,img.about__image{width:100%;height:100%;object-fit:cover}.about__copy{max-width:540px}.about__copy p{max-width:470px;color:#705c60}.about__copy .section-title{margin-bottom:25px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.benefit{min-height:115px;padding:18px;border:1px solid rgba(255,255,255,.75);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.17));box-shadow:inset 0 1px rgba(255,255,255,.7),0 12px 24px rgba(105,55,67,.06);font-size:12px;line-height:1.45}.benefit svg{display:block;margin-bottom:12px}.catalog{background:#ecd4d7}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{padding:10px 17px;border:1px solid rgba(112,68,80,.12);border-radius:99px;background:rgba(255,255,255,.34);color:#664953;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s,transform .3s}.filter-chip:hover{transform:translateY(-2px)}.filter-chip.is-active{border-color:#733b4d;background:#733b4d;color:white}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}.service-card{min-width:0;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.65);border-radius:20px;background:#f8eaea;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 10px 30px rgba(72,35,45,.06);transition:transform .45s var(--ease),box-shadow .45s}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 34px rgba(72,35,45,.14)}.service-card__image{height:clamp(170px,16vw,260px);overflow:hidden;background:#b88f96}.service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.service-card:hover img{transform:scale(1.06)}.service-card__body{display:flex;min-height:150px;flex-direction:column;padding:20px}.service-card__category{color:#a36e7c;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.service-card h3{margin:7px 0 20px;font-family:var(--serif);font-size:24px;font-weight:600;line-height:1}.service-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;font-weight:700}.round-arrow{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(122,72,86,.25);border-radius:50%;color:#8a5263;transition:background .3s,color .3s,transform .3s}.service-card:hover .round-arrow{transform:translateX(3px);background:#7e485a;color:white}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:30px}.gallery-card{position:relative;min-width:0;aspect-ratio:4/5;overflow:hidden;padding:0;border:0;border-radius:4px;background:#c49fa3;color:white;cursor:pointer}.gallery-card:nth-child(3n + 2){transform:translateY(22px)}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.gallery-card:hover img{transform:scale(1.07)}.gallery-card::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(32,20,22,.55))}.gallery-card__caption{position:absolute;z-index:1;bottom:15px;left:15px;font-size:11px}.gallery-note{margin:48px 0 0;color:#816e70;font-size:12px}.booking-banner{position:relative;display:flex;min-height:330px;align-items:center;overflow:hidden;padding:75px max(8vw,calc((100vw - 1350px)/2));background:radial-gradient(ellipse at 85% 0%,#457361 0,transparent 38%),linear-gradient(120deg,#173a30,#0d2a22);color:#fbf0e9}.booking-banner::after{content:'';position:absolute;right:-5%;bottom:-65%;width:50%;aspect-ratio:1;border:1px solid rgba(255,255,255,.2);border-radius:45%;box-shadow:0 0 0 25px rgba(255,255,255,.025),0 0 0 60px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.02);transform:rotate(-30deg)}.booking-banner__content{position:relative;z-index:1;display:flex;width:100%;align-items:end;justify-content:space-between;gap:30px}.booking-banner .section-title{max-width:630px}.booking-banner p{color:#ccdad1}.contacts{background:#f3e4e2}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,100px);margin-top:45px}.contact-info{font-size:16px}.contact-info p{margin:0 0 22px}.contact-info a:not(.button){border-bottom:1px solid #bc8c99}.contact-info .button{margin:15px 10px 0 0}.map-frame{min-height:360px;overflow:hidden;border:1px solid white;border-radius:26px;background:#e2cfca}.map-frame iframe{display:block;width:100%;height:100%;min-height:360px;border:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px max(5vw,calc((100vw - 1480px)/2));background:#29171c;color:#ead7d9;font-size:11px}.footer nav{display:flex;flex-wrap:wrap;gap:20px}.footer .brand::before{width:38px;height:38px;font-size:19px}#modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(26,15,18,.68);backdrop-filter:blur(12px);transition:opacity .35s}#modal[hidden]{display:none}.modal-panel{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(900px,100%);max-height:min(90dvh,780px);overflow:auto;border:1px solid rgba(255,255,255,.6);border-radius:25px;background:#f7eae7;box-shadow:0 30px 100px rgba(0,0,0,.3);animation:modal-in .55s var(--ease) both}.modal-close{position:absolute;z-index:3;top:16px;right:16px;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(59,37,41,.35);color:white;font-size:23px;cursor:pointer;backdrop-filter:blur(12px)}.modal-media{min-height:460px;background:#b99599}.modal-media img{width:100%;height:100%;max-height:78dvh;object-fit:cover}.modal-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,60px)}.modal-eyebrow{color:#a06a78;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.modal-copy h2{margin:14px 0;font-family:var(--serif);font-size:clamp(40px,4vw,58px);font-weight:500;line-height:.95}.modal-price{font-size:18px;font-weight:700}.modal-description{color:#765e64}.modal-actions{display:flex;gap:10px;margin-top:20px}.gallery-nav{display:flex;gap:10px;margin-top:18px}.gallery-nav button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image{from{opacity:.25;transform:scale(1.035)}to{opacity:.88;transform:scale(1)}}@keyframes modal-in{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.desktop-nav{gap:14px;padding-inline:15px}.header-book{padding-inline:17px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about__image{min-height:430px}.category-card{min-height:120px}.category-strip{gap:8px}.benefits{grid-template-columns:1fr}.benefit{min-height:0}.benefit svg{display:inline-block;margin:0 10px 0 0;vertical-align:middle}}
@media(max-width:700px){html{scroll-padding-top:75px}.site-header{position:absolute;padding:18px 20px;gap:8px}.brand{font-size:20px}.brand::before{width:40px;height:40px;font-size:20px}.desktop-nav,.header-book{display:none}.menu-toggle{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:21px;backdrop-filter:blur(15px)}#mobile-menu:not([hidden]){position:absolute;top:72px;right:20px;left:20px;display:flex;flex-direction:column;gap:0;padding:12px 22px;border:1px solid rgba(255,255,255,.3);border-radius:22px;background:rgba(57,29,36,.94);box-shadow:0 20px 50px rgba(0,0,0,.2);backdrop-filter:blur(20px);animation:rise .4s var(--ease)}#mobile-menu a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}#mobile-menu a:last-child{border:0}.hero{min-height:720px;min-height:100svh}.hero__image{object-position:62% center}.hero::after{background:linear-gradient(90deg,rgba(34,16,20,.83),rgba(39,19,23,.23)),linear-gradient(0deg,rgba(38,18,22,.9) 0%,rgba(38,18,22,.1) 70%)}.hero__content{width:auto;margin:0;padding:clamp(180px,29vh,260px) 22px 130px}.hero__title{font-size:clamp(74px,19vw,126px);letter-spacing:-.065em}.hero__copy{max-width:285px;margin:23px 0;font-size:15px}.hero__actions{max-width:330px}.hero__actions .button--primary{flex:1}.hero__aside{right:20px;bottom:28px;padding:12px 15px;border-radius:16px}.hero__aside strong{font-size:24px}.hero__bottom{left:22px;bottom:40px;font-size:9px}.category-strip{display:flex;width:auto;gap:10px;overflow-x:auto;margin:0;padding:18px 20px 25px;scrollbar-width:none}.category-strip::-webkit-scrollbar,.filters::-webkit-scrollbar{display:none}.category-card{min-width:145px;min-height:115px;padding:14px;border-radius:16px;font-size:12px}.section{padding:76px 20px}.section-heading{display:block;margin-bottom:25px}.section-intro{margin-top:20px}.section-title{font-size:clamp(48px,12vw,68px)}.about{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding-top:45px}.about__image{min-height:0;aspect-ratio:1.16;border-radius:4px 60px 4px 4px}.about__copy .section-title{margin-bottom:20px}.benefits{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:30px}.benefit{padding:13px 9px;font-size:10px}.benefit svg{display:block;margin:0 0 8px}.filters{flex-wrap:nowrap;overflow-x:auto;margin:23px -20px 0;padding:0 20px 4px;scrollbar-width:none}.filter-chip{flex:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.service-card{border-radius:15px}.service-card__image{height:auto;aspect-ratio:1}.service-card__body{min-height:145px;padding:14px}.service-card h3{font-size:20px}.service-card__category{font-size:9px}.service-card__bottom{font-size:13px}.round-arrow{width:29px;height:29px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.gallery-card:nth-child(3n + 2){transform:none}.gallery-card:nth-child(even){transform:translateY(14px)}.gallery-note{margin-top:35px}.booking-banner{min-height:350px;padding:65px 22px}.booking-banner__content{display:block}.booking-banner .button{margin-top:18px}.booking-banner::after{right:-50%;width:100%}.contact-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.map-frame,.map-frame iframe{min-height:300px}.footer{flex-direction:column;align-items:flex-start;padding:38px 22px calc(38px + env(safe-area-inset-bottom));gap:25px}.footer nav{gap:14px}.modal-panel{display:block;max-height:calc(100dvh - 30px);border-radius:22px}.modal-media{min-height:0;height:35vh}.modal-media img{height:100%}.modal-copy{padding:25px}.modal-copy h2{font-size:42px}.modal-actions .button{width:100%}}
@media(max-width:350px){.hero__title{font-size:69px}.hero__actions{display:grid}.hero__actions .button{width:100%}.benefits{grid-template-columns:1fr}.benefit{font-size:12px}.benefit svg{display:inline-block;margin:0 8px 0 0}.service-card__body{padding:11px}.service-card h3{font-size:18px}.service-card__bottom{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Composition details shared with the document and interactive components. */
.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:12px 16px;transform:translateY(-160%);background:white;color:#321d24}.skip-link:focus{transform:translateY(0)}
.brand::before{display:none}.brand__mark{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#eac0c9;color:#683848;font-family:var(--serif);font-size:23px;font-style:italic}.brand__mark span{margin-left:-6px}.brand__name{font-size:19px}.brand__name small{display:block;margin-top:4px;font-family:var(--sans);font-size:7px;letter-spacing:.16em;text-transform:uppercase}.hero__image{background:url('assets/hero-generated.jpg') center 45%/cover no-repeat}.hero__tagline{margin:26px 0 0;font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);font-style:italic;line-height:1}.hero__copy{margin-top:13px}.hero__aside{display:flex;align-items:center;gap:10px;max-width:200px;font-size:9px;letter-spacing:.15em}.hero__aside i{width:25px;height:1px;background:#e7c2c8}.hero__bottom{right:5%;justify-content:space-between}.hero__bottom::before{display:none}.hero__bottom a{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-size:18px}.category-card b{position:relative;z-index:1;margin-left:auto;font-size:18px;font-weight:400}.image-label{position:absolute;bottom:20px;left:20px;z-index:1;padding:10px 14px;border:1px solid rgba(255,255,255,.45);border-radius:99px;background:rgba(35,25,25,.25);color:white;font-size:9px;letter-spacing:.16em;backdrop-filter:blur(12px)}.about__image img{position:absolute;inset:0}.section-title em,.booking-banner h2 em{font-weight:400;color:#9c6272}.benefit span{display:block;margin-bottom:10px;font-size:23px;line-height:1}.benefit p{margin:0;color:inherit}.service-card__image{display:block}.service-card__title{display:block;margin:7px 0 20px;font-family:var(--serif);font-size:24px;font-weight:600;line-height:1}.catalog-note{margin:25px 0 0;color:#81676d;font-size:12px}.gallery-note{margin:0 0 5px}.booking-banner__content{display:block}.booking-banner h2{margin:15px 0;font-family:var(--serif);font-size:clamp(49px,6vw,86px);font-weight:400;letter-spacing:-.045em;line-height:.95}.booking-banner h2 em{color:#ddb6bf}.booking-banner .button{margin-top:15px}.booking-banner__ornament{position:absolute;right:10%;top:0;color:rgba(255,255,255,.055);font-family:var(--serif);font-size:300px;font-style:italic;line-height:1}.contact-info>div{margin-bottom:25px}.contact-info>div>span{display:block;margin-bottom:8px;color:#a06a78;font-size:10px;font-weight:700;letter-spacing:.16em}.contact-info p{margin:0}.contact-info small{color:#8b7478}.button--dark{background:#423038;color:white}.map-frame{position:relative}.map-caption{position:absolute;bottom:14px;left:14px;padding:10px 15px;border-radius:99px;background:#fff;color:#49353b;font-size:11px;font-weight:700}.footer{display:block}.footer__top,.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer__bottom{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);color:#aa8f97;font-size:10px;letter-spacing:.1em}.footer__logo{font-family:var(--serif);font-size:32px;letter-spacing:-.04em;line-height:1}.footer__logo span{display:block;margin-top:8px;font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.modal-panel{display:block}.modal-content{display:grid;grid-template-columns:1fr 1fr}.modal-note{color:#987c83;font-size:11px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:700px){.brand__mark{width:40px;height:40px}.brand__name{font-size:17px}.menu-toggle span{display:block;grid-area:1/1;width:16px;height:1px;background:white;transform:translateY(-3px)}.menu-toggle span+span{transform:translateY(3px)}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}.hero__image{background-position:62% center}.hero__tagline{font-size:26px}.hero__aside{display:none}.hero__bottom span:last-child{display:none}.hero__bottom a{margin-left:auto}.service-card__title{font-size:20px}.modal-content{display:block}.footer__top,.footer__bottom{align-items:flex-start;flex-direction:column;gap:22px}.footer__bottom{margin-top:30px}.booking-banner__ornament{right:-4%;top:100px;font-size:200px}.gallery-note{margin-top:0}.benefit span{font-size:20px}}
@media(max-width:350px){.service-card__title{font-size:18px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
/* Fine tuning for narrow devices and the compact wordmark. */
.brand__mark{display:flex;align-items:center;justify-content:center}
@media(max-width:700px){.hero__title{font-size:clamp(48px,15.5vw,108px)}}

/* Persistent navigation remains legible on light sections. */
.site-header{position:fixed;transition:padding .35s ease,background .35s ease,box-shadow .35s ease}
.site-header.is-scrolled{padding-top:10px;padding-bottom:10px;background:rgba(43,23,28,.88);box-shadow:0 8px 30px rgba(34,19,23,.12);backdrop-filter:blur(18px)}
@media(max-width:700px){.site-header{position:fixed}.site-header.is-scrolled{padding-top:10px;padding-bottom:10px}}
