/* --- Font self-hosted (nessuna chiamata a Google Fonts) --- */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces-latin-wght-normal.woff2') format('woff2-variations'),url('../fonts/fraunces-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces-latin-ext-wght-normal.woff2') format('woff2-variations'),url('../fonts/fraunces-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces-latin-wght-italic.woff2') format('woff2-variations'),url('../fonts/fraunces-latin-wght-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces-latin-ext-wght-italic.woff2') format('woff2-variations'),url('../fonts/fraunces-latin-ext-wght-italic.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/archivo-latin-wght-normal.woff2') format('woff2-variations'),url('../fonts/archivo-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/archivo-latin-ext-wght-normal.woff2') format('woff2-variations'),url('../fonts/archivo-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* =========================================================================
   MARTINI CARNI — Design System
   Token e linguaggio visivo ereditati dalla versione one-page e consolidati.
   Ordine: token · reset · tipografia · componenti · sezioni · responsive
   ========================================================================= */

/* ---------------------------------------------------------------- 1. TOKEN */
:root{
  /* colore — invariati rispetto al sito esistente */
  --paper:#FFFFFF;
  --paper-deep:#F6F1F1;
  --ink:#1A0C0D;
  --ink-soft:#54393B;
  --wine:#9E1B2E;
  --wine-dark:#4A0A10;
  --brass:#9E1B2E;
  --brass-light:#FFFFFF;
  --stone:#F2E9E9;
  --cream:#FFFFFF;
  --line:rgba(26,12,13,.14);
  --line-light:rgba(255,255,255,.22);

  /* tipografia */
  --f-display:'Fraunces', Georgia, serif;
  --f-body:'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* misura */
  --container:1240px;
  --container-narrow:860px;
  --pad:clamp(20px, 5vw, 64px);
  --gutter:clamp(20px, 3vw, 40px);

  /* ritmo verticale */
  --sp-1:8px;  --sp-2:14px; --sp-3:22px; --sp-4:34px;
  --sp-5:52px; --sp-6:80px;
  --section-y:clamp(72px, 10vw, 140px);
  --section-y-sm:clamp(52px, 7vw, 96px);

  /* scala tipografica */
  --t-hero:clamp(38px, 7vw, 92px);
  --t-h1:clamp(34px, 5.4vw, 72px);
  --t-h2:clamp(30px, 4.2vw, 54px);
  --t-h3:clamp(21px, 2.4vw, 28px);
  --t-lead:clamp(16px, 1.4vw, 18.5px);
  --t-body:clamp(14.5px, 1.05vw, 16px);
  --t-small:13.5px;
  --t-eyebrow:12px;

  /* movimento */
  --e-out:cubic-bezier(.2,.7,.2,1);
  --d-fast:.28s; --d-base:.4s; --d-slow:.7s;

  --header-h:84px;
  --radius:0px;
  --shadow-lift:0 20px 40px -14px rgba(26,12,13,.35);
}

