/* Alegría Zuoz — Mar y Montaña
   Quiet luxury: cream paper, deep green, Cormorant Garamond + Jost. */

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/cormorant-garamond-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/cormorant-garamond-latin-300-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-latin-500-normal.woff2) format("woff2")}

:root{
  --green:#1F3327; --green-deep:#172820; --green-soft:#2B4436;
  --cream:#F2EDE3; --paper:#F7F3EB; --sand:#E7DFD0;
  --ink:#1F3327; --ink-soft:#4E5C52; --line:rgba(31,51,39,.16);
  --on-green:#F2EDE3; --on-green-soft:rgba(242,237,227,.72); --line-green:rgba(242,237,227,.18);
  --brass:#B89A5E;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(20px,4.5vw,72px);
  --max:1440px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:clamp(18px,1.25vw,21px);line-height:1.62;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1.1em}
h1,h2,h3{font-weight:300;margin:0;line-height:1.08;letter-spacing:-.005em}
ul{padding-left:1.1em}
::selection{background:var(--green);color:var(--cream)}
:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--green);color:var(--cream);padding:10px 16px;font-family:var(--sans);font-size:13px}
.skip:focus{left:8px}
[hidden]{display:none!important}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type helpers */
.label{font-family:var(--sans);font-weight:400;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;display:block;margin-bottom:26px}
.label::after{content:"";display:block;width:28px;height:1px;background:currentColor;opacity:.45;margin-top:18px}
.center .label::after,.label.center::after{margin-left:auto;margin-right:auto}
.title{font-size:clamp(34px,4.4vw,64px);font-weight:300}
.title em{font-style:italic}
.lede{font-size:clamp(20px,1.5vw,24px);line-height:1.55;color:var(--ink-soft);max-width:32em}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
.small{font-family:var(--sans);font-size:13px;letter-spacing:.02em;line-height:1.7}

.btn{display:inline-flex;align-items:center;gap:.8em;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:17px 30px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease)}
.btn:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn--light:hover{background:var(--cream);color:var(--green);border-color:var(--cream)}
.btn--solid{background:var(--green);color:var(--cream);border-color:var(--green)}
.btn--solid:hover{background:var(--green-deep)}
.link{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;transition:opacity .3s}
.link:hover{opacity:.6}

/* ---------- header */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;color:var(--cream);transition:background .5s var(--ease),color .5s var(--ease),box-shadow .5s}
.hd__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px var(--gutter);max-width:none}
.hd__nav{display:flex;gap:34px;align-items:center}
.hd__nav a,.hd__lang a,.hd__lang span{font-family:var(--sans);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;opacity:.92}
.hd__nav a:hover{opacity:.6}
.hd__logo{display:block;width:clamp(104px,9vw,136px);opacity:0;transition:opacity .5s var(--ease)}
.hd__logo img{width:100%}
.hd__logo .lg-green{display:none}
.hd__right{display:flex;justify-content:flex-end;align-items:center;gap:28px}
.hd__lang{display:flex;gap:10px}
.hd__lang span{opacity:1;border-bottom:1px solid currentColor}
.hd__lang a{opacity:.62}
.hd__lang a:hover{opacity:1}
.hd .btn{padding:12px 20px;font-size:11px}
.hd.is-solid,.hd.is-static{background:var(--cream);color:var(--green);box-shadow:0 1px 0 var(--line)}
.hd.is-solid .hd__logo,.hd.is-static .hd__logo{opacity:1}
.hd.is-solid .lg-cream,.hd.is-static .lg-cream{display:none}
.hd.is-solid .lg-green,.hd.is-static .lg-green{display:block}
.hd.is-solid .btn:hover,.hd.is-static .btn:hover{background:var(--green);color:var(--cream)}
.hd:not(.is-solid):not(.is-static) .btn:hover{background:var(--cream);color:var(--green);border-color:var(--cream)}
.hd__burger{display:none;background:none;border:0;color:inherit;font-family:var(--sans);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;padding:8px 0;align-items:center;gap:12px}
.hd__burger i{display:block;width:22px;height:1px;background:currentColor;position:relative}
.hd__burger i::after{content:"";position:absolute;left:0;top:6px;width:22px;height:1px;background:currentColor}

