/* Charte Scopertino : Clockmaker (titres) · Gotham (texte) */
@font-face { font-family: 'Clockmaker'; font-style: normal; font-weight: 400; font-display: swap; src: url(assets/fonts/clockmaker-regular.woff2) format('woff2'); }
@font-face { font-family: 'Gotham'; font-style: normal; font-weight: 300 400; font-display: swap; src: url(assets/fonts/gotham-book.woff2) format('woff2'); }
@font-face { font-family: 'Gotham'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(assets/fonts/gotham-medium.woff2) format('woff2'); }

/* Scopertino — maquette v1 « Le Colline » */
:root{
  --cream:#FAE4B0;
  --paper:#FBF0D6;
  --paper-2:#F6E3B8;
  --green:#2A6223;
  --green-deep:#1D4718;
  --red:#DF3524;
  --saffron:#EC994C;
  --ink:#1F3F1A;
  --ink-soft:rgba(31,63,26,.72);
  --line:rgba(42,98,35,.2);
  --f-display:"Clockmaker", Georgia, serif;
  --f-it:"Clockmaker", Georgia, serif;
  --f-text:"Gotham", "Helvetica Neue", Arial, sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(18px,4vw,56px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
em,i{font-style:normal}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1360px;margin-inline:auto;padding-inline:var(--gutter)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}

.eyebrow{font-family:var(--f-text);font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin:0 0 22px;display:flex;align-items:center;gap:12px}
.eyebrow .dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--red)}
.eyebrow .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(223,53,36,.5);animation:pulse 2.2s infinite}
@keyframes pulse{0%{transform:scale(1);opacity:1}70%,100%{transform:scale(3.6);opacity:0}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;font-family:var(--f-text);font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:transform .5s var(--ease),background .3s,color .3s,box-shadow .5s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--red);color:var(--paper);box-shadow:0 10px 26px -12px rgba(223,53,36,.8)}
.btn-red:hover{background:#c92c1c}
.btn-cream{background:var(--cream);color:var(--green-deep)}
.btn-cream:hover{background:#fff1cc}
.link-u{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px;transition:background-size .5s var(--ease)}
.link-u:hover{background-size:0 1px;background-position:100% 100%}
.link-u.light{color:var(--cream)}

/* ---------- INTRO ---------- */
#intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none}
.intro-curtain{position:absolute;inset:0}
.intro-curtain.c1{background:var(--saffron)}
.intro-curtain.c2{background:var(--cream)}
.intro-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:26px;color:var(--green)}
.intro-sun{width:clamp(70px,11vw,120px);overflow:visible}
.intro-sun path{fill:var(--saffron);fill-opacity:0;stroke:var(--saffron);stroke-width:40}
.intro-word{width:min(78vw,620px);clip-path:inset(-10% 100% -10% 0)}
.intro-word svg{width:100%;height:auto;display:block}
.intro-sub{font-family:var(--f-text);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:0;color:var(--green)}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .5s,box-shadow .5s,transform .6s var(--ease)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.nav.is-solid{background:rgba(251,240,214,.86);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
.nav.is-hidden{transform:translateY(-100%)}
.nav-logo{display:flex;align-items:center;gap:12px;color:var(--green);text-decoration:none}
.nav-sun{width:26px;height:26px;color:var(--saffron);transition:transform 1.2s var(--ease)}
.nav-logo:hover .nav-sun{transform:rotate(90deg)}
.nav-word{width:150px;height:auto}
.nav-links{display:flex;gap:38px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--green);position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-cta{padding:11px 20px;font-size:.72rem}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:transparent;position:relative;cursor:pointer}
.burger i,.burger::before,.burger::after{content:"";position:absolute;left:14px;right:14px;height:1.5px;background:var(--green);transition:transform .5s var(--ease),opacity .3s}
.burger::before{top:17px}.burger i{top:22px}.burger::after{top:27px}
.burger[aria-expanded="true"]::before{transform:translateY(5px) rotate(45deg)}
.burger[aria-expanded="true"] i{opacity:0}
.burger[aria-expanded="true"]::after{transform:translateY(-5px) rotate(-45deg)}
.mpanel{position:fixed;inset:0;z-index:45;background:var(--green);color:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:100px var(--gutter) 40px;clip-path:circle(0% at calc(100% - 44px) 40px);transition:clip-path .9s var(--ease);visibility:hidden}
.mpanel.open{clip-path:circle(150% at calc(100% - 44px) 40px);visibility:visible}
.mpanel ul{list-style:none;margin:0;padding:0}
.mpanel li a{display:block;font-family:var(--f-display);font-size:clamp(2.6rem,12vw,4rem);line-height:1.2;text-decoration:none;text-transform:uppercase;opacity:0;transform:translateY(24px);transition:opacity .6s,transform .8s var(--ease)}
.mpanel.open li a{opacity:1;transform:none}
.mpanel.open li:nth-child(2) a{transition-delay:.06s}.mpanel.open li:nth-child(3) a{transition-delay:.12s}.mpanel.open li:nth-child(4) a{transition-delay:.18s}
.mpanel-foot{margin-top:40px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.mpanel-foot p{margin:0;opacity:.7;font-size:.9rem}
body.menu-open .nav-word,body.menu-open .nav-links{color:var(--cream)}
body.menu-open .nav-logo{color:var(--cream)}
body.menu-open .burger i,body.menu-open .burger::before,body.menu-open .burger::after{background:var(--cream)}
body.menu-open .nav.is-solid{background:transparent;box-shadow:none;backdrop-filter:none}

/* ---------- HERO ---------- */
/* Le hero tient dans l'écran : l'arche suit la hauteur disponible (soleil compris, il dépasse de 15 %),
   le titre suit la largeur de sa colonne (ligne la plus large ≈ 5 em) et la hauteur de l'écran. */
.hero{--arch-h:min(674px,calc((100vh - 150px) / 1.15));--arch-h:min(674px,calc((100svh - 150px) / 1.15));
  position:relative;box-sizing:border-box;min-height:100vh;min-height:100svh;display:flex;align-items:center;
  padding:max(100px,calc(var(--arch-h) * .15 + 30px)) 0 34px;overflow:hidden;background:
  radial-gradient(90% 70% at 85% 10%, rgba(236,153,76,.28), transparent 60%),
  linear-gradient(180deg,var(--paper) 0%, var(--cream) 100%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center;width:100%}
.hero-title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;color:var(--green);font-size:clamp(3rem,min(8.2vw,13.8vh),7.4rem);font-size:clamp(3rem,min(8.2vw,13.8svh),7.4rem);line-height:.95;letter-spacing:-.01em;margin:0 0 clamp(18px,3.2vh,30px)}
.hero-title .line{display:block;white-space:nowrap;overflow:hidden;padding:.1em 0 .06em;margin:-.1em 0 -.06em}
.hero-title .rise{display:inline-block}
.hero-title .line-it{padding:.22em .15em .34em 0;margin:-.22em 0 -.34em}
.hero-title .it{font-family:var(--f-it);font-style:normal;font-weight:400;text-transform:none;color:var(--red);font-size:1em;letter-spacing:-.02em;padding-left:.35em}
.hero-lead{max-width:40ch;font-size:clamp(1rem,.45vw + .62rem,1.22rem);color:var(--ink-soft);margin:0 0 clamp(20px,3.6vh,34px)}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:26px}
.hero-visual{position:relative;justify-self:center;width:min(100%,470px,calc(var(--arch-h) * .6977))}
.hero-sun{position:absolute;width:78%;top:-15%;left:50%;margin-left:-39%;color:var(--saffron);z-index:0}
.hero-sun{will-change:transform}
.hero-sun-spin{display:block;width:100%;height:auto;will-change:transform}
.arch{position:relative;z-index:1;aspect-ratio:3/4.3;border-radius:999px 999px 18px 18px;overflow:hidden;background:#d9a36b;box-shadow:0 40px 80px -40px rgba(29,71,24,.55)}
.arch::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.arch video{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transform-origin:50% 30%}
.seal{position:absolute;z-index:2;left:-12%;bottom:8%;width:clamp(96px,11vw,138px);height:clamp(96px,11vw,138px);aspect-ratio:1;overflow:hidden;color:var(--green);background:var(--cream);border-radius:50%;box-shadow:0 18px 40px -22px rgba(29,71,24,.6)}
.seal>svg:first-child{display:block;width:100%;height:100%;animation:spin 22s linear infinite}
.seal text{font-family:var(--f-text);font-weight:600;font-size:7.2px;fill:currentColor;letter-spacing:.05em}
.seal-sun{position:absolute;inset:36%;color:var(--red)}
@keyframes spin{to{transform:rotate(360deg)}}

/* reveals (état visible par défaut ; l'animation part d'un état décalé ajouté par JS) */
.js .rise{opacity:0;transform:translateY(40px)}
.js .hero-title .rise{opacity:1;transform:translateY(105%)}
.js .go .rise{opacity:1;transform:none;transition:transform 1.3s var(--ease),opacity 1s var(--ease)}
.js .go .hero-title .line:nth-child(3) .rise{transition-delay:.08s}
.js .go .hero-title .line:nth-child(4) .rise{transition-delay:.16s}
.js .go .hero-lead{transition-delay:.3s}
.js .go .hero-ctas{transition-delay:.42s}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}

/* ---------- MARQUEE ---------- */
.marquee{background:var(--green);color:var(--cream);overflow:hidden;padding:26px 0;border-block:1px solid rgba(250,228,176,.18)}
.marquee-track{display:flex;width:max-content;animation:marq 38s linear infinite;will-change:transform}
.is-off .marquee-track,.is-off .marquee-track svg,.is-off.seal>svg:first-child{animation-play-state:paused}
.marquee-track span{display:flex;align-items:center;white-space:nowrap}
.marquee-track b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,5.4vw,4.6rem);line-height:1;padding:0 .35em}
.marquee-track b.it{font-family:var(--f-it);font-style:normal;text-transform:none;color:var(--saffron)}
.marquee-track svg{width:clamp(22px,3vw,38px);height:auto;color:var(--saffron);flex-shrink:0;animation:spin 9s linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- CASA ---------- */
.casa{padding:clamp(90px,12vw,170px) 0;background:var(--paper);position:relative;overflow-x:clip}
.casa-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center}
.casa-title{font-family:var(--f-display);font-weight:400;font-size:clamp(2.1rem,4.2vw,3.7rem);line-height:1.12;color:var(--green);margin:0 0 34px;text-wrap:balance}
.casa-title em{font-family:var(--f-it);font-style:normal;font-weight:400;color:var(--red);font-size:1em}
.casa-body{display:flex;flex-direction:column;gap:16px;max-width:52ch;color:var(--ink-soft)}
.casa-body p{margin:0}
.casa-body i{font-family:var(--f-it);font-style:normal;font-size:1em;color:var(--green)}
.facts{display:flex;flex-wrap:wrap;gap:22px 48px;margin:44px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.facts dt{font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);opacity:.75;margin-bottom:6px}
.facts dd{margin:0;font-family:var(--f-display);font-size:1.12rem;line-height:1.35;color:var(--green)}
.facts dd i{font-family:var(--f-it);font-style:normal;font-size:1em;color:var(--red)}
.casa-photos{position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;gap:18px;align-items:start}
.ph{margin:0;overflow:hidden;border-radius:18px;box-shadow:0 30px 60px -36px rgba(29,71,24,.6)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.ph:hover img{transform:scale(1.06)}
.ph-a{grid-row:1/3;aspect-ratio:4/5.2;border-radius:999px 999px 18px 18px}
.ph-b{aspect-ratio:3/4;margin-top:50px}
.ph-c{aspect-ratio:1/1}
.lemon{position:absolute;width:clamp(110px,14vw,190px);height:auto;left:-9%;bottom:-8%;z-index:3;filter:drop-shadow(0 18px 24px rgba(29,71,24,.35));will-change:transform}

/* ---------- ROAD / VESPA ---------- */
.road{position:relative;background:var(--cream);padding-top:clamp(90px,11vw,150px);overflow:hidden}
.road-big{position:absolute;top:clamp(40px,6vw,70px);left:0;width:100%;overflow:hidden;pointer-events:none}
.bigword{display:block;white-space:nowrap;font-family:var(--f-it);font-style:normal;font-weight:400;font-size:clamp(7rem,21vw,21rem);line-height:1;color:rgba(236,153,76,.3);transform:translateX(-8%)}
.road-copy{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}
.road-copy .eyebrow{justify-content:center}
.road-title{font-family:var(--f-display);font-weight:400;font-size:clamp(2rem,4.6vw,4rem);line-height:1.12;color:var(--green);max-width:20ch;margin:0;text-wrap:balance}
.road-title em{font-family:var(--f-it);font-style:normal;font-weight:400;color:var(--red);font-size:1em}
.road-scene{position:relative;margin-top:clamp(40px,6vw,70px);height:clamp(360px,44vw,620px)}
.road-hills{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;will-change:transform}
.road-scene::before{content:"";position:absolute;left:0;right:0;top:-16%;height:48%;z-index:1;pointer-events:none;background:linear-gradient(180deg,var(--cream) 0%,var(--cream) 30%,rgba(250,228,176,0) 100%)}
.road-strip{position:absolute;z-index:1;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(29,71,24,0),rgba(29,71,24,.35))}
.rider{position:absolute;z-index:2;bottom:18%;left:0;width:clamp(150px,19vw,270px);transform:translateX(-120%);will-change:transform}
.rider img{width:100%;height:auto;will-change:transform;filter:drop-shadow(0 16px 12px rgba(0,0,0,.28))}
.speed{position:absolute;right:92%;top:48%;display:flex;flex-direction:column;gap:9px}
.speed i{display:block;height:2px;border-radius:2px;background:var(--cream);opacity:.85}
.speed i:nth-child(1){width:70px}.speed i:nth-child(2){width:110px;margin-left:-30px}.speed i:nth-child(3){width:50px}