/* ---------------------------------------------------------------- 2. RESET */
*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 12px); -webkit-text-size-adjust:100%;}
body{
  font-family:var(--f-body);
  font-size:var(--t-body);
  line-height:1.65;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.is-locked{overflow:hidden;}
img,svg,video{display:block; max-width:100%;}
img{height:auto;}
a{color:inherit; text-decoration:none;}
ul,ol{list-style:none;}
button{font:inherit; color:inherit; background:none; border:none; cursor:pointer;}
input,textarea,select{font:inherit; color:inherit;}
::selection{background:var(--wine); color:var(--cream);}

:focus-visible{outline:2px solid var(--wine); outline-offset:3px;}
.on-dark :focus-visible,.is-dark :focus-visible{outline-color:var(--cream);}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:2000;
  background:var(--wine); color:var(--cream); padding:14px 22px;
  font-size:14px; font-weight:600;
}
.skip-link:focus{left:0;}
.visually-hidden{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* ------------------------------------------------------------ 3. LAYOUT */
.wrap{max-width:var(--container); margin-inline:auto; padding-inline:var(--pad); width:100%;}
.wrap-narrow{max-width:var(--container-narrow); margin-inline:auto; padding-inline:var(--pad); width:100%;}
.pad{padding-block:var(--section-y);}
.pad-sm{padding-block:var(--section-y-sm);}
.pad-t0{padding-top:0;}
.pad-b0{padding-bottom:0;}
section{position:relative;}
.bleed{width:100%;}

.s-paper{background:var(--paper);}
.s-deep{background:var(--paper-deep);}
.s-stone{background:var(--stone);}
.s-ink{background:var(--ink); color:var(--cream);}
.s-wine{background:var(--wine-dark); color:var(--cream);}
.s-ink .lead,.s-wine .lead{color:rgba(255,255,255,.78);}
.s-ink .eyebrow,.s-wine .eyebrow{color:var(--brass-light);}
.s-ink .eyebrow::before,.s-wine .eyebrow::before{background:var(--brass-light);}

/* --------------------------------------------------------- 4. TIPOGRAFIA */
h1,h2,h3,h4{font-family:var(--f-display); font-weight:500; line-height:1.05; letter-spacing:-.01em; text-wrap:balance;}
h1{font-size:var(--t-h1);}
h2{font-size:var(--t-h2);}
h3{font-size:var(--t-h3); line-height:1.15;}
h4{font-size:19px; line-height:1.2;}
p{text-wrap:pretty;}

.eyebrow{
  font-family:var(--f-body); font-weight:700; font-size:var(--t-eyebrow);
  letter-spacing:.22em; text-transform:uppercase; color:var(--wine);
  display:flex; align-items:center; gap:12px; margin-bottom:18px;
}
.eyebrow::before{content:''; width:28px; height:1px; background:var(--wine); flex:none;}
.eyebrow--center{justify-content:center;}
.eyebrow--center::before{display:none;}

.title-lg{font-size:var(--t-h2); max-width:15ch;}
.title-lg--wide{max-width:22ch;}
.lead{font-size:var(--t-lead); line-height:1.75; color:var(--ink-soft); max-width:52ch;}
.lead--center{margin-inline:auto; text-align:center;}
.body-copy p + p{margin-top:var(--sp-3);}
.body-copy{color:var(--ink-soft); max-width:62ch;}
.s-ink .body-copy,.s-wine .body-copy{color:rgba(255,255,255,.78);}

.section-intro{max-width:640px;}
.section-intro--center{margin-inline:auto; text-align:center;}
.section-intro--center .eyebrow{justify-content:center;}
.section-intro--center .eyebrow::before{display:none;}
.section-intro--center .title-lg,
.section-intro--center .lead{margin-inline:auto;}
.section-intro .lead{margin-top:20px;}

/* ------------------------------------------------------------- 5. BOTTONI */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--f-body); font-weight:600; font-size:14px; letter-spacing:.03em;
  padding:15px 28px; border:1px solid currentColor; min-height:50px;
  transition:background var(--d-base) ease,color var(--d-base) ease,border-color var(--d-base) ease;
  white-space:nowrap; text-align:center;
}
.btn svg{width:14px; height:14px; flex:none; transition:transform var(--d-base) var(--e-out);}
.btn:hover svg{transform:translateX(4px);}
.btn-solid{background:var(--wine); border-color:var(--wine); color:var(--cream);}
.btn-solid:hover{background:var(--wine-dark); border-color:var(--wine-dark);}
.btn-ghost{color:var(--cream); border-color:rgba(255,255,255,.55);}
.btn-ghost:hover{background:rgba(255,255,255,.14); border-color:var(--cream);}
.btn-line{color:var(--ink); border-color:var(--ink);}
.btn-line:hover{background:var(--ink); color:var(--cream);}
.btn-group{display:flex; gap:16px; flex-wrap:wrap;}

.link-arrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--wine); padding-block:6px; border-bottom:1px solid currentColor;
  transition:gap var(--d-fast) var(--e-out);
}
.link-arrow svg{width:13px; height:13px;}
.link-arrow:hover{gap:16px;}
.s-ink .link-arrow,.s-wine .link-arrow,.on-dark .link-arrow{color:var(--cream);}

/* --------------------------------------------------------------- 6. HEADER */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:1000;
  padding-block:22px; transition:padding var(--d-base) ease,background var(--d-base) ease,box-shadow var(--d-base) ease;
}
.site-header > .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px;}
.site-header.is-solid{background:var(--paper); box-shadow:0 1px 0 var(--line); padding-block:12px;}
body.nav-open .site-header{background:transparent; box-shadow:none; z-index:1200;}
body.nav-open .brand-text,body.nav-open .brand-text span{color:var(--cream)!important;}

.brand{display:flex; align-items:center; gap:12px; flex:none;}
.brand img{width:44px; height:auto; transition:width var(--d-base) ease;}
.site-header.is-solid .brand img{width:38px;}
.brand-text{font-family:var(--f-display); font-size:21px; font-weight:600; color:var(--cream); line-height:1; display:flex; flex-direction:column; transition:color var(--d-base) ease;}
.brand-text span{font-family:var(--f-body); font-size:9px; letter-spacing:.26em; font-weight:600; margin-top:5px; color:var(--brass-light);}
.site-header.is-solid .brand-text{color:var(--wine-dark);}
.site-header.is-solid .brand-text span{color:var(--wine);}
.page-solid-header .site-header{background:var(--paper); box-shadow:0 1px 0 var(--line);}

/* --- navigazione desktop --- */
.nav{display:flex; align-items:center; gap:30px;}
.nav-item{position:relative;}
.nav-link,.nav-toggle{
  display:inline-flex; align-items:center; gap:7px;
  font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--cream); padding-block:8px; position:relative;
  transition:color var(--d-base) ease;
}
.nav-link::after,.nav-toggle::after{
  content:''; position:absolute; left:0; bottom:2px; width:0; height:1px;
  background:var(--brass-light); transition:width var(--d-fast) ease;
}
.nav-link:hover::after,.nav-toggle:hover::after,
.nav-item.is-open .nav-toggle::after,
.nav-link[aria-current="page"]::after{width:100%;}
.nav-toggle .chev{width:9px; height:9px; transition:transform var(--d-fast) ease;}
.nav-item.is-open .nav-toggle .chev{transform:rotate(180deg);}
.site-header.is-solid .nav-link,.site-header.is-solid .nav-toggle{color:var(--ink);}
.site-header.is-solid .nav-link::after,.site-header.is-solid .nav-toggle::after{background:var(--wine);}