.drawer{position:fixed;inset:0;z-index:60;background:var(--green);color:var(--cream);display:flex;flex-direction:column;padding:26px var(--gutter) 40px;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.drawer.is-open{opacity:1;visibility:visible}
.drawer__top{display:flex;justify-content:space-between;align-items:center}
.drawer__top img{width:110px}
.drawer__close{background:none;border:0;color:inherit;font-family:var(--sans);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;padding:8px 0}
.drawer nav{margin:auto 0;display:flex;flex-direction:column;gap:18px}
.drawer nav a{font-size:clamp(34px,9vw,52px);font-weight:300;text-decoration:none;line-height:1.1}
.drawer__lang{display:flex;gap:18px;font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.drawer__lang a{text-decoration:none;opacity:.6}
.drawer__lang span{border-bottom:1px solid currentColor}
.drawer__meta{margin-top:28px;font-family:var(--sans);font-size:13px;line-height:1.8;opacity:.75}
.drawer__meta a{text-decoration:none}

/* ---------- hero (mar | montaña) */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;display:grid;grid-template-columns:1fr 1fr;background:var(--green);overflow:hidden}
.hero__half{position:relative;overflow:hidden}
.hero__half img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroIn 2.6s var(--ease) forwards}
.hero__half + .hero__half img{animation-delay:.15s}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 34% 30% at 50% 50%,rgba(20,32,25,.34),rgba(20,32,25,0) 100%),linear-gradient(180deg,rgba(20,32,25,.5) 0%,rgba(20,32,25,.1) 22%,rgba(20,32,25,.1) 62%,rgba(20,32,25,.55) 100%);pointer-events:none}
.hero__center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--cream);text-align:center;padding:0 var(--gutter);pointer-events:none}
.hero__logo{margin:0;width:clamp(230px,26vw,420px);opacity:0;animation:fadeUp 1.8s .5s var(--ease) forwards}
.hero__logo img{width:100%;filter:drop-shadow(0 2px 24px rgba(0,0,0,.18))}
.hero__place{margin-top:26px;font-family:var(--sans);font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;opacity:0;animation:fadeUp 1.8s .9s var(--ease) forwards}
.hero__words{position:absolute;z-index:2;bottom:clamp(28px,6vh,60px);left:0;right:0;display:grid;grid-template-columns:1fr 1fr;color:var(--cream);font-style:italic;font-size:clamp(20px,1.8vw,28px);font-weight:300;pointer-events:none}
.hero__words span{text-align:center;opacity:0;animation:fadeUp 1.8s 1.2s var(--ease) forwards}
.hero__scroll{position:absolute;z-index:3;left:50%;bottom:clamp(24px,5vh,48px);transform:translateX(-50%);color:var(--cream);font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;animation:fadeIn 1.5s 1.8s forwards}
.hero__scroll::after{content:"";width:1px;height:42px;background:currentColor;opacity:.7;animation:drip 2.4s 2.2s infinite var(--ease);transform-origin:top}
@keyframes heroIn{to{transform:scale(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fadeIn{to{opacity:1}}
@keyframes drip{0%{transform:scaleY(0)}45%{transform:scaleY(1);transform-origin:top}55%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- sections */
.sec{padding:clamp(72px,8.5vw,130px) var(--gutter);max-width:var(--max);margin:0 auto}
.sec--tight{padding-top:clamp(40px,6vw,90px)}
.narrow{max-width:760px;margin:0 auto}
.intro .title{max-width:15em;margin:0 auto 34px}
.intro .lede{max-width:33em}

/* asymmetric pair: small image lower-left, large image right (Nura rhythm) */
.pair{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(70px,9vw,140px);align-items:start}
.pair__a{grid-column:1/span 4;margin-top:clamp(80px,12vw,220px)}
.pair__b{grid-column:6/span 7}
.pair--rev .pair__a{grid-column:9/span 4;grid-row:1}
.pair--rev .pair__b{grid-column:1/span 7;grid-row:1}
.pair figure,.chap figure,.trio figure{margin:0}
.ph{position:relative;overflow:hidden;background:var(--sand)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.8s var(--ease)}
.ph--p{aspect-ratio:4/5}
.ph--t{aspect-ratio:2/3}
.ph--l{aspect-ratio:3/2}
.ph--w{aspect-ratio:16/9}
.ph--s{aspect-ratio:1/1}
.arch{border-radius:50% 50% 0 0/36% 36% 0 0}
.arch-sm{border-radius:50% 50% 0 0/26% 26% 0 0}
figcaption{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px}

/* chapter: image cluster + text */
.chap{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:center}
.chap__big{grid-column:1/span 7}
.chap__text{grid-column:9/span 4}
.chap__small{grid-column:8/span 3;margin-top:calc(-1 * clamp(60px,10vw,180px))}
.chap--rev .chap__big{grid-column:6/span 7;grid-row:1}
.chap--rev .chap__text{grid-column:1/span 4;grid-row:1}
.chap--rev .chap__small{grid-column:3/span 3;grid-row:2;margin-top:calc(-1 * clamp(60px,10vw,180px))}
.chap__text .title{margin-bottom:28px}
.chap__text p{color:var(--ink-soft)}

.trio{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(70px,9vw,140px);align-items:start}
.trio > :nth-child(1){grid-column:1/span 4}
.trio > :nth-child(2){grid-column:5/span 4;margin-top:clamp(60px,9vw,160px)}
.trio > :nth-child(3){grid-column:9/span 4;margin-top:clamp(20px,3vw,50px)}

.bleed{position:relative;height:clamp(360px,72vh,820px);overflow:hidden;background:var(--sand)}
.bleed img{width:100%;height:100%;object-fit:cover}
.bleed--short{height:clamp(260px,52vh,600px)}

/* dark chapter (el fuego) */
.dark{background:var(--green);color:var(--on-green)}
.dark .chap__text p,.dark .lede{color:var(--on-green-soft)}
.dark figcaption{color:var(--on-green-soft)}
.fire-head{position:relative;height:clamp(420px,86vh,900px);overflow:hidden;display:flex;align-items:flex-end}
.fire-head img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fire-head::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,40,32,0) 40%,rgba(31,51,39,1) 100%)}
.fire-head__t{position:relative;z-index:2;padding:0 var(--gutter) clamp(40px,6vw,80px);max-width:var(--max);margin:0 auto;width:100%}

/* chef */
.chef{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:center}
.chef__img{grid-column:1/span 5}
.chef__text{grid-column:7/span 5}
.chef__role{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin:18px 0 34px}
.chef__small{width:58%;margin:clamp(40px,5vw,70px) 0 0 auto}

/* tasting */
.tasting{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:clamp(56px,7vw,100px);border-top:1px solid var(--line)}
.tasting > div{padding:clamp(34px,4vw,56px) clamp(20px,4vw,64px) 0;text-align:center}
.tasting > div + div{border-left:1px solid var(--line)}
.tasting h3{font-size:clamp(30px,3vw,42px);font-style:italic;margin-bottom:16px}
.tasting p{color:var(--ink-soft);max-width:22em;margin:0 auto}

/* reservation band */
.band{background:var(--green);color:var(--on-green)}
.band__in{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);padding:clamp(90px,11vw,160px) var(--gutter);max-width:var(--max);margin:0 auto;align-items:end}
.band__head{grid-column:1/span 6}
.band__head .lede{color:var(--on-green-soft);margin:28px 0 40px}
.band__info{grid-column:8/span 5;display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;font-family:var(--sans);font-size:14px;line-height:1.85;color:var(--on-green-soft)}
.band__info h4,.info h4{font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.26em;text-transform:uppercase;margin:0 0 10px;color:var(--on-green)}
.band__info a{text-decoration:none;color:var(--on-green)}
.band__info a:hover{opacity:.7}
.note{font-style:italic}

