
  *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
  :root{--cream:#FBF4E4;--cream-dark:#F5E7CB;--ink:#1E1B18;--wine:#A4133C;--gold:#C98A2D;--grey:#6F6A63;
    --serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',-apple-system,sans-serif}
  html{scroll-behavior:smooth}
  /* Focus and validation scrolls inside a form must land at once; anchors stay smooth. */
  html:has(form :focus){scroll-behavior:auto}
  body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased}
  img{display:block;width:100%;height:100%;object-fit:cover}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer}

  nav{position:absolute;top:0;left:0;right:0;z-index:100;}
  .js nav{position:fixed}
  nav{display:flex;justify-content:space-between;align-items:center;
    padding:1.2rem 3rem;transition:all .4s ease;color:#fff}
  nav.scrolled,nav.solid{background:rgba(247,243,236,.97);color:var(--ink);box-shadow:0 1px 0 rgba(30,27,24,.08);padding:.8rem 3rem;backdrop-filter:blur(8px)}
  .nav-logo{font-family:var(--serif);font-size:1.4rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
  .nav-right{display:flex;align-items:center;gap:2rem}
  .nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
  .nav-links>li{position:relative}
  .nav-links a,.nav-links .navbtn{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.9;border:none;background:none;color:inherit;
    border-bottom:1px solid transparent;padding-bottom:2px;transition:.3s;font-weight:400}
  .nav-links a:hover,.nav-links .navbtn:hover{opacity:1;border-bottom-color:currentColor}
  /* dropdown submenu */
  .dropdown{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);min-width:250px;
    background:#fff;color:var(--ink);box-shadow:0 12px 40px rgba(30,27,24,.18);border-top:2px solid var(--gold);
    opacity:0;visibility:hidden;transition:.25s;padding:.6rem 0;z-index:110}
  li.has-sub:hover .dropdown,li.has-sub:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
  .dropdown a,.dropdown button{display:block;width:100%;text-align:left;padding:.55rem 1.4rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
    background:none;border:none;color:var(--ink);opacity:.85;transition:.2s}
  .dropdown a:hover,.dropdown button:hover{background:var(--cream);opacity:1;color:var(--wine)}
  .dropdown .subhead{padding:.55rem 1.4rem .2rem;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
  /* language switch */
  .lang-switch{display:flex;gap:.5rem;align-items:center;font-size:.72rem;letter-spacing:.1em}
  .lang-switch button{background:none;border:1px solid transparent;color:inherit;padding:.25rem .5rem;border-radius:3px;opacity:.6;transition:.25s;font-size:.78rem}
  .lang-switch button.active{opacity:1;border-color:currentColor}
  @media(max-width:1000px){.nav-links{display:none}nav{padding:1rem 1.2rem}}

  .hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:#fff}
  .hero-media{position:absolute;inset:0;background:linear-gradient(160deg,#2b1a1e,#4a2530 55%,#1e1215)}
  .hero-media img{opacity:.65;transform:scale(1.06);animation:heroZoom 14s ease-out forwards}
  @keyframes heroZoom{to{transform:scale(1)}}
  .hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,12,.35),rgba(20,14,12,.15) 45%,rgba(20,14,12,.55))}
  .hero-content{position:relative;z-index:2;padding:0 1.5rem}
  .hero-eyebrow{font-size:.75rem;letter-spacing:.5em;text-transform:uppercase;margin-bottom:1.6rem;opacity:0;animation:fadeUp 1.2s ease .3s forwards}
  .hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,9vw,7.5rem);letter-spacing:.14em;text-transform:uppercase;line-height:1.05;opacity:0;animation:fadeUp 1.2s ease .6s forwards}
  .hero-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2.2vw,1.5rem);margin-top:1.4rem;opacity:0;animation:fadeUp 1.2s ease 1s forwards}
  @keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  .scroll-cue{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:2;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;opacity:.75}
  .scroll-cue::after{content:'';display:block;width:1px;height:44px;margin:.8rem auto 0;background:rgba(255,255,255,.7);animation:cue 2s ease infinite;transform-origin:top}
  @keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0)}}

  .wrap{max-width:1200px;margin:0 auto;padding:0 3rem}
  @media(max-width:820px){.wrap{padding:0 1.4rem}}
  .eyebrow{font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:#7E2B33;font-weight:500;margin-bottom:1.2rem}
  h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.15}
  .lead{font-size:1.05rem;color:var(--grey);max-width:56ch}

  .js .reveal{opacity:0;transform:translateY(46px);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}
  .js .reveal.visible{opacity:1;transform:none}
  .reveal-img{overflow:hidden}
  .js .reveal-img img{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}
  .js .reveal-img.visible img{transform:scale(1)}
  .d1{transition-delay:.15s}.d2{transition-delay:.3s}

  .quote{padding:9rem 0 8rem;text-align:center}
  .quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.45;max-width:26em;margin:0 auto}
  .quote .attr{margin-top:2rem;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:#7E2B33}
  .rule{width:56px;height:1px;background:var(--gold);margin:0 auto 2.6rem}

  .band{height:72vh;min-height:420px;position:relative;overflow:hidden}
  .band .band-img{position:absolute;inset:0;background:linear-gradient(140deg,#3d2b20,#241a12)}
  .band .band-caption{position:absolute;bottom:2.4rem;left:3rem;color:#fff;z-index:2;font-family:var(--serif);font-style:italic;font-size:1.25rem;text-shadow:0 1px 14px rgba(0,0,0,.5)}
  .band::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,10,8,.4))}

  .story{padding:8.5rem 0}
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
  @media(max-width:900px){.grid-2{grid-template-columns:1fr;gap:3rem}}
  .story-img{height:560px;background:var(--cream-dark)}
  .story-text h2{margin-bottom:1.6rem}
  .story-text p{color:var(--grey);margin-bottom:1.2rem;max-width:52ch}
  .story-text p strong{color:var(--ink);font-weight:500}
  .facts{display:flex;gap:3.5rem;margin-top:2.6rem;flex-wrap:wrap}
  .fact .num{font-family:var(--serif);font-size:2.6rem;color:var(--wine);line-height:1}
  .fact .lbl{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--grey);margin-top:.5rem}

  .cru{background:#0F284A;color:var(--cream);padding:8.5rem 0}
  .cru p{color:#B9B2A8}
  .cru-img{height:520px}
  .cru .fact .num{color:var(--gold)}
  .cru .fact .lbl{color:#8f887e}

  .wines{padding:8.5rem 0 6rem}
  .wines-head{text-align:center;margin-bottom:5.5rem}
  .wines-head .lead{margin:1.4rem auto 0}
  .wine-row{display:grid;grid-template-columns:300px 1fr;gap:4.5rem;align-items:center;padding:3.4rem 0;border-top:1px solid rgba(30,27,24,.12)}
  .wine-row:last-child{border-bottom:1px solid rgba(30,27,24,.12)}
  @media(max-width:820px){.wine-row{grid-template-columns:1fr;gap:2rem}}
  .bottle-stage{height:400px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(ellipse at 50% 88%,var(--cream-dark),transparent 68%);padding-bottom:10px}
  .bottle-stage img{width:auto;height:100%;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(30,27,24,.28));transition:transform .5s ease}
  .wine-row:hover .bottle-stage img{transform:translateY(-8px)}
  .bottle-stage.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}

  /* mobile hamburger + menu */
  .hamburger{display:none;background:none;border:none;color:inherit;font-size:1.6rem;line-height:1;padding:.2rem .4rem;text-decoration:none;cursor:pointer}
  @media(max-width:1000px){.hamburger{display:block}}
  .mobile-menu{position:fixed;inset:0;z-index:150;background:var(--cream);color:var(--ink);overflow-y:auto;display:none;padding:5rem 2rem 3rem}
  .mobile-menu:target{display:block}
  .mobile-menu .mm-close{position:absolute;top:1.2rem;right:1.4rem;background:none;border:none;font-size:1.8rem;color:var(--ink);text-decoration:none}
  .mobile-menu h6{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:1.8rem 0 .6rem}
  .mobile-menu a,.mobile-menu button.mm-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--ink);
    font-family:var(--serif);font-size:1.5rem;padding:.45rem 0;border-bottom:1px solid rgba(30,27,24,.08)}
  .mobile-menu .lang-switch{color:var(--ink);margin-top:2rem}

  .wine-info .type{font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;font-weight:500}
  .wine-info h3{font-family:var(--serif);font-weight:500;font-size:2rem;line-height:1.2;margin-bottom:1rem}
  .wine-info p{color:var(--grey);font-size:.95rem;max-width:58ch}
  .wine-specs{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;margin-top:1.4rem}
  .wine-specs span{font-size:.75rem;color:var(--ink)}
  .wine-specs b{font-weight:500;color:var(--wine)}
  .btn-scheda{margin-top:1.8rem;display:inline-block;background:none;border:1px solid var(--wine);color:var(--wine);
    padding:.7rem 1.6rem;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;transition:.3s}
  .btn-scheda:hover{background:var(--wine);color:#fff}

  .scores{background:var(--wine);color:var(--cream);padding:8.5rem 0;text-align:center}
  .scores h2{color:#fff}
  .scores .lead{color:rgba(247,243,236,.75);margin:1.4rem auto 0}
  .score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem;margin-top:5rem}
  @media(max-width:900px){.score-grid{grid-template-columns:1fr;gap:3rem}}
  .score-card{display:flex;flex-direction:column;align-items:center}
  .score-card .bottle-stage{height:320px;background:radial-gradient(ellipse at 50% 90%,rgba(0,0,0,.28),transparent 70%)}
  .score-card .bottle-stage img{filter:drop-shadow(0 16px 20px rgba(0,0,0,.45))}
  .points{margin-top:1.8rem;width:92px;height:92px;border-radius:50%;border:1px solid var(--gold);
    display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.14)}
  .points .p{font-family:var(--serif);font-size:2.1rem;line-height:1;color:#fff}
  .points .pts{font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:.2rem}
  .score-card h4{font-family:var(--serif);font-weight:500;font-size:1.25rem;margin-top:1.4rem}
  .score-card .src{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,243,236,.6);margin-top:.5rem}
  .score-note{margin-top:4rem;font-size:.7rem;color:rgba(247,243,236,.5)}

  .visit{padding:8.5rem 0}
  .visit-img{height:520px}
  footer{background:#0F284A;color:#C6CEDC;padding:5rem 0 3rem}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}
  @media(max-width:820px){.footer-grid{grid-template-columns:1fr;gap:2.4rem}}
  footer .nav-logo{color:var(--cream);font-size:1.3rem}
  footer h5{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;font-weight:500}
  footer p,footer a,footer button{font-size:.85rem;line-height:2;background:none;border:none;color:inherit;display:block;padding:0;text-align:left}
  footer a:hover,footer button:hover{color:#fff}
  .footer-bottom{margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(247,243,236,.1);
    display:flex;justify-content:space-between;font-size:.7rem;color:#7a746b;flex-wrap:wrap;gap:1rem}

  /* ============ OVERLAY PAGES (schede tecniche, tastings, press, contact) ============ */
  .page-overlay{position:fixed;inset:0;z-index:200;background:var(--cream);overflow-y:auto;display:none}
  .page-overlay:target{display:block}
  body.overlay-open{overflow:hidden}
  .op-topbar{position:sticky;top:0;z-index:210;display:flex;justify-content:space-between;align-items:center;
    padding:1rem 3rem;background:rgba(247,243,236,.97);box-shadow:0 1px 0 rgba(30,27,24,.08);backdrop-filter:blur(8px)}
  @media(max-width:820px){.op-topbar{padding:1rem 1.4rem}}
  .op-close{background:none;border:1px solid var(--ink);padding:.55rem 1.3rem;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;transition:.3s;color:var(--ink)}
  .op-close:hover{background:var(--ink);color:var(--cream)}
  .op-body{max-width:1080px;margin:0 auto;padding:4rem 3rem 6rem}
  @media(max-width:820px){.op-body{padding:2.5rem 1.4rem 4rem}}
  .op-hero{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:end;margin-bottom:4rem}
  @media(max-width:820px){.op-hero{grid-template-columns:1fr;gap:2rem}}
  .op-hero .bottle-stage{height:440px}
  .op-hero .eyebrow{margin-bottom:.8rem}
  .op-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1}
  .op-section{margin-bottom:2.6rem;max-width:70ch}
  .op-section h3{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--wine);font-weight:600;margin-bottom:.7rem}
  .op-section p{color:var(--grey);font-size:.98rem}
  .op-note{font-size:.78rem;font-style:italic;color:var(--grey);margin:2.5rem 0 3.5rem}
  .vintage-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.85rem}
  .vintage-table th{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600;
    text-align:left;padding:.8rem .9rem;border-bottom:2px solid var(--gold)}
  .vintage-table td{padding:.75rem .9rem;border-bottom:1px solid rgba(30,27,24,.1);vertical-align:top;color:var(--grey)}
  .vintage-table td:first-child{font-family:var(--serif);font-size:1.15rem;color:var(--ink)}
  .vintage-table tr.highlight td{background:rgba(176,141,87,.08)}
  .vintage-table .rev{white-space:pre-line}
  .avail-yes{color:#2e6b3f;font-weight:500}
  .avail-no{color:#a33}
  .op-map{margin-top:3rem;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--grey)}
  /* simple pages */
  .op-simple h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:2rem}
  .op-simple p{color:var(--grey);margin-bottom:1.2rem;max-width:62ch}
  .op-simple h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:2.4rem 0 .8rem}
  .press-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2.5rem;max-width:720px}
  @media(max-width:700px){.press-cats{grid-template-columns:1fr}}
  .press-cat{border:1px solid rgba(30,27,24,.15);padding:1.6rem;transition:.3s;display:block}
  .press-cat:hover{border-color:var(--gold);background:#fff}
  .press-cat .t{font-family:var(--serif);font-size:1.3rem;font-weight:500}
  .press-cat .s{font-size:.75rem;color:var(--grey);margin-top:.3rem}
  /* tasting form */
  .t-form{max-width:560px;margin-top:2.5rem}
  .t-form label{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:1.2rem 0 .4rem}
  .t-form input[type=text],.t-form input[type=email],.t-form textarea{width:100%;padding:.8rem;border:1px solid rgba(30,27,24,.25);background:#fff;font-family:inherit;font-size:.9rem}
  .t-form textarea{min-height:120px}
  .t-form .chk{display:flex;gap:.6rem;align-items:flex-start;margin-top:1.4rem;font-size:.8rem;color:var(--grey)}
  .t-form .chk input{margin-top:.3rem}
  .t-form .submit{margin-top:1.8rem;background:var(--wine);color:#fff;border:none;padding:.9rem 2.4rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;transition:.3s}
  .t-form .submit:hover{background:#571020}

  /* v5 additions */
  .map-section{padding:8.5rem 0;background:var(--cream-dark)}
  .map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:start}
  @media(max-width:960px){.map-grid{grid-template-columns:1fr}}
  .map-grid figure img{width:100%;height:auto;border:1px solid rgba(30,27,24,.12);background:#fff}
  .map-grid figcaption{font-size:.78rem;color:var(--grey);margin-top:.7rem;font-style:italic;text-align:center}
  .gmap iframe{width:100%;aspect-ratio:1/1;border:1px solid rgba(30,27,24,.12);display:block}
  .ig-link svg{opacity:.85}
  .newsletter{background:var(--wine);color:var(--cream);padding:5rem 0;text-align:center}
  .newsletter h3{font-family:var(--serif);font-weight:400;font-size:2rem;color:#fff}
  .newsletter p{color:rgba(247,243,236,.75);max-width:52ch;margin:1rem auto 2rem;font-size:.92rem}
  .nl-form{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
  .nl-form input{padding:.9rem 1.2rem;border:1px solid rgba(247,243,236,.4);background:rgba(0,0,0,.15);color:#fff;min-width:280px;font-family:inherit}
  .nl-form input::placeholder{color:rgba(247,243,236,.5)}
  .nl-form button{background:var(--gold);color:var(--ink);border:none;padding:.9rem 2rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:.3s}
  .nl-form button:hover{background:#c9a76b}
  .ig-link{display:inline-flex;align-items:center;gap:.5rem}
  .breadcrumb{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin:7rem 0 0;color:var(--grey)}
  .breadcrumb a{color:var(--gold)}
  .page-body{max-width:1080px;margin:0 auto;padding:2rem 3rem 6rem}
  @media(max-width:820px){.page-body{padding:2rem 1.4rem 4rem}}
  .sample-note{border:1px dashed var(--gold);background:rgba(176,141,87,.07);padding:1.4rem 1.6rem;margin:2.5rem 0;font-size:.85rem;color:var(--grey)}
  .sample-note b{color:var(--wine)}
  .post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem}
  @media(max-width:900px){.post-grid{grid-template-columns:1fr}}
  .post-card{background:#fff;border:1px solid rgba(30,27,24,.1);padding:2rem;display:flex;flex-direction:column;gap:.8rem}
  .post-card .date{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
  .post-card h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;line-height:1.25}
  .post-card p{font-size:.88rem;color:var(--grey)}
  .post-card .tag{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--wine);padding:.25rem .6rem;align-self:flex-start}
  .trade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
  @media(max-width:820px){.trade-grid{grid-template-columns:1fr}}
  .trade-card{background:#fff;border:1px solid rgba(30,27,24,.1);padding:2rem;display:flex;gap:1.6rem;align-items:center}
  .trade-card img{width:64px;height:auto;object-fit:contain;flex:none}
  .trade-card h3{font-family:var(--serif);font-size:1.25rem;font-weight:500}
  .trade-card .links{margin-top:.6rem;display:flex;gap:1.4rem;flex-wrap:wrap}
  .trade-card .links a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);border-bottom:1px solid var(--wine);padding-bottom:2px}



  .dl-langs{display:inline-flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
  .dl-langs .btn-scheda{margin:0;padding:.55rem 1.1rem;font-size:.62rem}

  /* the brush Q rises from the background at the heart of the hero */
  .q-watermark{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);
    height:44vh;min-height:280px;max-height:520px;width:auto;z-index:1;pointer-events:none;
    opacity:0;animation:qReveal 2.6s cubic-bezier(.22,.61,.36,1) .6s forwards}
  @keyframes qReveal{
    from{opacity:0;filter:blur(16px) brightness(1.55) saturate(1.2);transform:translate(-50%,-48%) scale(.92)}
    to{opacity:.95;filter:blur(0) brightness(1.55) saturate(1.2);transform:translate(-50%,-50%) scale(1)}}
  /* title sits low, leaving the Q alone at the centre */
  .hero{align-items:flex-end}
  .hero-content{z-index:2;padding-bottom:15vh}

  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65}


  /* wordmark in the logo's lettering style: light geometric oblique (Jost ~ logo type) */
  .logo-face{font-family:'Jost',sans-serif!important;font-style:italic;font-weight:300;
    letter-spacing:.24em;text-transform:none}
  h1.logo-face{font-size:clamp(2.4rem,6.5vw,5.4rem)!important;line-height:1.15}
  .nav-logo.logo-face{font-size:1.25rem;font-weight:400}

  .cru .eyebrow,.scores .eyebrow,.newsletter .eyebrow{color:var(--gold)}

  .cru p strong{color:#fff}

  /* slideshow */
  .slideshow{position:relative;width:100%;height:100%;overflow:hidden}
  .slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}
  .slideshow img.active{opacity:1}
  .ss-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(20,14,12,.45);color:#fff;
    border:none;width:42px;height:42px;border-radius:50%;font-size:1rem;cursor:pointer;transition:.3s}
  .ss-btn:hover{background:rgba(20,14,12,.75)}
  .ss-prev{left:14px}.ss-next{right:14px}
  .ss-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
  .ss-dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.3s}
  .ss-dots span.on{background:#fff}

  .fit-soft{object-fit:contain!important;background:var(--cream-dark)}

  .ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.6rem;max-width:720px}
  @media(max-width:700px){.ig-grid{grid-template-columns:repeat(2,1fr)}}
  .ig-tile{aspect-ratio:1/1;overflow:hidden;display:block}
  .ig-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
  .ig-tile:hover img{transform:scale(1.06)}

  a.nav-logo{text-decoration:none;color:inherit}
  @media(max-width:700px){
    nav .lang-switch{display:none}
    .nav-logo{font-size:1.05rem!important;letter-spacing:.2em}
    nav{padding:1rem 1rem!important}
  }

  .premi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem}
  .premio{display:block;background:#fff;border:1px solid rgba(30,27,24,.12);padding:.5rem;transition:.3s}
  .premio:hover{border-color:var(--gold);transform:translateY(-2px)}
  .premio img{width:100%;height:190px;object-fit:contain}
  .post-card .pimg{height:170px;overflow:hidden;margin:-2rem -2rem 0}
  .post-card .pimg img{width:100%;height:100%;object-fit:cover}
  .deg-img{max-width:520px;margin:2rem 0}
  .deg-img img{width:100%;height:auto;display:block}
  /* decanter-style article */
  .dec-page{background:#fff;color:#111;font-family:Georgia,serif;max-width:760px;margin:3rem auto;padding:3rem;border:1px solid #eee}
  .dec-brand{font-family:'Times New Roman',serif;font-weight:700;font-size:1.6rem;letter-spacing:.02em}
  .dec-premium{display:inline-block;background:#1a1a1a;color:#e8c583;font-size:.6rem;letter-spacing:.25em;padding:.3rem .7rem;margin:.8rem 0}
  .dec-page h1{font-size:2rem;line-height:1.2;margin:.6rem 0 1rem;font-weight:700}
  .dec-meta{font-family:Arial,sans-serif;font-size:.75rem;color:#666;border-bottom:1px solid #ddd;padding-bottom:1rem;margin-bottom:1.6rem}
  .dec-quote{background:#dce8d3;padding:1.6rem;font-size:1.15rem;line-height:1.5;margin:1.6rem 0}
  .dec-score{display:flex;gap:1.4rem;align-items:center;border:1px solid #ddd;padding:1.4rem;margin:1.6rem 0}
  .dec-score .n{font-size:2.6rem;font-weight:700}
  .dec-link{display:inline-block;margin-top:1.4rem;background:#1a1a1a;color:#fff;padding:.8rem 1.6rem;font-family:Arial,sans-serif;font-size:.8rem;text-decoration:none}

/* URL-based language navigation. Shared across generated language editions. */
.lang-switch a{background:none;border:1px solid transparent;color:inherit;padding:.35rem .5rem;border-radius:3px;opacity:.7;transition:.2s;font-size:.78rem;display:inline-flex;width:auto;line-height:1.3;letter-spacing:.1em;font-family:var(--sans)}
.lang-switch a[aria-current=page]{opacity:1;border-color:currentColor}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.hero-poster{position:absolute;inset:0;display:block;transition:opacity .6s ease}
.hero-poster.is-hidden{opacity:0;pointer-events:none}
.hero-poster img{width:100%;height:100%;object-fit:cover;animation:none;transform:none;opacity:.65}
.hero-booking{display:inline-block;margin-top:1.5rem;padding:.8rem 1.4rem;border:1px solid rgba(251,244,228,.8);color:var(--cream);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(20,14,12,.22)}
.hero-booking:hover{background:var(--cream);color:var(--ink)}
@media(max-width:767px){.hero{height:100svh;min-height:580px}.hero-content{padding-bottom:13vh}.hero-booking{font-size:.64rem}.dec-page{padding:1.5rem;margin:1.5rem .8rem}.dec-page h1{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal,.hero-title,.hero-eyebrow,.hero-sub{opacity:1;transform:none}.q-watermark{opacity:.95;filter:brightness(1.55) saturate(1.2)}.js .reveal-img img{transform:none}.scroll-cue::after{transform:none}.wine-row:hover .bottle-stage img{transform:none}}
@media print{nav,.mobile-menu,footer,.lang-switch,.hero-booking,.op-note,.premi-grid,.booking-form{display:none!important}.page-body{padding:0;max-width:none}.op-hero{grid-template-columns:120px 1fr;gap:1.5rem}.op-hero .bottle-stage{height:200px}.op-section{break-inside:avoid}body{background:white;color:#222}.vintage-table{font-size:10pt}}
.story-img>picture,.cru-img>picture,.band-img>picture,.visit-img>picture{display:block;width:100%;height:100%}

.wine-vintage-note{font-size:.8rem;color:var(--grey);margin-top:1rem;max-width:65ch}

/* Reserve real space for the scroll cue, including short laptop windows. */
.hero-content{padding-bottom:max(15vh,8.75rem)}
@media(min-width:1001px) and (max-height:740px){
  .q-watermark{top:28%;height:30vh;min-height:180px}
}

/* Keep the mark, title/button and scroll cue in separate layout rows. */
@media(max-width:767px),(max-width:1000px) and (max-height:500px){
  .hero{height:100vh;height:100svh;min-height:36rem;display:grid;grid-template-rows:minmax(8rem,1fr) auto auto;grid-template-columns:minmax(0,1fr);gap:1.25rem;padding:5.5rem 1.25rem max(1.25rem,env(safe-area-inset-bottom));align-items:center;justify-items:center}
  .q-watermark{position:relative;inset:auto;transform:none;width:auto;height:100%;min-height:0;max-height:min(36svh,22rem);max-width:100%;object-fit:contain;animation:mobileQReveal 2.6s ease .6s forwards}
  .hero-content{width:100%;padding:0;min-width:0}
  .hero-eyebrow{font-size:.65rem;letter-spacing:.4em;margin-bottom:.85rem}
  .hero h1.logo-face{font-size:clamp(1.7rem,8.6vw,2.8rem)!important;letter-spacing:.18em}
  .hero-booking{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;margin-top:1.2rem;padding:.8rem 1.25rem;font-size:.65rem;letter-spacing:.16em;line-height:1.5}
  .scroll-cue{position:relative;inset:auto;transform:none;line-height:1.4;pointer-events:none}
  .scroll-cue::after{height:24px;margin:.65rem auto 0}
}
@keyframes mobileQReveal{from{opacity:0;filter:blur(12px) brightness(1.55) saturate(1.2)}to{opacity:.95;filter:blur(0) brightness(1.55) saturate(1.2)}}

/* A compact two-column composition when a phone is turned sideways. */
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
  .hero{min-height:24rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:minmax(8rem,1fr) auto;column-gap:1.5rem;row-gap:1rem;padding:5.25rem max(1.5rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left))}
  .q-watermark{grid-column:1;grid-row:1;max-height:50svh}
  .hero-content{grid-column:2;grid-row:1}
  .hero h1.logo-face{font-size:clamp(1.7rem,4.8vw,2.8rem)!important}
  .scroll-cue{grid-column:1/-1;grid-row:2}
  .scroll-cue::after{height:16px;margin-top:.5rem}
}

@media(max-width:1000px){
  .hamburger{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0}
  .mobile-menu{overscroll-behavior:contain;padding-bottom:max(3rem,env(safe-area-inset-bottom))}
  .mobile-menu .mm-close{width:44px;height:44px;padding:0;border:0;display:flex;align-items:center;justify-content:center}
  .mobile-menu .lang-switch{gap:.65rem}
  .mobile-menu .lang-switch a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
}
@media(max-width:767px){
  .ss-btn{width:44px;height:44px}
  .band .band-caption{left:1.4rem;right:1.4rem;bottom:1.6rem}
  .nl-form input{min-width:0;width:100%;max-width:360px;font-size:1rem}
  section[id]{scroll-margin-top:5rem}
}

/* Mobile language picker stays beside the menu, not inside it. */
.mobile-language{display:none}
@media(max-width:1000px){
  nav .nav-right{gap:.5rem;flex-shrink:0}
  nav .lang-switch{display:none}
  nav .mobile-language{display:block;position:relative}
  .mobile-language summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:60px;min-height:44px;padding:.5rem .65rem;border:1px solid currentColor;border-radius:3px;font-size:.75rem;letter-spacing:.08em;font-weight:400;cursor:pointer}
  .mobile-language summary::-webkit-details-marker{display:none}
  .mobile-language summary::after{content:'';width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
  .mobile-language[open] summary::after{transform:translateY(2px) rotate(225deg)}
  .mobile-language summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
  .mobile-language-options{position:absolute;top:calc(100% + .5rem);right:0;min-width:152px;padding:.35rem;background:var(--cream);color:var(--ink);border:1px solid rgba(30,27,24,.15);box-shadow:0 8px 24px rgba(20,14,12,.18);border-radius:3px}
  .mobile-language-options a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.6rem .75rem;font-size:.85rem;font-weight:400;white-space:nowrap}
  .mobile-language-options a[aria-current=page]{color:var(--wine);background:var(--cream-dark)}
  .mobile-language-options a[aria-current=page]::after{content:'✓';font-size:.8rem}
  .mobile-language-options a:hover{background:var(--cream-dark)}
}

/* Keep vintage tables within the narrowest phone screens. */
@media(max-width:350px){.vintage-table th,.vintage-table td{padding:.7rem .4rem}.vintage-table th{letter-spacing:.08em;overflow-wrap:anywhere}}