.dropdown{
  position:absolute; top:calc(100% + 14px); left:-22px; min-width:252px;
  background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow-lift);
  padding:10px; opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity var(--d-fast) ease,transform var(--d-fast) var(--e-out),visibility var(--d-fast);
}
.nav-item.is-open .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
.dropdown a{
  display:block; padding:12px 16px; font-size:14px; font-weight:500; color:var(--ink);
  border-left:2px solid transparent; transition:background var(--d-fast) ease,border-color var(--d-fast) ease,padding var(--d-fast) ease;
}
.dropdown a small{display:block; font-size:11.5px; color:var(--ink-soft); font-weight:400; margin-top:3px; letter-spacing:0; text-transform:none;}
.dropdown a:hover,.dropdown a[aria-current="page"]{background:var(--stone); border-left-color:var(--wine); padding-left:20px;}

.nav-cta{
  font-size:13px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--cream); border:1px solid rgba(255,255,255,.5); padding:11px 20px;
  transition:all var(--d-fast) ease; white-space:nowrap;
}
.nav-cta:hover{background:var(--cream); color:var(--ink); border-color:var(--cream);}
.site-header.is-solid .nav-cta{color:var(--ink); border-color:var(--ink);}
.site-header.is-solid .nav-cta:hover{background:var(--ink); color:var(--cream);}

/* --- switch lingua --- */
.lang{display:flex; align-items:center; gap:2px; border:1px solid rgba(255,255,255,.4); padding:3px; border-radius:20px; transition:border-color var(--d-base) ease;}
.site-header.is-solid .lang{border-color:var(--line);}
.lang a{
  font-size:11px; font-weight:700; letter-spacing:.04em; color:rgba(255,255,255,.65);
  padding:7px 11px; border-radius:16px; transition:all var(--d-fast) ease; min-width:38px; text-align:center;
}
.site-header.is-solid .lang a{color:var(--ink-soft);}
.lang a[aria-current="true"]{background:var(--cream); color:var(--ink);}
.site-header.is-solid .lang a[aria-current="true"]{background:var(--wine); color:var(--cream);}

/* --- burger --- */
.burger{
  display:none; width:46px; height:46px; position:relative; z-index:1200; flex:none;
  align-items:center; justify-content:center;
}
.burger i{position:absolute; left:11px; right:11px; height:2px; background:var(--cream); transition:transform var(--d-base) var(--e-out),opacity var(--d-fast) ease;}
.site-header.is-solid .burger i{background:var(--ink);}
.burger i:nth-child(1){top:15px;}
.burger i:nth-child(2){top:22px;}
.burger i:nth-child(3){top:29px;}
body.nav-open .burger i{background:var(--cream)!important;}
body.nav-open .burger i:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.nav-open .burger i:nth-child(2){opacity:0;}
body.nav-open .burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* --- drawer mobile --- */
.drawer{
  position:fixed; inset:0; z-index:1100; background:var(--wine-dark); color:var(--cream);
  display:flex; flex-direction:column;
  transform:translateX(100%); visibility:hidden;
  transition:transform .5s var(--e-out),visibility .5s;
  overscroll-behavior:contain;
}
body.nav-open .drawer{transform:translateX(0); visibility:visible;}
.drawer-scroll{flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:calc(var(--header-h) + 24px) 24px 24px;}
.drawer-group + .drawer-group{border-top:1px solid var(--line-light);}
.drawer-head{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:20px 4px; font-family:var(--f-display); font-size:23px; font-weight:500; color:var(--cream);
  min-height:60px; text-align:left;
}
.drawer-head .chev{width:15px; height:15px; transition:transform var(--d-base) var(--e-out); flex:none; opacity:.7;}
.drawer-group.is-open .drawer-head .chev{transform:rotate(180deg);}
.drawer-panel{display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--d-base) var(--e-out);}
.drawer-group.is-open .drawer-panel{grid-template-rows:1fr;}
.drawer-panel > div{overflow:hidden;}
.drawer-panel a{
  display:block; padding:14px 4px 14px 18px; font-size:16px; color:rgba(255,255,255,.86);
  border-left:1px solid var(--line-light); min-height:52px;
}
.drawer-panel a[aria-current="page"]{color:var(--cream); border-left-color:var(--cream); font-weight:600;}
.drawer-single{
  display:block; padding:20px 4px; font-family:var(--f-display); font-size:23px; color:var(--cream);
  border-top:1px solid var(--line-light); min-height:60px;
}
.drawer-lang{display:flex; gap:10px; margin-top:32px;}
.drawer-lang a{
  flex:1; text-align:center; padding:14px 0; border:1px solid var(--line-light);
  font-size:12px; font-weight:700; letter-spacing:.12em; color:rgba(255,255,255,.7);
}
.drawer-lang a[aria-current="true"]{background:var(--cream); color:var(--wine-dark); border-color:var(--cream);}
.drawer-actions{
  display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-light);
  border-top:1px solid var(--line-light); flex:none;
  padding-bottom:env(safe-area-inset-bottom);
}
.drawer-actions a{
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:var(--wine-dark); padding:20px 10px; font-size:13px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; min-height:62px;
}
.drawer-actions a:last-child{background:var(--wine);}
.drawer-actions svg{width:16px; height:16px;}