/* footer */
.ft{background:var(--green-deep);color:var(--on-green-soft);font-family:var(--sans);font-size:13px;line-height:1.9}
.ft__in{max-width:var(--max);margin:0 auto;padding:clamp(70px,8vw,110px) var(--gutter) 36px}
.ft__top{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:start}
.ft__logo{grid-column:1/span 3}
.ft__logo img{width:min(210px,100%)}
.ft__col{grid-column:span 3}
.ft__col:nth-of-type(2){grid-column:5/span 3}
.ft h4{font-weight:400;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--on-green);margin:0 0 12px}
.ft a{text-decoration:none;color:var(--on-green-soft)}
.ft a:hover{color:var(--on-green)}
.ft__house{margin-top:18px;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--on-green)}
.ft__bottom{margin-top:clamp(60px,7vw,100px);padding-top:24px;border-top:1px solid var(--line-green);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;font-size:11.5px;letter-spacing:.08em}
.ft__bottom nav{display:flex;flex-wrap:wrap;gap:10px 26px}
.ft__bottom button{all:unset;cursor:pointer;color:var(--on-green-soft)}
.ft__bottom button:hover{color:var(--on-green)}
.ft__langs{display:flex;gap:14px;text-transform:uppercase;letter-spacing:.2em}
.ft__langs span{color:var(--on-green)}