/* ---------- CUCINA ---------- */
.cucina{background:var(--paper);padding:clamp(60px,8vw,110px) 0 clamp(90px,11vw,150px);overflow:hidden}
.gusto-wrap{overflow:hidden;padding:0 var(--gutter)}
.gusto{will-change:transform;margin:0 auto;text-align:center;font-family:var(--f-display);text-transform:uppercase;font-size:clamp(7rem,30vw,28rem);line-height:.9;padding:.06em 0;letter-spacing:-.02em;color:var(--red);transform-origin:50% 60%}
.cucina-head{display:grid;grid-template-columns:1.1fr .9fr;gap:22px clamp(24px,5vw,90px);align-items:end;margin-top:clamp(40px,5vw,70px);margin-bottom:clamp(36px,5vw,64px)}
.cucina-head .eyebrow{grid-column:1/-1;margin-bottom:0}
.cucina-title{font-family:var(--f-display);font-weight:400;font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.08;color:var(--green);margin:0;text-wrap:balance}
.cucina-title em{font-family:var(--f-it);font-style:normal;font-weight:400;color:var(--red);font-size:1em}
.cucina-lead{color:var(--ink-soft);max-width:46ch;margin:0}
.dishes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px)}
.dish{display:flex;flex-direction:column}
.dish figure{margin:0 0 20px;overflow:hidden;border-radius:999px 999px 18px 18px;aspect-ratio:3/4;box-shadow:0 30px 60px -36px rgba(29,71,24,.6)}
.dish img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.dish:hover img{transform:scale(1.05)}
.dish h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.05;color:var(--green);margin:0 0 10px;text-transform:uppercase}
.dish h3 em{font-family:var(--f-it);font-style:normal;text-transform:none;font-weight:400;color:var(--red);font-size:1em}
.dish p{margin:0;color:var(--ink-soft);font-size:.93rem;padding-bottom:12px;border-bottom:1px solid var(--line);flex:1}
.craft{margin-top:clamp(70px,9vw,120px);padding-top:clamp(40px,5vw,60px);border-top:1px solid var(--line)}
.craft-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 40px;margin-bottom:clamp(26px,3.4vw,42px)}
.craft-head .eyebrow{margin:0}
.craft-title{font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.1;color:var(--green);margin:0;text-wrap:balance}
.craft-title em{font-family:var(--f-it);font-style:normal;color:var(--red);font-size:1em}
.craft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
.craft-grid .rt{aspect-ratio:4/5}