/* ---------------------------------------------------------- 7. PAGE HERO */
.page-hero{
  position:relative; display:flex; align-items:flex-end; color:var(--cream);
  min-height:clamp(460px, 62svh, 640px);
  padding-top:calc(var(--header-h) + 40px);
  overflow:hidden; background:var(--ink);
}
.page-hero--tall{min-height:100svh;}
.page-hero__media{position:absolute; inset:0; z-index:0;}
.page-hero__media img{width:100%; height:100%; object-fit:cover; object-position:var(--pos,50% 50%);}
.page-hero::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(59,13,18,.42) 0%,rgba(30,10,12,.5) 50%,rgba(20,7,8,.88) 100%);
}
.page-hero__inner{position:relative; z-index:2; width:100%; padding-bottom:clamp(44px, 7vw, 88px);}
.page-hero h1{font-size:var(--t-h1); max-width:18ch;}
.page-hero--home h1{font-size:var(--t-hero); max-width:17ch;}
.page-hero h1 em{font-style:italic; color:var(--brass-light); font-weight:400;}
.page-hero__tag{font-size:12px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--brass-light); margin-bottom:20px;}
.page-hero__sub{font-size:clamp(15px,1.6vw,19px); max-width:48ch; margin-top:24px; color:rgba(255,255,255,.88); line-height:1.6;}
.page-hero .btn-group{margin-top:38px;}

.hero-scroll{
  position:absolute; right:var(--pad); bottom:32px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.7);
}
.hero-scroll .line{width:1px; height:46px; background:rgba(255,255,255,.45); position:relative; overflow:hidden;}
.hero-scroll .line::after{content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--brass-light); animation:scrollline 2.2s ease-in-out infinite;}
@keyframes scrollline{0%{top:-100%}60%{top:100%}100%{top:100%}}

/* ------------------------------------------------------- 8. BREADCRUMB */
.crumbs{font-size:12px; letter-spacing:.08em; color:var(--ink-soft); padding-block:18px; border-bottom:1px solid var(--line);}
.crumbs ol{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.crumbs li::after{content:'/'; margin-left:8px; opacity:.4;}
.crumbs li:last-child::after{display:none;}
.crumbs a:hover{color:var(--wine);}
.crumbs [aria-current]{color:var(--ink);}

/* ------------------------------------------------------- 9. SPLIT MEDIA */
.split{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,6vw,90px); align-items:center;}
.split--reverse .split__media{order:2;}
.split--media-lead{grid-template-columns:.9fr 1.1fr;}
.split__media{position:relative;}
.split__media img{width:100%; aspect-ratio:var(--ar,4/5); object-fit:cover; object-position:var(--pos,50% 50%);}
.split__media--wide img{aspect-ratio:var(--ar,5/4);}
.split__tag{
  position:absolute; bottom:-22px; left:-22px; max-width:250px;
  background:var(--wine); color:var(--cream); padding:16px 22px;
  font-family:var(--f-display); font-size:15px; font-style:italic; line-height:1.4;
  box-shadow:var(--shadow-lift);
}
.split__caption{margin-top:12px; font-size:12px; color:var(--ink-soft); letter-spacing:.04em;}
.s-ink .split__caption,.s-wine .split__caption{color:rgba(255,255,255,.55);}
.era{font-family:var(--f-display); font-weight:300; font-size:clamp(76px,11vw,158px); line-height:.86; color:var(--brass); opacity:.5; margin-bottom:14px; letter-spacing:-.03em;}

/* ------------------------------------------------------- 10. LIGNAGGIO */
.lineage{display:flex; gap:28px; margin-top:36px; flex-wrap:wrap;}
.lineage > div{border-left:2px solid var(--brass); padding-left:14px;}
.lineage b{display:block; font-family:var(--f-display); font-size:17px; font-weight:500;}
.lineage span{font-size:12.5px; color:var(--ink-soft); letter-spacing:.03em;}
.s-ink .lineage span{color:rgba(255,255,255,.7);}

/* --------------------------------------------------------- 11. TIMELINE */
.timeline{position:relative; margin-top:var(--sp-5);}
.timeline::before{content:''; position:absolute; left:8px; top:8px; bottom:8px; width:1px; background:var(--line);}
.timeline li{position:relative; padding:0 0 var(--sp-5) 46px;}
.timeline li:last-child{padding-bottom:0;}
.timeline li::before{content:''; position:absolute; left:2px; top:7px; width:15px; height:15px; border-radius:50%; background:var(--paper); border:2px solid var(--wine);}
.timeline .yr{font-family:var(--f-display); font-size:clamp(28px,3.4vw,40px); color:var(--wine); line-height:1; display:block; margin-bottom:8px;}
.timeline h3{margin-bottom:8px;}
.timeline p{color:var(--ink-soft); max-width:56ch;}