/* ---------- inner pages */
.phero{position:relative;height:clamp(380px,68vh,760px);overflow:hidden;background:var(--green);display:flex;align-items:flex-end;color:var(--cream)}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,32,25,.42) 0%,rgba(20,32,25,.05) 35%,rgba(20,32,25,.55) 100%)}
.phero__t{position:relative;z-index:2;padding:0 var(--gutter) clamp(44px,6vw,80px);max-width:var(--max);margin:0 auto;width:100%}
.phero .title{font-size:clamp(44px,6vw,88px)}

.menus{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:start}
.menus__list{grid-column:1/span 7;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.menus__list li{border-bottom:1px solid var(--line)}
.menus__list a{display:grid;grid-template-columns:1fr auto;gap:8px 24px;padding:34px 0;text-decoration:none;align-items:baseline}
.menus__list h3{font-size:clamp(28px,2.6vw,38px);font-weight:300;transition:transform .5s var(--ease)}
.menus__list p{grid-column:1;margin:0;color:var(--ink-soft);font-size:.95em}
.menus__list .link{grid-column:2;grid-row:1/span 2;align-self:center;white-space:nowrap}
.menus__list a:hover h3{transform:translateX(10px)}
.menus__side{grid-column:9/span 4;position:sticky;top:120px}

.res{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:start}
.res__widget{grid-column:1/span 7;min-height:620px;background:var(--paper);padding:clamp(10px,2vw,28px);border:1px solid var(--line)}
.res__widget .small{color:var(--ink-soft)}
.res__side{grid-column:9/span 4;display:flex;flex-direction:column;gap:38px;font-family:var(--sans);font-size:14px;line-height:1.85;color:var(--ink-soft)}
.res__side .info h4{color:var(--ink)}
.res__side a{text-decoration:none;color:var(--ink)}
.res__side a:hover{opacity:.65}

.legal{max-width:760px;margin:0 auto}
.legal h1{font-size:clamp(40px,5vw,70px);margin-bottom:14px}
.legal .updated{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:60px}
.legal h2{font-size:clamp(24px,2.2vw,30px);font-weight:400;margin:52px 0 14px}
.legal p,.legal li{font-size:18px;color:var(--ink-soft)}
.legal a{color:var(--ink)}

.nf{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.nf nav{display:flex;flex-wrap:wrap;gap:18px 34px;justify-content:center;margin-top:30px}

/* ---------- reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.3s var(--ease),transform 1.3s var(--ease)}
.rv.is-in{opacity:1;transform:none}
.ph.rv img{transform:scale(1.07)}
.ph.rv.is-in img{transform:scale(1)}
.no-js .rv{opacity:1;transform:none}

/* ---------- consent */
.cc{position:fixed;left:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,28px);z-index:90;width:min(440px,calc(100vw - 24px));background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 60px rgba(23,40,32,.18);padding:28px 28px 24px;font-family:var(--sans);font-size:13.5px;line-height:1.65;transform:translateY(20px);opacity:0;visibility:hidden;transition:all .5s var(--ease)}
.cc.is-open{transform:none;opacity:1;visibility:visible}
.cc h2{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:10px}
.cc p{color:var(--ink-soft);margin-bottom:18px}
.cc a{color:var(--ink)}
.cc__btns{display:flex;flex-wrap:wrap;gap:10px}
.cc__btns .btn{padding:12px 16px;font-size:10.5px;letter-spacing:.18em;flex:1 1 auto;justify-content:center}
.cc__btns .cc__text{all:unset;cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--ink-soft);padding:8px 2px}
.ccd{position:fixed;inset:0;z-index:95;background:rgba(23,40,32,.5);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .4s}
.ccd.is-open{opacity:1;visibility:visible}
.ccd__box{background:var(--paper);max-width:520px;width:100%;max-height:90vh;overflow:auto;padding:34px;font-family:var(--sans);font-size:13.5px;line-height:1.65;color:var(--ink-soft)}
.ccd__box h2{font-family:var(--serif);font-size:28px;font-weight:400;color:var(--ink);margin-bottom:18px}
.ccd__row{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.ccd__row strong{display:block;color:var(--ink);font-weight:500;letter-spacing:.04em;margin-bottom:4px}
.ccd__row em{font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.tg{position:relative;flex:none;width:44px;height:24px}
.tg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:2}
.tg span{position:absolute;inset:0;border-radius:24px;background:#cfc7b6;transition:background .3s}
.tg span::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .3s var(--ease)}
.tg input:checked + span{background:var(--green)}
.tg input:checked + span::after{transform:translateX(20px)}
.tg input:focus-visible + span{outline:1px solid var(--ink);outline-offset:3px}
.ccd__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ccd__btns .btn{flex:1 1 auto;justify-content:center;padding:13px 16px;font-size:10.5px}

/* ---------- intro duo (uncropped window) */
.duo{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(70px,9vw,140px);align-items:start;text-align:left}
.duo figure{margin:0}
.duo__a{grid-column:1/span 6}
.duo__b{grid-column:8/span 5;margin-top:clamp(120px,18vw,320px)}

/* ---------- interlude (Alhambra) */
.interlude{background:#0B1514;color:var(--on-green);text-align:center;padding:clamp(80px,10vw,150px) var(--gutter)}
.interlude__fig{margin:0 auto;width:min(540px,86vw)}
.interlude__fig img{width:100%;height:auto;display:block;-webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 64%,transparent 100%);mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 64%,transparent 100%)}
.interlude__fig figcaption{color:var(--on-green-soft);margin-top:10px}
.interlude__line{font-style:italic;font-weight:300;font-size:clamp(26px,2.6vw,40px);margin:clamp(34px,4vw,56px) auto 0;max-width:18em}