/* ---------- IL RISTORANTE ---------- */
.resto{background:var(--cream);padding:clamp(90px,11vw,150px) 0;overflow:hidden}
.resto-head{display:grid;grid-template-columns:1.1fr .9fr;gap:22px clamp(24px,5vw,90px);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.resto-head .eyebrow{grid-column:1/-1;margin-bottom:0}
.resto-title{font-family:var(--f-display);font-weight:400;font-size:clamp(2.1rem,4.4vw,3.8rem);line-height:1.1;color:var(--green);margin:0;text-wrap:balance}
.resto-title em{font-family:var(--f-it);font-style:normal;font-weight:400;color:var(--red);font-size:1em}
.resto-lead{margin:0;color:var(--ink-soft);max-width:46ch}
.resto-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:clamp(200px,24vw,330px) clamp(200px,24vw,330px) clamp(280px,30vw,420px);gap:clamp(10px,1.4vw,18px)}
.rt{position:relative;margin:0;overflow:hidden;border-radius:18px;box-shadow:0 30px 60px -36px rgba(29,71,24,.6)}
.rt img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.rt:hover img{transform:scale(1.05)}
.rt figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 14px;font-family:var(--f-it);font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1;color:var(--cream);background:linear-gradient(180deg,transparent,rgba(0,0,0,.55))}
.rt-a{grid-column:1/7;grid-row:1/3;border-radius:999px 999px 18px 18px}
.rt-a img{object-position:50% 60%}
.rt-b{grid-column:7/13;grid-row:1}
.rt-c{grid-column:7/10;grid-row:2}
.rt-g{grid-column:10/13;grid-row:2}
.rt-d{grid-column:1/4;grid-row:3}
.rt-h{grid-column:4/7;grid-row:3}
.rt-e{grid-column:7/10;grid-row:3}
.rt-f{grid-column:10/13;grid-row:3}