/* ------------------------------------------------------------- 12. CARD */
.card{background:var(--paper); position:relative; display:flex; flex-direction:column;}
.card img{width:100%; aspect-ratio:var(--ar,5/4); object-fit:cover; object-position:var(--pos,50% 50%);}
.card__body{padding:clamp(24px,3.2vw,40px); flex:1; display:flex; flex-direction:column;}
.card__body h3{margin-bottom:14px;}
.card__body p{font-size:14.5px; line-height:1.75; color:var(--ink-soft);}
.card__body .link-arrow{margin-top:auto; padding-top:22px; align-self:flex-start;}
.card__num{
  position:absolute; top:20px; left:20px; z-index:2;
  font-family:var(--f-display); font-style:italic; font-size:14px;
  color:var(--cream); background:var(--wine);
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,40px);}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,32px);}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,24px);}

/* --------------------------------------------------- 13. TEASER (home) */
.teaser{position:relative; display:block; overflow:hidden; background:var(--ink);}
.teaser img{width:100%; aspect-ratio:var(--ar,4/5); object-fit:cover; object-position:var(--pos,50% 50%); transition:transform var(--d-slow) var(--e-out);}
.teaser::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,7,8,0) 30%,rgba(20,7,8,.9) 100%); z-index:1;}
.teaser:hover img{transform:scale(1.06);}
.teaser__body{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(20px,2.6vw,30px); color:var(--cream);}
.teaser__body .n{font-size:10px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--brass-light);}
.teaser__body h3{margin:8px 0 6px; font-size:clamp(19px,2vw,24px);}
.teaser__body p{font-size:13.5px; color:rgba(255,255,255,.8); line-height:1.6;}
.teaser__body .go{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
.teaser__body .go svg{width:12px; height:12px; transition:transform var(--d-fast) var(--e-out);}
.teaser:hover .go svg{transform:translateX(4px);}

/* --------------------------------------------------------- 14. DIET BAR */
.diet{margin-top:44px;}
.diet-bar{display:flex; width:100%; height:10px; overflow:hidden; margin-bottom:22px;}
.diet-bar span{height:100%; display:block;}
.diet-legend{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:16px 24px;}
.diet-legend li{display:flex; align-items:baseline; gap:10px; font-size:13px; color:rgba(255,255,255,.75);}
.diet-legend b{font-family:var(--f-display); font-size:20px; font-weight:500; color:var(--cream); min-width:46px;}

/* --------------------------------------------------------- 15. I TAGLI */
.cutmap{max-width:940px; margin-inline:auto; position:relative;}
.cutmap svg{width:100%; height:auto; overflow:visible;}
.cut-label{font-family:var(--f-body); font-weight:600; font-size:12.5px; letter-spacing:.02em; fill:var(--ink);}
.cut-price{font-family:var(--f-body); font-weight:400; font-size:11px; fill:var(--wine);}
.cut-line{stroke:var(--brass); stroke-width:1.4; fill:none;}
.cut-dot{fill:var(--wine);}
.beef-outline{fill:var(--stone); stroke:var(--ink); stroke-width:1.6;}
.beef-seam{stroke:var(--paper); stroke-width:1.6; fill:none;}
.cut{cursor:pointer;}
.cut:hover .cut-dot,.cut.is-active .cut-dot{r:7;}
.cut:hover .cut-label,.cut.is-active .cut-label{fill:var(--wine);}
.cutmap-note{text-align:center; font-size:12.5px; color:var(--ink-soft); margin-top:26px;}

.cutlist{display:grid; gap:2px; background:var(--line); border-block:1px solid var(--line);}
.cutlist__item{background:var(--paper);}
.cutlist__head{
  width:100%; display:flex; align-items:center; gap:14px; text-align:left;
  padding:18px 4px; min-height:64px;
}
.cutlist__head .idx{font-family:var(--f-display); font-size:13px; color:var(--wine); min-width:26px;}
.cutlist__head .nm{font-family:var(--f-display); font-size:19px; font-weight:500; flex:1;}
.cutlist__head .pr{font-size:13px; font-weight:600; color:var(--wine); white-space:nowrap;}
.cutlist__head .chev{width:13px; height:13px; opacity:.5; transition:transform var(--d-fast) ease; flex:none;}
.cutlist__item.is-open .chev{transform:rotate(180deg);}
.cutlist__panel{display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--d-base) var(--e-out);}
.cutlist__item.is-open .cutlist__panel{grid-template-rows:1fr;}
.cutlist__panel > div{overflow:hidden;}
.cutlist__panel dl{padding:0 4px 22px; display:grid; gap:12px;}
.cutlist__panel dt{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--wine); margin-bottom:3px;}
.cutlist__panel dd{font-size:14px; color:var(--ink-soft); line-height:1.6;}

/* ------------------------------------------------------- 16. CATALOGO */
.cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--ink);}
.cat-card{background:var(--paper-deep); position:relative; overflow:hidden; aspect-ratio:3/3.6; display:block;}
.cat-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--d-slow) var(--e-out);}
.cat-card::before{content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(20,7,8,0) 35%,rgba(20,7,8,.88) 100%);}
.cat-card:hover img{transform:scale(1.08);}
.cat-card__info{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:20px; color:var(--cream);}
.cat-card__info .n{font-size:10px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--brass-light);}
.cat-card__info h3{font-size:19px; margin:6px 0 8px;}
.cat-card__info .ex{font-size:12px; color:rgba(255,255,255,.82); display:flex; justify-content:space-between; gap:10px; border-top:1px solid rgba(255,255,255,.25); padding-top:8px;}
.cat-note{margin-top:34px; padding-top:26px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; font-size:13.5px; color:var(--ink-soft);}

