@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600&family=Oswald:wght@500;600;700&display=swap');
:root{--forest:#10261c;--forest-2:#183a2b;--forest-3:#244a38;--cream:#f2eee4;--paper:#f8f6f0;--ink:#142119;--muted:#758078;--line:rgba(20,33,25,.13);--gold:#a78652;--white:#fff;--header:82px;--shadow:0 28px 80px rgba(16,38,28,.16)}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{color:inherit}img{display:block;max-width:100%}a{color:inherit}.site-header{height:var(--header);display:grid;grid-template-columns:260px 1fr 210px;align-items:center;gap:26px;padding:0 clamp(24px,4vw,68px);position:sticky;top:0;z-index:500;background:rgba(248,246,240,.92);backdrop-filter:blur(22px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand-seal{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#f6f0e4;font-size:11px;font-weight:700;letter-spacing:.08em;flex:0 0 auto}.brand-seal.small{width:36px;height:36px}.brand-copy{min-width:0}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:13px;letter-spacing:-.02em;white-space:nowrap}.brand-copy small{margin-top:3px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.nav-links{display:flex;justify-content:center;gap:2px}.nav-links button{border:0;background:transparent;padding:11px 13px;border-radius:999px;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.04em;transition:.2s}.nav-links button:hover{background:rgba(16,38,28,.06)}.nav-links button.active{background:var(--forest);color:#fff}.mobile-nav-maps{display:none!important}body:not([data-active-screen]) .menu-toggle,body[data-active-screen="home"] .menu-toggle{display:none!important}.header-side{display:flex;justify-content:flex-end;align-items:center;gap:12px}.lang-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:rgba(255,255,255,.6)}.lang-switch button{width:34px;height:30px;border:0;background:transparent;border-radius:999px;cursor:pointer;font-size:9px;font-weight:700;color:#879088}.lang-switch button.active{background:var(--forest);color:#fff}.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:16px;height:1px;background:var(--ink)}
.screen-shell{min-height:calc(100vh - var(--header))}.site-screen{display:none;min-height:calc(100vh - var(--header));animation:screenIn .38s ease}.site-screen.active{display:block}@keyframes screenIn{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}.page-shell{width:min(1300px,calc(100% - 72px));margin:0 auto;padding:clamp(52px,6vw,90px) 0}.eyebrow{display:block;font-size:9px;letter-spacing:.22em;font-weight:700;color:var(--gold);margin-bottom:18px}.eyebrow.light{color:#c9b58f}.editorial-head h2,.split-head h2,.about-editorial h2,.location-editorial h2,.experience-copy h2{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-.045em;margin:0}.editorial-head h2,.split-head h2{font-size:clamp(48px,6vw,82px);line-height:.92}.editorial-head>p,.split-head>p{max-width:520px;color:var(--muted);font-size:14px;line-height:1.7}.split-head{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--line)}
/* MAP */.map-screen{background:var(--cream);padding:0 clamp(18px,3vw,48px) clamp(18px,3vw,48px)}.map-intro{height:174px;display:flex;justify-content:space-between;align-items:end;gap:40px;width:min(1440px,100%);margin:0 auto;padding:28px 4px 24px}.map-title-block h1{font-family:'Instrument Serif',serif;font-size:clamp(42px,5vw,72px);line-height:.9;font-weight:400;letter-spacing:-.045em;margin:0 0 10px}.map-title-block p{margin:0;color:#647069;font-size:12px}.map-title-block .eyebrow{margin-bottom:12px}.map-instructions{display:flex;align-items:center;gap:14px;padding-bottom:5px}.map-index{font-family:'Instrument Serif',serif;font-size:43px;color:var(--gold);line-height:1}.map-instructions b,.map-instructions small{display:block}.map-instructions b{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.map-instructions small{font-size:9px;color:var(--muted);margin-top:5px;max-width:230px;line-height:1.45}.map-stage-shell{width:min(1440px,100%);height:calc(100vh - var(--header) - 200px);min-height:590px;margin:0 auto;position:relative;background:#dde5df;border-radius:28px;overflow:hidden;box-shadow:0 2px 0 rgba(255,255,255,.7) inset,0 28px 80px rgba(35,53,41,.12)}.original-map-frame{width:100%;height:100%;border:0;display:block}.map-corner-note{position:absolute;right:20px;bottom:20px;z-index:4;display:flex;align-items:center;gap:9px;background:rgba(16,38,28,.92);color:#fff;border-radius:999px;padding:11px 15px;font-size:9px;font-weight:600;letter-spacing:.04em;pointer-events:none}.pulse{width:7px;height:7px;border-radius:50%;background:#d8bc87;box-shadow:0 0 0 5px rgba(216,188,135,.14)}.map-edge-label{position:absolute;z-index:3;left:16px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:left top;display:flex;align-items:center;gap:10px;color:#fff;mix-blend-mode:difference;pointer-events:none}.map-edge-label span{font-family:'Instrument Serif',serif;font-size:18px}.map-edge-label small{font-size:7px;letter-spacing:.19em}
/* MENU */.menu-screen{background:var(--paper)}.menu-layout{display:grid;grid-template-columns:230px 1fr;gap:50px;margin-top:42px}.menu-sidebar{position:sticky;top:calc(var(--header) + 30px);align-self:start}.side-label{display:block;font-size:8px;letter-spacing:.18em;color:var(--muted);margin-bottom:14px}.menu-filters{display:grid;gap:2px}.menu-filters button{text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:11px;color:#6e7971}.menu-filters button:hover{background:#eceae3}.menu-filters button.active{background:var(--forest);color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px}.menu-card{display:grid;grid-template-columns:1fr auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);min-height:126px}.menu-card small{font-size:8px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}.menu-card h3{font-family:'Instrument Serif',serif;font-size:27px;font-weight:400;line-height:1;margin:8px 0 9px}.menu-card p{font-size:10px;line-height:1.6;color:var(--muted);margin:0;max-width:350px}.menu-card>b{font-size:12px;white-space:nowrap;padding-top:22px}.loading{color:var(--muted);font-size:12px;padding:30px 0}
/* ABOUT */.about-screen{background:#eae5db}.about-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:clamp(38px,6vw,90px);align-items:center;min-height:calc(100vh - var(--header))}.about-photo-panel{min-height:660px;position:relative;border-radius:2px 100px 2px 2px;overflow:hidden;background:linear-gradient(145deg,#2f5a42,#10261c);background-position:center;background-size:cover}.about-photo-panel.has-image .photo-placeholder{display:none}.about-photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,18,12,.42),transparent 58%)}.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#e8e1d4}.photo-placeholder span{font-family:'Instrument Serif',serif;font-size:86px;opacity:.2}.photo-placeholder small{position:absolute;bottom:38px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;opacity:.62}.about-photo-caption{position:absolute;z-index:2;left:28px;bottom:26px;color:#fff;display:flex;align-items:baseline;gap:10px}.about-photo-caption span{font-size:8px;letter-spacing:.18em;opacity:.7}.about-photo-caption b{font-family:'Instrument Serif',serif;font-size:19px;font-weight:400;letter-spacing:.03em}.about-editorial h2{font-size:clamp(50px,5.5vw,78px);line-height:.92;margin-bottom:25px}.about-editorial .lead{font-family:'Instrument Serif',serif;font-size:22px;line-height:1.45;color:#4d5a52;max-width:590px}.divider{height:1px;background:var(--line);margin:36px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats b,.stats span{display:block}.stats b{font-family:'Instrument Serif',serif;font-size:38px;font-weight:400}.stats span{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:5px}.editorial-sign{display:flex;align-items:center;gap:12px;margin-top:40px}.editorial-sign span{width:40px;height:1px;background:var(--gold)}.editorial-sign small{font-family:'Instrument Serif',serif;font-style:italic;font-size:15px;color:#6c766f}
/* GALLERY */.gallery-screen{background:#171d19;color:#f3efe7}.gallery-screen .editorial-head{max-width:760px}.gallery-screen .editorial-head>p{color:#9da59f}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:110px;gap:12px;margin-top:46px}.gallery-item{margin:0;overflow:hidden;background:#263129;position:relative}.gallery-item:nth-child(6n+1){grid-column:span 7;grid-row:span 4}.gallery-item:nth-child(6n+2){grid-column:span 5;grid-row:span 3}.gallery-item:nth-child(6n+3){grid-column:span 5;grid-row:span 3}.gallery-item:nth-child(6n+4){grid-column:span 4;grid-row:span 3}.gallery-item:nth-child(6n+5){grid-column:span 4;grid-row:span 3}.gallery-item:nth-child(6n+6){grid-column:span 4;grid-row:span 3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.025)}.gallery-empty{grid-column:1/-1;border:1px solid rgba(255,255,255,.15);padding:70px 28px;min-height:360px;display:flex;align-items:flex-end;background:radial-gradient(circle at 75% 30%,#37513f,#1b241e 55%,#131815);color:#aeb6b0}.gallery-empty div{max-width:520px}.gallery-empty b{font-family:'Instrument Serif',serif;font-size:44px;font-weight:400;display:block;color:#eee8dc}.gallery-empty span{display:block;margin-top:12px;font-size:11px;line-height:1.6}
/* EXPERIENCE */.experience-screen{background:var(--cream)}.experience-hero{min-height:470px;background:var(--forest);color:#fff;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:58px max(36px,calc((100vw - 1300px)/2))}.experience-copy{position:relative;z-index:2;max-width:760px}.experience-copy h2{font-size:clamp(58px,8vw,112px);line-height:.82;max-width:830px}.experience-copy p{max-width:560px;color:#bfcbc3;font-size:13px;line-height:1.7;margin:24px 0 0}.huge-word{position:absolute;right:-25px;bottom:-55px;font-family:'Instrument Serif',serif;font-size:clamp(150px,24vw,360px);line-height:.7;color:rgba(255,255,255,.035);letter-spacing:-.08em}.experience-list{padding-top:30px;padding-bottom:30px}.experience-list article{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.experience-list article>span{font-family:'Instrument Serif',serif;font-size:30px;color:var(--gold)}.experience-list h3{font-family:'Instrument Serif',serif;font-size:32px;font-weight:400;margin:0 0 6px}.experience-list p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}
/* LOCATION */.location-screen{background:var(--paper)}.location-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:stretch;min-height:calc(100vh - var(--header))}.location-editorial{display:flex;flex-direction:column;justify-content:center;padding:20px 0}.location-editorial h2{font-size:clamp(58px,7vw,96px);line-height:.86;max-width:620px}.location-note{font-family:'Instrument Serif',serif;font-size:20px;color:#69736c;line-height:1.5;max-width:500px}.contact-stack{border-top:1px solid var(--line);margin-top:30px}.contact-stack>a,.contact-stack>div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.contact-stack small{font-size:7px;letter-spacing:.15em;color:var(--muted)}.contact-stack b{font-size:11px;font-weight:500}.contact-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.primary-link{min-height:46px;padding:0 18px;border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:28px;font-size:10px}.primary-link i{font-style:normal}.text-link{font-size:10px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px}.map-card{min-height:620px;position:relative;background:#dde4df;overflow:hidden;border-radius:80px 2px 2px 2px}.map-card iframe{width:100%;height:100%;border:0;filter:saturate(.7) contrast(.95)}.map-caption{position:absolute;left:18px;bottom:18px;background:rgba(248,246,240,.95);padding:11px 14px 11px 10px;display:flex;align-items:center;gap:10px;border-radius:999px;box-shadow:0 12px 35px rgba(16,38,28,.12)}.map-caption b,.map-caption small{display:block}.map-caption b{font-size:10px}.map-caption small{font-size:8px;color:var(--muted);margin-top:2px;max-width:260px}
footer{background:var(--forest);color:#e8ede9;padding:20px clamp(24px,4vw,68px)}.footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;max-width:1500px;margin:auto}.footer-inner b,.footer-inner small{display:block}.footer-inner b{font-family:'Instrument Serif',serif;font-size:18px;font-weight:400}.footer-inner small{font-size:7px;letter-spacing:.14em;color:#94a398;text-transform:uppercase;margin-top:4px}.footer-inner>span,.admin-link{font-size:8px;color:#93a197}.admin-link{text-decoration:none;letter-spacing:.12em}
@media(max-width:1050px){:root{--header:74px}.site-header{grid-template-columns:1fr auto}.nav-links{position:fixed;left:18px;right:18px;top:82px;background:#f7f4ed;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);display:none;grid-template-columns:repeat(2,1fr);gap:4px}.nav-links.open{display:grid}.nav-links button{text-align:left}.menu-toggle{display:flex}.header-side{grid-column:2}.brand-copy small{display:none}.map-intro{height:auto;min-height:148px}.map-instructions{display:none}.map-stage-shell{height:690px}.menu-layout{grid-template-columns:1fr}.menu-sidebar{position:static}.menu-filters{display:flex;overflow:auto;gap:5px;padding-bottom:6px}.menu-filters button{white-space:nowrap;border:1px solid var(--line)}.about-layout,.location-layout{grid-template-columns:1fr}.about-photo-panel{min-height:520px}.location-layout{gap:35px}.map-card{min-height:520px}.gallery-grid{grid-auto-rows:90px}}
@media(max-width:720px){.site-header{padding:0 16px}.brand-seal{width:38px;height:38px}.brand-copy strong{font-size:12px}.lang-switch{display:none}.page-shell{width:calc(100% - 32px);padding:38px 0}.map-screen{padding:0 10px 10px}.map-intro{padding:20px 8px 16px;min-height:132px}.map-title-block h1{font-size:42px}.map-title-block p{font-size:10px;line-height:1.5;max-width:300px}.map-stage-shell{height:calc(100vh - var(--header) - 148px);min-height:590px;border-radius:18px}.map-edge-label{display:none}.map-corner-note{right:12px;bottom:12px}.split-head{grid-template-columns:1fr;gap:16px;padding-bottom:28px}.editorial-head h2,.split-head h2{font-size:54px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:112px}.about-layout{padding-top:22px}.about-photo-panel{min-height:410px;border-radius:2px 54px 2px 2px}.about-editorial h2{font-size:55px}.about-editorial .lead{font-size:19px}.stats{gap:8px}.stats b{font-size:30px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-item:nth-child(3n+1){grid-column:span 2;grid-row:span 2}.experience-hero{min-height:440px;padding:40px 20px}.experience-copy h2{font-size:66px}.experience-list article{grid-template-columns:52px 1fr}.location-editorial h2{font-size:64px}.map-card{min-height:470px;border-radius:52px 2px 2px 2px}.contact-stack>a,.contact-stack>div{grid-template-columns:98px 1fr}.footer-inner{grid-template-columns:1fr auto}.footer-inner>span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* MAP LAYOUT FIX v21 — keep the map as the first-screen hero without page overflow. */
.map-screen.active{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  height:calc(100vh - var(--header));
  min-height:640px;
  padding:0 clamp(18px,3vw,48px) clamp(18px,3vw,48px);
  overflow:hidden;
}
.map-intro{
  width:min(1440px,100%);
  height:auto;
  min-height:124px;
  padding:22px 4px 18px;
  align-items:end;
}
.map-title-block h1{font-size:clamp(42px,4.4vw,66px)}
.map-stage-shell{
  width:min(1440px,100%);
  height:auto;
  min-height:0;
  align-self:stretch;
  border-radius:24px;
}
/* The iframe already contains its own interactive affordances; avoid a second overlay. */
.map-corner-note{display:none!important}
@media(max-width:1050px){
  .map-screen.active{min-height:620px}
  .map-stage-shell{height:auto;min-height:0}
}
@media(max-width:720px){
  .map-screen.active{height:calc(100vh - var(--header));min-height:560px;padding:0 10px 10px}
  .map-intro{min-height:110px;padding:16px 8px 12px}
  .map-title-block .eyebrow{margin-bottom:8px}
  .map-title-block h1{font-size:38px;margin-bottom:7px}
  .map-title-block p{font-size:10px}
  .map-stage-shell{height:auto;min-height:0;border-radius:18px}
}


/* ==============================================================
   PREMIUM MAP-FIRST EXPERIENCE v50
   ============================================================== */
:root{
  --forest:#10271d;
  --forest-deep:#091811;
  --cream:#f2eee4;
  --paper:#fbf9f4;
  --ink:#142119;
  --muted:#6c786f;
  --gold:#9c7743;
  --header:76px;
}
html,body{background:var(--paper)!important}
body{min-width:320px;overflow-x:hidden}
.site-header{
  height:var(--header)!important;
  grid-template-columns:280px 1fr 210px!important;
  gap:20px!important;
  padding:0 clamp(18px,3vw,48px)!important;
  background:rgba(251,249,244,.95)!important;
  border-bottom:1px solid rgba(20,33,25,.09)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:none!important;
}
.brand-seal{width:44px!important;height:44px!important;background:var(--forest)!important}
.brand-copy strong{
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:16px!important;font-weight:400!important;letter-spacing:-.025em!important
}
.brand-copy small{font-size:7px!important;letter-spacing:.16em!important}
.nav-links{gap:4px!important}
.nav-links button{
  padding:10px 14px!important;border-radius:999px!important;
  font-size:10px!important;font-weight:600!important;letter-spacing:.02em!important
}
.nav-links button.active{background:var(--forest)!important;color:#fff!important}
.lang-switch{background:#f3f0e8!important}

.map-screen{
  display:none!important;
}
.map-screen.active{
  display:block!important;
  height:calc(100vh - var(--header))!important;
  min-height:560px!important;
  padding:12px!important;
  overflow:hidden!important;
  background:#e5e9e4!important;
}
.map-stage-shell{
  position:relative!important;
  width:100%!important;height:100%!important;
  min-height:0!important;margin:0!important;
  overflow:hidden!important;
  border-radius:26px!important;
  border:1px solid rgba(15,35,25,.09)!important;
  background:#dfe5df!important;
  box-shadow:0 22px 60px rgba(16,38,28,.13)!important
}
.original-map-frame{
  display:block!important;width:100%!important;height:100%!important;
  border:0!important;background:#dfe5df!important
}

.map-floating-intro{
  position:absolute;z-index:7;top:18px;left:18px;
  width:min(372px,calc(100% - 110px));
  padding:19px 20px 18px;
  border:1px solid rgba(15,35,25,.09);
  border-radius:20px;
  background:rgba(250,248,242,.93);
  box-shadow:0 18px 50px rgba(16,38,28,.14);
  backdrop-filter:blur(16px);
  pointer-events:none
}
.map-floating-intro .eyebrow{margin:0 0 9px!important;font-size:8px!important}
.map-floating-intro h1{
  margin:0!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(31px,3vw,46px)!important;
  line-height:.93!important;font-weight:400!important;
  letter-spacing:-.045em!important;color:var(--ink)!important
}
.map-floating-intro>p{
  margin:10px 0 0!important;max-width:320px;
  color:#637069!important;font-size:10.5px!important;line-height:1.55!important
}
.map-mini-help{
  margin-top:13px;display:flex;align-items:center;gap:8px;
  color:#526159;font-size:9px;font-weight:650
}
.map-help-dot{
  width:7px;height:7px;border-radius:50%;background:#a98249;
  box-shadow:0 0 0 5px rgba(169,130,73,.13)
}
.map-floating-badge{
  position:absolute;z-index:7;left:18px;bottom:18px;
  display:grid;grid-template-columns:auto auto;
  grid-template-areas:"small small" "num label";
  align-items:end;column-gap:8px;
  padding:11px 14px;border-radius:16px;
  color:#f4f1e8;background:rgba(16,39,29,.92);
  box-shadow:0 15px 35px rgba(8,20,14,.19);
  backdrop-filter:blur(12px);pointer-events:none
}
.map-floating-badge small{grid-area:small;font-size:6.5px;letter-spacing:.15em;color:#b8c5bc}
.map-floating-badge b{grid-area:num;font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1}
.map-floating-badge span{grid-area:label;font-size:8px;color:#b8c5bc;padding-bottom:3px}
body[data-active-screen="map"] footer{display:none!important}

.site-screen:not(.map-screen){min-height:calc(100vh - var(--header))!important}
.page-shell{width:min(1240px,calc(100% - 56px))!important}
.editorial-head h2,.split-head h2,.about-editorial h2,.location-editorial h2,.experience-copy h2{
  font-family:Georgia,'Times New Roman',serif!important;
  font-weight:400!important;letter-spacing:-.045em!important
}
.menu-grid{
  gap:1px!important;background:rgba(20,33,25,.10)!important;
  border:1px solid rgba(20,33,25,.10)!important;border-radius:18px!important;overflow:hidden
}
.menu-card{
  min-height:132px!important;padding:22px!important;
  border:0!important;border-radius:0!important;
  background:#fbf9f4!important;box-shadow:none!important
}
.menu-card:hover{background:#f3efe6!important}
.gallery-item{border-radius:14px!important}
.about-photo-panel{box-shadow:0 26px 70px rgba(16,38,28,.14)}
.map-card{box-shadow:0 28px 70px rgba(16,38,28,.11)}

@media(max-width:1050px){
  .site-header{grid-template-columns:1fr auto!important}
  .map-screen,.map-screen.active{padding:8px!important}
  .map-stage-shell{border-radius:20px!important}
}
@media(max-width:720px){
  :root{--header:68px}
  .site-header{padding:0 12px!important}
  .brand-seal{width:38px!important;height:38px!important}
  .brand-copy strong{font-size:14px!important}
  .map-screen,.map-screen.active{
    height:calc(100vh - var(--header))!important;
    min-height:520px!important;padding:6px!important
  }
  .map-stage-shell{border-radius:17px!important}
  .map-floating-intro{
    top:10px;left:10px;width:min(310px,calc(100% - 72px));
    padding:13px 14px;border-radius:16px
  }
  .map-floating-intro .eyebrow{margin-bottom:6px!important;font-size:7px!important}
  .map-floating-intro h1{font-size:29px!important}
  .map-floating-intro>p{font-size:9.5px!important;margin-top:7px!important}
  .map-mini-help{display:none}
  .map-floating-badge{left:10px;bottom:10px;padding:9px 11px;border-radius:13px}
  .map-floating-badge small{display:none}
  .map-floating-badge b{font-size:22px}
  .page-shell{width:calc(100% - 28px)!important}
}


/* SECTION ROUTING FIX v70 — exactly one public screen is visible. */
.site-screen{display:none!important}
.site-screen.active{display:block!important}
.map-screen{display:none!important}
.map-screen.active{display:block!important}
body:not([data-active-screen="map"]) .map-screen{display:none!important;visibility:hidden!important;pointer-events:none!important}
body:not([data-active-screen="map"]) #territoryMapFrame{visibility:hidden!important;pointer-events:none!important}
body[data-active-screen="map"] .map-screen{display:block!important;visibility:visible!important}
body[data-active-screen="map"] #territoryMapFrame{visibility:visible!important;pointer-events:auto!important}
body:not([data-active-screen="map"]) footer{display:block!important}

/* FINAL SECTION VISIBILITY: one section at a time */
.site-screen{display:none!important}
.site-screen.active{display:block!important}
.map-screen{display:none!important}
.map-screen.active{display:block!important}
body:not([data-active-screen="map"]) .map-screen,
body:not([data-active-screen="map"]) #territoryMapFrame{display:none!important;visibility:hidden!important;pointer-events:none!important}
body[data-active-screen="map"] .map-screen{display:block!important;visibility:visible!important}
body[data-active-screen="map"] #territoryMapFrame{display:block!important;visibility:visible!important;pointer-events:auto!important}


/* SAFE FINAL POLISH v61 */
.menu-card.has-image{grid-template-columns:116px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;min-height:126px}
.menu-card-photo{width:116px;height:94px;overflow:hidden;border-radius:15px;background:#e9e6dd;box-shadow:0 10px 24px rgba(16,38,28,.08)}
.menu-card-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.menu-card.has-image:hover .menu-card-photo img{transform:scale(1.035)}
.menu-card-copy{min-width:0}
.menu-card.has-image .menu-card-copy h3{font-size:24px;margin-top:7px}
.menu-card.has-image>b{align-self:start;padding-top:16px}
.footer-inner{grid-template-columns:1fr auto}
@media(max-width:720px){
  .lang-switch{display:flex!important;padding:2px!important;gap:0;flex:0 0 auto}
  .lang-switch button{width:29px!important;height:27px!important;font-size:8px!important}
  .header-side{gap:7px!important}
  .menu-card.has-image{grid-template-columns:92px minmax(0,1fr) auto;gap:12px;min-height:105px}
  .menu-card-photo{width:92px;height:78px;border-radius:12px}
  .menu-card.has-image .menu-card-copy h3{font-size:22px}
  .menu-card.has-image .menu-card-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
@media(max-width:410px){
  .brand-copy strong{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
  .lang-switch button{width:27px!important}
  .menu-card.has-image{grid-template-columns:82px minmax(0,1fr);}
  .menu-card-photo{width:82px;height:72px}
  .menu-card.has-image>b{grid-column:2;padding-top:0;margin-top:-2px}
}

/* ==============================================================
   CLIENT READY V5 — logo, luxury map card, stable menu grid,
   contact map and mobile-first polish
   ============================================================== */
.brand-logo{
  width:48px!important;height:48px!important;flex:0 0 48px;
  display:block;object-fit:cover;border-radius:14px;
  box-shadow:0 8px 22px rgba(55,31,14,.15)
}
.placeholder-logo{
  width:min(220px,48%);height:auto;opacity:.48;filter:saturate(.82) contrast(.96);
  border-radius:28px;box-shadow:0 18px 44px rgba(4,14,9,.18)
}
.photo-placeholder{grid-template-rows:1fr auto;padding:34px}
.photo-placeholder small{position:static!important;margin-top:18px}

/* The first map message is now a compact editorial plaque instead of a white utility card. */
.map-floating-intro{
  width:min(360px,calc(100% - 92px))!important;
  padding:18px 19px 17px 21px!important;
  border:1px solid rgba(211,177,115,.28)!important;
  border-radius:10px!important;
  color:#f7f3e9!important;
  background:linear-gradient(135deg,rgba(11,29,20,.95),rgba(21,52,37,.90))!important;
  box-shadow:0 18px 55px rgba(8,23,15,.25)!important;
  backdrop-filter:blur(14px)!important;
  overflow:hidden
}
.map-floating-intro:before{
  content:"";position:absolute;left:0;top:16px;bottom:16px;width:2px;
  background:linear-gradient(#c89a57,#7e5b2f);opacity:.95
}
.map-floating-intro .eyebrow{color:#d2aa6b!important;margin-bottom:9px!important}
.map-floating-intro h1{color:#fffaf0!important;font-size:clamp(31px,3vw,43px)!important;line-height:.94!important}
.map-floating-intro>p{color:rgba(245,245,238,.72)!important;font-size:10.5px!important;line-height:1.55!important;margin-top:10px!important}
.map-mini-help{color:rgba(247,245,238,.84)!important;font-size:8.5px!important;margin-top:12px!important}
.map-help-dot{background:#cf9f5e!important;box-shadow:0 0 0 4px rgba(207,159,94,.16)!important}
.map-floating-badge{display:none!important}

/* Menu behaves like a fixed editorial table: card geometry never stretches with item count. */
.menu-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:132px!important;
  align-content:start!important;align-items:stretch!important;
  align-self:start!important
}
.menu-card,
.menu-card.has-image{
  height:132px!important;min-height:132px!important;max-height:132px!important;
  overflow:hidden!important;padding:18px 20px!important;
  align-self:stretch!important
}
.menu-card:not(.has-image){grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:start!important}
.menu-card.has-image{grid-template-columns:98px minmax(0,1fr) auto!important;gap:15px!important;align-items:center!important}
.menu-card-photo{width:98px!important;height:92px!important;border-radius:10px!important;box-shadow:none!important}
.menu-card-copy{min-width:0!important;align-self:start!important}
.menu-card h3,.menu-card.has-image .menu-card-copy h3{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  font-size:24px!important;line-height:1.02!important;margin:7px 0 7px!important
}
.menu-card p{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  line-height:1.45!important
}
.menu-card>b,.menu-card.has-image>b{align-self:start!important;padding-top:14px!important;font-size:11px!important}
.menu-card-placeholder{background:#f7f4ed!important;pointer-events:none!important}

/* Contact map: no Google overlay chrome, starts directly at the restaurant. */
.map-card{
  position:relative!important;min-height:620px!important;border-radius:10px!important;
  overflow:hidden!important;background:#d9e2dc!important;isolation:isolate
}
.contact-map{position:absolute;inset:0;overflow:hidden;background:#d9e2dc;cursor:grab;touch-action:pan-y}
.contact-map.is-dragging{cursor:grabbing}
.contact-map-tiles{position:absolute;inset:0;will-change:transform}
.contact-map-tiles img{
  position:absolute;width:256px;height:256px;max-width:none!important;user-select:none;pointer-events:none;
  filter:saturate(.72) contrast(.96) brightness(1.035)
}
.contact-map-marker{position:absolute;z-index:5;width:0;height:0;will-change:transform;pointer-events:none}
.contact-pin{
  position:absolute;left:0;top:0;width:28px;height:28px;
  border:3px solid #fff;border-radius:50% 50% 50% 0;
  background:#10261c;box-shadow:0 9px 24px rgba(10,28,18,.28);
  transform:translate(-50%,-50%) rotate(-45deg)
}
.contact-pin:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#d5a45d}
.contact-map-popup{
  position:absolute;left:0;bottom:28px;transform:translateX(-50%);
  min-width:176px;max-width:230px;padding:10px 12px;border-radius:10px;
  color:#f9f5ec;background:rgba(16,38,28,.96);box-shadow:0 16px 40px rgba(10,28,18,.24)
}
.contact-map-popup:after{
  content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;
  background:#10261c;transform:translateX(-50%) rotate(45deg)
}
.contact-map-popup b,.contact-map-popup small{display:block}
.contact-map-popup b{font-family:Georgia,'Times New Roman',serif;font-size:13px;font-weight:400;line-height:1.15}
.contact-map-popup small{margin-top:4px;color:rgba(255,255,255,.62);font-size:7.5px;line-height:1.35}
.contact-map-controls{
  position:absolute;right:14px;top:14px;z-index:8;display:grid;gap:4px;padding:4px;
  border:1px solid rgba(16,38,28,.12);border-radius:10px;background:rgba(249,247,240,.96);
  box-shadow:0 12px 30px rgba(16,38,28,.14)
}
.contact-map-controls button{
  width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#10261c;
  font-size:20px;line-height:1;cursor:pointer
}
.contact-map-controls button:hover{background:#10261c;color:#fff}
.osm-credit{
  position:absolute;left:8px;bottom:7px;z-index:8;padding:4px 6px;border-radius:5px;
  background:rgba(249,247,240,.90);color:#536057;text-decoration:none;font-size:7px
}
.map-caption{display:none!important}

/* Slightly calmer geometry across the contact section. */
.location-layout{gap:52px!important}
.contact-actions{flex-wrap:wrap}

@media(max-width:1050px){
  .site-header{grid-template-columns:minmax(0,1fr) auto!important;padding:0 18px!important}
  .brand-logo{width:44px!important;height:44px!important;flex-basis:44px;border-radius:13px}
  .nav-links{z-index:700!important;top:82px!important}
  .menu-layout{gap:28px!important}
  .map-card{min-height:500px!important}
  .location-layout{gap:30px!important}
}

/* Mobile is designed independently rather than merely shrinking desktop. */
@media(max-width:720px){
  :root{--header:68px}
  body{font-size:14px}
  .site-header{
    height:var(--header)!important;padding:0 10px!important;gap:8px!important;
    grid-template-columns:minmax(0,1fr) auto!important
  }
  .brand{gap:8px!important;min-width:0}
  .brand-logo{width:42px!important;height:42px!important;flex-basis:42px;border-radius:12px!important}
  .brand-copy strong{font-size:12px!important;max-width:128px!important;overflow:hidden;text-overflow:ellipsis}
  .brand-copy small{display:none!important}
  .header-side{gap:6px!important}
  .lang-switch{display:flex!important;padding:2px!important}
  .lang-switch button{width:27px!important;height:27px!important;font-size:7.5px!important}
  .menu-toggle{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:12px!important}
  .nav-links{
    left:8px!important;right:8px!important;top:74px!important;
    grid-template-columns:1fr!important;gap:3px!important;padding:8px!important;
    border-radius:14px!important;background:rgba(250,248,242,.98)!important;
    box-shadow:0 22px 60px rgba(16,38,28,.18)!important
  }
  .nav-links button{min-height:42px!important;padding:10px 12px!important;border-radius:9px!important;font-size:10px!important}
  .page-shell{width:calc(100% - 24px)!important;padding:34px 0 42px!important}

  .map-screen,.map-screen.active{padding:5px!important;min-height:520px!important}
  .map-stage-shell{border-radius:14px!important}
  .map-floating-intro{
    top:8px!important;left:8px!important;width:min(258px,calc(100% - 62px))!important;
    padding:11px 12px 11px 15px!important;border-radius:10px!important
  }
  .map-floating-intro:before{top:10px;bottom:10px}
  .map-floating-intro .eyebrow{font-size:6.5px!important;margin-bottom:5px!important;letter-spacing:.16em!important}
  .map-floating-intro h1{font-size:25px!important;line-height:.96!important}
  .map-floating-intro>p{
    margin-top:6px!important;font-size:8.5px!important;line-height:1.4!important;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
  }
  .map-mini-help{display:none!important}

  .split-head{gap:12px!important;padding-bottom:22px!important}
  .editorial-head h2,.split-head h2{font-size:45px!important;line-height:.94!important}
  .editorial-head>p,.split-head>p{font-size:11px!important;line-height:1.55!important;margin-bottom:0}
  .menu-layout{margin-top:24px!important;gap:18px!important}
  .menu-sidebar{overflow:hidden}
  .side-label{margin-bottom:8px!important}
  .menu-filters{gap:6px!important;padding:0 0 7px!important;scrollbar-width:none}
  .menu-filters::-webkit-scrollbar{display:none}
  .menu-filters button{min-height:34px!important;padding:8px 11px!important;border-radius:10px!important;font-size:9px!important}
  .menu-grid{
    grid-template-columns:1fr!important;grid-auto-rows:112px!important;border-radius:12px!important
  }
  .menu-card,.menu-card.has-image{
    height:112px!important;min-height:112px!important;max-height:112px!important;
    padding:13px 14px!important
  }
  .menu-card-placeholder{display:none!important}
  .menu-card:not(.has-image){grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important}
  .menu-card.has-image{grid-template-columns:78px minmax(0,1fr) auto!important;gap:10px!important}
  .menu-card-photo{width:78px!important;height:82px!important;border-radius:9px!important}
  .menu-card h3,.menu-card.has-image .menu-card-copy h3{font-size:20px!important;margin:5px 0 5px!important}
  .menu-card small{font-size:6.5px!important}
  .menu-card p{font-size:8.5px!important;-webkit-line-clamp:2}
  .menu-card>b,.menu-card.has-image>b{font-size:9px!important;padding-top:10px!important}

  .about-layout{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;padding-top:12px!important}
  .about-photo-panel{min-height:min(54vh,460px)!important;border-radius:16px!important}
  .about-editorial h2{font-size:49px!important;margin-bottom:18px!important}
  .about-editorial .lead{font-size:18px!important;line-height:1.42!important}
  .divider{margin:28px 0!important}
  .stats{gap:8px!important}
  .stats b{font-size:27px!important}
  .stats span{font-size:6.5px!important;line-height:1.35}
  .editorial-sign{margin-top:28px!important}

  .gallery-grid{margin-top:28px!important;gap:8px!important;grid-auto-rows:135px!important}
  .gallery-item{border-radius:10px!important}
  .gallery-empty{min-height:280px!important;padding:36px 20px!important;border-radius:10px!important}

  .experience-hero{min-height:400px!important;padding:34px 16px!important}
  .experience-copy{max-width:100%!important}
  .experience-copy h2{font-size:54px!important;line-height:.92!important}
  .experience-copy p{font-size:11px!important;line-height:1.65!important}
  .huge-word{font-size:23vw!important;bottom:-1vw!important;right:-1vw!important;opacity:.08!important}
  .experience-list{padding-top:18px!important}
  .experience-list article{grid-template-columns:42px 1fr!important;gap:12px!important;padding:19px 0!important}
  .experience-list article>span{font-size:20px!important}
  .experience-list h3{font-size:20px!important}

  .location-layout{grid-template-columns:1fr!important;gap:24px!important;min-height:0!important}
  .location-editorial{padding:0!important}
  .location-editorial h2{font-size:52px!important;line-height:.9!important}
  .location-note{font-size:17px!important;line-height:1.45!important}
  .contact-stack{margin-top:24px!important}
  .contact-stack>a,.contact-stack>div{grid-template-columns:88px minmax(0,1fr)!important;gap:12px!important;padding:15px 0!important}
  .contact-stack b{font-size:10.5px!important;line-height:1.45}
  .contact-actions{gap:12px!important;margin-top:22px!important}
  .primary-link{min-height:44px!important;border-radius:10px!important;justify-content:space-between;flex:1 1 200px}
  .text-link{font-size:10px!important}
  .map-card{min-height:360px!important;height:360px!important;border-radius:10px!important}
  .contact-map-controls{right:9px;top:9px;padding:3px;border-radius:9px}
  .contact-map-controls button{width:36px;height:36px;border-radius:7px;font-size:18px}
  .contact-map-popup{min-width:150px;max-width:190px;padding:8px 10px;border-radius:9px}
  .contact-map-popup b{font-size:12px}.contact-map-popup small{font-size:6.5px}

  footer{padding:24px 12px!important}
  .footer-inner{width:100%!important}
}

@media(max-width:390px){
  .brand-copy strong{max-width:105px!important;font-size:11px!important}
  .lang-switch button{width:25px!important}
  .map-floating-intro{width:min(244px,calc(100% - 58px))!important}
  .menu-card.has-image{grid-template-columns:70px minmax(0,1fr) auto!important;gap:8px!important}
  .menu-card-photo{width:70px!important;height:78px!important}
  .menu-card h3,.menu-card.has-image .menu-card-copy h3{font-size:18px!important}
  .location-editorial h2{font-size:47px!important}
}

/* ======================================================================
   V6 — ATMOSPHERE / QUIET LUXURY
   Works in two states: complete editorial block without photos; when
   dedicated Atmosphere photos exist, #experienceMedia is populated automatically.
   ====================================================================== */
#screen-experience.experience-screen{
  background:var(--cream);
  color:var(--ink);
  overflow:hidden;
}
#screen-experience .experience-v6{min-height:calc(100vh - var(--header));}
#screen-experience .experience-stage{
  position:relative;
  min-height:min(760px,calc(100vh - var(--header)));
  background:var(--forest);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
#screen-experience .experience-stage::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 500px at 82% 18%,rgba(255,255,255,.045),transparent 62%),
    radial-gradient(720px 430px at 18% 88%,rgba(201,181,143,.055),transparent 66%);
  pointer-events:none;
}
#screen-experience .experience-stage-inner{
  position:relative;
  z-index:3;
  min-height:min(760px,calc(100vh - var(--header)));
  padding-top:clamp(44px,5vw,72px);
  padding-bottom:clamp(52px,6vw,86px);
  display:flex;
  flex-direction:column;
}
#screen-experience .experience-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
#screen-experience .experience-topline .eyebrow{margin:0;}
#screen-experience .experience-coordinate{
  font-size:9px;
  line-height:1.2;
  letter-spacing:.24em;
  color:rgba(235,229,216,.52);
  white-space:nowrap;
}
#screen-experience .experience-statement{
  margin:auto 0;
  padding:54px 0 48px;
  max-width:1040px;
}
#screen-experience .experience-statement h2{
  margin:0;
  max-width:990px;
  font-family:'Instrument Serif',serif;
  font-size:clamp(72px,9.2vw,142px);
  line-height:.78;
  letter-spacing:-.055em;
  font-weight:400;
  text-wrap:balance;
}
#screen-experience .experience-statement p{
  width:min(520px,100%);
  margin:34px 0 0 auto;
  font-size:13px;
  line-height:1.75;
  color:rgba(231,236,232,.68);
}
#screen-experience .experience-quote{
  display:grid;
  grid-template-columns:minmax(80px,180px) auto;
  align-items:center;
  gap:24px;
  width:min(640px,100%);
  margin-left:auto;
}
#screen-experience .experience-quote-line{height:1px;background:rgba(201,181,143,.62);transform-origin:left center;animation:experienceLineIn 1.15s cubic-bezier(.2,.7,.2,1) both;}
#screen-experience .experience-quote p{
  margin:0;
  font-family:'Instrument Serif',serif;
  font-size:clamp(24px,2.4vw,38px);
  line-height:1;
  color:#e8dfce;
}
#screen-experience .experience-ghost{
  position:absolute;
  z-index:1;
  right:-.05em;
  bottom:-.18em;
  font-family:'Instrument Serif',serif;
  font-size:clamp(190px,31vw,510px);
  line-height:.66;
  letter-spacing:-.09em;
  color:rgba(255,255,255,.025);
  user-select:none;
  pointer-events:none;
}
#screen-experience .experience-waterlines{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none;opacity:.56;}
#screen-experience .experience-waterlines span{
  position:absolute;
  left:-10%;
  width:120%;
  height:120px;
  border-top:1px solid rgba(201,181,143,.09);
  border-radius:50%;
  transform:rotate(-2deg);
  animation:experienceWater 14s ease-in-out infinite alternate;
}
#screen-experience .experience-waterlines span:nth-child(1){top:24%;animation-delay:-3s;}
#screen-experience .experience-waterlines span:nth-child(2){top:48%;opacity:.65;animation-delay:-7s;}
#screen-experience .experience-waterlines span:nth-child(3){top:72%;opacity:.42;animation-delay:-11s;}
@keyframes experienceWater{from{transform:translate3d(-1.5%,0,0) rotate(-2deg) scaleX(1)}to{transform:translate3d(1.5%,8px,0) rotate(1deg) scaleX(1.025)}}
@keyframes experienceLineIn{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}

#screen-experience .experience-notes{
  padding-top:clamp(38px,5vw,70px);
  padding-bottom:clamp(48px,6vw,84px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}
#screen-experience .experience-notes article{
  min-width:0;
  padding:4px clamp(24px,3vw,48px) 6px 0;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
#screen-experience .experience-notes article+article{
  border-left:1px solid var(--line);
  padding-left:clamp(24px,3vw,48px);
}
#screen-experience .experience-note-index{
  font-family:'Instrument Serif',serif;
  font-size:26px;
  line-height:1;
  color:var(--gold);
}
#screen-experience .experience-notes small{
  display:block;
  margin:2px 0 17px;
  font-size:8px;
  line-height:1;
  letter-spacing:.24em;
  font-weight:700;
  color:var(--gold);
}
#screen-experience .experience-notes h3{
  margin:0 0 11px;
  font-family:'Instrument Serif',serif;
  font-size:clamp(31px,3vw,43px);
  line-height:.94;
  letter-spacing:-.035em;
  font-weight:400;
}
#screen-experience .experience-notes p{
  margin:0;
  max-width:310px;
  color:var(--muted);
  font-size:11px;
  line-height:1.72;
}

/* Optional photo state: populated from dedicated Atmosphere admin slots. */
#screen-experience .experience-media[hidden]{display:none!important;}
#screen-experience .experience-media:not([hidden]){
  padding-top:0;
  padding-bottom:clamp(28px,4vw,54px);
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(240px,.72fr);
  grid-template-rows:clamp(270px,35vw,520px);
  gap:14px;
}
#screen-experience .experience-media figure{margin:0;overflow:hidden;background:#d8d2c6;position:relative;border-radius:10px;}
#screen-experience .experience-media figure:nth-child(2){margin-top:clamp(44px,7vw,110px);margin-bottom:clamp(8px,2vw,28px);}
#screen-experience .experience-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}
#screen-experience .experience-media figure:hover img{transform:scale(1.025);}
#screen-experience .experience-media figcaption{position:absolute;left:16px;bottom:14px;padding:7px 9px;background:rgba(14,37,29,.72);backdrop-filter:blur(8px);color:#f1ece2;border-radius:7px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;}

@media(max-width:720px){
  #screen-experience .experience-stage{min-height:calc(100svh - var(--header));}
  #screen-experience .experience-stage-inner{min-height:calc(100svh - var(--header));padding:28px 0 30px!important;}
  #screen-experience .experience-topline{align-items:center;}
  #screen-experience .experience-coordinate{font-size:7px;letter-spacing:.18em;}
  #screen-experience .experience-statement{padding:54px 0 38px;margin:auto 0;}
  #screen-experience .experience-statement h2{font-size:clamp(56px,17vw,78px);line-height:.82;letter-spacing:-.052em;max-width:100%;}
  #screen-experience .experience-statement p{margin:27px 0 0;width:min(310px,88%);font-size:11px;line-height:1.7;}
  #screen-experience .experience-quote{grid-template-columns:54px minmax(0,1fr);gap:14px;width:100%;margin:0;}
  #screen-experience .experience-quote p{font-size:24px;line-height:1.04;}
  #screen-experience .experience-ghost{font-size:58vw;right:-.02em;bottom:-.09em;}
  #screen-experience .experience-waterlines span{height:72px;}
  #screen-experience .experience-notes{display:block;padding-top:22px!important;padding-bottom:34px!important;}
  #screen-experience .experience-notes article{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:22px 0!important;border-left:0!important;border-bottom:1px solid var(--line);}
  #screen-experience .experience-notes article:last-child{border-bottom:0;}
  #screen-experience .experience-note-index{font-size:22px;}
  #screen-experience .experience-notes small{font-size:7px;margin:1px 0 10px;}
  #screen-experience .experience-notes h3{font-size:31px;line-height:.95;margin-bottom:8px;}
  #screen-experience .experience-notes p{font-size:10px;line-height:1.65;max-width:290px;}
  #screen-experience .experience-media:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) 34%;grid-template-rows:330px;gap:8px;padding-top:0!important;padding-bottom:16px!important;}
  #screen-experience .experience-media figure{border-radius:10px;}
  #screen-experience .experience-media figure:nth-child(2){margin-top:74px;margin-bottom:20px;}
  #screen-experience .experience-media figcaption{left:9px;bottom:9px;padding:5px 6px;font-size:6px;letter-spacing:.12em;}
}

@media(prefers-reduced-motion:reduce){
  #screen-experience .experience-waterlines span,
  #screen-experience .experience-quote-line{animation:none!important;}
}


/* ======================================================================
   V8 — QUIET-LUXURY DESKTOP HEADER
   Cleaner navigation: no dashboard-like active pill, subtle gold marker.
   ====================================================================== */
@media (min-width:1051px){
  :root{--header:74px}
  .site-header{
    height:var(--header)!important;
    grid-template-columns:minmax(250px,1fr) auto minmax(170px,1fr)!important;
    gap:28px!important;
    padding:0 clamp(26px,4.2vw,72px)!important;
    background:rgba(251,249,244,.88)!important;
    border-bottom:1px solid rgba(20,33,25,.085)!important;
    backdrop-filter:blur(24px) saturate(1.08)!important;
  }
  .brand{gap:11px!important}
  .brand-logo{width:43px!important;height:43px!important;border-radius:12px!important;box-shadow:0 5px 16px rgba(16,38,28,.08)}
  .brand-copy strong{font-family:'Instrument Serif',Georgia,serif!important;font-size:17px!important;line-height:1!important;letter-spacing:-.025em!important;font-weight:400!important}
  .brand-copy small{margin-top:5px!important;font-size:6.8px!important;letter-spacing:.19em!important;color:#7c857e!important}
  .nav-links{height:100%;align-items:stretch!important;justify-content:center!important;gap:2px!important}
  .nav-links button{
    position:relative!important;height:100%!important;padding:1px 13px 0!important;border-radius:0!important;
    background:transparent!important;color:#647068!important;font-size:9.5px!important;font-weight:600!important;letter-spacing:.055em!important;
    transition:color .25s ease!important;
  }
  .nav-links button::after{content:"";position:absolute;left:50%;bottom:14px;width:0;height:1px;background:var(--gold);transform:translateX(-50%);transition:width .28s cubic-bezier(.2,.7,.2,1),opacity .28s;opacity:.45}
  .nav-links button:hover{background:transparent!important;color:var(--ink)!important}
  .nav-links button:hover::after{width:16px;opacity:.7}
  .nav-links button.active{background:transparent!important;color:var(--ink)!important}
  .nav-links button.active::after{width:24px;opacity:1}
  .header-side{gap:9px!important}
  .lang-switch{padding:0!important;gap:0!important;border:0!important;border-radius:0!important;background:transparent!important}
  .lang-switch button{position:relative;width:31px!important;height:31px!important;border-radius:0!important;background:transparent!important;color:#949b95!important;font-size:8px!important;letter-spacing:.05em!important}
  .lang-switch button+button::before{content:"";position:absolute;left:0;top:10px;width:1px;height:11px;background:rgba(20,33,25,.12)}
  .lang-switch button.active{background:transparent!important;color:var(--forest)!important;box-shadow:inset 0 -1px 0 var(--gold)!important}
}

/* V8 — Atmosphere layouts for dedicated 1 / 2 / 3 photos */
#screen-experience .experience-media[data-count="1"]{grid-template-columns:1fr;grid-template-rows:clamp(330px,42vw,610px)}
#screen-experience .experience-media[data-count="1"] figure{margin:0!important}
#screen-experience .experience-media[data-count="2"]{grid-template-columns:minmax(0,1.65fr) minmax(240px,.72fr);grid-template-rows:clamp(270px,35vw,520px)}
#screen-experience .experience-media[data-count="3"]{grid-template-columns:minmax(0,1.55fr) minmax(240px,.78fr);grid-template-rows:repeat(2,clamp(190px,17vw,260px));gap:14px}
#screen-experience .experience-media[data-count="3"] figure:nth-child(1){grid-row:1/3;margin:0!important}
#screen-experience .experience-media[data-count="3"] figure:nth-child(2),
#screen-experience .experience-media[data-count="3"] figure:nth-child(3){margin:0!important}
@media(max-width:820px){
  #screen-experience .experience-media[data-count="1"],
  #screen-experience .experience-media[data-count="2"],
  #screen-experience .experience-media[data-count="3"]{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:8px!important}
  #screen-experience .experience-media[data-count="1"] figure,
  #screen-experience .experience-media[data-count="2"] figure,
  #screen-experience .experience-media[data-count="3"] figure{grid-row:auto!important;height:min(70vw,390px)!important;margin:0!important}
  #screen-experience .experience-media[data-count="2"] figure:nth-child(2),
  #screen-experience .experience-media[data-count="3"] figure:nth-child(2){height:min(54vw,300px)!important;margin-left:16%!important}
  #screen-experience .experience-media[data-count="3"] figure:nth-child(3){height:min(52vw,280px)!important;margin-right:20%!important}
}


/* V13 clean public map block */
.map-floating-intro{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;max-width:min(430px,calc(100% - 96px))!important;overflow:visible!important}
.map-floating-intro:before{display:none!important;content:none!important}
.map-floating-intro .eyebrow,.map-floating-intro h1,.map-floating-intro>p,.map-mini-help{text-shadow:0 2px 16px rgba(10,22,16,.45)!important}
.map-floating-intro .eyebrow{color:#d7b06e!important}
.map-floating-intro h1{color:#fffaf0!important}
.map-floating-intro>p{color:rgba(250,248,242,.92)!important;max-width:370px!important}
.map-mini-help{color:rgba(248,245,238,.92)!important}
@media(max-width:720px){.map-floating-intro{max-width:min(320px,calc(100% - 34px))!important}}


/* V1.2 — native 2GIS contact map */
.contact-map-2gis{background:#e4e6df!important;touch-action:auto!important;cursor:default!important}
.contact-map-2gis-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:hidden}
.contact-map-2gis .contact-map-controls{z-index:30!important}
.twogis-credit{position:absolute;left:9px;bottom:8px;z-index:30;padding:5px 8px;border-radius:7px;background:rgba(249,247,240,.94);color:#27352c;text-decoration:none;font-size:8px;font-weight:800;box-shadow:0 5px 18px rgba(20,33,25,.12)}
.contact-map-fallback{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;color:#f7f4ec;background:linear-gradient(135deg,#173629,#0d241a);text-decoration:none}
.contact-map-fallback[hidden]{display:none!important}
.contact-map-fallback b{font-family:Georgia,serif;font-size:24px;font-weight:400}.contact-map-fallback small{margin-top:9px;opacity:.68;font-size:10px}


/* ==============================================================
   CLIENT HANDOFF v100 — clean desktop map + compact final section
   ============================================================== */
@media (min-width: 901px){
  .map-screen.active{
    height:auto!important;
    min-height:calc(100vh - var(--header))!important;
    padding:12px 12px 28px!important;
    overflow:visible!important;
  }
  .map-stage-shell{
    width:min(1440px,100%)!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    align-self:auto!important;
    margin:0 auto!important;
  }
}
.location-screen{overflow:visible!important}
.location-after-map{
  padding-top:8px!important;
  padding-bottom:clamp(54px,7vw,94px)!important;
}
.location-notes-head{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);
  gap:40px;
  align-items:end;
  padding:0 0 28px;
  border-bottom:1px solid var(--line);
}
.location-notes-head .eyebrow{margin:0}
.location-notes-head h3{
  margin:0;
  max-width:760px;
  font-family:'Instrument Serif',Georgia,serif;
  font-size:clamp(34px,4vw,58px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:400;
}
.location-notes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding-top:34px;
}
.location-notes article{
  min-width:0;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:16px;
  padding:0 clamp(22px,3vw,42px) 0 0;
}
.location-notes article+article{
  border-left:1px solid var(--line);
  padding-left:clamp(22px,3vw,42px);
}
.location-notes .experience-note-index{
  font-family:'Instrument Serif',Georgia,serif;
  font-size:25px;
  line-height:1;
  color:var(--gold);
}
.location-notes small{
  display:block;
  margin:1px 0 14px;
  color:var(--gold);
  font-size:7px;
  font-weight:700;
  letter-spacing:.21em;
}
.location-notes h3{
  margin:0 0 9px;
  font-family:'Instrument Serif',Georgia,serif;
  font-size:clamp(28px,2.8vw,39px);
  line-height:.96;
  font-weight:400;
  letter-spacing:-.035em;
}
.location-notes p{
  margin:0;
  max-width:310px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.7;
}
@media(max-width:900px){
  .location-notes-head{grid-template-columns:1fr;gap:12px}
  .location-notes{grid-template-columns:1fr;padding-top:12px}
  .location-notes article,.location-notes article+article{
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    padding:22px 0!important;
    border-left:0!important;
    border-bottom:1px solid var(--line);
  }
  .location-notes article:last-child{border-bottom:0}
  .location-notes h3{font-size:31px}
}


/* ======================================================================
   CLIENT FINAL v120 — stable 16:9 desktop map + content below the map.
   The map itself keeps its native ratio, so no blurred/fake side bands are
   needed on wide monitors. The Map screen is scrollable again, allowing the
   editorial Nature / Taste / Time content to live directly below it.
   ====================================================================== */
body[data-active-screen="map"]{overflow-y:auto!important}
body[data-active-screen="map"] footer{display:block!important}
.map-screen.active{
  height:auto!important;
  min-height:calc(100vh - var(--header))!important;
  overflow:visible!important;
  padding:12px 12px 0!important;
  background:var(--cream)!important;
}
.map-after-content{
  margin-top:clamp(42px,5vw,72px)!important;
  padding-top:0!important;
  padding-bottom:clamp(56px,7vw,96px)!important;
}
.map-after-content .location-notes-head h3{max-width:720px}

@media (min-width:901px){
  .map-stage-shell{
    /* Fit the complete 16:9 map inside the visible desktop viewport. */
    width:min(1600px,calc(100vw - 32px),calc((100vh - var(--header) - 28px) * 16 / 9))!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16 / 9!important;
    margin:0 auto!important;
    align-self:auto!important;
    border-radius:24px!important;
  }
}
@media (max-width:900px){
  .map-screen.active{padding:7px 7px 0!important}
  .map-stage-shell{
    width:100%!important;
    height:calc(100svh - var(--header) - 14px)!important;
    min-height:520px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    margin:0!important;
    border-radius:18px!important;
  }
  .map-after-content{margin-top:38px!important}
}


/* CLIENT FINAL v131 — admin-controlled photos under the interactive map. */
.map-story-photos[hidden]{display:none!important}
.map-story-photos{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.map-story-photo{
  position:relative;
  min-width:0;
  height:clamp(190px,19vw,300px);
  margin:0;
  overflow:hidden;
  border-radius:16px;
  background:#ded8cc;
  box-shadow:0 16px 36px rgba(16,38,28,.08);
}
.map-story-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.map-story-photo:hover img{transform:scale(1.025)}
.map-story-photo figcaption{
  position:absolute;left:12px;right:12px;bottom:12px;
  display:flex;align-items:center;gap:10px;
  padding:9px 11px;border-radius:11px;
  background:rgba(12,31,22,.76);color:#f6f1e8;
  backdrop-filter:blur(10px);
}
.map-story-photo figcaption span{font-family:'Instrument Serif',Georgia,serif;font-size:18px;color:#d5b982;line-height:1}
.map-story-photo figcaption b{font-size:9px;letter-spacing:.04em;font-weight:650}
.map-story-photos[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.map-story-photos[data-count="1"] .map-story-photo{height:clamp(260px,32vw,460px)}
.map-story-photos[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){
  .map-story-photos{grid-template-columns:1fr;gap:9px;margin-top:20px}
  .map-story-photos[data-count="2"],.map-story-photos[data-count="3"]{grid-template-columns:1fr}
  .map-story-photo,.map-story-photos[data-count="1"] .map-story-photo{height:min(62vw,360px)}
  .map-story-photo:nth-child(even){margin-left:12%}
  .map-story-photo:nth-child(odd){margin-right:8%}
}


/* ======================================================================
   CLIENT FINAL v140 — exact 2GIS firm widget + photos inside story cards.
   ====================================================================== */
.contact-map-2gis{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#eceae3!important;overflow:hidden!important}
.contact-map-widget{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#eceae3;z-index:1;opacity:0;transition:opacity .22s ease}
.contact-map-widget.is-loaded{opacity:1}
.contact-map-state{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#dfe6e1;color:#536057;pointer-events:none}
.contact-map-state[hidden]{display:none!important}
.contact-map-state b{font-size:10px;font-weight:650;letter-spacing:.03em;max-width:260px;line-height:1.5}
.contact-map-state.is-error{pointer-events:none;background:linear-gradient(145deg,#dfe6e1,#edf0ec)}
.contact-map-spinner{width:25px;height:25px;border-radius:50%;border:2px solid rgba(16,38,28,.16);border-top-color:#173629;animation:contactMapSpin .8s linear infinite}
.contact-map-state.is-error .contact-map-spinner{display:none}
@keyframes contactMapSpin{to{transform:rotate(360deg)}}
.contact-map-open{position:absolute;right:14px;bottom:14px;z-index:5;display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border-radius:999px;background:rgba(248,246,240,.96);color:#173629;text-decoration:none;font-size:10px;font-weight:750;box-shadow:0 12px 34px rgba(10,28,18,.16);backdrop-filter:blur(8px)}
.contact-map-open span{font-size:13px}
.contact-map-controls,.contact-map-fallback,.twogis-credit,.contact-map-2gis-canvas{display:none!important}

.location-notes{align-items:start}
.location-notes article{display:block!important;padding-right:clamp(18px,2.6vw,34px)!important}
.location-notes article+article{padding-left:clamp(18px,2.6vw,34px)!important}
.location-note-photo{width:100%;aspect-ratio:4/3;margin:0 0 24px;overflow:hidden;border-radius:14px;background:#ded8cc;box-shadow:0 14px 34px rgba(16,38,28,.08)}
.location-note-photo[hidden]{display:none!important}
.location-note-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease}
.location-note-photo:hover img{transform:scale(1.025)}
.location-note-copy{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px}
@media(max-width:900px){
  .location-notes article,.location-notes article+article{padding:22px 0!important}
  .location-note-photo{max-height:360px;margin:0 0 20px;aspect-ratio:16/10}
  .location-note-copy{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .contact-map-open{right:10px;bottom:10px}
}

/* CONTACT MAP HOTFIX v143 — keep the 2GIS surface filling the map card. */
.map-card>.contact-map-2gis{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important}

/* ======================================================================
   MAP EDITORIAL REDESIGN v150
   Keeps the interactive map as the hero, adds premium editorial rhythm,
   intentional no-photo states, a closing CTA and a richer footer.
   ====================================================================== */
:root{--map-paper:#f5f1e8;--map-deep:#0d2b1e;--map-deep-2:#123a29;--map-gold:#b28a4e}

/* Header: quieter navigation + one clear action. */
.site-header{
  min-height:78px!important;height:78px!important;
  grid-template-columns:minmax(240px,310px) 1fr auto!important;
  gap:28px!important;
  padding:0 clamp(26px,4vw,66px)!important;
  background:rgba(249,247,241,.94)!important;
  border-bottom:1px solid rgba(20,33,25,.08)!important;
  box-shadow:0 8px 30px rgba(16,38,28,.025)!important;
}
.brand{gap:13px!important}.brand-logo{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:14px!important;object-fit:cover!important;box-shadow:0 8px 22px rgba(16,38,28,.09)!important}
.brand-copy strong{font-family:'Instrument Serif',Georgia,serif!important;font-size:16px!important;font-weight:400!important;letter-spacing:-.025em!important}.brand-copy small{font-size:7px!important;letter-spacing:.16em!important}
.nav-links{gap:18px!important}.nav-links button{position:relative;padding:12px 4px 11px!important;border-radius:0!important;background:transparent!important;font-size:10px!important;font-weight:600!important;color:#536058!important;letter-spacing:.01em!important}.nav-links button:hover{color:var(--forest)!important;background:transparent!important}.nav-links button.active{color:var(--forest)!important;background:transparent!important}.nav-links button.active:after{content:"";position:absolute;left:50%;right:auto;bottom:4px;width:24px;height:1px;background:var(--map-gold);transform:translateX(-50%)}
.header-side{gap:10px!important}.header-book{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:var(--forest);color:#fff;cursor:pointer;font-size:9px;font-weight:700;letter-spacing:.035em;box-shadow:0 8px 20px rgba(16,38,28,.13);transition:transform .2s ease,box-shadow .2s ease}.header-book:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(16,38,28,.18)}

/* Map hero. */
.map-screen.active{background:var(--map-paper)!important;padding:14px 18px 0!important}
.map-stage-shell{
  border-radius:27px!important;
  border:1px solid rgba(26,48,35,.08)!important;
  background:#dce3dc!important;
  box-shadow:0 30px 70px rgba(16,38,28,.14),0 1px 0 rgba(255,255,255,.72) inset!important;
  isolation:isolate;
}
.map-stage-shell:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,24,15,.55) 0%,rgba(7,29,18,.28) 22%,rgba(7,29,18,0) 47%),linear-gradient(180deg,rgba(5,24,15,.26) 0%,rgba(5,24,15,0) 30%)}
.original-map-frame{position:relative;z-index:1}
.map-floating-intro{z-index:4!important;top:clamp(26px,3.4vw,54px)!important;left:clamp(28px,3.4vw,56px)!important;max-width:min(470px,42%)!important;width:auto!important}
.map-floating-intro .eyebrow{font-size:8px!important;letter-spacing:.24em!important;margin-bottom:15px!important}.map-floating-intro h1{font-family:'Instrument Serif',Georgia,serif!important;font-size:clamp(48px,5vw,72px)!important;line-height:.88!important;letter-spacing:-.05em!important}.map-floating-intro>p{max-width:390px!important;font-size:11px!important;line-height:1.6!important;margin-top:16px!important}.map-mini-help{margin-top:18px!important;font-size:8.5px!important;letter-spacing:.015em!important}.map-help-dot{width:6px!important;height:6px!important;background:#d6b274!important;box-shadow:0 0 0 5px rgba(214,178,116,.13)!important}

/* Editorial transition below map. */
.map-after-content{width:min(1320px,calc(100% - 64px))!important;margin-top:clamp(62px,7vw,108px)!important;padding-bottom:clamp(48px,5vw,72px)!important}
.location-notes-head{grid-template-columns:minmax(220px,.65fr) minmax(460px,1.35fr)!important;gap:clamp(42px,7vw,100px)!important;align-items:start!important;padding-bottom:36px!important;border-bottom:0!important}
.location-notes-kicker{padding-top:12px}.location-notes-kicker .eyebrow{margin:0 0 18px!important}.editorial-rule{display:block;width:42px;height:1px;background:var(--map-gold)}
.location-notes-title h3{max-width:820px!important;font-size:clamp(50px,5.25vw,78px)!important;line-height:.91!important;letter-spacing:-.052em!important;color:#173629}.location-notes-title p{margin:20px 0 0;max-width:520px;color:#7a817b;font-family:'Instrument Serif',Georgia,serif;font-size:20px;line-height:1.35}

/* Three stories: controlled asymmetry instead of a catalogue grid. */
.location-notes{grid-template-columns:minmax(0,.88fr) minmax(0,1.08fr) minmax(0,1.04fr)!important;gap:clamp(18px,2.1vw,30px)!important;padding-top:24px!important;align-items:start!important;max-width:1240px;margin-left:auto!important;margin-right:auto!important}
.location-notes article,.location-notes article+article{border-left:0!important;padding:0!important;display:block!important}.location-notes article:nth-child(2){margin-top:54px}.location-notes article:nth-child(3){margin-top:18px}
.location-note-photo{position:relative!important;width:100%!important;margin:0 0 25px!important;border-radius:18px!important;background:#d9ddd5!important;box-shadow:0 18px 45px rgba(16,38,28,.09)!important;overflow:hidden!important}
.story-card-nature .location-note-photo{aspect-ratio:4/5!important}.story-card-kitchen .location-note-photo,.story-card-time .location-note-photo{aspect-ratio:4/3!important}
.location-note-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.location-note-photo.has-photo:hover img{transform:scale(1.025)}
.location-note-photo.is-empty{background:linear-gradient(145deg,#d9ded5 0%,#cbd5ca 46%,#b8c8bb 100%)}
.story-card-kitchen .location-note-photo.is-empty{background:linear-gradient(145deg,#d8d1c3 0%,#c8bca8 48%,#aa9474 100%)}
.story-card-time .location-note-photo.is-empty{background:linear-gradient(145deg,#273e31 0%,#193124 54%,#0f261a 100%)}
.story-photo-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#173629;overflow:hidden}.story-card-time .story-photo-empty{color:#f4efe5}.story-photo-empty:before{content:"";position:absolute;width:210px;height:210px;border:1px solid currentColor;border-radius:50%;opacity:.12;right:-70px;top:-62px}.story-photo-empty:after{content:"";position:absolute;left:24px;right:24px;top:24px;height:1px;background:currentColor;opacity:.2}.story-photo-empty b{font-family:'Instrument Serif',Georgia,serif;font-size:76px;font-weight:400;line-height:.8;opacity:.42}.story-photo-empty small{margin-top:12px;font-size:7px;font-weight:800;letter-spacing:.24em;opacity:.72}
.location-note-copy{grid-template-columns:44px minmax(0,1fr)!important;gap:15px!important;padding:0 2px}.location-notes .experience-note-index{font-size:31px!important;color:var(--map-gold)!important}.location-notes small{margin:2px 0 11px!important;font-size:7px!important;letter-spacing:.23em!important}.location-notes h3{font-size:clamp(31px,2.65vw,42px)!important;line-height:.94!important;margin-bottom:11px!important}.location-notes p{max-width:340px!important;color:#6e7770!important;font-size:10.5px!important;line-height:1.72!important}

/* Closing call-to-action: no fake photo required; it still feels atmospheric. */
.map-cta-wrap{width:min(1460px,calc(100% - 36px))!important;padding:0 0 clamp(46px,5vw,76px)!important}
.map-cta{position:relative;min-height:clamp(360px,27vw,420px);display:flex;align-items:center;overflow:hidden;border-radius:25px;padding:clamp(38px,5vw,72px);background:linear-gradient(90deg,rgba(5,24,15,.94) 0%,rgba(6,29,18,.84) 34%,rgba(7,29,19,.46) 58%,rgba(7,29,19,.10) 82%,rgba(7,29,19,.04) 100%),url('assets/04-choose-your-place.webp') center 53%/cover no-repeat;color:#f5f0e6;box-shadow:0 24px 60px rgba(16,38,28,.16)}
.map-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,12,.04),rgba(5,18,12,.18)),radial-gradient(circle at 76% 48%,transparent 0%,transparent 40%,rgba(4,19,12,.12) 100%);pointer-events:none}.map-cta:after{content:none}.map-cta-copy{position:relative;z-index:2;max-width:700px}.map-cta-copy .eyebrow{margin-bottom:18px!important}.map-cta h3{margin:0;max-width:700px;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(48px,5vw,72px);line-height:.9;letter-spacing:-.05em}.map-cta p{margin:18px 0 0;max-width:480px;color:rgba(245,240,230,.68);font-size:10.5px;line-height:1.65}.map-cta-button{margin-top:26px;min-height:46px;padding:0 19px 0 20px;border:0;border-radius:999px;background:#d0a85f;color:#fff;display:inline-flex;align-items:center;gap:28px;cursor:pointer;font-size:9.5px;font-weight:700;letter-spacing:.025em;box-shadow:0 12px 28px rgba(0,0,0,.13);transition:transform .2s ease,background .2s ease}.map-cta-button:hover{transform:translateY(-2px);background:#d7b46f}.map-cta-button i{font-style:normal;font-size:16px}.map-cta-mark{display:none}.map-cta-mark:before,.map-cta-mark:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%}.map-cta-mark:before{inset:24px}.map-cta-mark:after{inset:50px}.map-cta-mark span{font-family:'Instrument Serif',Georgia,serif;font-size:66px;letter-spacing:-.05em}.map-cta-mark i{position:absolute;width:1px;height:280px;background:rgba(226,203,160,.12);transform:rotate(35deg)}

/* Rich footer. */
.site-footer{background:#0d2b1e!important;color:#e9eee9!important;padding:0 clamp(24px,5vw,76px)!important}.footer-rich{width:min(1400px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(280px,1.35fr) minmax(160px,.55fr) minmax(250px,.8fr);gap:clamp(50px,8vw,120px);padding:48px 0 38px}.footer-brand-button{display:flex;align-items:center;gap:13px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.footer-brand-button img{width:48px;height:48px;border-radius:14px}.footer-brand-button b,.footer-brand-button small{display:block}.footer-brand-button b{font-family:'Instrument Serif',Georgia,serif;font-size:19px;font-weight:400}.footer-brand-button small{margin-top:3px;color:#93a499;font-size:6px;letter-spacing:.15em;text-transform:uppercase}.footer-brand-col>p{max-width:330px;margin:20px 0 0;color:#a3b0a7;font-size:10px;line-height:1.7}.footer-quick-links{display:flex;gap:18px;margin-top:20px}.footer-quick-links a{color:#d3b474;text-decoration:none;font-size:9px}.footer-nav-col,.footer-contact-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-nav-col>small,.footer-contact-col>small{margin-bottom:4px;color:#d3b474;font-size:7px;font-weight:800;letter-spacing:.2em}.footer-nav-col button{padding:0;border:0;background:transparent;color:#d7ded9;cursor:pointer;font-size:9.5px}.footer-nav-col button:hover{color:#fff}.footer-contact-col a,.footer-contact-col span{color:#d7ded9;text-decoration:none;font-size:9.5px;line-height:1.55}.footer-contact-col span{max-width:250px;color:#9dac9f}.footer-bottom{width:min(1400px,100%);margin:0 auto;display:flex;justify-content:space-between;gap:30px;padding:18px 0 24px;border-top:1px solid rgba(255,255,255,.08);color:#84978a;font-size:7.5px;letter-spacing:.01em}

@media (min-width:901px){
  .map-stage-shell{width:min(1580px,calc(100vw - 44px),calc((100vh - 78px - 34px) * 16 / 9))!important}
}

@media (max-width:1100px) and (min-width:901px){
  .site-header{grid-template-columns:245px 1fr auto!important;padding:0 28px!important}.nav-links{gap:10px!important}.header-book{padding:0 14px}.map-floating-intro{max-width:45%!important}.location-notes-title h3{font-size:58px!important}.map-cta-mark{right:4%;opacity:.7}
}
/* v150 header metric sync */
:root{--header:78px}

/* ======================================================================
   MAP STORIES ALIGNMENT v152
   Desktop: strict three-column baseline. No editorial stagger.
   ====================================================================== */
@media (min-width:901px){
  .location-notes{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(22px,2.2vw,34px)!important;
    align-items:start!important;
    max-width:1320px!important;
  }
  .location-notes article,
  .location-notes article:nth-child(2),
  .location-notes article:nth-child(3){
    margin-top:0!important;
    align-self:start!important;
  }
  .location-notes .location-note-photo,
  .story-card-nature .location-note-photo,
  .story-card-kitchen .location-note-photo,
  .story-card-time .location-note-photo{
    width:100%!important;
    height:clamp(320px,24vw,400px)!important;
    aspect-ratio:auto!important;
    margin:0 0 25px!important;
  }
  .location-notes .location-note-copy{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:15px!important;
    align-items:start!important;
  }
  .location-notes .location-note-copy>div{
    min-width:0;
  }
  .location-notes h3{
    min-height:2.02em!important;
    display:flex!important;
    align-items:flex-start!important;
  }
  .location-notes p{
    margin-top:0!important;
  }
}

/* ======================================================================
   MAP STORIES MOBILE ALIGNMENT v153
   Phone layout: one strict vertical rhythm, identical card geometry.
   ====================================================================== */
@media (max-width:900px){
  .map-after-content{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .location-notes{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    gap:34px!important;
    padding-top:24px!important;
    margin:0!important;
  }

  .location-notes article,
  .location-notes article+article,
  .location-notes article:nth-child(2),
  .location-notes article:nth-child(3){
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 0 2px!important;
    border:0!important;
  }

  .location-notes .location-note-photo,
  .story-card-nature .location-note-photo,
  .story-card-kitchen .location-note-photo,
  .story-card-time .location-note-photo{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:4 / 3!important;
    margin:0 0 16px!important;
    border-radius:15px!important;
  }

  .location-notes .location-note-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }

  .location-notes .location-note-copy{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    padding:0!important;
    align-items:start!important;
  }

  .location-notes .experience-note-index{
    font-size:24px!important;
    line-height:1!important;
    padding-top:1px!important;
  }

  .location-notes small{
    margin:1px 0 7px!important;
    font-size:6.5px!important;
    line-height:1.2!important;
    letter-spacing:.2em!important;
  }

  .location-notes h3{
    min-height:0!important;
    margin:0 0 7px!important;
    font-size:clamp(27px,8vw,34px)!important;
    line-height:.95!important;
    letter-spacing:-.04em!important;
    display:block!important;
  }

  .location-notes p{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:9.5px!important;
    line-height:1.62!important;
  }
}

@media (max-width:420px){
  .map-after-content{width:calc(100% - 20px)!important}
  .location-notes{gap:30px!important}
  .location-notes .location-note-photo,
  .story-card-nature .location-note-photo,
  .story-card-kitchen .location-note-photo,
  .story-card-time .location-note-photo{
    border-radius:13px!important;
    margin-bottom:14px!important;
  }
  .location-notes .location-note-copy{grid-template-columns:30px minmax(0,1fr)!important;gap:9px!important}
  .location-notes .experience-note-index{font-size:22px!important}
  .location-notes h3{font-size:clamp(26px,8.4vw,32px)!important}
  .location-notes p{font-size:9px!important;line-height:1.58!important}
}


/* CONTACT 2GIS OFFICIAL WIDGET v155 */
.contact-map-widget-host{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#eceae3;pointer-events:auto;touch-action:auto}
.contact-map-widget-host .dg-widget-link{display:none!important}
.contact-map-widget-host iframe,#contactMap iframe{width:100%!important;height:100%!important;border:0!important;display:block!important;pointer-events:auto!important;touch-action:auto!important;filter:none!important}


/* v156 — robust interactive contact map without a vendor API key */
.contact-map-live{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#dfe5df!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;cursor:grab!important}
.contact-map-live.is-interacting{cursor:grabbing!important}
.contact-live-tiles{position:absolute;inset:0;overflow:hidden;z-index:1;background:#dde3dd}
.contact-live-tiles img{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none!important;pointer-events:none!important;user-select:none!important;-webkit-user-drag:none!important;will-change:transform}
.contact-live-marker{position:absolute;left:0;top:0;z-index:4;width:0;height:0;pointer-events:none;will-change:transform}
.contact-live-marker:before{content:'';position:absolute;left:-17px;top:-39px;width:34px;height:34px;border-radius:50% 50% 50% 0;background:#173629;border:3px solid #fff;box-shadow:0 8px 22px rgba(9,31,20,.28);transform:rotate(-45deg)}
.contact-live-marker span{position:absolute;left:-5px;top:-27px;width:10px;height:10px;border-radius:50%;background:#d2a55c;z-index:1}
.contact-live-controls{position:absolute;z-index:8;right:12px;top:12px;display:grid;gap:5px;padding:5px;border-radius:13px;background:rgba(248,246,240,.96);box-shadow:0 12px 30px rgba(16,38,28,.16);backdrop-filter:blur(8px)}
.contact-live-controls button{width:38px;height:38px;border:0;border-radius:9px;background:#fff;color:#173629;font:600 22px/1 system-ui;cursor:pointer;touch-action:manipulation}
.contact-live-controls button:last-child{font-size:18px}
.contact-live-label{position:absolute;left:12px;top:12px;z-index:7;display:flex;flex-direction:column;max-width:min(310px,calc(100% - 80px));padding:10px 12px;border-radius:12px;background:rgba(248,246,240,.93);box-shadow:0 10px 28px rgba(16,38,28,.12);pointer-events:none;backdrop-filter:blur(8px)}
.contact-live-label b{font-family:Georgia,'Times New Roman',serif;font-size:13px;font-weight:400}.contact-live-label small{margin-top:3px;color:#667169;font-size:8px;line-height:1.35}
.contact-map-attribution{position:absolute;left:8px;bottom:7px;z-index:7;padding:3px 5px;border-radius:4px;background:rgba(255,255,255,.82);color:#536057;text-decoration:none;font-size:7px;line-height:1;pointer-events:auto}
.contact-map-live .contact-map-open{z-index:9!important;pointer-events:auto!important;touch-action:manipulation!important}

/* ======================================================================
   ENTRY CHOICE MENU v158
   First-view mobile-first launcher based on the supplied four-option ref.
   ====================================================================== */
body.entry-menu-open{overflow:hidden!important;overscroll-behavior:none}
.entry-menu{
  position:fixed;inset:0;z-index:5000;
  display:flex;flex-direction:column;
  min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  overflow:hidden;background:#f4f0e7;color:#173629;
  opacity:1;visibility:visible;transition:opacity .34s ease,visibility .34s ease;
}
.entry-menu.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.entry-menu[hidden]{display:none!important}
.entry-menu:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 16% 9%,rgba(199,168,105,.12),transparent 28%),radial-gradient(circle at 90% 88%,rgba(22,63,43,.10),transparent 34%);
}
.entry-menu-decor{position:absolute;border:1px solid rgba(23,54,41,.09);border-radius:50%;pointer-events:none}
.entry-menu-decor-a{width:min(78vw,620px);aspect-ratio:1;right:-34%;top:-23%}
.entry-menu-decor-b{width:min(58vw,430px);aspect-ratio:1;left:-31%;bottom:-18%}
.entry-menu-topbar{position:relative;z-index:2;width:min(1120px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.entry-menu-brand{display:flex;align-items:center;gap:10px;min-width:0}
.entry-menu-brand img{width:44px;height:44px;border-radius:13px;object-fit:cover;box-shadow:0 8px 24px rgba(12,40,26,.11)}
.entry-menu-brand span{min-width:0}.entry-menu-brand b,.entry-menu-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.entry-menu-brand b{font-family:'Instrument Serif',Georgia,serif;font-size:15px;font-weight:400;letter-spacing:-.02em}
.entry-menu-brand small{margin-top:2px;color:#879087;font-size:6.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.entry-menu-langs{display:flex;align-items:center;padding:3px;border:1px solid rgba(23,54,41,.11);border-radius:999px;background:rgba(255,255,255,.48);backdrop-filter:blur(12px)}
.entry-menu-langs button{width:31px;height:29px;padding:0;border:0;border-radius:999px;background:transparent;color:#929891;cursor:pointer;font-size:8px;font-weight:800;letter-spacing:.03em}
.entry-menu-langs button.active{background:#173629;color:#fff;box-shadow:0 5px 14px rgba(15,43,29,.13)}
.entry-menu-panel{position:relative;z-index:2;width:min(560px,100%);margin:auto;display:flex;flex-direction:column;padding:28px 0 12px}
.entry-menu-heading{margin-bottom:25px;text-align:center}
.entry-menu-kicker{display:block;margin-bottom:10px;color:#a68148;font-size:7px;font-weight:800;letter-spacing:.28em}
.entry-menu-heading h1{margin:0;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(37px,10.5vw,58px);font-weight:400;line-height:.9;letter-spacing:-.052em}
.entry-menu-heading p{max-width:350px;margin:13px auto 0;color:#778077;font-size:9.5px;line-height:1.55}
.entry-menu-actions{display:grid;gap:9px}
.entry-menu-action{
  min-height:65px;width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) 24px;align-items:center;gap:10px;
  padding:0 18px;border:1px solid rgba(23,54,41,.10);border-radius:17px;background:rgba(255,255,255,.64);color:#173629;
  box-shadow:0 10px 30px rgba(22,52,38,.055);text-decoration:none;text-align:left;cursor:pointer;
  backdrop-filter:blur(14px);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
  animation:entryActionIn .52s both cubic-bezier(.2,.72,.2,1);
}
.entry-menu-action:nth-child(2){animation-delay:.045s}.entry-menu-action:nth-child(3){animation-delay:.09s}.entry-menu-action:nth-child(4){animation-delay:.135s}
.entry-menu-action:hover{transform:translateY(-2px);border-color:rgba(23,54,41,.18);background:#fff;box-shadow:0 15px 35px rgba(22,52,38,.09)}
.entry-menu-action-primary{background:#173629;border-color:#173629;color:#f8f4ea;box-shadow:0 16px 34px rgba(15,43,29,.18)}
.entry-menu-action-primary:hover{background:#1e4937;border-color:#1e4937}
.entry-menu-action-map{background:#c99b54;border-color:#c99b54;color:#fff}
.entry-menu-action-map:hover{background:#d0a35c;border-color:#d0a35c}
.entry-menu-index{font-family:'Instrument Serif',Georgia,serif;font-size:17px;opacity:.54}
.entry-menu-label{font-size:13px;font-weight:700;letter-spacing:.005em}
.entry-menu-arrow{justify-self:end;font-size:17px;font-weight:400;opacity:.8}
.entry-menu-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:22px;color:#9a9f99}
.entry-menu-foot span{height:1px;background:rgba(23,54,41,.10)}
.entry-menu-foot small{font-size:6.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
@keyframes entryActionIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}

@media(max-width:520px){
  .entry-menu{padding-top:max(14px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .entry-menu-brand img{width:40px;height:40px;border-radius:12px}.entry-menu-brand b{font-size:14px}.entry-menu-brand small{font-size:6px}
  .entry-menu-langs button{width:29px;height:27px;font-size:7.5px}
  .entry-menu-panel{width:100%;padding:22px 0 6px}
  .entry-menu-heading{margin-bottom:21px}.entry-menu-heading h1{font-size:clamp(36px,11vw,47px)}.entry-menu-heading p{max-width:310px;margin-top:11px;font-size:9px}
  .entry-menu-actions{gap:8px}
  .entry-menu-action{min-height:62px;grid-template-columns:29px minmax(0,1fr) 22px;padding:0 15px;border-radius:15px}
  .entry-menu-index{font-size:15px}.entry-menu-label{font-size:12px}.entry-menu-arrow{font-size:16px}
  .entry-menu-foot{margin-top:18px}
}
@media(max-height:690px) and (max-width:520px){
  .entry-menu-brand img{width:36px;height:36px}.entry-menu-panel{padding-top:13px}.entry-menu-heading{margin-bottom:14px}.entry-menu-heading p{display:none}
  .entry-menu-heading h1{font-size:35px}.entry-menu-action{min-height:54px}.entry-menu-actions{gap:7px}.entry-menu-foot{margin-top:12px}
}
@media(min-width:900px){
  .entry-menu{padding:28px 42px}.entry-menu-brand img{width:50px;height:50px;border-radius:15px}.entry-menu-brand b{font-size:17px}
  .entry-menu-panel{width:min(590px,100%);padding-top:35px}.entry-menu-heading{margin-bottom:30px}.entry-menu-heading h1{font-size:60px}.entry-menu-heading p{font-size:10px}
  .entry-menu-action{min-height:72px;grid-template-columns:36px minmax(0,1fr) 28px;padding:0 21px;border-radius:18px}.entry-menu-label{font-size:14px}.entry-menu-index{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.entry-menu,.entry-menu-action{transition:none!important;animation:none!important}}

/* =========================================================
   CLIENT HOMEPAGE v159 — PDF-led mobile-first public site
   ========================================================= */
.brand-button{border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.brand-logo{width:48px;height:48px;object-fit:contain;flex:0 0 auto}.site-header{grid-template-columns:260px 1fr 230px}.nav-links button{white-space:nowrap}.screen-back{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:9px;cursor:pointer;color:#657168;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.screen-back span{font-size:15px;line-height:1}.screen-back:hover{color:var(--forest)}

.home-screen{background:#f7efe4}.home-page{width:min(980px,calc(100% - 64px));margin:0 auto;padding:48px 0 100px}.home-intro{text-align:center}.home-intro-copy{max-width:920px;margin:0 auto}.home-intro h1{margin:0;font-size:clamp(20px,2.15vw,30px);line-height:1.3;font-weight:400;letter-spacing:-.03em}.home-intro h1 strong{font-size:1.2em;font-weight:800;letter-spacing:-.04em}.home-logo-wrap{width:min(390px,52%);margin:30px auto 38px}.home-logo-wrap img{width:100%;height:auto}
.home-quick{margin:0 auto 78px;border:1px solid rgba(20,33,25,.14);background:rgba(255,255,255,.48);padding:18px;border-radius:22px;box-shadow:0 24px 70px rgba(64,44,24,.07)}.home-quick-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:2px 4px 14px}.home-quick-head span{font-size:8px;font-weight:800;letter-spacing:.2em;color:var(--gold)}.home-quick-head p{margin:0;font-size:10px;color:var(--muted)}.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-action{min-height:82px;border:1px solid rgba(16,38,28,.11);border-radius:13px;background:#fff;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:11px;padding:0 18px;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;color:var(--forest)}.home-action:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(29,42,33,.08)}.home-action.is-primary{background:var(--forest);color:#fff;border-color:var(--forest)}.home-action-no{font-family:'Instrument Serif',serif;font-size:21px;opacity:.5}.home-action b{font-size:14px;line-height:1.2}.home-action i{font-style:normal;font-size:20px;text-align:right}
.home-story{margin:0 auto 74px}.home-story-copy{max-width:840px;margin:0 auto 24px;text-align:center}.home-story-copy p{margin:0;font-size:clamp(16px,1.8vw,22px);line-height:1.55;letter-spacing:-.025em}.home-story-copy strong{font-size:1.18em;font-weight:800}.home-story-secondary{margin-top:16px!important}.home-story-photo{margin:0 auto;width:min(820px,100%);height:clamp(360px,49vw,545px);overflow:hidden;background:linear-gradient(145deg,#e6d9c4,#cdb28a);position:relative;border-radius:2px}.home-story-photo>img{width:100%;height:100%;object-fit:cover}.home-story-photo .story-photo-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;background:linear-gradient(145deg,#eadfcf,#cfb68f);color:#6a5538}.home-story-photo .story-photo-empty img{width:min(180px,34%);opacity:.45}.home-story-photo .story-photo-empty small{font-size:8px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}.home-story-photo.has-photo .story-photo-empty{display:none}.home-story-cabins{margin-bottom:0}.home-story-cta{margin:18px auto 0;width:min(820px,100%);min-height:58px;border:0;background:var(--forest);color:#fff;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-radius:3px;cursor:pointer;font-weight:700;font-size:12px;letter-spacing:.02em}.home-story-cta i{font-style:normal;font-size:20px}

.map-screen{padding:0 clamp(18px,3vw,48px) clamp(18px,3vw,48px);background:var(--cream)}.map-page-top{width:min(1440px,100%);margin:0 auto;padding:22px 4px 14px}.map-stage-shell{height:calc(100vh - var(--header) - 72px);min-height:600px}.map-floating-intro{position:absolute;left:22px;top:22px;z-index:4;width:min(370px,calc(100% - 44px));padding:20px 22px;border-radius:18px;background:rgba(248,246,240,.93);backdrop-filter:blur(16px);box-shadow:0 18px 60px rgba(16,38,28,.14);pointer-events:none}.map-floating-intro .eyebrow{margin-bottom:9px}.map-floating-intro h1{font-family:'Instrument Serif',serif;font-size:48px;line-height:.93;font-weight:400;letter-spacing:-.045em;margin:0 0 10px}.map-floating-intro>p{margin:0;color:#637067;font-size:11px;line-height:1.55}.map-mini-help{margin-top:14px;display:flex;align-items:center;gap:8px;font-size:8px;color:#68736c}.map-help-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}

.menu-screen .page-shell>.screen-back{margin-bottom:34px}.location-editorial>.screen-back{margin-bottom:28px}.maps-chooser-link{border:0;background:transparent;cursor:pointer;padding:0;color:inherit}.maps-open-button{border:0;cursor:pointer;font:inherit}.footer-map-button{border:0;background:transparent;color:inherit;padding:0;cursor:pointer;font:inherit}

.maps-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}.maps-dialog::backdrop{background:rgba(8,18,12,.54);backdrop-filter:blur(5px)}.maps-dialog-sheet{width:min(520px,calc(100vw - 32px));background:#f8f4ec;border-radius:24px;padding:24px;box-shadow:0 30px 100px rgba(9,20,14,.3)}.maps-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.maps-dialog-head small{display:block;font-size:8px;letter-spacing:.2em;color:var(--gold);font-weight:800;margin-bottom:9px}.maps-dialog-head h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:38px;line-height:.95;letter-spacing:-.04em;margin:0}.maps-dialog-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;font-size:22px;line-height:1}.maps-dialog-sheet>p{font-size:11px;line-height:1.55;color:var(--muted);margin:16px 0 20px}.maps-dialog-actions{display:grid;gap:9px}.maps-dialog-actions a{min-height:76px;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.maps-dialog-actions a:first-child{background:var(--forest);color:#fff;border-color:var(--forest)}.maps-dialog-actions span small,.maps-dialog-actions span b{display:block}.maps-dialog-actions span small{font-size:8px;letter-spacing:.14em;opacity:.65;margin-bottom:5px}.maps-dialog-actions span b{font-size:13px}.maps-dialog-actions i{font-style:normal;font-size:20px}

/* Footer: no separate restaurant page anymore. */
.footer-nav-col button{cursor:pointer}
.footer-quick-links .footer-map-button{color:#d3b474;text-decoration:none;font-size:9px;border:0;background:transparent;padding:0;cursor:pointer}

/* =========================================================
   HOMEPAGE ART DIRECTION v160 — editorial / premium
   Public site only. Admin/data bindings are unchanged.
   ========================================================= */
.home-screen{
  background:
    radial-gradient(circle at 12% 7%,rgba(157,119,67,.08),transparent 28%),
    radial-gradient(circle at 86% 28%,rgba(16,39,29,.045),transparent 24%),
    #f7f0e6!important;
}
.home-page{
  width:min(1040px,calc(100% - 72px));
  padding:62px 0 112px;
}
.home-intro{
  position:relative;
  padding:4px 24px 36px;
  margin-bottom:78px;
}
.home-intro::after{
  content:"";
  position:absolute;
  left:50%;bottom:0;
  width:min(620px,78%);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(21,44,31,.24),transparent);
}
.home-intro-kicker{
  display:block;
  margin-bottom:17px;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.24em;
  color:#9c7743;
  text-transform:uppercase;
}
.home-intro-copy{max-width:900px;font-family:'Manrope','DM Sans',system-ui,sans-serif}
.home-intro h1{
  max-width:900px;
  margin:0 auto;
  font-size:clamp(16px,1.45vw,20px);
  line-height:1.6;
  letter-spacing:-.018em;
  color:#344239;
}
.home-intro h1 strong{
  display:block;
  margin-bottom:10px;
  font-family:'Oswald','Arial Narrow',sans-serif;
  font-size:clamp(31px,3.25vw,48px);
  line-height:1.04;
  font-weight:600;
  letter-spacing:-.025em;
  color:#10271d;
}
.home-intro h1>span[aria-hidden="true"]{display:none}
.home-logo-wrap{
  width:min(315px,44%);
  margin:34px auto 0;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.home-logo-wrap img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 24px rgba(74,45,19,.13))}
.home-story{
  position:relative;
  margin:0 auto 92px;
}
.home-story::before{
  display:block;
  width:max-content;
  margin:0 auto 12px;
  font-family:'Instrument Serif',Georgia,serif;
  font-size:16px;
  color:#a17d4c;
  opacity:.78;
}
.home-story-nature::before{content:"01"}
.home-story-kitchen::before{content:"02"}
.home-story-cabins::before{content:"03"}
.home-story-copy{
  max-width:850px;
  margin:0 auto 25px;
}
.home-story-copy p{
  font-family:'Manrope','DM Sans',system-ui,sans-serif;
  color:#26382e;
  font-size:clamp(17px,1.72vw,21px);
  line-height:1.57;
  letter-spacing:-.024em;
}
.home-story-copy strong{
  font-family:'Oswald','Arial Narrow',sans-serif;
  font-weight:600;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.17em;
  letter-spacing:-.04em;
  color:#10271d;
}
.home-story-secondary{
  max-width:700px;
  margin:14px auto 0!important;
  color:#5b665f!important;
  font-size:.9em!important;
}
.home-story-photo{
  width:min(900px,100%);
  height:clamp(390px,48vw,560px);
  border-radius:22px;
  border:1px solid rgba(16,39,29,.08);
  box-shadow:0 26px 70px rgba(46,38,25,.11);
  background:#ddcfb9;
}
.home-story-kitchen .home-story-photo{width:min(840px,96%)}
.home-story-photo>img{
  transform:scale(1.002);
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.home-story-photo:hover>img{transform:scale(1.018)}
.home-story-photo::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  border-radius:inherit;
}
.home-story-photo .story-photo-empty{
  background:
    radial-gradient(circle at 50% 38%,rgba(255,255,255,.35),transparent 30%),
    linear-gradient(145deg,#eadfce,#cdb28a);
}
.home-story-cabins{margin-bottom:0}

/* Final choice: intentionally placed after the full presentation. */
.home-quick{
  position:relative;
  overflow:hidden;
  margin:96px auto 0;
  padding:30px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:30px;
  background:
    radial-gradient(circle at 95% -10%,rgba(207,175,122,.20),transparent 34%),
    linear-gradient(145deg,#10271d,#0a1c14);
  color:#fff;
  box-shadow:0 34px 90px rgba(16,39,29,.20);
}
.home-quick::after{
  content:"";
  position:absolute;
  width:210px;height:210px;
  right:-112px;bottom:-125px;
  border:1px solid rgba(232,213,180,.16);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(232,213,180,.035),0 0 0 56px rgba(232,213,180,.025);
  pointer-events:none;
}
.home-quick-head{
  position:relative;z-index:1;
  align-items:flex-end;
  padding:2px 3px 22px;
}
.home-quick-head span{
  font-size:9px;
  letter-spacing:.22em;
  color:#d7b77f;
}
.home-quick-head p{
  max-width:380px;
  color:rgba(255,255,255,.66);
  font-size:11px;
  line-height:1.45;
  text-align:right;
}
.home-actions{position:relative;z-index:1;gap:11px}
.home-action{
  min-height:88px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px;
  background:rgba(255,255,255,.075);
  color:#fff;
  backdrop-filter:blur(8px);
  box-shadow:none;
}
.home-action:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.12);
  box-shadow:none;
}
.home-action.is-primary{
  background:#d6b57d;
  color:#10271d;
  border-color:#d6b57d;
  box-shadow:0 14px 36px rgba(4,14,9,.22);
}
.home-action-no{font-size:22px;opacity:.54}
.home-action b{font-size:14px;font-weight:700;letter-spacing:-.01em}
.home-action i{font-size:22px}


/* v161 — homepage typography, transparent logo and refined reveal motion */
@keyframes homeFadeUp{
  from{opacity:0;transform:translate3d(0,18px,0)}
  to{opacity:1;transform:none}
}
@keyframes homeLogoIn{
  0%{opacity:0;transform:translate3d(0,14px,0) scale(.965)}
  100%{opacity:1;transform:none}
}
.home-screen.active .home-intro-kicker{animation:homeFadeUp .62s cubic-bezier(.2,.72,.2,1) .06s both}
.home-screen.active .home-intro h1{animation:homeFadeUp .72s cubic-bezier(.2,.72,.2,1) .16s both}
.home-screen.active .home-logo-wrap{animation:homeLogoIn .84s cubic-bezier(.18,.78,.2,1) .30s both}
.home-reveal-ready #screen-home .home-story,
.home-reveal-ready #screen-home .home-quick{
  opacity:0;
  transform:translate3d(0,30px,0);
  transition:opacity .76s cubic-bezier(.2,.72,.2,1),transform .76s cubic-bezier(.2,.72,.2,1);
  will-change:opacity,transform;
}
.home-reveal-ready #screen-home .home-story.is-visible,
.home-reveal-ready #screen-home .home-quick.is-visible{opacity:1;transform:none}
.home-reveal-ready #screen-home .home-story-photo{transform:scale(.985);transition:transform .9s cubic-bezier(.2,.72,.2,1),box-shadow .35s ease}
.home-reveal-ready #screen-home .home-story.is-visible .home-story-photo{transform:none}

@media(max-width:1050px){
  .mobile-nav-maps{display:block!important}
  body[data-active-screen="home"] .menu-toggle{display:none!important}
  body:not([data-active-screen="home"]) .menu-toggle{display:flex!important}
}
@media(prefers-reduced-motion:reduce){
  .home-screen.active .home-intro-kicker,.home-screen.active .home-intro h1,.home-screen.active .home-logo-wrap{animation:none!important}
  .home-reveal-ready #screen-home .home-story,.home-reveal-ready #screen-home .home-quick,.home-reveal-ready #screen-home .home-story-photo{opacity:1!important;transform:none!important;transition:none!important}
}


/* =========================================================
   PREMIUM NATURE RESORT POLISH v162
   Visual refinement only — public site/data bindings unchanged.
   ========================================================= */
:root{
  --forest:#10382B;
  --forest-2:#174737;
  --forest-3:#235746;
  --paper:#F7F1E7;
  --cream:#F7F1E7;
  --gold:#C9A05D;
  --muted:#626860;
  --header:66px;
}
html,body{background:var(--paper)!important}
body{font-family:'Manrope','DM Sans',system-ui,sans-serif!important}

/* Header keeps the same structure, but becomes quieter and more refined. */
.site-header{
  height:66px!important;
  min-height:66px!important;
  background:rgba(250,247,240,.86)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  border-bottom:1px solid rgba(16,56,43,.09)!important;
  box-shadow:none!important;
  transition:box-shadow .24s ease,background .24s ease!important;
}
.site-header.is-scrolled{
  background:rgba(250,247,240,.92)!important;
  box-shadow:0 8px 28px rgba(16,56,43,.075)!important;
}
.brand-copy strong{font-family:'Manrope',sans-serif!important;font-weight:600!important;color:#17372d!important}
.brand-copy small{color:#748078!important}
.lang-switch button.active{color:var(--forest)!important;box-shadow:inset 0 -1px 0 var(--gold)!important}

/* A true milk-paper field: solid color + barely-there grain, no page-wide gradients. */
.home-screen{
  position:relative!important;
  isolation:isolate;
  background:#F7F1E7!important;
}
.home-screen::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxODAnIGhlaWdodD0nMTgwJyB2aWV3Qm94PScwIDAgMTgwIDE4MCc+PGZpbHRlciBpZD0nbic+PGZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9Jy43OCcgbnVtT2N0YXZlcz0nMycgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbHRlcj0ndXJsKCNuKScgb3BhY2l0eT0nLjI0Jy8+PC9zdmc+");
  background-size:180px 180px;
  opacity:.018;
  mix-blend-mode:multiply;
}
.home-page{position:relative;z-index:1;width:min(1040px,calc(100% - 72px));padding:58px 0 96px}
.home-intro{padding:3px 24px 30px;margin-bottom:62px}
.home-intro::after{background:linear-gradient(90deg,transparent,rgba(16,56,43,.18),transparent)}
.home-intro-kicker{
  margin-bottom:17px;
  color:var(--gold)!important;
  font-size:9px;
  font-weight:700;
  letter-spacing:.29em;
}
.home-intro-copy{max-width:940px!important}
.home-intro h1{
  max-width:900px!important;
  color:#4b574f!important;
  font-family:'Manrope',sans-serif!important;
  font-size:clamp(16px,1.48vw,20px)!important;
  line-height:1.58!important;
  font-weight:400!important;
  letter-spacing:-.014em!important;
}
.home-intro h1 strong{
  max-width:900px;
  margin:0 auto 11px!important;
  font-family:'Oswald','Arial Narrow',sans-serif!important;
  font-size:clamp(34px,3.55vw,52px)!important;
  line-height:.99!important;
  font-weight:600!important;
  letter-spacing:-.018em!important;
  color:var(--forest)!important;
}
.home-intro h1>span[data-i18n="homeWelcomeText"]{
  display:block;
  max-width:720px;
  margin:0 auto;
  color:#4d5951;
}
.home-logo-wrap{
  width:min(286px,40%)!important;
  margin:31px auto 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-logo-wrap img{
  width:100%!important;
  border-radius:28px;
  filter:drop-shadow(0 25px 36px rgba(77,48,23,.115))!important;
}

/* One editorial rhythm for 01 / 02 / 03. */
.home-story{margin-bottom:88px}
.home-story::before{
  width:32px!important;
  height:49px;
  margin:0 auto 13px!important;
  padding:0 0 27px;
  display:block!important;
  box-sizing:border-box;
  background:linear-gradient(var(--gold),var(--gold)) center bottom/1px 21px no-repeat;
  font-family:'Manrope',sans-serif!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:600;
  letter-spacing:.08em;
  text-align:center;
  color:var(--gold)!important;
  opacity:.92!important;
}
.home-story-copy{max-width:820px;margin-bottom:24px}
.home-story-copy p{
  color:#626860!important;
  font-family:'Manrope',sans-serif!important;
  font-size:clamp(16px,1.45vw,19px)!important;
  line-height:1.62!important;
  font-weight:400!important;
  letter-spacing:-.012em!important;
}
.home-story-copy strong{
  font-family:'Oswald','Arial Narrow',sans-serif!important;
  font-weight:600!important;
  font-size:1.15em!important;
  letter-spacing:-.018em!important;
  color:var(--forest)!important;
}
.home-story-secondary{
  max-width:690px!important;
  margin-top:13px!important;
  color:#626860!important;
  font-size:.91em!important;
  line-height:1.62!important;
}
.home-story-photo,
.home-story-kitchen .home-story-photo{
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.68)!important;
  box-shadow:0 22px 54px rgba(44,50,41,.105)!important;
  background:#ded2bf!important;
}
.home-story-photo::after{
  border-radius:inherit!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)!important;
}
.home-story-photo>img{transition:transform .8s cubic-bezier(.2,.72,.2,1)!important}
.home-story-photo:hover>img{transform:scale(1.012)!important}
.home-story-cabins{margin-bottom:0!important}

/* Final CTA stays at the bottom exactly as requested by the client. */
.home-quick{
  margin:86px auto 0!important;
  padding:30px 27px 25px!important;
  border-radius:26px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:#12392C!important;
  box-shadow:0 28px 66px rgba(16,56,43,.17)!important;
}
.home-quick::before{
  content:"";
  position:absolute;
  left:20px;right:20px;top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  pointer-events:none;
}
.home-quick::after{opacity:.38}
.home-quick-head{padding:4px 4px 25px!important}
.home-quick-head span{color:#D7B574!important;letter-spacing:.24em!important}
.home-quick-head p{color:rgba(255,255,255,.68)!important}
.home-actions{gap:8px!important}
.home-action{
  min-height:82px!important;
  border-color:rgba(255,255,255,.08)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.055)!important;
  transition:transform .12s ease,background .18s ease,border-color .18s ease!important;
}
.home-action:hover{transform:none!important;background:rgba(255,255,255,.085)!important}
.home-action.is-primary{
  background:#D9B878!important;
  color:#10382B!important;
  border-color:#D9B878!important;
  box-shadow:none!important;
}
.home-action-no{
  font-family:'Oswald','Arial Narrow',sans-serif!important;
  font-size:25px!important;
  font-weight:500!important;
  opacity:.30!important;
}
.home-action b{font-family:'Manrope',sans-serif!important;font-size:14px!important;font-weight:600!important}
.home-action i{font-size:20px!important;font-weight:400!important;transition:transform .16s ease!important}
.home-action:hover i{transform:translateX(3px)}

/* Footer: same content/structure, less visual weight. */
.site-footer{background:#10382B!important;padding:0 clamp(24px,5vw,76px)!important}
.footer-rich{gap:clamp(42px,7vw,100px)!important;padding:39px 0 30px!important}
.footer-brand-col>p{margin-top:17px!important;color:#afbbb3!important}
.footer-nav-col,.footer-contact-col{gap:10px!important}
.footer-nav-col>small,.footer-contact-col>small{
  margin-bottom:5px!important;
  color:#C9A05D!important;
  font-family:'Manrope',sans-serif!important;
  font-size:7px!important;
  font-weight:700!important;
  letter-spacing:.22em!important;
}
.footer-nav-col button,.footer-contact-col a{color:#e2e8e3!important}
.footer-contact-col span{color:#aebbb2!important}
.footer-bottom{
  padding:15px 0 19px!important;
  border-top-color:rgba(255,255,255,.14)!important;
  color:#8fa095!important;
  font-size:7px!important;
}

/* Calm, tactile press state for touch and click. */
.home-action,.nav-links button,.lang-switch button,.screen-back,.primary-link,.text-link,
.maps-dialog-actions a,.maps-dialog-close,.brand-button,.footer-brand-button,.footer-nav-col button,
.footer-map-button,.header-book,.menu-toggle{transition-duration:.12s!important}
.home-action:active,.nav-links button:active,.lang-switch button:active,.screen-back:active,.primary-link:active,.text-link:active,
.maps-dialog-actions a:active,.maps-dialog-close:active,.brand-button:active,.footer-brand-button:active,.footer-nav-col button:active,
.footer-map-button:active,.header-book:active,.menu-toggle:active{transform:scale(.985)!important}

/* Text leads; photography follows by about 100ms. */
.home-reveal-ready #screen-home .home-story{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.home-reveal-ready #screen-home .home-story .home-story-copy,
.home-reveal-ready #screen-home .home-story::before{
  opacity:0;
  transform:translate3d(0,15px,0);
  transition:opacity .72s cubic-bezier(.2,.72,.2,1),transform .72s cubic-bezier(.2,.72,.2,1);
}
.home-reveal-ready #screen-home .home-story .home-story-photo{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.985)!important;
  transition:opacity .82s cubic-bezier(.2,.72,.2,1) .10s,transform .82s cubic-bezier(.2,.72,.2,1) .10s,box-shadow .3s ease!important;
}
.home-reveal-ready #screen-home .home-story.is-visible .home-story-copy,
.home-reveal-ready #screen-home .home-story.is-visible::before{opacity:1;transform:none}
.home-reveal-ready #screen-home .home-story.is-visible .home-story-photo{opacity:1;transform:none!important}
.home-reveal-ready #screen-home .home-quick{
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:opacity .78s cubic-bezier(.2,.72,.2,1),transform .78s cubic-bezier(.2,.72,.2,1);
}
.home-reveal-ready #screen-home .home-quick.is-visible{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  .home-reveal-ready #screen-home .home-story .home-story-copy,
  .home-reveal-ready #screen-home .home-story::before,
  .home-reveal-ready #screen-home .home-story .home-story-photo{opacity:1!important;transform:none!important;transition:none!important}
}
\n\n/* v163 — Contacts are contact details only. Maps live exclusively in “Open in maps”. */\n.location-screen .location-layout{\n  grid-template-columns:minmax(0,760px)!important;\n  justify-content:center!important;\n  gap:0!important;\n  min-height:calc(100vh - var(--header))!important;\n}\n.location-screen .location-editorial{\n  width:100%;\n  padding:clamp(30px,5vw,68px) 0!important;\n}\n.location-screen .location-editorial h2{max-width:680px!important;}\n.location-screen .location-note{max-width:620px!important;color:#626860!important;}\n.location-screen .contact-stack-clean{\n  margin-top:clamp(28px,4vw,42px)!important;\n  border-top:1px solid rgba(16,56,43,.16)!important;\n}\n.location-screen .contact-stack-clean>a,\n.location-screen .contact-stack-clean>div{\n  position:relative;\n  grid-template-columns:132px minmax(0,1fr) 22px!important;\n  align-items:center;\n  gap:18px!important;\n  min-height:70px;\n  padding:18px 4px!important;\n  border-bottom:1px solid rgba(16,56,43,.13)!important;\n  transition:background .18s ease,transform .12s ease;\n}\n.location-screen .contact-stack-clean>div{grid-template-columns:132px minmax(0,1fr)!important;}\n.location-screen .contact-stack-clean>a:hover{background:rgba(201,160,93,.055);}\n.location-screen .contact-stack-clean>a:active{transform:scale(.985);}\n.location-screen .contact-stack-clean small{color:#987746!important;font-weight:700!important;letter-spacing:.16em!important;}\n.location-screen .contact-stack-clean b{font-family:'Manrope',sans-serif!important;font-size:14px!important;font-weight:500!important;color:#10382b!important;line-height:1.45!important;}\n.location-screen .contact-stack-clean i{font-style:normal;color:#c9a05d;font-size:15px;transition:transform .18s ease;}\n.location-screen .contact-stack-clean>a:hover i{transform:translate(2px,-2px);}\n.location-screen .contact-stack-clean>a[aria-disabled='true']{pointer-events:none;opacity:.55;}\n.location-screen .contact-actions,\n.location-screen .map-card{display:none!important;}\n@media(max-width:720px){\n  .location-screen .location-layout{width:calc(100% - 32px)!important;}\n  .location-screen .location-editorial{padding:28px 0 44px!important;}\n  .location-screen .contact-stack-clean>a,\n  .location-screen .contact-stack-clean>div{\n    grid-template-columns:1fr 20px!important;\n    gap:8px 12px!important;\n    min-height:74px;\n    padding:15px 2px!important;\n  }\n  .location-screen .contact-stack-clean>div{grid-template-columns:1fr!important;}\n  .location-screen .contact-stack-clean small{grid-column:1/-1;margin:0 0 2px!important;font-size:7px!important;}\n  .location-screen .contact-stack-clean b{grid-column:1;font-size:13px!important;overflow-wrap:anywhere;}\n  .location-screen .contact-stack-clean i{grid-column:2;grid-row:1/3;align-self:center;}\n}\n
/* V164 — contacts screen stays text-only, no embedded map */
.location-screen .map-card,
.location-screen .contact-map,
.location-screen .contact-map-2gis,
.location-screen .contact-map-fallback,
.location-screen .contact-map-controls,
.location-screen .contact-map-popup,
.location-screen .contact-actions,
.location-screen .route-button,
.location-screen [data-contact-map],
.location-screen iframe,
.location-screen .location-map,
.location-screen .contact-route,
.location-screen .maps-inline,
.location-screen .location-layout > .map-card,
.location-screen .location-layout > iframe{
  display:none !important;
}

/* ==============================================================
   V165 — dedicated “Open in maps” screen; contacts stay contact-only
   ============================================================== */
.location-layout-clean{
  display:block!important;
  min-height:calc(100vh - var(--header))!important;
  max-width:880px!important;
}
.location-layout-clean .location-editorial{
  min-height:calc(100vh - var(--header) - 90px);
  max-width:700px;
  margin:0 auto;
}
.location-layout-clean .contact-stack{margin-top:34px!important}
.location-layout-clean .contact-stack>a{
  grid-template-columns:110px minmax(0,1fr) 24px!important;
  align-items:center;
  gap:16px!important;
  padding:21px 0!important;
}
.location-layout-clean .contact-stack i{font-style:normal;text-align:right;color:var(--gold);transition:transform .18s ease}
.location-layout-clean .contact-stack a:hover i{transform:translateX(3px)}

.maps-screen{background:#F7F1E7!important;min-height:calc(100vh - var(--header))}
.maps-page-shell{width:min(980px,calc(100% - 40px));margin:0 auto;padding:36px 0 72px}
.maps-page-card{
  margin-top:24px;
  border-radius:28px;
  background:#12392C;
  color:#f8f3e9;
  overflow:hidden;
  padding:clamp(26px,4vw,48px);
  box-shadow:0 28px 80px rgba(16,56,43,.16), inset 0 1px 0 rgba(255,255,255,.08);
}
.maps-page-brand{display:grid;grid-template-columns:116px minmax(0,1fr);gap:28px;align-items:center}
.maps-page-brand>img{
  width:116px;height:116px;object-fit:contain;border-radius:24px;
  background:rgba(247,241,231,.06);padding:8px;
  box-shadow:0 18px 42px rgba(0,0,0,.14);
}
.maps-page-brand .eyebrow{color:#C9A05D!important;font-family:'Manrope',sans-serif;font-weight:600;letter-spacing:.18em}
.maps-page-brand h2{
  margin:8px 0 0;
  font-family:'Oswald',sans-serif;
  font-weight:600;
  font-size:clamp(42px,7vw,72px);
  line-height:.98;
  letter-spacing:-.025em;
  color:#fffaf1;
}
.maps-page-brand p{margin:15px 0 0;max-width:590px;font:500 14px/1.65 'Manrope',sans-serif;color:rgba(255,250,241,.68)}
.maps-page-info{margin-top:38px;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)}
.maps-info-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:20px 0;align-items:start}
.maps-info-row+.maps-info-row{border-top:1px solid rgba(255,255,255,.08)}
.maps-info-row small{font:600 10px/1.4 'Manrope',sans-serif;letter-spacing:.16em;color:#C9A05D}
.maps-info-row b{font:500 15px/1.55 'Manrope',sans-serif;color:#fffaf1}
.maps-page-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.maps-page-actions a{
  min-height:92px;border-radius:18px;padding:0 20px;text-decoration:none;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  transition:transform .12s ease,background .18s ease,border-color .18s ease;
}
.maps-page-actions a:first-child{background:#D9B878;color:#17372b;border:1px solid rgba(255,255,255,.12)}
.maps-page-actions a:last-child{background:rgba(255,255,255,.055);color:#fffaf1;border:1px solid rgba(255,255,255,.10)}
.maps-page-actions a:hover{transform:translateY(-2px)}
.maps-page-actions a:active{transform:scale(.985)}
.maps-page-actions span small,.maps-page-actions span b{display:block}
.maps-page-actions span small{font:600 9px/1 'Manrope',sans-serif;letter-spacing:.14em;opacity:.62;margin-bottom:7px;text-transform:uppercase}
.maps-page-actions span b{font:600 15px/1.25 'Manrope',sans-serif}
.maps-page-actions i{font-style:normal;font-size:22px;transition:transform .18s ease}
.maps-page-actions a:hover i{transform:translateX(3px)}

/* Address belongs only to the maps screen. */
.location-screen #addressText,
.site-footer #footerAddress{display:none!important}

@media(max-width:720px){
  .maps-page-shell{width:calc(100% - 28px);padding:22px 0 44px}
  .maps-page-card{margin-top:16px;border-radius:24px;padding:22px 18px 18px}
  .maps-page-brand{grid-template-columns:82px minmax(0,1fr);gap:16px;align-items:start}
  .maps-page-brand>img{width:82px;height:82px;border-radius:18px;padding:5px}
  .maps-page-brand h2{font-size:40px;line-height:1}
  .maps-page-brand p{grid-column:1/-1;margin-top:4px;font-size:13px;line-height:1.6}
  .maps-page-info{margin-top:24px}
  .maps-info-row{grid-template-columns:1fr;gap:7px;padding:16px 0}
  .maps-info-row small{font-size:9px}
  .maps-info-row b{font-size:14px}
  .maps-page-actions{grid-template-columns:1fr;gap:9px;margin-top:22px}
  .maps-page-actions a{min-height:76px;border-radius:15px;padding:0 17px}
  .location-layout-clean .location-editorial{min-height:calc(100vh - var(--header) - 60px)}
  .location-layout-clean .contact-stack>a{grid-template-columns:86px minmax(0,1fr) 20px!important;padding:18px 0!important}
}


/* ==============================================================
   V166 — cleaner story rhythm, stronger “How to find us”, compact footer
   ============================================================== */
/* The editorial 01/02/03 markers are removed from the three story sections. */
#screen-home .home-story::before{
  content:none!important;
  display:none!important;
  background:none!important;
}
#screen-home .home-story-copy{margin-top:0!important;}
.home-reveal-ready #screen-home .home-story .home-story-copy{transition-delay:0s!important;}

/* Maps screen: “How to find us” is now the main message, not “Open in maps”. */
.maps-page-brand{grid-template-columns:104px minmax(0,1fr)!important;gap:26px!important;}
.maps-page-brand>img{width:104px!important;height:104px!important;}
.maps-page-brand h2{
  max-width:680px;
  font-size:clamp(48px,7.4vw,78px)!important;
  line-height:.94!important;
  letter-spacing:-.03em!important;
}
.maps-page-brand p{
  max-width:690px!important;
  margin-top:18px!important;
  font-size:14.5px!important;
  line-height:1.72!important;
  color:rgba(255,250,241,.74)!important;
}
.maps-page-info{margin-top:34px!important;}

/* Footer: less duplication, shorter and more resort-like. */
.site-footer{
  background:#0E3126!important;
  padding:0 clamp(22px,5vw,72px)!important;
}
.footer-compact{width:min(1400px,100%);margin:0 auto;}
.footer-compact-top{
  min-height:132px;
  display:grid;
  grid-template-columns:minmax(250px,1.05fr) minmax(330px,1.35fr) minmax(210px,.75fr);
  align-items:center;
  gap:clamp(28px,5vw,72px);
  padding:28px 0 24px;
}
.footer-compact .footer-brand-button img{
  width:44px!important;height:44px!important;border-radius:12px!important;
  box-shadow:none!important;
}
.footer-compact .footer-brand-button b{
  font-family:'Oswald','Arial Narrow',sans-serif!important;
  font-size:16px!important;
  line-height:1.05!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
}
.footer-compact .footer-brand-button small{
  margin-top:5px!important;
  color:rgba(235,241,236,.52)!important;
  font:500 6.7px/1.2 'Manrope',sans-serif!important;
  letter-spacing:.15em!important;
}
.footer-compact-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 22px;
}
.footer-compact-nav button{
  border:0;
  padding:5px 0;
  background:transparent;
  color:rgba(244,247,244,.78);
  font:500 10px/1.2 'Manrope',sans-serif;
  cursor:pointer;
  transition:color .18s ease,transform .12s ease;
}
.footer-compact-nav button:hover{color:#fff;}
.footer-compact-nav button:active{transform:scale(.985);}
.footer-compact-contact{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
}
.footer-compact-contact a{
  color:rgba(244,247,244,.78);
  text-decoration:none;
  font:500 9.5px/1.35 'Manrope',sans-serif;
}
.footer-compact-contact a:last-child{color:#D5B36F;}
.footer-compact .footer-bottom{
  padding:14px 0 18px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  color:rgba(220,229,222,.48)!important;
  font-size:6.8px!important;
}

@media(max-width:820px){
  .footer-compact-top{
    grid-template-columns:1fr auto;
    gap:22px 18px;
    min-height:0;
    padding:25px 0 21px;
  }
  .footer-compact-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:7px 18px;}
  .footer-compact-contact{align-items:flex-end;}
}
@media(max-width:720px){
  .maps-page-brand{grid-template-columns:72px minmax(0,1fr)!important;gap:15px!important;}
  .maps-page-brand>img{width:72px!important;height:72px!important;border-radius:17px!important;}
  .maps-page-brand h2{font-size:clamp(39px,11.5vw,48px)!important;line-height:.96!important;}
  .maps-page-brand p{grid-column:1/-1!important;margin-top:5px!important;font-size:13.2px!important;line-height:1.65!important;}
  .maps-page-info{margin-top:22px!important;}

  .site-footer{padding:0 16px!important;}
  .footer-compact-top{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    padding:24px 0 18px;
  }
  .footer-compact .footer-brand-button{width:100%;}
  .footer-compact .footer-brand-button img{width:42px!important;height:42px!important;}
  .footer-compact-nav{
    grid-column:auto;grid-row:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    justify-content:stretch;
    gap:0 18px;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .footer-compact-nav button{text-align:left;padding:8px 0;font-size:9.5px;}
  .footer-compact-contact{align-items:flex-start;gap:6px;}
  .footer-compact-contact a{font-size:9.5px;}
  .footer-compact .footer-bottom{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:13px 0 calc(16px + env(safe-area-inset-bottom))!important;
    font-size:6.5px!important;
  }
}


/* =========================================================
   V167 — premium contact screen, mobile-first
   ========================================================= */
.location-screen .location-layout-clean{
  display:block!important;
  min-height:auto!important;
  padding-top:clamp(24px,4vw,46px)!important;
  padding-bottom:clamp(32px,5vw,54px)!important;
}
.location-screen .location-editorial{
  width:min(720px,100%);
  justify-content:flex-start!important;
  padding:0!important;
}
.location-screen .location-editorial>.screen-back{
  margin:0 0 24px!important;
}
.location-screen .location-editorial>.eyebrow{
  display:block;
  margin-bottom:12px!important;
  color:#C9A05D!important;
  font:700 11px/1 'Manrope',sans-serif!important;
  letter-spacing:2px!important;
}
.location-screen .location-editorial h2{
  max-width:600px!important;
  margin:0!important;
  color:#10382B!important;
  font-family:'Oswald','Arial Narrow',sans-serif!important;
  font-weight:600!important;
  font-size:clamp(48px,5.6vw,72px)!important;
  line-height:.96!important;
  letter-spacing:-.025em!important;
}
.location-screen .contact-stack-clean{
  width:min(620px,100%);
  margin-top:34px!important;
  border-top:1px solid rgba(15,55,42,.12)!important;
}
.location-screen .contact-stack-clean>.contact-row,
.location-screen .contact-row-phone{
  position:relative;
  display:block!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(15,55,42,.12)!important;
  text-decoration:none;
}
.location-screen .contact-stack-clean>.contact-row,
.location-screen .contact-row-main{
  min-height:92px;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 36px!important;
  align-items:center;
  gap:18px!important;
  padding:19px 0!important;
  text-decoration:none;
  transition:transform .12s ease,opacity .18s ease;
}
.location-screen .contact-row-main{padding-bottom:8px!important;}
.location-screen .contact-row-phone{padding-bottom:16px!important;}
.location-screen .contact-row-copy{min-width:0;display:block;}
.location-screen .contact-row-copy small{
  display:block;
  margin-bottom:8px;
  color:#7A827C!important;
  font:700 9px/1 'Manrope',sans-serif!important;
  letter-spacing:.18em!important;
}
.location-screen .contact-row-copy b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#17382D!important;
  font:600 15px/1.35 'Manrope',sans-serif!important;
  letter-spacing:-.015em!important;
}
.location-screen .contact-row-phone .contact-row-copy b{
  font-size:18px!important;
  font-weight:700!important;
}
.location-screen .contact-row-arrow{
  width:36px;height:36px;
  display:grid!important;
  place-items:center;
  border:1px solid rgba(201,160,93,.46);
  border-radius:50%;
  color:#B98C43!important;
  font:400 17px/1 'Manrope',sans-serif!important;
  font-style:normal!important;
  transition:transform .18s ease,background .18s ease;
}
.location-screen .contact-row:hover .contact-row-arrow,
.location-screen .contact-row-main:hover .contact-row-arrow{transform:translate(2px,-2px);background:rgba(201,160,93,.08);}
.location-screen .contact-row:active,
.location-screen .contact-row-main:active{transform:scale(.985);}
.location-screen .contact-whatsapp-link{
  display:inline-block;
  margin:0 54px 0 0;
  color:#B98C43!important;
  font:600 10px/1.35 'Manrope',sans-serif!important;
  letter-spacing:.01em;
  text-decoration:none;
  transition:opacity .18s ease,transform .12s ease;
}
.location-screen .contact-whatsapp-link:active{transform:scale(.985);}
.location-screen .contact-stack-clean [aria-disabled="true"]{
  cursor:default;
}
.location-screen .contact-stack-clean [aria-disabled="true"] .contact-row-arrow{
  opacity:.42;
}

/* Contact entrance motion — restrained and staggered. */
@keyframes contactFadeUp{from{opacity:0;transform:translate3d(0,15px,0)}to{opacity:1;transform:none}}
body[data-active-screen="location"] .location-editorial>.eyebrow{animation:contactFadeUp .52s cubic-bezier(.2,.72,.2,1) .04s both}
body[data-active-screen="location"] .location-editorial>h2{animation:contactFadeUp .60s cubic-bezier(.2,.72,.2,1) .10s both}
body[data-active-screen="location"] .contact-stack-clean>*:nth-child(1){animation:contactFadeUp .58s cubic-bezier(.2,.72,.2,1) .20s both}
body[data-active-screen="location"] .contact-stack-clean>*:nth-child(2){animation:contactFadeUp .58s cubic-bezier(.2,.72,.2,1) .29s both}
body[data-active-screen="location"] .contact-stack-clean>*:nth-child(3){animation:contactFadeUp .58s cubic-bezier(.2,.72,.2,1) .38s both}

/* Header: preserve structure, make current language immediately obvious. */
.lang-switch button.active{
  background:#10382B!important;
  color:#fff!important;
  border-radius:50%!important;
  box-shadow:none!important;
}

/* Footer refinement: less tiny text, slightly stronger brand, calmer contrast. */
.footer-compact .footer-brand-button img{width:49px!important;height:49px!important;}
.footer-compact .footer-brand-button b{color:rgba(246,248,246,.88)!important;font-size:16.5px!important;}
.footer-compact .footer-brand-button small{color:rgba(229,236,231,.60)!important;font-size:7px!important;}
.footer-compact-nav{gap:11px 24px!important;}
.footer-compact-nav button{font-size:10.5px!important;padding:7px 0!important;}
.footer-compact-contact{gap:9px!important;}
.footer-compact-contact a{font-size:10.2px!important;}

@media(max-width:720px){
  .location-screen .location-layout-clean{
    width:calc(100% - 32px)!important;
    padding-top:18px!important;
    padding-bottom:28px!important;
  }
  .location-screen .location-editorial>.screen-back{
    margin-bottom:14px!important;
  }
  .location-screen .location-editorial>.eyebrow{
    margin-bottom:10px!important;
    font-size:10px!important;
    letter-spacing:2px!important;
  }
  .location-screen .location-editorial h2{
    max-width:360px!important;
    font-size:clamp(46px,12.5vw,50px)!important;
    line-height:.93!important;
  }
  .location-screen .contact-stack-clean{
    margin-top:27px!important;
  }
  .location-screen .contact-stack-clean>.contact-row,
  .location-screen .contact-row-main{
    min-height:86px!important;
    padding:17px 0!important;
  }
  .location-screen .contact-row-main{padding-bottom:7px!important;}
  .location-screen .contact-row-phone{padding-bottom:15px!important;}
  .location-screen .contact-row-copy small{font-size:8.5px!important;margin-bottom:7px!important;}
  .location-screen .contact-row-copy b{font-size:14.5px!important;}
  .location-screen .contact-row-phone .contact-row-copy b{font-size:17.5px!important;}
  .location-screen .contact-whatsapp-link{margin-right:50px;font-size:9.5px!important;}

  .brand-logo{width:43px!important;height:43px!important;flex-basis:43px!important;}
  .menu-toggle{width:40px!important;height:40px!important;}
  .lang-switch button{width:30px!important;height:30px!important;border-radius:50%!important;}
  .lang-switch button+button::before{display:none!important;}

  .footer-compact-top{gap:20px!important;padding:25px 0 20px!important;}
  .footer-compact .footer-brand-button img{width:48px!important;height:48px!important;}
  .footer-compact .footer-brand-button b{font-size:16px!important;}
  .footer-compact-nav{gap:0 20px!important;padding:16px 0!important;}
  .footer-compact-nav button{font-size:10.5px!important;padding:10px 0!important;}
  .footer-compact-contact{gap:8px!important;}
  .footer-compact-contact a{font-size:10.2px!important;}
}

@media(prefers-reduced-motion:reduce){
  body[data-active-screen="location"] .location-editorial>.eyebrow,
  body[data-active-screen="location"] .location-editorial>h2,
  body[data-active-screen="location"] .contact-stack-clean>*{animation:none!important;}
}

/* =========================================================
   V168 — maps page polish: tighter rhythm, softer premium depth
   ========================================================= */
.maps-page-card{
  margin-top:8px!important;
  box-shadow:0 34px 88px rgba(10,39,29,.18), inset 0 1px 0 rgba(255,255,255,.065)!important;
  border:1px solid rgba(255,255,255,.055)!important;
}
.maps-page-brand{
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:24px!important;
}
.maps-page-brand>img{
  width:96px!important;
  height:96px!important;
  padding:7px!important;
  border-radius:22px!important;
  box-shadow:0 15px 34px rgba(0,0,0,.11)!important;
}
.maps-page-brand .eyebrow{
  color:#D8B66F!important;
  letter-spacing:.22em!important;
}
.maps-page-brand h2{
  font-size:clamp(46px,7vw,74px)!important;
  line-height:1.03!important;
  letter-spacing:-.025em!important;
}
.maps-page-brand p{
  margin-top:16px!important;
  font-weight:400!important;
  color:rgba(255,250,241,.66)!important;
}
.maps-page-info{margin-top:32px!important;}
.maps-info-row:first-child b{
  font-size:16.5px!important;
  line-height:1.5!important;
  font-weight:600!important;
}
.maps-info-row:nth-child(2) b{
  font-size:14px!important;
  color:rgba(255,250,241,.78)!important;
}
.maps-page-actions a:first-child{
  background:#CFAE72!important;
  color:#18372C!important;
}
.maps-page-actions a:last-child{
  background:#0D3025!important;
  color:#FFF9F0!important;
  border-color:rgba(255,255,255,.085)!important;
}
.maps-page-actions i{
  font-size:24px!important;
  line-height:1!important;
  transform:translateY(-1px);
}
.maps-page-actions a:hover i{transform:translate(3px,-1px)!important;}
.maps-page-shell{padding-bottom:54px!important;}

/* Lighter compact footer */
.footer-compact .footer-brand-button img{
  width:40px!important;
  height:40px!important;
  border-radius:11px!important;
}
.footer-compact .footer-brand-button b{font-size:15px!important;}
.footer-compact .footer-brand-button small{opacity:.88;}
.footer-compact .footer-bottom{
  border-top-color:rgba(255,255,255,.075)!important;
  padding-top:12px!important;
  padding-bottom:14px!important;
  font-size:6.4px!important;
}

@media(max-width:720px){
  .maps-page-shell{
    padding-top:18px!important;
    padding-bottom:30px!important;
  }
  .maps-page-card{
    margin-top:2px!important;
    padding:21px 18px 18px!important;
    border-radius:23px!important;
  }
  .maps-page-brand{
    grid-template-columns:66px minmax(0,1fr)!important;
    gap:14px!important;
  }
  .maps-page-brand>img{
    width:66px!important;
    height:66px!important;
    border-radius:16px!important;
    padding:4px!important;
  }
  .maps-page-brand .eyebrow{
    font-size:8px!important;
    letter-spacing:.23em!important;
  }
  .maps-page-brand h2{
    font-size:clamp(37px,10.7vw,46px)!important;
    line-height:1.04!important;
  }
  .maps-page-brand p{
    grid-column:1/-1!important;
    margin-top:7px!important;
    font-size:13px!important;
    line-height:1.68!important;
    color:rgba(255,250,241,.64)!important;
  }
  .maps-page-info{margin-top:20px!important;}
  .maps-info-row{padding:15px 0!important;}
  .maps-info-row:first-child b{font-size:15px!important;}
  .maps-info-row:nth-child(2) b{font-size:13px!important;}
  .maps-page-actions{margin-top:20px!important;gap:8px!important;}
  .maps-page-actions a{min-height:74px!important;}
  .maps-page-actions i{font-size:23px!important;}
  .footer-compact .footer-brand-button img{width:38px!important;height:38px!important;}
  .footer-compact .footer-brand-button b{font-size:14.5px!important;}
  .footer-compact-nav{
    border-top-color:rgba(255,255,255,.055)!important;
    border-bottom-color:rgba(255,255,255,.055)!important;
  }
  .footer-compact .footer-bottom{
    padding:11px 0 calc(13px + env(safe-area-inset-bottom))!important;
    font-size:6.2px!important;
  }
}

/* V172 — mobile-only mountain illustration in the first home block */
.home-mobile-mountains{display:none}
@media (max-width:720px){
  #screen-home .home-intro{overflow:visible!important}
  #screen-home .home-mobile-mountains{
    display:block;
    width:calc(100vw + 34px);
    max-width:none;
    height:auto;
    margin:18px 0 -18px 50%;
    transform:translateX(-50%);
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    -webkit-user-drag:none;
    opacity:.96;
    filter:saturate(.78) contrast(.96) brightness(1.035);
    position:relative;
    z-index:0;
  }
  #screen-home .home-intro-copy,
  #screen-home .home-logo-wrap{position:relative;z-index:1}
}
@media (max-width:430px){
  #screen-home .home-mobile-mountains{
    width:calc(100vw + 42px);
    margin-top:17px;
    margin-bottom:-20px;
  }
}

/* =========================================================
   V174 — move the mobile mountain artwork inside the footer background,
   behind the footer content instead of above it.
   ========================================================= */
.footer-mobile-mountains{display:none;}
@media (max-width:720px){
  .site-footer{
    position:relative!important;
    overflow:hidden!important;
    background:#10382B!important;
    isolation:isolate;
  }
  .footer-mobile-mountains{
    display:block;
    position:absolute;
    inset:0 0 0 0;
    z-index:0;
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    overflow:hidden;
  }
  .footer-mobile-mountains::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(to bottom, rgba(16,56,43,.06) 0%, rgba(16,56,43,.28) 38%, rgba(16,56,43,.74) 68%, #10382B 100%),
      linear-gradient(to right, rgba(16,56,43,.18), rgba(16,56,43,.06) 30%, rgba(16,56,43,.12) 70%, rgba(16,56,43,.2));
    z-index:2;
  }
  .footer-mobile-mountains img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    opacity:.9;
    transform:scale(1.02);
    z-index:1;
  }
  .footer-compact{
    position:relative;
    z-index:3;
  }
  .footer-compact-top{
    padding-top:22px!important;
  }
  .footer-compact .footer-bottom{
    border-top-color:rgba(255,255,255,.1)!important;
  }
}

/* =========================================================
   V185 — desktop mountain artwork only. All branch/leaf decorations removed
   from both mobile and desktop versions.
   ========================================================= */
.home-desktop-mountains,
.footer-desktop-mountains{display:none;}

@media (max-width:370px){
  #screen-home .home-mobile-mountains{width:calc(100vw + 46px);margin-top:14px}
}

@media (min-width:721px){
  /* First screen: sepia mountain illustration under the logo, desktop only. */
  #screen-home .home-intro{
    overflow:visible !important;
    margin-bottom:54px;
  }
  #screen-home .home-desktop-mountains{
    display:block;
    width:min(980px, 94vw);
    max-width:none;
    height:auto;
    margin:20px auto -18px;
    opacity:.56;
    filter:saturate(.76) contrast(.96) brightness(1.01);
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    -webkit-user-drag:none;
    position:relative;
    z-index:0;
  }
  #screen-home .home-intro-copy,
  #screen-home .home-logo-wrap{position:relative;z-index:1;}

  /* Footer desktop mountain scene inside the footer background. */
  .site-footer{
    position:relative !important;
    overflow:hidden !important;
    background:#0E3126 !important;
    isolation:isolate;
  }
  .footer-desktop-mountains{
    display:block;
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    overflow:hidden;
  }
  .footer-desktop-mountains::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(to bottom, rgba(14,49,38,.04) 0%, rgba(14,49,38,.18) 28%, rgba(14,49,38,.58) 65%, #0E3126 100%),
      linear-gradient(to right, rgba(14,49,38,.14), rgba(14,49,38,.02) 28%, rgba(14,49,38,.08) 72%, rgba(14,49,38,.16));
    z-index:2;
  }
  .footer-desktop-mountains img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center bottom;
    opacity:.94;
    transform:scale(1.015);
    z-index:1;
  }
  .footer-compact{position:relative;z-index:3;}
}

@media (min-width:721px) and (max-width:1100px){
  #screen-home .home-desktop-mountains{
    width:min(920px, 96vw);
    margin-top:18px;
    margin-bottom:-10px;
  }
}

/* =========================================================
   V186 — supplied standalone 3D territory map replaces the legacy map.
   Keep the existing large map viewport; the new map provides its own UI.
   ========================================================= */
#screen-map .map-stage-shell{
  overflow:hidden !important;
  background:#edf2e8 !important;
}
#screen-map .original-map-frame{
  display:block !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  background:#edf2e8 !important;
}
#screen-map .map-floating-intro{display:none !important;}

/* =========================================================
   V188 — TRUE DESKTOP HOME
   Wide-screen composition only. Mobile/tablet rules stay untouched.
   ========================================================= */
@media (min-width:1100px){
  :root{--header:78px;}

  /* Header: readable proportions on a real desktop viewport. */
  .site-header{
    height:78px!important;
    grid-template-columns:minmax(260px,1fr) auto minmax(300px,1fr)!important;
    gap:34px!important;
    padding:0 clamp(34px,4.2vw,76px)!important;
    background:rgba(250,247,240,.90)!important;
  }
  .brand{gap:12px!important;}
  .brand-logo{width:50px!important;height:50px!important;border-radius:13px!important;}
  .brand-copy strong{font-size:15px!important;line-height:1.08!important;}
  .brand-copy small{font-size:7px!important;letter-spacing:.13em!important;margin-top:4px!important;}
  .nav-links{gap:25px!important;justify-self:center!important;}
  .nav-links button{font-size:11.5px!important;padding:10px 2px!important;letter-spacing:.01em!important;}
  .header-side{justify-self:end!important;gap:15px!important;}
  .lang-switch{gap:4px!important;}
  .lang-switch button{width:30px!important;height:30px!important;font-size:8px!important;}
  .header-book{height:44px!important;padding:0 21px!important;border-radius:999px!important;font-size:10px!important;}

  /* Main desktop canvas should use the screen, not a mobile-width column. */
  #screen-home .home-page{
    width:min(1280px,calc(100% - 96px))!important;
    padding:0 0 112px!important;
  }

  /* Hero: everything lives in one deliberate viewport-sized composition. */
  #screen-home .home-intro{
    position:relative!important;
    min-height:650px!important;
    margin:0 0 58px!important;
    padding:72px 30px 0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  #screen-home .home-intro::after{
    left:10%!important;right:10%!important;bottom:0!important;
  }
  #screen-home .home-intro-copy{
    max-width:900px!important;
    position:relative!important;
    z-index:3!important;
  }
  #screen-home .home-intro-kicker{
    margin-bottom:18px!important;
    font-size:10px!important;
    letter-spacing:.31em!important;
  }
  #screen-home .home-intro h1{
    max-width:860px!important;
    font-size:17px!important;
    line-height:1.62!important;
  }
  #screen-home .home-intro h1 strong{
    max-width:820px!important;
    margin-bottom:15px!important;
    font-size:clamp(48px,4.3vw,68px)!important;
    line-height:.96!important;
  }
  #screen-home .home-intro h1>span[data-i18n="homeWelcomeText"]{
    max-width:650px!important;
    font-size:16px!important;
    line-height:1.62!important;
  }
  #screen-home .home-logo-wrap{
    width:250px!important;
    margin:28px auto 0!important;
    position:relative!important;
    z-index:4!important;
  }
  #screen-home .home-logo-wrap img{
    border-radius:26px!important;
    filter:drop-shadow(0 20px 30px rgba(77,48,23,.12))!important;
  }
  #screen-home .home-desktop-mountains{
    position:absolute!important;
    left:50%!important;
    bottom:3px!important;
    width:min(1040px,82vw)!important;
    max-width:none!important;
    margin:0!important;
    transform:translateX(-50%)!important;
    opacity:.50!important;
    z-index:1!important;
  }

  /* Story blocks become real desktop editorial rows. */
  #screen-home .home-story{
    width:min(1180px,100%)!important;
    min-height:490px!important;
    margin:0 auto 92px!important;
    display:grid!important;
    grid-template-columns:minmax(330px,.78fr) minmax(560px,1.22fr)!important;
    align-items:center!important;
    gap:clamp(54px,6vw,94px)!important;
  }
  #screen-home .home-story-copy{
    max-width:none!important;
    margin:0!important;
    text-align:left!important;
  }
  #screen-home .home-story-copy p{
    font-size:18px!important;
    line-height:1.72!important;
    letter-spacing:-.01em!important;
  }
  #screen-home .home-story-copy strong{
    display:block!important;
    margin-bottom:8px!important;
    font-size:33px!important;
    line-height:1!important;
    letter-spacing:-.015em!important;
  }
  #screen-home .home-story-secondary{
    max-width:470px!important;
    margin-top:18px!important;
    font-size:15.5px!important;
    line-height:1.72!important;
  }
  #screen-home .home-story-photo,
  #screen-home .home-story-kitchen .home-story-photo{
    width:100%!important;
    height:470px!important;
    margin:0!important;
    border-radius:28px!important;
    box-shadow:0 26px 62px rgba(44,50,41,.12)!important;
  }

  /* Alternate the middle story to avoid a repetitive vertical stack. */
  #screen-home .home-story-kitchen{
    grid-template-columns:minmax(560px,1.22fr) minmax(330px,.78fr)!important;
  }
  #screen-home .home-story-kitchen .home-story-copy{grid-column:2;grid-row:1;}
  #screen-home .home-story-kitchen .home-story-photo{grid-column:1;grid-row:1;}

  #screen-home .home-story-cabins{margin-bottom:0!important;}

  /* Final decision block: full-width horizontal desktop CTA. */
  #screen-home .home-quick{
    width:min(1180px,100%)!important;
    margin:92px auto 0!important;
    padding:34px 34px 32px!important;
    border-radius:30px!important;
  }
  #screen-home .home-quick-head{
    padding:2px 4px 24px!important;
  }
  #screen-home .home-quick-head span{font-size:9px!important;}
  #screen-home .home-quick-head p{font-size:11px!important;}
  #screen-home .home-actions{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #screen-home .home-action{
    min-height:96px!important;
    grid-template-columns:37px minmax(0,1fr) 24px!important;
    padding:0 17px!important;
    border-radius:16px!important;
  }
  #screen-home .home-action-no{font-size:24px!important;}
  #screen-home .home-action b{font-size:12px!important;}
  #screen-home .home-action i{font-size:20px!important;}

  /* Footer should have enough visual weight to close a wide desktop page. */
  .site-footer{padding:0 clamp(42px,5vw,82px)!important;}
  .footer-compact{width:min(1320px,100%)!important;}
  .footer-compact-top{
    min-height:190px!important;
    grid-template-columns:minmax(290px,1fr) minmax(400px,1.15fr) minmax(230px,.7fr)!important;
    gap:70px!important;
    padding:44px 0 35px!important;
  }
  .footer-compact .footer-brand-button img{width:56px!important;height:56px!important;border-radius:15px!important;}
  .footer-compact .footer-brand-button b{font-size:18px!important;}
  .footer-compact .footer-brand-button small{font-size:7px!important;letter-spacing:.14em!important;}
  .footer-compact-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 34px!important;}
  .footer-compact-nav button{font-size:11px!important;padding:8px 0!important;}
  .footer-compact-contact{gap:11px!important;}
  .footer-compact-contact a{font-size:11px!important;}
  .footer-compact .footer-bottom{padding:18px 0 24px!important;font-size:7px!important;}
}

/* Large desktops get a little more scale without changing the layout. */
@media (min-width:1500px){
  #screen-home .home-page{width:min(1360px,calc(100% - 120px))!important;}
  #screen-home .home-story,
  #screen-home .home-quick{width:min(1260px,100%)!important;}
  #screen-home .home-story{grid-template-columns:minmax(360px,.8fr) minmax(620px,1.2fr)!important;}
  #screen-home .home-story-kitchen{grid-template-columns:minmax(620px,1.2fr) minmax(360px,.8fr)!important;}
  #screen-home .home-story-photo,
  #screen-home .home-story-kitchen .home-story-photo{height:520px!important;}
}


/* v207 UX improvements */
.mobile-hero-book,.mobile-nav-book{display:none}
.map-page-top{width:min(1440px,100%);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:18px 4px 16px}
.map-choice-copy{min-width:0}.map-choice-copy span{display:block;font-family:'Instrument Serif',Georgia,serif;font-size:28px;line-height:1;color:var(--forest)}.map-choice-copy small{display:block;margin-top:6px;font-size:9px;line-height:1.45;color:var(--muted)}
.map-view-switch{display:flex;gap:4px;padding:4px;background:#e9e7df;border:1px solid var(--line);border-radius:999px}.map-view-switch button{border:0;background:transparent;color:#647069;padding:10px 15px;border-radius:999px;font-size:10px;font-weight:700;cursor:pointer}.map-view-switch button.active{background:var(--forest);color:#fff}
.map-place-list{width:min(1120px,100%);margin:0 auto 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px 0}.map-place-list[hidden]{display:none!important}.map-place-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 14px;min-height:78px}.map-place-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eef2ed;color:var(--forest);font:700 13px/1 'Manrope',sans-serif}.map-place-row b{display:block;font-family:'Instrument Serif',Georgia,serif;font-size:20px;line-height:1.08;font-weight:400}.map-place-row small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.map-place-row>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;font-size:9px;font-weight:700}
.menu-card-photo-button{position:relative;border:0;padding:0;overflow:hidden;cursor:zoom-in;background:#ece8de;text-align:inherit}.menu-card-photo-button>span{position:absolute;right:6px;bottom:6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(16,38,28,.86);color:#fff;font-size:11px;opacity:0;transform:translateY(4px);transition:.18s}.menu-card-photo-button:hover>span{opacity:1;transform:none}.menu-image-lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:32px;background:rgba(5,18,13,.86);backdrop-filter:blur(8px)}.menu-image-lightbox[hidden]{display:none!important}.menu-image-lightbox img{max-width:min(92vw,1100px);max-height:82vh;object-fit:contain;border-radius:18px;box-shadow:0 25px 90px rgba(0,0,0,.35)}.menu-image-lightbox-close{position:fixed;top:20px;right:22px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}.menu-image-lightbox-caption{position:fixed;left:24px;right:24px;bottom:18px;text-align:center;color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}

/* v208: mobile/English menu typography — never crop translated dish names. */
@media(max-width:720px){
  .menu-grid{grid-auto-rows:auto!important}
  .menu-card,.menu-card.has-image{
    height:auto!important;
    min-height:112px!important;
    max-height:none!important;
    align-items:start!important;
    overflow:visible!important;
  }
  .menu-card-copy{min-width:0!important;overflow:visible!important}
  .menu-card h3,.menu-card.has-image .menu-card-copy h3{
    line-height:1.08!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:auto;
  }
  .menu-card small,.menu-card p{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .menu-card>b,.menu-card.has-image>b{
    align-self:start!important;
    padding-top:9px!important;
  }
}

/* ======================================================================
   v209 — food-catalog menu redesign.
   Keeps Kashka-Suu branding while using a modern photo-card catalog UI.
   ====================================================================== */
#screen-menu .menu-layout{display:block!important;margin-top:24px!important}
#screen-menu .menu-sidebar{
  position:sticky!important;top:var(--header)!important;z-index:430!important;
  width:100%!important;margin:0 0 22px!important;padding:10px 0!important;
  background:rgba(247,241,231,.96)!important;border-bottom:1px solid rgba(16,56,43,.09)!important;
  backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
}
#screen-menu .side-label{display:none!important}
#screen-menu .menu-filters{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:2px 2px 4px!important;scrollbar-width:none!important;overscroll-behavior-x:contain!important}
#screen-menu .menu-filters::-webkit-scrollbar{display:none!important}
#screen-menu .menu-filters button{
  flex:0 0 auto!important;min-height:40px!important;padding:0 16px!important;border:1px solid rgba(16,56,43,.10)!important;
  border-radius:999px!important;background:#fff!important;color:#425047!important;white-space:nowrap!important;
  font:700 10px/1 'Manrope',sans-serif!important;box-shadow:0 5px 18px rgba(16,38,28,.035)!important;
}
#screen-menu .menu-filters button.active{background:var(--forest)!important;border-color:var(--forest)!important;color:#fff!important;box-shadow:0 8px 22px rgba(16,56,43,.16)!important}
#screen-menu .menu-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important}
#screen-menu .menu-column{display:contents!important}
#screen-menu .menu-card.menu-card-v209{
  display:flex!important;flex-direction:column!important;min-width:0!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:hidden!important;
  padding:0!important;margin:0!important;border:1px solid rgba(16,56,43,.08)!important;border-radius:22px!important;background:#fff!important;
  box-shadow:0 12px 34px rgba(16,38,28,.07)!important;transition:transform .18s ease,box-shadow .18s ease!important;
}
#screen-menu .menu-card.menu-card-v209:hover{background:#fff!important;transform:translateY(-2px)!important;box-shadow:0 18px 42px rgba(16,38,28,.11)!important}
#screen-menu .menu-card-media{position:relative!important;width:100%!important;overflow:hidden!important;background:#e9e4d8!important}
#screen-menu .menu-card-photo{display:block!important;width:100%!important;height:auto!important;aspect-ratio:5/4!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#e9e4d8!important}
#screen-menu .menu-card-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
#screen-menu .menu-card-photo-button{cursor:zoom-in!important}
#screen-menu .menu-card-photo-button>span{right:10px!important;bottom:10px!important;width:30px!important;height:30px!important;font-size:12px!important;opacity:1!important;transform:none!important}
#screen-menu .menu-card-photo-empty{position:relative!important;display:grid!important;place-items:center!important;aspect-ratio:5/4!important;background:linear-gradient(145deg,#efe9dc,#e4eadf)!important}
#screen-menu .menu-card-photo-empty img{width:58px!important;height:58px!important;object-fit:contain!important;opacity:.26!important;filter:grayscale(.25)!important}
#screen-menu .menu-card-photo-empty span{position:absolute!important;left:12px!important;bottom:10px!important;font:700 8px/1 'Manrope',sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:rgba(16,56,43,.52)!important}
#screen-menu .menu-card-more{
  position:absolute!important;top:10px!important;right:10px!important;z-index:3!important;min-height:28px!important;padding:0 10px!important;
  border:1px solid rgba(255,255,255,.42)!important;border-radius:999px!important;background:rgba(248,246,240,.90)!important;color:var(--forest)!important;
  backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;font:750 8px/1 'Manrope',sans-serif!important;cursor:pointer!important;
  box-shadow:0 6px 16px rgba(16,38,28,.08)!important;
}
#screen-menu .menu-card-copy{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-width:0!important;padding:16px 16px 10px!important;overflow:visible!important}
#screen-menu .menu-card-copy small{display:block!important;margin:0 0 7px!important;font:700 8px/1.2 'Manrope',sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--gold)!important;white-space:normal!important;overflow-wrap:anywhere!important}
#screen-menu .menu-card-copy h3{display:block!important;margin:0!important;font-family:'Instrument Serif',Georgia,serif!important;font-size:27px!important;font-weight:400!important;line-height:1.02!important;color:var(--forest)!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important}
#screen-menu .menu-card-copy p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;margin:9px 0 0!important;font:400 10px/1.55 'Manrope',sans-serif!important;color:#6c756e!important;overflow-wrap:anywhere!important}
#screen-menu .menu-card-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-top:auto!important;padding:3px 14px 14px 16px!important}
#screen-menu .menu-card-footer>b{display:block!important;padding:0!important;margin:0!important;font:800 12px/1.2 'Manrope',sans-serif!important;color:var(--forest)!important;white-space:normal!important}
#screen-menu .menu-card-add{flex:0 0 auto!important;width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;background:var(--forest)!important;color:#fff!important;font:400 24px/1 'Manrope',sans-serif!important;cursor:pointer!important;box-shadow:0 8px 20px rgba(16,56,43,.16)!important;transition:transform .12s ease!important}
#screen-menu .menu-card-add:active{transform:scale(.94)!important}
@media(max-width:680px){#screen-menu .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}#screen-menu .menu-card-copy{padding:14px 14px 8px!important}#screen-menu .menu-card-copy h3{font-size:25px!important}#screen-menu .menu-card-footer{padding:2px 12px 12px 14px!important}}
@media(max-width:430px){#screen-menu .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}#screen-menu .menu-card-photo,#screen-menu .menu-card-photo-empty{aspect-ratio:4/5!important}#screen-menu .menu-card-copy h3{font-size:22px!important;line-height:1.03!important}#screen-menu .menu-card-copy p{-webkit-line-clamp:2!important;font-size:10px!important}#screen-menu .menu-card-footer>b{font-size:11px!important}#screen-menu .menu-card-add{width:36px!important;height:36px!important}}
.menu-modal-open{overflow:hidden!important}
.menu-detail-modal{position:fixed;inset:0;z-index:2050;display:grid;place-items:center;padding:24px;background:rgba(7,25,18,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.menu-detail-modal[hidden]{display:none!important}
.menu-detail-card{position:relative;width:min(520px,calc(100vw - 30px));max-height:min(88dvh,760px);overflow:auto;border-radius:24px;background:#faf7f0;box-shadow:0 30px 100px rgba(0,0,0,.28)}
.menu-detail-close{position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;border:1px solid rgba(16,56,43,.10);border-radius:50%;background:rgba(248,246,240,.94);color:var(--forest);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(16,38,28,.10)}
.menu-detail-media{height:min(42vh,330px);background:#e8e3d8;overflow:hidden}
.menu-detail-media img{width:100%;height:100%;display:block;object-fit:cover}
.menu-detail-media.is-empty{display:grid;place-items:center;background:linear-gradient(145deg,#efe9dc,#e4eadf)}
.menu-detail-media.is-empty img{width:96px;height:96px;object-fit:contain;opacity:.25}
.menu-detail-body{padding:22px 24px 24px}
.menu-detail-category{display:block;margin-bottom:9px;font:700 8px/1.2 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.menu-detail-body h3{margin:0;font-family:'Instrument Serif',Georgia,serif;font-size:40px;font-weight:400;line-height:1;color:var(--forest);overflow-wrap:anywhere}
.menu-detail-description{margin:14px 0 0;font:400 12px/1.65 'Manrope',sans-serif;color:#637068}
.menu-detail-bottom{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(16,56,43,.10)}
.menu-detail-price{font:800 17px/1.2 'Manrope',sans-serif;color:var(--forest)}
.menu-detail-note{font:700 8px/1.2 'Manrope',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8b948d}


/* ===== MENU CARD FINAL MATCH v214 (desktop + tablet) ===== */
#screen-menu .menu-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}
#screen-menu .menu-card.menu-card-v209{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:26px !important;
  background:#fff !important;
  border:1px solid rgba(16,56,43,.08) !important;
  box-shadow:0 12px 28px rgba(16,38,28,.08) !important;
}
#screen-menu .menu-card-media{display:block !important; position:relative !important; width:100% !important;}
#screen-menu .menu-card-photo,
#screen-menu .menu-card-photo-empty{
  width:100% !important;
  aspect-ratio:0.9 / 1 !important;
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
}
#screen-menu .menu-card-photo img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
#screen-menu .menu-card-copy{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  padding:16px 16px 8px !important;
}
#screen-menu .menu-card-copy small{
  font:700 10px/1.2 'Manrope',sans-serif !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--gold) !important;
  margin:0 !important;
}
#screen-menu .menu-card-copy h3{
  font-family:'Instrument Serif', Georgia, serif !important;
  font-size:26px !important;
  line-height:1.04 !important;
  color:#4a261f !important;
  margin:0 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
#screen-menu .menu-card-copy p{
  font:700 13px/1.38 'Manrope',sans-serif !important;
  color:#6e615d !important;
  margin:0 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  min-height:2.76em !important;
}
#screen-menu .menu-card-footer{
  display:flex !important;
  align-items:end !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 16px 16px !important;
  margin-top:auto !important;
}
#screen-menu .menu-card-footer>b{
  display:block !important;
  font:800 18px/1.1 'Manrope',sans-serif !important;
  color:#4a261f !important;
  margin:0 !important;
}
#screen-menu .menu-card-add{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  border:0 !important;
  background:#e5781b !important;
  color:#fff !important;
  font:400 30px/1 'Manrope',sans-serif !important;
  box-shadow:none !important;
}
@media (min-width:1400px){
  #screen-menu .menu-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media (max-width:1100px){
  #screen-menu .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;}
  #screen-menu .menu-card-copy h3{font-size:24px !important;}
}
@media (max-width:900px){
  #screen-menu .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;}
}

/* =========================================================
   V217 — HOME DESKTOP HERO MOUNTAINS FULL-BLEED
   The old desktop artwork was capped at 1040px / 82vw, which left
   large empty side margins on wide monitors. The new cropped asset
   keeps the visible mountain band in frame and spans the viewport.
   Mobile is intentionally unchanged.
   ========================================================= */
@media (min-width:1100px){
  #screen-home .home-desktop-mountains{
    left:50% !important;
    bottom:0 !important;
    width:calc(100vw + 4px) !important;
    height:clamp(500px,34vw,620px) !important;
    max-width:none !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
    object-fit:fill !important;
    object-position:center bottom !important;
    opacity:.50 !important;
  }
}

/* =========================================================
   V218 — wider, clearer desktop contacts composition
   ========================================================= */
@media (min-width:721px){
  .location-screen .location-layout-clean{
    width:min(1040px,calc(100% - 72px))!important;
    max-width:1040px!important;
    padding-top:clamp(34px,4vw,56px)!important;
    padding-bottom:clamp(44px,5vw,66px)!important;
  }
  .location-screen .location-editorial{
    width:min(920px,100%)!important;
    max-width:none!important;
    margin:0 auto!important;
  }
  .location-screen .location-editorial>.screen-back{
    margin-bottom:28px!important;
    font-size:10.5px!important;
  }
  .location-screen .location-editorial>.eyebrow{
    margin-bottom:14px!important;
    font-size:11px!important;
  }
  .location-screen .location-editorial h2{
    max-width:820px!important;
    font-size:clamp(66px,5.5vw,84px)!important;
    line-height:.94!important;
  }
  .location-screen .contact-stack-clean{
    width:min(860px,100%)!important;
    margin-top:40px!important;
  }
  .location-screen .contact-stack-clean>.contact-row,
  .location-screen .contact-row-main{
    min-height:104px!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    gap:24px!important;
    padding:22px 0!important;
  }
  .location-screen .contact-row-phone{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:30px!important;
    padding:0!important;
  }
  .location-screen .contact-row-phone .contact-row-main{
    min-width:0!important;
    padding:22px 0!important;
  }
  .location-screen .contact-row-copy small{
    margin-bottom:9px!important;
    font-size:9.5px!important;
  }
  .location-screen .contact-row-copy b{
    font-size:16.5px!important;
    line-height:1.4!important;
  }
  .location-screen .contact-row-phone .contact-row-copy b{
    font-size:21px!important;
  }
  .location-screen .contact-row-arrow{
    width:42px!important;
    height:42px!important;
    font-size:18px!important;
  }
  .location-screen .contact-whatsapp-link{
    margin:0!important;
    padding:10px 0!important;
    white-space:nowrap!important;
    font-size:11px!important;
  }
}

/* =========================================================
   V219 — DESKTOP QUICK ACTIONS: mobile composition, desktop scale
   Keep the compact vertical hierarchy from mobile, but give it
   more width, spacing and type scale on desktop. Mobile unchanged.
   ========================================================= */
@media (min-width:1100px){
  #screen-home .home-quick{
    width:min(760px,100%)!important;
    margin:96px auto 0!important;
    padding:38px 30px 30px!important;
    border-radius:34px!important;
  }
  #screen-home .home-quick-head{
    display:block!important;
    padding:3px 8px 25px!important;
  }
  #screen-home .home-quick-head span{
    display:block!important;
    margin-bottom:10px!important;
    font-size:9.5px!important;
    line-height:1.2!important;
    letter-spacing:.24em!important;
  }
  #screen-home .home-quick-head p{
    max-width:none!important;
    margin:0!important;
    font-size:12.5px!important;
    line-height:1.5!important;
    text-align:left!important;
  }
  #screen-home .home-actions{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  #screen-home .home-action{
    min-height:86px!important;
    grid-template-columns:52px minmax(0,1fr) 30px!important;
    gap:14px!important;
    padding:0 22px!important;
    border-radius:17px!important;
  }
  #screen-home .home-action.is-primary{
    min-height:92px!important;
  }
  #screen-home .home-action-no{
    font-size:29px!important;
    line-height:1!important;
  }
  #screen-home .home-action b{
    font-size:15px!important;
    line-height:1.25!important;
  }
  #screen-home .home-action i{
    font-size:24px!important;
    line-height:1!important;
  }
}

/* =========================================================
   V221 — TRUE EDGE-TO-EDGE DESKTOP HERO ART
   Let the desktop mountain artwork escape the centered content column
   and span the entire viewport. Mobile/tablet remain unchanged.
   ========================================================= */
@media (min-width:1100px){
  #screen-home{
    overflow-x:clip !important;
  }
  #screen-home .home-intro{
    overflow:visible !important;
  }
  #screen-home .home-desktop-mountains{
    left:50% !important;
    width:100vw !important;
    min-width:100vw !important;
    max-width:none !important;
    transform:translateX(-50%) !important;
    object-fit:fill !important;
    object-position:center bottom !important;
  }
}
