  :root{
    --crema:#F7F1E2;
    --crema-alt:#EFE4CB;
    --inchiostro:#241A12;
    --rosso:#CE1126;
    --rosso-cupo:#8F0C1B;
    --verde:#00753D;
    --verde-cupo:#04301C;
    --verde-notte:#021D10;
    --verdone:#24402C;
    --oro:#C9A15A;
    --oro-chiaro:#E7CE93;
    --font-display: "Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,"Times New Roman",serif;
    --font-body: Optima,"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    --maxw: 1200px;
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; overflow-x:hidden; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  }
  body{
    margin:0;
    background:var(--crema);
    color:var(--inchiostro);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:700;
    margin:0;
    letter-spacing:0.02em;
  }
  .container{
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 1.5rem;
  }
  a:focus-visible, button:focus-visible{
    outline:3px solid var(--oro);
    outline-offset:3px;
  }
  .sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  .skip-link{
    position:absolute; left:1rem; top:-4rem;
    background:var(--oro-chiaro); color:var(--inchiostro);
    padding:0.75rem 1.25rem; z-index:200; transition:top .2s ease;
    font-family:var(--font-body); font-weight:700;
  }
  .skip-link:focus{ top:1rem; }

  /* ---------- SVG symbols (hidden defs) ---------- */
  .svg-defs{ position:absolute; width:0; height:0; overflow:hidden; }

  /* ---------- Reveal on scroll ---------- */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .8s ease, transform .8s ease;
  }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }

  /* ---------- Ornament (arabesque) ---------- */
  .ornamento{
    position:absolute;
    pointer-events:none;
    z-index:0;
    opacity:0.10;
  }
  .ornamento svg{ width:100%; height:100%; display:block; }

  /* ---------- Nav ---------- */
  .site-nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:1.1rem 1.5rem;
    background:linear-gradient(to bottom, rgba(2,10,6,0.55), rgba(2,10,6,0));
    transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  }
  .site-nav.scrolled{
    background:var(--crema);
    box-shadow:0 2px 18px rgba(36,26,18,0.12);
    padding:0.6rem 1.5rem;
  }
  .brand{
    display:flex; align-items:center; gap:0.6rem;
    font-family:var(--font-display); font-weight:700;
    font-size:1.25rem; letter-spacing:0.08em; text-transform:uppercase;
    text-decoration:none; color:var(--crema);
    transition:color .35s ease;
  }
  .site-nav.scrolled .brand{ color:var(--inchiostro); }
  .brand .cedro-mark{ width:28px; height:34px; color:var(--oro); flex:none; }
  .nav-links{
    display:none;
    list-style:none; margin:0; padding:0;
    gap:1.5rem; align-items:center;
  }
  .nav-links a{
    text-decoration:none;
    font-size:0.8rem; letter-spacing:0.09em; text-transform:uppercase;
    color:var(--crema); font-weight:600;
    padding-bottom:2px; border-bottom:1px solid transparent;
    transition:color .35s ease, border-color .2s ease;
  }
  .site-nav.scrolled .nav-links a{ color:var(--inchiostro); }
  .nav-links a:hover, .nav-links a[aria-current="page"]{ border-color:currentColor; }
  .nav-phone{
    display:inline-flex; align-items:center;
    font-size:0.72rem; letter-spacing:0.03em;
    text-decoration:none; font-weight:700; white-space:nowrap;
    border:1px solid var(--oro); color:var(--crema);
    padding:0.45rem 0.7rem; border-radius:2px;
    transition:color .35s ease, border-color .35s ease, background .2s ease;
  }
  .site-nav.scrolled .nav-phone{ color:var(--inchiostro); border-color:var(--oro); }
  .nav-phone:hover{ background:var(--oro); color:var(--verde-notte); }
  @media (min-width:1050px){
    .nav-links{ display:flex; }
    .nav-phone{ font-size:0.85rem; padding:0.5rem 1rem; }
  }

  /* ---------- Mobile nav toggle ---------- */
  .nav-toggle{
    display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
    width:38px; height:38px; padding:0; border:0; background:none; cursor:pointer;
    order:3;
  }
  .nav-toggle span{ display:block; width:100%; height:2px; background:var(--crema); transition:background .3s ease, transform .3s ease, opacity .3s ease; }
  .site-nav.scrolled .nav-toggle span{ background:var(--inchiostro); }
  .site-nav.menu-open .nav-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .site-nav.menu-open .nav-toggle span:nth-child(2){ opacity:0; }
  .site-nav.menu-open .nav-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  @media (min-width:1050px){ .nav-toggle{ display:none; } }

  .nav-mobile-panel{
    position:fixed; top:0; left:0; right:0; bottom:0; z-index:99;
    background:var(--verde-notte); color:var(--crema);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2.2rem;
    opacity:0; visibility:hidden; transform:translateY(-12px);
    transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
  }
  .site-nav.menu-open + .nav-mobile-panel, .nav-mobile-panel.is-open{
    opacity:1; visibility:visible; transform:translateY(0);
    transition:opacity .3s ease, transform .3s ease, visibility 0s linear 0s;
  }
  .nav-mobile-panel ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:center; gap:1.7rem; }
  .nav-mobile-panel a{
    text-decoration:none; color:var(--crema); font-family:var(--font-display); font-weight:700;
    font-size:1.5rem; text-transform:uppercase; letter-spacing:0.04em;
  }
  .nav-mobile-panel a[aria-current="page"]{ color:var(--oro-chiaro); }
  .nav-mobile-panel .nav-phone{ margin-top:1rem; }
  @media (min-width:1050px){ .nav-mobile-panel{ display:none; } }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    color:var(--crema);
    padding:7rem 0 4rem;
  }
  .hero-media{
    position:absolute; inset:0; z-index:0;
    width:100%; height:100%;
    object-fit:cover;
    background:#04150c center/cover no-repeat;
  }
  .hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(to bottom, rgba(2,10,6,0.15) 0%, rgba(2,10,6,0.45) 50%, rgba(2,10,6,0.85) 100%);
  }
  .hero-inner{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; width:100%; }
  .hero-eyebrow{
    font-size:0.78rem; letter-spacing:0.3em; text-transform:uppercase;
    color:var(--oro-chiaro); margin-bottom:1.6rem; font-weight:600;
  }
  .hero h1{ margin:0; max-width:20ch; }
  .hero-kicker{
    display:block;
    font-family:var(--font-body); font-weight:400;
    font-size:clamp(1.1rem, 2vw, 1.4rem);
    letter-spacing:0.4em; text-transform:uppercase;
    color:var(--crema); opacity:0.8;
    margin-bottom:0.8rem;
  }
  .hero-kicker-long{
    font-size:clamp(0.72rem, 1.3vw, 0.92rem);
    letter-spacing:0.22em;
  }
  .hero-brand{
    display:block;
    font-family:var(--font-display); font-weight:500; font-style:normal;
    font-size:clamp(2.8rem, 7.5vw, 5.2rem);
    letter-spacing:0.015em;
    line-height:1.08;
  }
  .hero-subtitle{
    display:block;
    font-family:var(--font-body); font-weight:400; font-style:italic;
    font-size:clamp(1rem, 2vw, 1.3rem);
    letter-spacing:0.03em;
    color:var(--oro-chiaro);
    margin-top:0.7rem;
  }
  .hero-sub{
    margin:2rem 0 2.4rem;
    max-width:40ch;
    font-size:clamp(0.98rem,1.6vw,1.08rem);
    color:var(--crema);
    opacity:0.88;
    line-height:1.65;
  }
  .cta-row{ display:flex; flex-wrap:wrap; gap:0.9rem; }
  .btn{
    display:inline-flex; align-items:center; gap:0.6rem;
    padding:0.95rem 1.6rem;
    font-family:var(--font-body); font-weight:700;
    font-size:0.9rem; letter-spacing:0.06em; text-transform:uppercase;
    text-decoration:none; border-radius:2px;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
    border:1px solid transparent;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-primary{ background:var(--rosso); color:var(--crema); }
  .btn-primary:hover{ background:var(--rosso-cupo); box-shadow:0 10px 24px rgba(206,17,38,0.35); }
  .btn-outline{ border-color:var(--crema); color:var(--crema); }
  .btn-outline:hover{ background:var(--crema); color:var(--verde-notte); }

  .scroll-cue{
    position:absolute; z-index:2; bottom:1.6rem; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:0.4rem;
    color:var(--crema); opacity:0.8; font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase;
  }
  .scroll-cue .line{ width:1px; height:34px; background:linear-gradient(to bottom, var(--oro), transparent); animation:scrollpulse 2.2s ease-in-out infinite; }
  @keyframes scrollpulse{ 0%,100%{ opacity:0.3; } 50%{ opacity:1; } }

  /* ---------- Bands (generic) ---------- */
  .band{ position:relative; overflow:hidden; }
  .band-crema{ background:var(--crema); color:var(--inchiostro); }
  .band-crema-alt{ background:var(--crema-alt); color:var(--inchiostro); }
  .band-verdone{ background:var(--verdone); color:var(--crema); }
  .band-rosso{ background:var(--rosso); color:var(--crema); }

  .band-inner{
    position:relative; z-index:1;
    max-width:var(--maxw); margin:0 auto; padding:7rem 1.5rem;
  }
  @media (min-width:900px){ .band-inner{ padding:10.5rem 1.5rem; } }

  .eyebrow{
    display:inline-block;
    font-size:0.78rem; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--oro); font-weight:700; margin-bottom:1.3rem;
  }
  .band-verdone .eyebrow, .band-rosso .eyebrow{ color:var(--oro-chiaro); }

  .section-title{
    font-size:clamp(2rem, 4.5vw, 3.2rem);
    text-transform:uppercase;
    margin-bottom:2.2rem;
    max-width:16ch;
  }
  .section-subtitle{
    display:block;
    margin:-1.5rem 0 2rem;
    font-size:1rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    opacity:0.72;
  }

  .divider{
    display:flex; align-items:center; gap:1rem;
    margin:2.6rem 0; opacity:0.85;
  }
  .divider .rule{ flex:1; height:1px; background:linear-gradient(to right, transparent, var(--oro), transparent); }
  .divider .cedro-mark{ width:22px; height:26px; color:var(--oro); flex:none; }

  /* ---------- Intro "La casa libanese" ---------- */
  .intro-grid{
    display:grid; gap:2.8rem;
    grid-template-columns:1fr;
  }
  .intro-text{ max-width:60ch; font-size:1.08rem; margin-top:1.6rem; }
  .intro-text p + p{ margin-top:1.2rem; }
  .intro-text p{ margin:0; }
  .intro-media img{
    width:100%; height:auto; display:block;
    box-shadow:0 24px 48px rgba(36,26,18,0.18);
  }
  @media (min-width:900px){
    .intro-grid{ grid-template-columns: 1fr 0.85fr; align-items:start; gap:4.5rem; }
    .intro-media img{ aspect-ratio:3/4; object-fit:cover; }
  }

  /* ---------- Quote band / coastline ---------- */
  .band-notte{ background:var(--verde-notte); color:var(--crema); }
  .quote-band{ position:relative; overflow:hidden; }
  .coastline-scene{
    position:absolute; inset:0; z-index:0; pointer-events:none;
  }
  .coastline-scene svg{ width:100%; height:100%; display:block; }
  .coastline-alberi{ color:var(--verde); opacity:0.32; }
  .quote-inner{
    position:relative; z-index:1;
    max-width:780px; margin:0 auto; padding:6rem 1.5rem 9rem;
    text-align:center;
  }
  @media (min-width:700px){ .quote-inner{ padding:7.5rem 1.5rem 11rem; } }
  .quote-inner .cedro-mark{ width:28px; height:34px; color:var(--oro-chiaro); margin:0 auto 1.4rem; display:block; }
  .quote-text{
    font-family:var(--font-display); font-style:italic; font-weight:700;
    font-size:clamp(1.25rem, 3vw, 1.85rem); line-height:1.45; margin:0;
  }

  /* ---------- Gallery ---------- */
  .gallery{ background:var(--verde-notte); padding:0; }
  .gallery-head{
    max-width:var(--maxw); margin:0 auto; padding:6.5rem 1.5rem 3rem;
    color:var(--crema);
  }
  .gallery-grid{
    display:grid; grid-template-columns:1fr; gap:2px;
  }
  .gallery-grid figure{ margin:0; overflow:hidden; position:relative; }
  .gallery-grid img{
    width:100%; height:42vh; min-height:280px; object-fit:cover;
    transition:transform .7s ease;
  }
  .gallery-grid figure:hover img{ transform:scale(1.05); }
  .gallery-grid figcaption{
    position:absolute; left:0; right:0; bottom:0;
    padding:1rem 1.2rem;
    background:linear-gradient(to top, rgba(2,10,6,0.75), transparent);
    color:var(--crema); font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase;
  }
  @media (min-width:700px){
    .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  }
  @media (min-width:1100px){
    .gallery-grid{ grid-template-columns:repeat(3,1fr); }
  }

  /* ---------- Specialità cards ---------- */
  .specialita-head{ text-align:center; }
  .specialita-head .section-title{ margin-left:auto; margin-right:auto; }
  .specialita-head p{ margin-left:auto; margin-right:auto; }
  .card-grid{
    display:grid; grid-template-columns:1fr; gap:1.8rem;
    margin-top:3.4rem;
  }
  @media (min-width:640px){ .card-grid{ grid-template-columns:repeat(2,1fr); } }
  .card{
    background:var(--crema-alt);
    border:1px solid rgba(36,26,18,0.08);
    overflow:hidden;
    display:flex; flex-direction:column;
  }
  .card img{ width:100%; height:15rem; object-fit:cover; }
  .card-body{ padding:1.6rem 1.7rem 2rem; }
  .card h3{
    font-size:1.35rem; text-transform:uppercase; letter-spacing:0.03em;
    margin-bottom:0.7rem; color:var(--rosso);
  }
  .card p{ margin:0; font-size:0.98rem; }

  /* ---------- Maestri della carne ---------- */
  .maestri-grid{
    display:grid; gap:2.8rem; grid-template-columns:1fr; align-items:center;
  }
  .maestri-text{ max-width:56ch; font-size:1.08rem; margin-top:1.4rem; }
  .maestri-text p + p{ margin-top:1.2rem; }
  .maestri-photo img{ width:100%; height:auto; }
  @media (min-width:900px){
    .maestri-grid{ grid-template-columns:1fr 1fr; gap:4.5rem; }
  }

  /* ---------- Video "Dentro la brace" ---------- */
  .brace-grid{
    display:grid; gap:2.6rem; grid-template-columns:1fr; align-items:center;
  }
  .brace-text{ max-width:42ch; font-size:1.05rem; opacity:0.88; line-height:1.65; margin-top:1.4rem; }
  @media (min-width:900px){
    .brace-grid{ grid-template-columns:0.8fr 1.2fr; gap:4.5rem; }
  }
  .video-showcase{
    position:relative; overflow:hidden;
    aspect-ratio:4/5;
    background-size:cover; background-position:center;
    display:flex; align-items:flex-end;
  }
  @media (min-width:700px){ .video-showcase{ aspect-ratio:16/10; } }
  .video-showcase::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(to top, rgba(2,10,6,0.85) 0%, rgba(2,10,6,0.08) 55%, rgba(2,10,6,0.3) 100%);
  }
  .video-showcase-play{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:1;
    width:84px; height:84px; border-radius:50%;
    border:1.5px solid rgba(247,241,226,0.65);
    display:flex; align-items:center; justify-content:center;
    color:var(--crema);
    transition:transform .25s ease, border-color .25s ease;
  }
  .video-showcase-play::after{
    content:""; position:absolute; inset:6px; border-radius:50%;
    background:rgba(247,241,226,0.14); transition:background .25s ease;
  }
  .video-showcase-play svg{ position:relative; z-index:1; margin-left:3px; }
  .video-showcase:hover .video-showcase-play{ transform:translate(-50%,-50%) scale(1.06); border-color:var(--oro-chiaro); }
  .video-showcase:hover .video-showcase-play::after{ background:var(--oro-chiaro); }
  .video-showcase-info{
    position:relative; z-index:1; width:100%;
    padding:1.6rem 1.8rem;
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
  }
  .video-showcase-caption{
    font-family:var(--font-display); font-size:1.15rem; color:var(--crema);
  }
  .video-showcase-tag{
    font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--oro-chiaro);
    border:1px solid rgba(231,206,147,0.55); padding:0.4rem 0.75rem; border-radius:2px;
    white-space:nowrap; flex:none;
  }

  /* ---------- CTA finale ---------- */
  .cta-final .band-inner{ text-align:center; }
  .cta-final .section-title{ max-width:none; margin-left:auto; margin-right:auto; }
  .cta-final p.lede{
    max-width:48ch; margin:0 auto 2.2rem; font-size:1.08rem; opacity:0.95;
  }
  .cta-final .cta-row{ justify-content:center; }
  .contact-grid{
    margin-top:3.2rem;
    display:grid; gap:1.6rem; grid-template-columns:1fr;
    text-align:left; max-width:760px; margin-left:auto; margin-right:auto;
    border-top:1px solid rgba(247,241,226,0.3); padding-top:2.4rem;
  }
  @media (min-width:700px){ .contact-grid{ grid-template-columns:repeat(3,1fr); } }
  .contact-grid dt{
    font-size:0.75rem; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--oro-chiaro); margin-bottom:0.5rem; font-weight:700;
  }
  .contact-grid dd{ margin:0; font-size:0.98rem; line-height:1.55; }
  .contact-grid a{ text-decoration:underline; text-decoration-color:var(--oro-chiaro); }

  /* ---------- Habibi cross-promo ---------- */
  .habibi-grid{
    display:grid; gap:2.8rem; grid-template-columns:1fr; align-items:center;
  }
  @media (min-width:900px){
    .habibi-grid{ grid-template-columns:0.85fr 1.15fr; gap:4.5rem; }
  }
  .habibi-logo-wrap{ margin:0; }
  .habibi-logo{ width:100%; max-width:230px; height:auto; display:block; margin-bottom:1.6rem; }
  .habibi-text{ max-width:48ch; font-size:1.05rem; line-height:1.65; opacity:0.92; margin-bottom:1.8rem; }

  .habibi-slider{
    position:relative; overflow:hidden;
    aspect-ratio:4/3; background:var(--verde-notte);
  }
  @media (min-width:700px){ .habibi-slider{ aspect-ratio:16/11; } }
  .habibi-slider-track{
    display:flex; height:100%; transition:transform 0.6s ease;
  }
  .habibi-slide{ flex:none; width:100%; height:100%; margin:0; }
  .habibi-slide img{ width:100%; height:100%; object-fit:cover; display:block; }

  .habibi-slider-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:2;
    width:42px; height:42px; border-radius:50%; border:1px solid rgba(247,241,226,0.65);
    background:rgba(2,10,6,0.35); color:var(--crema);
    display:flex; align-items:center; justify-content:center;
    font-size:1.3rem; line-height:1; cursor:pointer;
    transition:background .2s ease, border-color .2s ease;
  }
  .habibi-slider-arrow:hover{ background:rgba(2,10,6,0.6); border-color:var(--oro-chiaro); }
  .habibi-slider-arrow.prev{ left:14px; }
  .habibi-slider-arrow.next{ right:14px; }

  .habibi-slider-dots{
    position:absolute; left:0; right:0; bottom:14px; z-index:2;
    display:flex; gap:0.5rem; justify-content:center;
  }
  .habibi-slider-dots button{
    width:8px; height:8px; border-radius:50%; padding:0; border:1px solid rgba(247,241,226,0.8);
    background:rgba(247,241,226,0.25); cursor:pointer;
  }
  .habibi-slider-dots button.is-active{ background:var(--oro-chiaro); border-color:var(--oro-chiaro); }

  /* ---------- Footer ---------- */
  footer{
    background:var(--crema); color:var(--inchiostro);
    padding:3rem 1.5rem 2.2rem;
    text-align:center;
  }
  .footer-cedro{ width:34px; height:40px; color:var(--verde); margin:0 auto 1rem; display:block; }
  .footer-social{
    display:flex; gap:1.4rem; justify-content:center; margin:1.2rem 0 1.6rem;
    list-style:none; padding:0;
  }
  .footer-social a{
    text-decoration:none; font-size:0.82rem; letter-spacing:0.1em; text-transform:uppercase;
    border-bottom:1px solid var(--oro); padding-bottom:2px;
  }
  footer small{ display:block; opacity:0.65; font-size:0.78rem; margin-top:1rem; }

  /* ---------- Page hero (pagine interne) ---------- */
  .page-hero{
    position:relative;
    min-height:52vh;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    color:var(--crema);
    padding:9rem 0 3.5rem;
  }
  @media (min-width:900px){ .page-hero{ min-height:46vh; } }
  .page-hero .hero-media{ position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; background:#04150c center/cover no-repeat; }
  .page-hero .hero-overlay{ position:absolute; inset:0; z-index:1; background:linear-gradient(to bottom, rgba(2,10,6,0.35) 0%, rgba(2,10,6,0.55) 55%, rgba(2,10,6,0.88) 100%); }
  .page-hero .hero-inner{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; width:100%; }
  .breadcrumb{
    display:flex; flex-wrap:wrap; align-items:center; gap:0.5rem;
    font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--oro-chiaro); margin-bottom:1.4rem; opacity:0.9;
  }
  .breadcrumb a{ text-decoration:none; border-bottom:1px solid transparent; }
  .breadcrumb a:hover{ border-color:currentColor; }
  .breadcrumb .sep{ opacity:0.6; }
  .page-hero h1{ margin:0; max-width:24ch; font-size:clamp(2.2rem, 5.5vw, 3.6rem); }
  .page-hero .hero-sub{ margin:1.4rem 0 0; max-width:52ch; font-size:clamp(0.98rem,1.6vw,1.08rem); color:var(--crema); opacity:0.9; line-height:1.65; }

  /* ---------- Service link cards (hub servizi) ---------- */
  .service-link{ text-decoration:none; display:block; color:inherit; transition:transform .25s ease; }
  .service-link:hover{ transform:translateY(-4px); }
  .service-link .card{ height:100%; }
  .service-link .card h3{ display:flex; align-items:center; justify-content:space-between; gap:0.6rem; }
  .service-link .card h3 .arrow{ font-size:1.1rem; color:var(--inchiostro); transition:transform .25s ease; flex:none; }
  .service-link:hover .card h3 .arrow{ transform:translateX(4px); }

  /* ---------- Stats row (chi siamo) ---------- */
  .stats-row{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.8rem; margin-top:2.6rem; }
  @media (min-width:640px){ .stats-row{ grid-template-columns:repeat(4,1fr); } }
  .stat{ text-align:left; }
  .stat .num{ font-family:var(--font-display); font-size:clamp(2rem,4vw,2.8rem); font-weight:700; color:var(--rosso); line-height:1; display:block; }
  .band-rosso .stat .num, .band-verdone .stat .num, .band-notte .stat .num{ color:var(--oro-chiaro); }
  .stat .label{ font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase; opacity:0.85; margin-top:0.5rem; display:block; }

  /* ---------- Clienti (pill list, no loghi terzi) ---------- */
  .clienti-row{ display:flex; flex-wrap:wrap; gap:0.9rem; margin-top:2rem; }
  .clienti-row span{
    font-size:0.82rem; letter-spacing:0.05em; text-transform:uppercase; font-weight:700;
    padding:0.55rem 1.1rem; border:1px solid rgba(36,26,18,0.18); border-radius:2px; opacity:0.85;
  }
  .band-rosso .clienti-row span, .band-verdone .clienti-row span{ border-color:rgba(36,26,18,0.18); }

  /* ---------- Clienti (loghi aziendali, centrati) ---------- */
  .clienti-head{ text-align:center; max-width:640px; margin-left:auto; margin-right:auto; }
  .clienti-head .section-title{ margin-left:auto; margin-right:auto; }
  .clienti-logos{
    display:flex; flex-wrap:nowrap; justify-content:center; align-items:center;
    gap:clamp(0.35rem, 1.6vw, 1.4rem); margin:2.6rem auto 0; max-width:1000px; width:100%;
  }
  .clienti-logos .logo-chip{
    display:flex; align-items:center; justify-content:center;
    flex:1 1 0; min-width:0; max-width:158px;
    height:clamp(54px, 9vw, 88px); padding:clamp(0.4rem, 1.6vw, 1.1rem) clamp(0.4rem, 1.6vw, 1.4rem);
    background:var(--crema); border:1px solid rgba(36,26,18,0.12); border-radius:4px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .clienti-logos .logo-chip:hover{ transform:translateY(-3px); box-shadow:0 10px 24px rgba(36,26,18,0.12); }
  .clienti-logos .logo-chip img{
    max-width:100%; max-height:clamp(18px, 3.2vw, 38px); width:auto; height:auto; display:block;
    filter:grayscale(1) opacity(0.72); transition:filter .25s ease;
  }
  .clienti-logos .logo-chip:hover img{ filter:grayscale(0) opacity(1); }
  .band-rosso .logo-chip, .band-verdone .logo-chip{ background:var(--crema); }

  /* ---------- Feature list (bullet con icona cedro) ---------- */
  .feature-list{ list-style:none; margin:1.8rem 0 0; padding:0; display:grid; gap:1.1rem; }
  .feature-list li{ display:flex; align-items:flex-start; gap:0.9rem; font-size:1rem; }
  .feature-list .cedro-mark{ width:16px; height:20px; color:var(--rosso); flex:none; margin-top:0.25rem; }
  .band-rosso .feature-list .cedro-mark, .band-verdone .feature-list .cedro-mark, .band-notte .feature-list .cedro-mark{ color:var(--oro-chiaro); }

  /* ---------- Menu categorie ---------- */
  .menu-cat{ margin-top:5rem; }
  .menu-cat:first-of-type{ margin-top:0; }
  .menu-cat-head{ display:flex; align-items:baseline; gap:1rem; margin-bottom:2.2rem; flex-wrap:wrap; }
  .menu-cat-head h2{ font-size:clamp(1.5rem,3vw,2.1rem); text-transform:uppercase; }
  .menu-cat-head .menu-cat-note{ font-size:0.92rem; opacity:0.75; }
  .dish-grid{ display:grid; grid-template-columns:1fr; gap:1.6rem; }
  @media (min-width:640px){ .dish-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (min-width:1100px){ .dish-grid{ grid-template-columns:repeat(3,1fr); } }
  .dish{ display:flex; flex-direction:column; background:var(--crema-alt); border:1px solid rgba(36,26,18,0.08); overflow:hidden; }
  .dish img{ width:100%; height:12rem; object-fit:cover; }
  .dish-body{ padding:1.2rem 1.3rem 1.5rem; }
  .dish h3{ font-size:1.08rem; text-transform:uppercase; letter-spacing:0.02em; color:var(--rosso); margin-bottom:0.4rem; }
  .dish p{ margin:0; font-size:0.92rem; }

  /* ---------- Extended gallery page ---------- */
  .gallery-grid.gallery-grid-full{ grid-template-columns:1fr; }
  @media (min-width:700px){ .gallery-grid.gallery-grid-full{ grid-template-columns:repeat(3,1fr); } }
  @media (min-width:1100px){ .gallery-grid.gallery-grid-full{ grid-template-columns:repeat(4,1fr); } }

  /* ---------- Simple two-col text+image (servizio) ---------- */
  .split-grid{ display:grid; gap:2.8rem; grid-template-columns:1fr; align-items:center; }
  @media (min-width:900px){ .split-grid{ grid-template-columns:1fr 1fr; gap:4.5rem; } }
  .split-grid.reverse{ direction:rtl; }
  .split-grid.reverse > *{ direction:ltr; }
  .split-grid img{ width:100%; height:auto; box-shadow:0 24px 48px rgba(36,26,18,0.18); }
  .split-text{ max-width:56ch; font-size:1.05rem; }
  .split-text p + p{ margin-top:1.2rem; }

  /* ---------- Contatti page ---------- */
  .contact-columns{ display:grid; gap:3rem; grid-template-columns:1fr; }
  @media (min-width:900px){ .contact-columns{ grid-template-columns:1fr 1fr; gap:4.5rem; } }
  .contact-map{ width:100%; height:100%; min-height:320px; border:0; filter:grayscale(0.25) sepia(0.08); }
  .contact-form{ display:grid; gap:1.1rem; }
  .contact-form label{ display:block; font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:0.4rem; font-weight:700; }
  .contact-form input, .contact-form textarea{
    width:100%; padding:0.85rem 1rem; border:1px solid rgba(36,26,18,0.2); background:var(--crema);
    font-family:var(--font-body); font-size:0.95rem; color:var(--inchiostro); border-radius:2px;
  }
  .contact-form textarea{ min-height:120px; resize:vertical; }
  .contact-form button{ justify-self:start; cursor:pointer; }
  /* Nasconde il telefono nell'header sui dispositivi mobile */
@media screen and (max-width: 767px) {
  .nav-phone {
    display: none !important;
  }
}