/* accordion catalogo (mobile + dettaglio) */
.acc{border-top:1px solid var(--line);}
.acc__item{border-bottom:1px solid var(--line);}
.acc__head{width:100%; display:flex; align-items:center; gap:16px; padding:20px 2px; min-height:68px; text-align:left;}
.acc__head img{width:56px; height:56px; object-fit:cover; flex:none;}
.acc__head .t{flex:1;}
.acc__head .t b{display:block; font-family:var(--f-display); font-size:19px; font-weight:500;}
.acc__head .t span{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--wine); font-weight:700;}
.acc__head .chev{width:13px; height:13px; opacity:.5; transition:transform var(--d-fast) ease; flex:none;}
.acc__item.is-open .chev{transform:rotate(180deg);}
.acc__panel{display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--d-base) var(--e-out);}
.acc__item.is-open .acc__panel{grid-template-rows:1fr;}
.acc__panel > div{overflow:hidden;}
.price-list{padding:0 2px 22px;}
.price-list li{display:flex; justify-content:space-between; gap:18px; padding:11px 0; border-bottom:1px dotted var(--line); font-size:14.5px;}
.price-list li:last-child{border-bottom:0;}
.price-list b{font-weight:600; color:var(--wine); white-space:nowrap;}
.price-list .desc{display:block; font-size:12.5px; color:var(--ink-soft); margin-top:2px;}

/* --------------------------------------------------------- 17. GALLERY */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.gallery-item{position:relative; overflow:hidden;}
.gallery-item img{width:100%; aspect-ratio:1/1; object-fit:cover; object-position:var(--pos,50% 50%); transition:transform var(--d-slow) var(--e-out);}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item figcaption{position:absolute; left:10px; bottom:10px; background:var(--paper); color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.03em; padding:6px 12px;}

.strip{display:grid; grid-template-columns:repeat(3,1fr); gap:6px;}
.strip img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:var(--pos,50% 50%);}
.strip--2{grid-template-columns:repeat(2,1fr);}
.mosaic{display:grid; grid-template-columns:repeat(6,1fr); gap:10px;}
.mosaic img{width:100%; height:100%; object-fit:cover; object-position:var(--pos,50% 50%);}
.mosaic > *{overflow:hidden;}
.m-a{grid-column:span 4; aspect-ratio:16/10;}
.m-b{grid-column:span 2; aspect-ratio:4/5;}
.m-c{grid-column:span 2; aspect-ratio:1/1;}
.m-d{grid-column:span 2; aspect-ratio:1/1;}
.m-e{grid-column:span 2; aspect-ratio:1/1;}

/* -------------------------------------------------------- 18. FEATURES */
.features{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.s-ink .features,.s-wine .features{background:var(--line-light); border-color:var(--line-light);}
.feature{background:var(--paper); padding:clamp(24px,3vw,38px);}
.s-ink .feature,.s-wine .feature{background:transparent;}
.feature .k{font-family:var(--f-display); font-size:13px; font-style:italic; color:var(--wine); margin-bottom:14px;}
.s-ink .feature .k,.s-wine .feature .k{color:var(--brass-light);}
.feature h3{font-size:20px; margin-bottom:10px;}
.feature p{font-size:14px; color:var(--ink-soft); line-height:1.7;}
.s-ink .feature p,.s-wine .feature p{color:rgba(255,255,255,.75);}

.features--2{grid-template-columns:repeat(2,1fr);}
.features--5{grid-template-columns:repeat(5,1fr);}
@media (max-width:1023px){ .features--5{grid-template-columns:repeat(3,1fr);} }
@media (max-width:767px){ .features--2,.features--5{grid-template-columns:1fr 1fr;} }
@media (max-width:479px){ .features--2,.features--5{grid-template-columns:1fr;} }

.ticklist{display:grid; gap:14px; margin-top:28px;}
.ticklist li{display:flex; gap:12px; align-items:flex-start; font-size:15px; line-height:1.6;}
.ticklist li::before{content:''; width:7px; height:7px; border-radius:50%; background:var(--wine); margin-top:9px; flex:none;}
.s-ink .ticklist li::before,.s-wine .ticklist li::before{background:var(--brass-light);}
.inline-list{display:flex; flex-wrap:wrap; gap:14px 34px; margin-top:30px;}
.inline-list li{display:flex; align-items:center; gap:10px; font-size:13.5px;}
.inline-list li::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--wine); flex:none;}
.s-ink .inline-list li::before,.s-wine .inline-list li::before{background:var(--brass-light);}

/* ------------------------------------------------------- 19. CTA BAND */
.cta-band{background:var(--ink); color:var(--cream); padding-block:clamp(52px,7vw,90px);}
.cta-band--wine{background:var(--wine-dark);}
.cta-band__inner{display:flex; align-items:center; justify-content:space-between; gap:clamp(24px,4vw,60px); flex-wrap:wrap;}
.cta-band h2{font-size:clamp(26px,3.4vw,42px); max-width:20ch;}
.cta-band p{color:rgba(255,255,255,.75); margin-top:14px; max-width:48ch; font-size:15px;}