/* ---------- wide single image */
.wide{width:min(100%,1080px);margin:clamp(80px,10vw,160px) auto 0}
.wide figure{margin:0}

/* ---------- feature (Engadin, image edge to edge) */
.feature{display:grid;grid-template-columns:58fr 42fr;min-height:100vh;min-height:100svh;background:var(--paper)}
.feature__img{position:relative;overflow:hidden;background:var(--sand);min-height:640px}
.feature__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature__text{align-self:center;padding:clamp(60px,7vw,120px) clamp(28px,5vw,96px)}
.feature__text .title{margin-bottom:30px}

/* ---------- texture */
.tex{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,32px);margin-top:clamp(70px,9vw,130px);align-items:start}
.tex figure{margin:0}
.tex > :nth-child(2){margin-top:clamp(40px,7vw,120px)}
.tex > :nth-child(3){margin-top:clamp(14px,2.5vw,40px)}
.tex > :nth-child(4){margin-top:clamp(60px,9vw,160px)}

/* ---------- team */
.team{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:end;margin-top:clamp(100px,12vw,200px)}
.team__text{grid-column:1/span 4;padding-bottom:clamp(20px,4vw,70px)}
.team__text .title{margin-bottom:28px}
.team__text p{color:var(--ink-soft)}
.team__img{grid-column:6/span 7}
.team figure{margin:0}

/* ---------- opening composition */
.anchor{display:block;position:relative;top:-90px;visibility:hidden}
.open{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(60px,7vw,110px);text-align:left;align-items:start}
.open figure,.row2 figure,.row3 figure,.quad figure{margin:0}
.open__a{grid-column:1/span 6;grid-row:1/span 2}
.open__b{grid-column:8/span 4;grid-row:1;margin-top:clamp(40px,6vw,110px)}
.open__c{grid-column:8/span 5;grid-row:2;align-self:end}