/* ---------- CARTA ---------- */
.carta{background:var(--green) url(assets/img/carta-tile.webp) 0 0/340px auto;padding:clamp(90px,11vw,150px) 0;position:relative;overflow:hidden}
.carta .wrap{position:relative}
.carta-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(34px,5vw,58px)}
.carta .eyebrow{color:var(--saffron);justify-content:center}
.carta-title{font-family:var(--f-display);font-weight:400;font-size:clamp(2.1rem,4.4vw,3.8rem);line-height:1.1;color:var(--cream);margin:0 0 28px;text-wrap:balance}
.carta-title em{font-family:var(--f-it);font-style:normal;font-weight:400;color:var(--saffron);font-size:1em}
.carta-anchors{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.carta-anchors a{font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--cream);border:1px solid rgba(250,228,176,.32);border-radius:999px;padding:8px 15px;transition:background .35s,color .35s,border-color .35s}
.carta-anchors a:hover{background:var(--cream);color:var(--green);border-color:var(--cream)}

.menu-card{background:var(--paper);border-radius:14px;padding:12px;box-shadow:0 50px 90px -40px rgba(0,0,0,.55);transform:rotate(-.7deg)}
.menu-card-bar{margin-top:clamp(34px,5vw,60px);transform:rotate(.6deg)}
.menu-in{border:1.5px solid var(--green);outline:1px solid var(--green);outline-offset:-7px;border-radius:8px;padding:clamp(30px,4.4vw,58px) clamp(20px,4vw,56px);color:var(--green)}
.menu-lockup{width:min(230px,62%);height:auto;margin:0 auto 22px;display:block}
.menu-kicker{text-align:center;font-family:var(--f-it);font-style:normal;font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:1;color:var(--red);margin:0 0 clamp(26px,3.4vw,42px)}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(34px,5vw,80px)}
.menu-col{display:flex;flex-direction:column;gap:clamp(26px,3vw,40px)}
.menu-col+.menu-col{margin-top:0}
.menu-sec{scroll-margin-top:110px}
.menu-sec-t{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:clamp(1rem,1.5vw,1.2rem);color:var(--green);margin:0 0 4px;padding-bottom:10px;border-bottom:1.5px solid var(--green);display:flex;align-items:baseline;gap:10px}
.menu-sec-t::after{content:"";flex:1;height:0}
.menu-items{list-style:none;margin:0;padding:0}
.menu-items li{display:flex;align-items:baseline;gap:8px;padding:11px 0;border-bottom:1px dashed rgba(42,98,35,.28)}
.menu-items li:last-child{border-bottom:0}
.i-name{font-family:var(--f-display);font-size:1.02rem;line-height:1.3;color:var(--ink)}
.i-dots{flex:1;min-width:16px;height:1px;align-self:flex-end;margin-bottom:5px;background:radial-gradient(circle,rgba(42,98,35,.5) 1px,transparent 1.2px) 0 0/6px 3px repeat-x}
.i-price{font-family:var(--f-display);font-size:1.02rem;color:var(--green);white-space:nowrap;font-variant-numeric:tabular-nums}
.i-soon{font-family:var(--f-it);font-style:normal;font-size:1rem;color:var(--ink-soft);opacity:.75;white-space:nowrap}
.menu-items li.is-sig{position:relative;align-items:center;gap:10px;margin:8px -14px;padding:14px;border:1px solid rgba(223,53,36,.45);border-radius:8px;background:linear-gradient(90deg,rgba(236,153,76,.2),rgba(236,153,76,.05));border-bottom:1px solid rgba(223,53,36,.45)}
.menu-items li.is-sig .i-name{color:var(--red);font-size:1.15rem}
.menu-items li.is-sig .i-soon{color:var(--red);opacity:.8}
.sig-sun{width:19px;height:19px;color:var(--saffron);flex-shrink:0;align-self:center;animation:spin 14s linear infinite}
.sig-tag{font-family:var(--f-text);font-size:.56rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);background:var(--red);border-radius:999px;padding:4px 9px;margin-left:2px;white-space:nowrap}