/* ----------------------------------------------------- 20. RISTORANTE */
.menu-nav{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:var(--sp-5);}
.menu-nav a{
  font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:11px 18px; border:1px solid var(--line); color:var(--ink-soft); min-height:44px;
  display:inline-flex; align-items:center; transition:all var(--d-fast) ease;
}
.menu-nav a:hover{border-color:var(--wine); color:var(--wine);}
.course + .course{margin-top:var(--sp-6);}
.course__title{display:flex; align-items:center; gap:18px; margin-bottom:var(--sp-4);}
.course__title h3{font-size:clamp(24px,3vw,34px); white-space:nowrap;}
.course__title::after{content:''; flex:1; height:1px; background:var(--line);}
.dish{padding:20px 0; border-bottom:1px solid var(--line);}
.dish:last-child{border-bottom:0;}
.dish h4{font-family:var(--f-display); font-size:clamp(18px,1.9vw,21px); font-weight:500; margin-bottom:6px;}
.dish p{font-size:14.5px; color:var(--ink-soft); line-height:1.65; max-width:62ch;}
.dish .note{display:inline-block; margin-top:8px; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--wine); font-weight:700;}
.menu-cols{columns:2; column-gap:clamp(40px,6vw,80px);}
.menu-cols > .course{break-inside:avoid; margin-top:0;}
.menu-foot{margin-top:var(--sp-5); padding-top:var(--sp-3); border-top:1px solid var(--line); font-size:13px; color:var(--ink-soft);}

/* --------------------------------------------------------- 21. EVENTI */
.event-card{display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line);}
.event-card img{width:100%; aspect-ratio:3/2; object-fit:cover;}
.event-card__body{padding:26px; flex:1; display:flex; flex-direction:column;}
.event-card .date{font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--wine); margin-bottom:10px;}
.event-card h3{font-size:22px; margin-bottom:10px;}
.event-card p{font-size:14px; color:var(--ink-soft); line-height:1.7;}
.event-card .link-arrow{margin-top:auto; padding-top:20px; align-self:flex-start;}
.event-card--past{opacity:.66;}
.empty-state{
  text-align:center; padding:clamp(56px,9vw,110px) var(--pad);
  border:1px solid var(--line); background:var(--paper);
}
.empty-state .mark{width:54px; height:54px; margin:0 auto 24px; border:1px solid var(--wine); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--wine);}
.empty-state h3{font-size:clamp(22px,2.6vw,30px); margin-bottom:14px;}
.empty-state p{color:var(--ink-soft); max-width:46ch; margin:0 auto 28px;}

/* ------------------------------------------------------- 22. CONTATTI */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,64px);}
.contact-card{border:1px solid var(--line); padding:clamp(26px,3.4vw,40px);}
.contact-card h3{margin-bottom:6px;}
.contact-card .role{font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--wine); margin-bottom:18px;}
.info-list{display:grid; gap:14px;}
.info-list li{display:grid; grid-template-columns:110px 1fr; gap:14px; font-size:14.5px; align-items:baseline;}
.info-list dt,.info-list .k{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--ink-soft);}
.info-list a:hover{color:var(--wine);}
.map-embed{aspect-ratio:21/9; width:100%; background:var(--stone); border:1px solid var(--line); position:relative; overflow:hidden;}
.map-embed > img,.map-embed picture{position:absolute; inset:0; width:100%; height:100%;}
.map-embed picture img{width:100%; height:100%; object-fit:cover; object-position:50% 55%;}
.map-embed::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,7,8,.15),rgba(20,7,8,.62));}
.map-card{position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%); background:var(--paper); padding:clamp(24px,3vw,38px); text-align:center; max-width:min(420px,86%); box-shadow:var(--shadow-lift);}
.map-card strong{display:block; font-family:var(--f-display); font-size:clamp(17px,1.6vw,21px); font-weight:500; margin:14px 0 16px; line-height:1.35;}
@media (max-width:767px){ .map-embed{aspect-ratio:4/3;} }
.map-embed iframe{width:100%; height:100%; border:0;}

.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field--full{grid-column:1/-1;}
.field label{font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--ink-soft);}
.field input,.field textarea,.field select{
  border:1px solid var(--line); background:var(--paper); padding:14px 16px;
  font-size:15px; min-height:52px; width:100%; border-radius:0;
  transition:border-color var(--d-fast) ease;
}
.field textarea{min-height:140px; resize:vertical;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--wine); outline:none;}
.field .hint{font-size:12px; color:var(--ink-soft);}
.check{display:flex; gap:12px; align-items:flex-start; font-size:13px; color:var(--ink-soft);}
.check input{width:20px; height:20px; min-height:0; flex:none; margin-top:2px; accent-color:var(--wine);}