/* ---------- two / three image rows */
.row2{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(60px,8vw,120px);align-items:start}
.row2__a{grid-column:1/span 7}
.row2__b{grid-column:9/span 4;margin-top:clamp(60px,9vw,160px)}
.row3{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);margin-top:clamp(60px,7vw,110px);align-items:start}
.row3 > :nth-child(1){grid-column:1/span 3;margin-top:clamp(120px,16vw,280px)}
.row3 > :nth-child(2){grid-column:4/span 6}
.row3 > :nth-child(3){grid-column:10/span 3;margin-top:clamp(50px,7vw,120px)}
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,32px);margin-top:clamp(50px,6vw,100px);align-items:start}
.quad > :nth-child(2){margin-top:clamp(40px,7vw,120px)}
.quad > :nth-child(3){margin-top:clamp(14px,2.5vw,40px)}
.quad > :nth-child(4){margin-top:clamp(60px,9vw,160px)}
.feature__small{margin-top:clamp(36px,4vw,60px);width:78%}
.feature__small figure{margin:0}
.chap--rev .chap__small--pair{grid-column:1/span 5;display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,26px)}
.chap__small--pair figure{margin:0}
.chap__small--pair figure + figure{margin-top:clamp(40px,5vw,90px)}

/* ---------- responsive */
@media (max-width:1080px){
  .hd__nav{display:none}
  .hd__lang{display:none}
  .hd__burger{display:inline-flex}
  .band__info{grid-column:1/-1}
  .band__head{grid-column:1/-1}
}
@media (max-width:820px){
  body{font-size:18px}
  .hd__in{grid-template-columns:1fr auto 1fr;padding:14px var(--gutter)}
  .hd__right .btn{padding:9px 11px;font-size:9.5px;letter-spacing:.16em}
  .hd__burger span{display:none}
  .hero{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
  .hero__words{display:none}
  .hero__half:first-child img{object-position:50% 60%!important}
  .pair,.chap,.trio,.chef,.menus,.res,.ft__top,.band__in{grid-template-columns:1fr}
  .pair > *,.chap > *,.trio > *,.chef > *,.menus > *,.res > *,.ft__top > *,.band__in > *{grid-column:1/-1!important;grid-row:auto!important;margin-top:0!important}
  .pair{gap:28px}
  .pair__a{width:62%;margin-left:auto!important}
  .chap{gap:36px}
  .chap__small{width:58%}
  .chap--rev .chap__small{margin-left:auto}
  .trio{gap:28px}
  .trio > :nth-child(2){width:78%;margin-left:auto!important}
  .chef__small{width:60%}
  .duo,.team{grid-template-columns:1fr;gap:28px}
  .duo > *,.team > *{grid-column:1/-1!important;margin-top:0!important}
  .duo__b{width:78%;margin-left:auto}
  .team__text{padding-bottom:0}
  .feature{grid-template-columns:1fr;min-height:0}
  .feature__img{min-height:0;aspect-ratio:4/5}
  .tex,.quad{grid-template-columns:1fr 1fr}
  .quad > :nth-child(3){margin-top:0}
  .quad > :nth-child(4){margin-top:clamp(40px,7vw,120px)}
  .open,.row2,.row3{grid-template-columns:1fr 1fr;gap:20px}
  .open > *,.row2 > *,.row3 > *{grid-row:auto!important;margin-top:0!important}
  .open__a,.row2__a,.row3 > :nth-child(2){grid-column:1/-1!important}
  .open__b{grid-column:1!important}
  .open__c{grid-column:2!important;align-self:end}
  .row2__b{grid-column:2!important}
  .row3 > :nth-child(1){grid-column:1!important;grid-row:2!important;margin-top:40px!important}
  .row3 > :nth-child(2){grid-row:1!important}
  .row3 > :nth-child(3){grid-column:2!important;grid-row:2!important}
  .feature__small{width:100%}
  .chap--rev .chap__small--pair{width:100%}
  .tex > :nth-child(3){margin-top:0}
  .tex > :nth-child(4){margin-top:clamp(40px,7vw,120px)}
  .tasting{grid-template-columns:1fr}
  .tasting > div + div{border-left:0;border-top:1px solid var(--line);margin-top:34px}
  .band__info{grid-template-columns:1fr 1fr;gap:28px 24px}
  .menus__side{position:static}
  .menus__list a{grid-template-columns:1fr}
  .menus__list .link{grid-column:1;grid-row:auto;justify-self:start;margin-top:10px}
  .res__widget{min-height:560px;padding:6px}
  .ft__bottom{flex-direction:column}
}
@media (max-width:480px){
  .band__info{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero__logo,.hero__place,.hero__words span,.hero__scroll{opacity:1}
  .hero__half img{transform:none}
  .rv{opacity:1;transform:none}
  .ph.rv img{transform:none}
  html{scroll-behavior:auto}
}