.carta-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,26px);margin-top:clamp(34px,5vw,60px)}
.carta-strip figure{position:relative;margin:0;overflow:hidden;border-radius:999px 999px 14px 14px;aspect-ratio:3/4;box-shadow:0 34px 60px -32px rgba(0,0,0,.6)}
.carta-strip figure:nth-child(2){border-radius:14px;aspect-ratio:3/3.4;align-self:end}
.carta-strip img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.carta-strip figure:hover img{transform:scale(1.06)}
.carta-strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 16px 14px;text-align:center;font-family:var(--f-it);font-style:normal;font-size:1.5rem;color:var(--cream);background:linear-gradient(180deg,transparent,rgba(0,0,0,.55))}

/* ---------- VENIRE ---------- */
.venire{position:relative;background:var(--green-deep);color:var(--cream);padding:clamp(100px,12vw,170px) 0 0;overflow:hidden}
.venire-sun{position:absolute;width:clamp(380px,56vw,820px);right:-14%;top:-18%;color:rgba(236,153,76,.14)}
.venire-in{position:relative;z-index:1}
.venire .eyebrow{color:var(--saffron)}
.venire-title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(3rem,9vw,8.4rem);line-height:.98;margin:0 0 60px;padding:.04em 0}
.venire-title em{display:block;font-family:var(--f-it);font-style:normal;font-weight:400;text-transform:none;color:var(--saffron);font-size:1em;padding-left:.6em}
.venire-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;border-top:1px solid rgba(250,228,176,.2);padding-top:34px;margin-bottom:50px}
.vk{font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;opacity:.6;margin:0 0 10px}
.vv{font-family:var(--f-display);font-size:clamp(1.3rem,2.1vw,1.8rem);line-height:1.25;margin:0 0 14px}
.vv a{text-decoration:none}
.vsmall{margin:0;font-size:.86rem;opacity:.65}
.venire-lockup{position:relative;z-index:1;padding-top:clamp(70px,10vw,130px);padding-bottom:40px;color:var(--cream);opacity:.95}
.venire-lockup svg{width:100%;height:auto;display:block}
.foot{background:var(--green-deep);color:rgba(250,228,176,.78);font-size:.74rem;letter-spacing:.04em;border-top:1px solid rgba(250,228,176,.12)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:22px}
.foot p{margin:0}