/* ---------------------------------------------------- 23. PLACEHOLDER */
.placeholder{
  border:2px dashed var(--wine); background:repeating-linear-gradient(135deg,rgba(158,27,46,.045) 0 12px,transparent 12px 24px);
  padding:clamp(22px,3vw,34px); color:var(--wine-dark);
}
.placeholder .tagname{
  display:inline-block; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  background:var(--wine); color:var(--cream); padding:5px 10px; margin-bottom:14px;
}
.placeholder p{font-size:14px; line-height:1.7; color:var(--wine-dark);}
.placeholder ul{margin-top:10px; display:grid; gap:6px;}
.placeholder li{font-size:13.5px; padding-left:16px; position:relative;}
.placeholder li::before{content:'›'; position:absolute; left:0;}
.placeholder--media{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; aspect-ratio:var(--ar,4/5); min-height:220px;}
.s-ink .placeholder,.s-wine .placeholder{border-color:var(--brass-light); color:var(--cream);}
.s-ink .placeholder p,.s-wine .placeholder p,.s-ink .placeholder li,.s-wine .placeholder li{color:rgba(255,255,255,.85);}

/* --------------------------------------------------------- 24. FOOTER */
.site-footer{background:var(--ink); color:var(--cream);}
.foot-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:clamp(56px,8vw,90px) 0 60px;}
.foot-brand img{width:64px; margin-bottom:18px;}
.foot-brand p{font-size:14px; color:rgba(255,255,255,.65); max-width:34ch; line-height:1.7;}
.foot-col h2,.foot-col h3{font-family:var(--f-body); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--brass-light); margin-bottom:20px; font-weight:700;}
.foot-col li{margin-bottom:12px; font-size:14px; color:rgba(255,255,255,.82);}
.foot-col a:hover{color:var(--brass-light);}
.foot-social{display:flex; gap:14px; margin-top:22px;}
.foot-social a{width:42px; height:42px; border:1px solid rgba(255,255,255,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all var(--d-fast) ease;}
.foot-social a:hover{background:var(--cream); border-color:var(--cream); color:var(--ink);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.15); padding:26px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12px; color:rgba(255,255,255,.5);}

/* ------------------------------------------------------------ 25. 404 */
.err{min-height:100svh; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--ink); color:var(--cream);}
.err .code{font-family:var(--f-display); font-size:clamp(90px,18vw,220px); line-height:.8; color:var(--wine); opacity:.8;}

/* ------------------------------------------------------ 26. ANIMAZIONI */
.reveal{opacity:0; transform:translateY(34px);}
.no-js .reveal,.is-revealed{opacity:1; transform:none;}
@media (max-width:767px){ .parallax{transform:none!important;} }

/* ==================================================== 27. RESPONSIVE ==== */
@media (max-width:1180px){
  .nav{gap:22px;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:1023px){
  :root{--header-h:72px;}
  .nav,.lang--desktop{display:none;}
  .burger{display:flex;}
  .split,.split--media-lead{grid-template-columns:1fr; gap:var(--sp-5);}
  .split--reverse .split__media,.split__media{order:-1;}
  .split__tag{position:static; max-width:none; margin-top:0; box-shadow:none;}
  .grid-2,.grid-3{grid-template-columns:1fr 1fr;}
  .features{grid-template-columns:1fr 1fr;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .menu-cols{columns:1;}
  .mosaic{grid-template-columns:repeat(4,1fr);}
  .m-a{grid-column:span 4;} .m-b,.m-c,.m-d,.m-e{grid-column:span 2;}
  .foot-top{grid-template-columns:1fr 1fr;}
  .cutmap{display:none;}
  .cutlist-wrap{display:block;}
}

@media (min-width:1024px){
  .cutlist-wrap{display:none;}
  .drawer{display:none;}
}

@media (max-width:767px){
  .grid-3,.features{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .strip{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
  .page-hero{min-height:clamp(420px,70svh,560px);}
  .page-hero--home{min-height:92svh;}
  .hero-scroll{display:none;}
  .cta-band__inner{flex-direction:column; align-items:flex-start;}
  .timeline li{padding-left:36px;}
}

@media (max-width:599px){
  :root{--pad:20px;}
  .grid-2{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:1fr; gap:2px;}
  .cat-card{aspect-ratio:3/2.2;}
  .strip,.mosaic{grid-template-columns:1fr; gap:8px;}
  .m-a,.m-b,.m-c,.m-d,.m-e{grid-column:span 1; aspect-ratio:4/3;}
  .foot-top{grid-template-columns:1fr; gap:34px;}
  .diet-legend{grid-template-columns:1fr;}
  .btn{width:100%;}
  .btn-group{flex-direction:column; align-items:stretch;}
  .cta-band .btn{width:auto;}
  .info-list li{grid-template-columns:1fr; gap:3px;}
  .menu-nav{gap:6px;}
  .menu-nav a{padding:10px 14px; font-size:11px;}
  .lineage{gap:18px;}
  .acc__head img{width:48px; height:48px;}
}

/* ------------------------------------------------ 28. REDUCED MOTION */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important;}
  .reveal{opacity:1!important; transform:none!important;}
  .teaser:hover img,.cat-card:hover img,.gallery-item:hover img{transform:none;}
}

/* -------------------------------------------------------- 29. PRINT */
@media print{
  .site-header,.drawer,.hero-scroll,.cta-band,.site-footer{display:none!important;}
  body{color:#000; background:#fff;}
  .reveal{opacity:1; transform:none;}
}