/* ---------- RESPONSIVE ---------- */
@media (hover:none),(max-width:1024px){
  .nav.is-solid{background:rgba(251,240,214,.97);backdrop-filter:none;-webkit-backdrop-filter:none}
  .ph:hover img,.dish:hover img,.carta-strip figure:hover img,.rt:hover img{transform:none}
  .btn:hover{transform:none}
}
@media (max-width:1024px){
  .nav-links{display:none}
  .burger{display:block}
  .dishes{grid-template-columns:repeat(2,1fr);row-gap:clamp(30px,4vw,44px)}
}
@media (max-width:860px) and (min-width:701px){
  .hero-grid{grid-template-columns:1.15fr .85fr;gap:28px}
  .hero-ctas{gap:18px}
  .seal{left:-18%;width:92px;height:92px}
}
@media (max-width:700px){
  .hero{display:block;min-height:0;padding:118px 0 80px}
  .hero-title{font-size:clamp(3rem,15.5vw,4.6rem)}
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{width:min(82%,380px);margin-top:30px}
  .seal{left:-14%}
}
@media (max-width:860px){
  .casa-grid{grid-template-columns:1fr}
  .resto-head,.cucina-head{grid-template-columns:1fr}
  .resto-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .rt{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/5}
  .rt-a{grid-column:1/-1!important;aspect-ratio:1/1}
  .rt-b{grid-column:1/-1!important;aspect-ratio:16/10}
  .casa-photos{margin-top:10px}
  .lemon{left:auto;right:-4%;bottom:-10%}
  .menu-cols{grid-template-columns:1fr;gap:clamp(26px,3vw,40px)}
  .menu-card,.menu-card-bar{transform:none}
  .menu-col{gap:clamp(26px,3vw,40px)}
  .venire-grid{grid-template-columns:1fr;gap:26px}
}
@media (max-width:560px){
  .nav-in{height:66px}
  .nav-word{width:122px}
  .nav-cta{display:none}
  .hero-title{font-size:clamp(3rem,15.5vw,4.6rem)}
  .craft-grid{grid-template-columns:1fr 1fr}
  .craft-grid .rt:first-child{grid-column:1/-1!important;aspect-ratio:4/3}
  .craft-grid .rt:first-child img{object-position:50% 12%}
  .ph-b{margin-top:30px}
  .rider{width:150px}
  .gusto{font-size:19vw}
  .lemon{width:96px;right:2%;bottom:-6%}
  .menu-items li.is-sig{margin-inline:-8px;padding:12px 10px;flex-wrap:wrap}
  .sig-tag{order:3}
  .carta-strip{grid-template-columns:1fr 1fr}
  .carta-strip figure:nth-child(3){display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rise,.js .reveal{opacity:1!important;transform:none!important}
  .rider{transform:translateX(30vw)}
}
