
/* ============================================================
   MONTALBANO OLIO, shared design system
   ============================================================ */
:root{
  --frantoio:#151C14;
  --frantoio-2:#1B231A;
  --frantoio-3:#232C20;
  --bone:#ECE6D6;
  --bone-2:rgba(236,230,214,.66);
  --bone-3:rgba(236,230,214,.40);
  --stone:#E8E9DF;
  --stone-2:#DFE1D4;
  --ink:#1A2117;
  --ink-2:rgba(26,33,23,.66);
  --ink-3:rgba(26,33,23,.40);
  --olio-green:#A9BE3F;
  --olio-gold:#D7B358;
  --olio-gold-deep:#BE9740;
  --oil:linear-gradient(102deg,var(--olio-green),var(--olio-gold));
  --line-dark:rgba(236,230,214,.15);
  --line-light:rgba(26,33,23,.13);
  --pad:clamp(5rem,10vw,9rem);
  --pad-s:clamp(3.5rem,7vw,6rem);
  --gutter:clamp(1.25rem,5vw,4.25rem);
  --maxw:1500px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}
body{
  margin:0;background:var(--frantoio);color:var(--bone);
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:1.0625rem;line-height:1.72;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}
::selection{background:var(--olio-gold);color:var(--frantoio)}
:focus-visible{outline:2px solid var(--olio-gold);outline-offset:3px;border-radius:2px}

/* ---------- type ---------- */
.serif{font-family:"Fraunces",Georgia,serif;font-optical-sizing:auto}
.eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  color:var(--olio-gold);display:inline-flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:1.6rem;height:1px;background:var(--olio-gold);opacity:.7}
.eyebrow.no-rule::before{display:none}
.mono{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.02em}
h1,h2,h3{margin:0;font-weight:400;line-height:1.04;letter-spacing:-.01em}
h2.display{font-family:"Fraunces",Georgia,serif;font-size:clamp(2.15rem,5.4vw,4.3rem);font-weight:300;line-height:1.02}
h2.display em,h1 em{font-style:italic;font-weight:300}
h3.sub{font-family:"Fraunces",Georgia,serif;font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:400}
.lead{font-size:clamp(1.18rem,1.7vw,1.55rem);line-height:1.55;font-weight:300}
p{margin:0 0 1.15em}
.muted{color:var(--bone-2)}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
section{padding-block:var(--pad);position:relative}
section.compact{padding-block:var(--pad-s)}
.section-head{display:flex;flex-direction:column;gap:1.4rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.light{background:var(--stone);color:var(--ink)}
.light .eyebrow{color:var(--olio-gold-deep)}
.light .eyebrow::before{background:var(--olio-gold-deep)}
.light .muted{color:var(--ink-2)}
.center{text-align:center;align-items:center}
.center .eyebrow{justify-content:center}

/* ---------- header / nav ---------- */
header.site{position:absolute;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;padding:1.15rem var(--gutter);
  transition:background .4s var(--ease),padding .4s var(--ease),border-color .4s var(--ease);
  border-bottom:1px solid transparent}
header.site.scrolled,header.site.solid{background:rgba(14,19,13,.55);backdrop-filter:saturate(155%) blur(22px);
  -webkit-backdrop-filter:saturate(155%) blur(22px);padding-block:.85rem;border-bottom:1px solid rgba(236,230,214,.07)}
/* hero-top legibility: dark halo on the text only (video untouched) */
header.site:not(.solid):not(.scrolled){text-shadow:0 1px 2px rgba(0,0,0,.62),0 0 20px rgba(0,0,0,.45)}
header.site:not(.solid):not(.scrolled)::before{content:"";position:absolute;left:0;right:0;top:0;height:150px;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(11,15,10,.78) 0%,rgba(11,15,10,.42) 42%,rgba(11,15,10,0) 100%)}
header.site:not(.solid):not(.scrolled) .brand,header.site:not(.solid):not(.scrolled) nav.primary a,header.site:not(.solid):not(.scrolled) .lstxt{color:var(--bone)}
header.site:not(.solid):not(.scrolled) svg{filter:drop-shadow(0 1px 4px rgba(0,0,0,.55))}
.brand{display:flex;align-items:baseline;gap:.55rem;font-family:"Fraunces",serif;font-size:1.18rem;letter-spacing:.01em}
.brand b{font-weight:500}
.brand .leaf{width:.55rem;height:.55rem;border-radius:0 50% 50% 50%;background:var(--oil);transform:rotate(45deg);align-self:center}
nav.primary{display:flex;align-items:center;gap:1.4rem}
.lsbtn .lstxt{display:none}
nav.primary a{font-size:.82rem;letter-spacing:.04em;color:var(--bone-2);transition:color .25s;position:relative;padding-bottom:2px}
nav.primary a:hover{color:var(--bone)}
nav.primary a[aria-current="page"]{color:var(--bone)}
nav.primary a[aria-current="page"]::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:var(--olio-gold)}
.head-right{display:flex;align-items:center;gap:1.4rem}
.lang{display:flex;gap:.55rem;font-size:.74rem;color:var(--bone-3);letter-spacing:.06em}
.lang a{transition:color .25s}.lang a:hover{color:var(--olio-gold)}
.lang .on{color:var(--bone)}
.menu-btn{display:none;width:30px;height:30px;position:relative}
.menu-btn span{position:absolute;left:3px;right:3px;height:2px;border-radius:2px;background:var(--bone);transition:.35s var(--ease)}
.menu-btn span:nth-child(1){top:11px}.menu-btn span:nth-child(2){bottom:11px}
body.menu-open .menu-btn span:nth-child(1){top:14px;transform:rotate(45deg)}
body.menu-open .menu-btn span:nth-child(2){bottom:14px;transform:rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:55;background:var(--frantoio);display:flex;flex-direction:column;
  justify-content:center;gap:1.2rem;padding:var(--gutter);opacity:0;visibility:hidden;transition:opacity .4s var(--ease)}
body.menu-open .drawer{opacity:1;visibility:visible}
.drawer a{font-family:"Fraunces",serif;font-size:2rem;font-weight:300;color:var(--bone)}
.drawer a[aria-current="page"]{color:var(--olio-gold)}
.drawer .mono{font-family:"IBM Plex Mono";font-size:.78rem;color:var(--bone-3);margin-top:1.5rem}
.drawer .langs{display:flex;gap:1.2rem;font-size:.95rem}
.drawer .langs a{font-family:"Hanken Grotesk";font-size:.95rem;color:var(--bone-2)}

/* ---------- reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js [data-reveal].in{opacity:1;transform:none}
.js [data-reveal][data-delay="1"]{transition-delay:.09s}
.js [data-reveal][data-delay="2"]{transition-delay:.18s}
.js [data-reveal][data-delay="3"]{transition-delay:.27s}
.js [data-reveal][data-delay="4"]{transition-delay:.36s}
/* when GSAP drives the reveals, GSAP owns opacity/transform: hide until revealed, no CSS double-animation */
html.gsap [data-reveal]{opacity:0;transform:translateY(24px);transition:none}
html.gsap [data-reveal].in{opacity:1;transform:none}

/* ---------- full hero (home) ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:clamp(2.5rem,6vh,5rem)}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__photo{position:absolute;inset:0;background-size:cover;background-position:center 30%;
  background-image:linear-gradient(180deg,rgba(21,28,20,.55) 0%,rgba(21,28,20,.35) 35%,rgba(21,28,20,.78) 100%),
    url("/assets/hero-poster.jpg")}
@keyframes drift{from{transform:translate(-54%,-52%) scale(1)}to{transform:translate(-46%,-44%) scale(1.08)}}
.hero__grain{position:absolute;inset:0;background:linear-gradient(transparent,rgba(21,28,20,.6))}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(3.8rem,6vh,5rem)}
.hero__eyebrow{margin-bottom:1.8rem}
.hero h1{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(3.4rem,12vw,10rem);line-height:.92;letter-spacing:-.025em}
.hero h1 .it{font-style:italic;display:block;font-weight:300}
.hero__tag{font-family:"Fraunces",serif;font-style:italic;font-weight:300;font-size:clamp(1.3rem,3.2vw,2.1rem);margin-top:1.4rem;opacity:.92}
.hero__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:clamp(2.2rem,5vw,3.4rem)}
.hero__lede{max-width:40ch;color:var(--bone-2);font-weight:300;font-size:1.08rem}
.hero__coords{text-align:right;color:var(--bone-3);line-height:1.9}
.hero__coords b{color:var(--olio-gold);font-weight:500}
.scrollcue .bar{width:1px;height:38px;background:linear-gradient(var(--olio-gold),transparent);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.5}50%{transform:scaleY(1);opacity:1}}

/* ---------- page hero (inner pages) ---------- */
.page-hero{position:relative;min-height:clamp(48vh,60svh,640px);display:flex;align-items:flex-end;
  overflow:hidden;padding:8rem 0 clamp(2.5rem,5vw,4rem)}
.page-hero__photo{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.page-hero .wrap{position:relative;z-index:2;width:100%}
.page-hero h1{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(2.6rem,8vw,6rem);line-height:.96;letter-spacing:-.02em;margin-top:1.2rem}
.page-hero .standfirst{max-width:54ch;color:var(--bone-2);font-weight:300;font-size:clamp(1.05rem,1.6vw,1.35rem);margin-top:1.4rem}
.ph-geschichte .page-hero__photo{background-image:linear-gradient(180deg,rgba(21,28,20,.5),rgba(21,28,20,.82)),url("/assets/img/story-hero.jpg")}
.ph-sorten .page-hero__photo{background-image:linear-gradient(180deg,rgba(21,28,20,.5),rgba(21,28,20,.82)),url("/assets/img/sorten-hero.jpg")}
.ph-produktion .page-hero__photo{background-image:linear-gradient(180deg,rgba(21,28,20,.5),rgba(21,28,20,.82)),url("/assets/img/prod-hero.jpg")}
.ph-shop .page-hero__photo{background-image:linear-gradient(180deg,rgba(21,28,20,.5),rgba(21,28,20,.82)),url("/assets/img/e075.jpg");background-position:center 25%}
.ph-kontakt .page-hero__photo{background-image:linear-gradient(180deg,rgba(21,28,20,.5),rgba(21,28,20,.82)),url("/assets/img/contact-hero.jpg")}

/* ---------- breadcrumb ---------- */
.crumbs{display:flex;gap:.6rem;font-family:"IBM Plex Mono";font-size:.74rem;letter-spacing:.04em;color:var(--bone-3);align-items:center}
.crumbs a{color:var(--bone-3);transition:color .25s}.crumbs a:hover{color:var(--olio-gold)}
.crumbs .sep{opacity:.5}
.crumbs .here{color:var(--bone)}
.gw-card .idx{font-family:"IBM Plex Mono";font-size:.74rem;color:var(--olio-gold);letter-spacing:.1em}
.gw-card .go{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;font-size:.78rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--olio-gold)}
.gw-card .go .ar{transition:transform .35s var(--ease)}
.gw-card:hover .go .ar{transform:translateX(5px)}

/* ---------- manifesto / story ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.big{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(1.7rem,3.8vw,3rem);line-height:1.18;letter-spacing:-.01em;max-width:18ch}
.big em{font-style:italic;color:var(--olio-gold)}
.body-col{color:var(--bone-2);max-width:52ch}
.body-col p:last-child{margin-bottom:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border-block:1px solid var(--line-dark);margin-top:clamp(3rem,6vw,5rem)}
.stat{background:var(--frantoio);padding:1.8rem clamp(1rem,2vw,1.6rem)}
.light .stats{background:var(--line-light);border-color:var(--line-light)}
.light .stat{background:var(--stone)}
.stat .n{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(1.7rem,3vw,2.6rem);color:var(--olio-gold);line-height:1}
.stat .l{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-3);margin-top:.7rem;line-height:1.5}
.light .stat .l{color:var(--ink-2)}
.media-frame .cap{padding:1.5rem 1.7rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-2)}
.duo-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.spec-list{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--line-dark)}
.spec-list li{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line-dark);font-size:.95rem}
.spec-list .k{color:var(--bone-2)}
.spec-list .v{font-family:"IBM Plex Mono";font-size:.82rem;color:var(--olio-gold);text-align:right}
.spectrum.in{transform:scaleX(1)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.5vw,2rem)}
.card{border:1px solid var(--line-dark);border-radius:6px;padding:clamp(1.6rem,2.4vw,2.4rem);position:relative;overflow:hidden;
  transition:border-color .4s,transform .4s var(--ease)}
.card:hover{border-color:rgba(215,179,88,.5);transform:translateY(-4px)}
.card .swatch{width:2.4rem;height:2.4rem;border-radius:50%;margin-bottom:1.5rem}
.card .idx{font-family:"IBM Plex Mono";font-size:.74rem;color:var(--bone-3);position:absolute;top:1.4rem;right:1.5rem}
.card h3{font-family:"Fraunces",serif;font-size:1.45rem;font-weight:400;margin-bottom:.2rem}
.card .role{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olio-gold);margin-bottom:1rem}
.card p{color:var(--bone-2);font-size:.95rem;margin:0}
.card[data-cult]{cursor:pointer}
.card .card-cta{display:inline-flex;gap:.4rem;align-items:center;margin-top:1.1rem;font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3);opacity:0;transform:translateY(4px);transition:opacity .35s var(--ease),transform .35s var(--ease),color .35s var(--ease)}
.card:hover .card-cta,.card:focus-visible .card-cta{opacity:1;transform:translateY(0);color:var(--olio-gold)}
.card .card-cta span{transition:transform .35s var(--ease)}
.card:hover .card-cta span{transform:translateY(2px)}
.blend-note{margin-top:clamp(2.5rem,5vw,3.5rem);font-family:"Fraunces",serif;font-style:italic;font-weight:300;
  font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.4;max-width:34ch;color:var(--bone)}
.blend-note span{color:var(--olio-gold)}

/* ---------- tasting ---------- */
.duo-grid.tasting{grid-template-columns:.9fr 1.1fr}
.glass{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;max-width:380px;margin-inline:auto;width:100%;
  background:radial-gradient(circle at 38% 32%,#E9E4B8,var(--olio-green) 46%,var(--olio-gold-deep) 92%);
  box-shadow:inset 0 8px 40px rgba(0,0,0,.18),0 30px 60px -30px rgba(190,151,64,.6)}
.glass::after{content:"";position:absolute;width:34%;height:24%;left:24%;top:20%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.6),transparent 70%)}
.glass .label{font-family:"IBM Plex Mono";font-size:.72rem;letter-spacing:.1em;color:rgba(26,33,23,.7);
  background:rgba(232,233,223,.75);padding:.3rem .7rem;border-radius:100px;position:relative;z-index:2}
.notes{list-style:none;padding:0;margin:2rem 0 0}
.notes li{padding:1.1rem 0;border-top:1px solid var(--line-light);display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:baseline}
.notes li .t{font-family:"IBM Plex Mono";font-size:.72rem;color:var(--olio-gold-deep);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.notes li .d{color:var(--ink)}
.notes li .d b{font-weight:600}

/* ---------- production ---------- */
.steps{counter-reset:step;display:grid;gap:0}
.step{display:grid;grid-template-columns:minmax(0,5.5rem) 1fr;gap:clamp(1.5rem,4vw,4rem);
  padding:clamp(2.2rem,4vw,3.2rem) 0;border-top:1px solid var(--line-dark);align-items:start}
.step:last-child{border-bottom:1px solid var(--line-dark)}
.step .num{counter-increment:step;font-family:"IBM Plex Mono";font-size:.85rem;color:var(--olio-gold)}
.step .num::before{content:"0" counter(step)}
.step .c{max-width:60ch}
.step h3{font-family:"Fraunces",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:400;margin-bottom:.7rem}
.step p{color:var(--bone-2);margin:0}
.step .img{border-radius:5px;overflow:hidden;aspect-ratio:4/3;margin-top:1.6rem;background-size:cover;background-position:center;filter:saturate(.92)}
.step .img.s1{background-image:linear-gradient(rgba(21,28,20,.12),rgba(21,28,20,.32)),url("/assets/img/p06.jpg")}
.step .img.s2{background-image:linear-gradient(rgba(21,28,20,.12),rgba(21,28,20,.32)),url("/assets/img/e074.jpg");background-position:center 35%}
.step .img.s3{background-image:linear-gradient(rgba(21,28,20,.12),rgba(21,28,20,.32)),url("/assets/img/e075.jpg")}

/* ---------- health ---------- */
.benefits{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1px;background:var(--line-light);border:1px solid var(--line-light);border-radius:6px;overflow:hidden}
.benefits li{background:var(--stone);padding:1.3rem 1.5rem;display:flex;gap:1rem;align-items:flex-start}
.benefits .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--oil);margin-top:.55rem;flex:none}
.benefits span{color:var(--ink)}

/* ---------- voices ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem)}
.quote{border-top:1px solid var(--line-dark);padding-top:1.8rem}
.quote .mark{font-family:"Fraunces",serif;font-size:3rem;line-height:.5;color:var(--olio-gold);display:block;height:1.4rem}
.quote p{font-family:"Fraunces",serif;font-style:italic;font-weight:300;font-size:1.12rem;line-height:1.5;color:var(--bone)}
.quote .who{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-3);margin-top:1.2rem}
.quote .who b{color:var(--bone);font-weight:500}
.quote .who a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(215,179,88,.35);padding-bottom:1px;transition:color .2s,border-color .2s}
.quote .who a:hover{color:var(--olio-gold);border-color:var(--olio-gold)}
.q-stars{color:var(--olio-gold);font-size:.78rem;letter-spacing:.24em;margin:.9rem 0 .65rem}
.quotes.q-live .quote p.q-clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.quotes .quote{transition:opacity .45s var(--ease),transform .45s var(--ease)}
.quotes .quote:nth-child(2){transition-delay:.06s}
.quotes .quote:nth-child(3){transition-delay:.12s}
.quotes.q-out .quote{opacity:0;transform:translateX(-18px)}
.quotes.q-in .quote{transition:none;opacity:0;transform:translateX(18px)}
.q-gline{margin-top:2.2rem}
.q-gline a{display:inline-flex;align-items:center;gap:.55rem;font-size:.82rem;letter-spacing:.05em;color:var(--bone-3);text-decoration:none;transition:color .2s}
.q-gline a:hover{color:var(--bone)}
.q-gline b{color:var(--bone);font-weight:600;font-variant-numeric:tabular-nums}
.q-gline .q-st{color:var(--olio-gold)}
.q-g{width:15px;height:15px;flex:none}
@media(prefers-reduced-motion:reduce){.quotes .quote{transition:none}}

/* ---------- buttons ---------- */
.btn-primary{display:inline-flex;align-items:center;gap:.8rem;background:var(--oil);color:var(--frantoio);
  font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:1rem 2rem;border-radius:100px;
  transition:transform .3s var(--ease),box-shadow .3s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px -18px rgba(215,179,88,.7)}
.btn-primary.done{background:var(--frantoio-3);color:var(--olio-gold);box-shadow:none;transform:none}
.btn-ghost{display:inline-flex;align-items:center;gap:.7rem;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
  padding:1rem 1.8rem;border:1px solid var(--line-dark);border-radius:100px;color:var(--bone);transition:.3s}
.btn-ghost:hover{border-color:var(--olio-gold);color:var(--olio-gold)}
.light .btn-ghost{border-color:var(--line-light);color:var(--ink)}
.light .btn-ghost:hover{border-color:var(--olio-gold-deep);color:var(--olio-gold-deep)}
/* editorial alternating rows */
.products{display:flex;flex-direction:column;gap:clamp(2rem,4.2vw,3.6rem)}
.product-card{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  border:1px solid rgba(215,179,88,.13);border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 62%);
  transition:border-color .5s var(--ease),box-shadow .5s var(--ease)}
.product-card:hover{border-color:rgba(215,179,88,.36);box-shadow:0 30px 72px -38px rgba(0,0,0,.72)}
.product-card .pc-media{position:relative;overflow:hidden;min-height:clamp(15rem,30vw,23rem);
  background:radial-gradient(110% 82% at 50% 40%,rgba(125,140,96,.15),rgba(20,27,19,0) 62%)}
.product-card.pr-rev .pc-media{order:2}
.product-card .pc-media .badge{position:absolute;top:1.1rem;left:1.1rem;z-index:2;font-family:"IBM Plex Mono";font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--olio-gold);border:1px solid rgba(215,179,88,.3);
  background:rgba(20,27,19,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:100px;padding:.32rem .8rem}
.product-card .pc-img{position:absolute;inset:clamp(1.6rem,3.5vw,3.2rem);margin:auto;
  max-width:84%;max-height:84%;width:auto;height:auto;object-fit:contain;
  filter:drop-shadow(0 26px 30px rgba(0,0,0,.5));transition:transform .65s var(--ease)}
.product-card:hover .pc-img{transform:scale(1.045)}
.product-card .pc-3d{position:absolute;inset:0;z-index:2;cursor:grab;touch-action:pan-y}
.product-card .pc-3d:empty{display:none}
.product-card .pc-3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.product-card.has3d .pc-img{display:none}
.product-card .pc-body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.5rem;
  padding:clamp(2rem,4vw,3.2rem) clamp(2rem,5vw,4rem)}
.product-card.pr-rev .pc-body{order:1}
.product-card .pc-eyebrow{font-family:"IBM Plex Mono";font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olio-gold);margin-bottom:.3rem}
.product-card .pc-body h3{font-family:"Fraunces",serif;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:400;line-height:1.08}
.product-card .pc-desc{font-size:.92rem;color:var(--bone-2);line-height:1.62;max-width:36ch;margin:.5rem 0 .2rem;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product-card .pc-foot{display:flex;align-items:center;gap:1.4rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line-dark);width:100%}
.product-card .pc-price{font-family:"Fraunces",serif;font-size:1.35rem;color:var(--olio-gold)}
.product-card .pc-price--req{font-family:"IBM Plex Mono",monospace;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-2)}
.product-card .pc-link{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);display:inline-flex;gap:.45rem;align-items:center;margin-left:auto}
.product-card .pc-link .ar{transition:transform .35s var(--ease)}
.product-card:hover .pc-link .ar{transform:translateX(4px)}

/* ---------- product detail ---------- */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.pdp-media{position:relative}
.pdp-stage{aspect-ratio:1;
  display:grid;place-items:center}
.pdp-stage svg{width:34%;height:auto}
.pdp-thumbs .th{aspect-ratio:1;border-radius:5px;background-size:cover;background-position:center;border:1px solid var(--line-dark);filter:saturate(.92)}
.pdp h1{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(2rem,4vw,3rem);line-height:1;margin:.8rem 0 .2rem}
.pdp-feature,.pdp-origin{padding-block:clamp(3.5rem,7vw,6.5rem)}
.pdp-feat-img,.pdp-origin-img{border-radius:16px;aspect-ratio:4/5;background-size:cover;background-position:center;background-color:#10160f;border:1px solid var(--line-dark);box-shadow:0 38px 84px -48px rgba(0,0,0,.82);filter:saturate(1.12) contrast(1.05)}
.pdp-feat-img{background-image:url(/assets/img/p03.jpg)}
.pdp-origin-img{background-image:url(/assets/img/p11.jpg);aspect-ratio:5/4}
.pdp-notes{margin-top:1.6rem}
@media(max-width:820px){.pdp-feat-img,.pdp-origin-img{aspect-ratio:16/10}}
.pdp .price{font-family:"Fraunces",serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:300;color:var(--olio-gold);margin:.4rem 0 0}
.pdp .price small{font-family:"Hanken Grotesk";font-size:.8rem;color:var(--bone-3);letter-spacing:.04em}
.pdp .desc{color:var(--bone-2);margin:1.4rem 0;max-width:46ch}
.opts{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.4rem 0}
.opt{font-size:.8rem;letter-spacing:.04em;padding:.6rem 1.1rem;border:1px solid var(--line-dark);border-radius:100px;
  background:transparent;color:var(--bone-2);transition:.25s}
.opt[aria-pressed="true"]{border-color:var(--olio-gold);color:var(--frantoio);background:var(--olio-gold)}
.qty-row{display:flex;align-items:center;gap:1rem;margin:1.6rem 0;flex-wrap:wrap}
.pdp-add{white-space:nowrap}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-dark);border-radius:100px;overflow:hidden}
.qty button{width:2.6rem;height:2.6rem;color:var(--bone);font-size:1.2rem}
.qty button:hover{color:var(--olio-gold)}
.qty span{min-width:2rem;text-align:center;font-family:"IBM Plex Mono";font-size:.9rem}
.pdp-specs{margin-top:2.2rem;border-top:1px solid var(--line-dark)}
.pdp-specs dl{margin:0}
.pdp-specs .row{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line-dark)}
.pdp-specs dt{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-3)}
.pdp-specs dd{margin:0;color:var(--bone-2);font-size:.95rem}

/* ---------- contact ---------- */
.field{margin-bottom:1.4rem}
.field label{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-3);margin-bottom:.55rem}
.field input,.field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-dark);
  color:var(--bone);font:inherit;font-size:1rem;padding:.55rem 0;transition:border-color .3s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--olio-gold)}
.field textarea{resize:vertical;min-height:80px}.track-sec{padding:clamp(3rem,7vw,5rem) 0}.track-sub{max-width:46ch;color:var(--bone-2);margin:.2rem 0 1.7rem;line-height:1.6}.track-form{display:flex;flex-wrap:wrap;gap:.7rem;max-width:42rem}.track-form input{flex:1 1 12rem;background:rgba(236,230,214,.05);border:1px solid var(--line-dark);border-radius:11px;padding:.9rem 1.05rem;color:var(--bone);font-family:inherit;font-size:.95rem}.track-form input::placeholder{color:var(--bone-3)}.track-form input:focus{outline:none;border-color:var(--olio-gold)}.track-form .btn-primary{flex:0 0 auto}.track-result{margin-top:1.5rem;max-width:42rem}.track-card{background:var(--frantoio-2);border:1px solid var(--line-dark);border-radius:15px;padding:1.5rem 1.6rem}.track-card.none{color:var(--bone-2)}.ts-steps{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1.1rem}.ts-step{display:flex;flex-direction:column;align-items:center;gap:.45rem;flex:0 0 auto;width:5.4rem;color:var(--bone-3);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;line-height:1.3}.ts-dot{width:15px;height:15px;border-radius:50%;border:2px solid var(--line-dark)}.ts-step.on{color:var(--olio-gold)}.ts-step.on .ts-dot{background:var(--olio-gold);border-color:var(--olio-gold);box-shadow:0 0 0 4px rgba(215,179,88,.14)}.ts-line{flex:1 1 auto;height:2px;background:var(--line-dark);margin-top:6px;border-radius:2px}.ts-line.on{background:var(--olio-gold)}.tr-note{color:var(--bone);line-height:1.55;margin:.3rem 0 1.1rem}.tr-row{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--line-dark)}.tr-row span:first-child{color:var(--bone-3);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;align-self:center}.tr-row span:last-child{color:var(--bone);text-align:right;font-size:.92rem}.tr-track{margin-top:1.1rem;padding:1.05rem 1.15rem;background:rgba(215,179,88,.08);border:1px solid rgba(215,179,88,.25);border-radius:11px}.tr-track-l{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olio-gold);margin-bottom:.35rem}.tr-track-n{font-family:"IBM Plex Mono",monospace;font-size:1.05rem;color:var(--olio-gold);letter-spacing:.04em;word-break:break-all}.tr-track-n a{color:var(--olio-gold);text-decoration:underline;text-decoration-color:rgba(215,179,88,.45);text-underline-offset:3px;transition:text-decoration-color .2s}.tr-track-n a:hover{text-decoration-color:var(--olio-gold)}.tr-track-n a span{font-family:inherit;opacity:.7;font-size:.85em;text-decoration:none}.tr-no{margin-top:1.1rem;color:var(--bone-3);font-size:.7rem;letter-spacing:.12em}.track-loading{color:var(--bone-3);font-size:.9rem}@media(max-width:560px){.track-form{flex-direction:column;align-items:stretch}.track-form input,.track-form .btn-primary{width:100%}.track-form .btn-primary{justify-content:center}}
.form-note{font-size:.78rem;color:var(--bone-3);margin-top:.5rem}
.form-note a{color:var(--bone-2);border-bottom:1px solid var(--line-dark)}
.form-ok{color:var(--olio-gold);font-size:.92rem;margin-top:1rem;display:none}
.addr-block{margin-bottom:2rem}
.addr-block .eyebrow{margin-bottom:.9rem}
.addr-block p{color:var(--bone-2);font-size:.95rem;margin:0;line-height:1.7}
.addr-block a{color:var(--bone);border-bottom:1px solid var(--line-dark)}
.addr-block a:hover{border-color:var(--olio-gold);color:var(--olio-gold)}
.kon-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:.9rem;margin:1rem 0 0;max-width:440px}
.kon-act{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.5rem;border:1px solid var(--line-dark);border-radius:100px;color:var(--bone);font-size:.8rem;letter-spacing:.06em;line-height:1;text-transform:uppercase;transition:border-color .35s ease,color .35s ease,background .35s ease}
@media(max-width:520px){.kon-actions{grid-template-columns:1fr;max-width:340px}}
.kon-act svg{flex:none;width:19px;height:19px}
.kon-ig{text-transform:none;letter-spacing:.04em}
.kon-act:hover{border-color:var(--olio-gold);color:var(--olio-gold);background:rgba(215,179,88,.08)}
.light .kon-act{border-color:var(--line-light);color:var(--ink)}
.light .kon-act:hover{border-color:var(--olio-gold-deep);color:var(--olio-gold-deep);background:rgba(190,151,64,.08)}
/* embedded Google map shortcut (Roots): see the estate, click to open Maps */
.map-embed{position:relative;display:block;margin-top:2.2rem;max-width:520px;border-radius:16px;overflow:hidden;border:1px solid var(--line-light);text-decoration:none;box-shadow:0 12px 32px rgba(26,33,23,.1);transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}
.map-embed:hover{border-color:var(--olio-gold-deep);box-shadow:0 20px 46px rgba(26,33,23,.16);transform:translateY(-2px)}
.map-embed__frame{display:block;width:100%;height:300px;object-fit:cover;filter:saturate(1.03) contrast(1.02);transition:transform .5s ease}
.map-embed:hover .map-embed__frame{transform:scale(1.045)}
.map-embed__attr{position:absolute;top:.5rem;right:.7rem;font-size:.58rem;letter-spacing:.03em;color:rgba(255,255,255,.55);text-shadow:0 1px 2px rgba(0,0,0,.45);pointer-events:none}
.map-embed__bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;background:linear-gradient(180deg,rgba(21,28,20,0),rgba(21,28,20,.55) 42%,rgba(21,28,20,.9));color:var(--bone)}
.map-embed__loc{display:inline-flex;align-items:center;gap:.5rem;font-family:"Fraunces",Georgia,serif;font-size:1.05rem}
.map-embed__loc svg{width:17px;height:17px;color:var(--olio-gold)}
.map-embed__cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--olio-gold);white-space:nowrap}
.map-embed__cta svg{width:13px;height:13px;transition:transform .35s ease}
.map-embed:hover .map-embed__cta svg{transform:translateX(3px)}
.map-embed__outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;border-radius:16px}
.mo-fill{fill:rgba(215,179,88,.09);stroke:rgba(10,14,8,.4);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.mo-line{fill:none;stroke:rgba(242,224,158,.92);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}

/* ---------- CTA band ---------- */
.cta-band{background:var(--frantoio-2);text-align:center}
.cta-band h2{margin-bottom:1.8rem}
.cta-band .row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line-dark);padding:clamp(3rem,6vw,4.5rem) var(--gutter) 2.5rem;background:var(--frantoio)}
.foot-brand .it{font-style:italic}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;max-width:var(--maxw);
  margin:clamp(2.5rem,5vw,3.5rem) auto 0;padding-top:1.6rem;border-top:1px solid var(--line-dark);
  font-size:.76rem;color:var(--bone-3);letter-spacing:.02em}
.foot-bottom .langs{display:flex;gap:1.1rem}
.foot-bottom .langs a{color:var(--bone-3)}
.foot-bottom .langs a:hover{color:var(--olio-gold)}
.foot-bottom .langs a.on{color:var(--bone)}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .duo-grid,.duo-grid.tasting,.pdp,.split{grid-template-columns:1fr}
  .mf-terroir,.media-frame{order:-1;min-height:46vh}
  .glass{max-width:300px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .cards,.quotes,.products{grid-template-columns:1fr 1fr}
  .gateway{grid-template-columns:1fr 1fr}
  .pdp-media{position:static}
}
@media(max-width:760px){
  nav.primary,.nav-cta,header .lang{display:none}
  .menu-btn{display:block}
  .cards,.quotes,.products,.gateway{grid-template-columns:1fr}
  .step{grid-template-columns:1fr;gap:.4rem}
  .step .num{margin-bottom:.4rem}
  .hero__row{flex-direction:column;align-items:flex-start}
  .hero__coords{text-align:left}
  .foot-brand{font-size:2.4rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-reveal]{opacity:1!important;transform:none!important}
  .spectrum{transform:scaleX(1)!important}
}

#app{display:block;min-height:100vh}
.brandmark{width:1.9rem;height:1.35rem;color:var(--olio-gold);align-self:center;flex:none}
.seal{width:clamp(118px,13vw,160px);height:auto;color:var(--olio-gold)}
.lang{display:flex;gap:.55rem;align-items:center}
.lang a{cursor:pointer;font-size:.74rem}
.lang a.cjk{font-size:.82rem}
#toast{position:fixed;left:50%;bottom:2rem;transform:translateX(-50%) translateY(0);opacity:0;visibility:hidden;pointer-events:none;z-index:90;
  background:var(--frantoio-3);color:var(--bone);border:1px solid var(--line-dark);border-radius:100px;
  padding:.85rem 1.5rem;font-size:.85rem;line-height:1.4;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);
  transition:transform .45s var(--ease),opacity .35s var(--ease),visibility .35s;max-width:90vw;text-align:center;transform:translateX(-50%) translateY(12px)}
#toast.show{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible}
.noscript-msg{padding:7rem var(--gutter);text-align:center;color:var(--bone-2);font-family:"Fraunces",serif;font-size:1.2rem}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.06) brightness(1)}
video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none!important;opacity:0!important;width:0!important;height:0!important}
video::-webkit-media-controls-overlay-play-button{display:none!important;-webkit-appearance:none!important;opacity:0!important}
video::-webkit-media-controls-play-button{display:none!important}
video::-webkit-media-controls-panel{display:none!important}
video::-webkit-media-controls{display:none!important;-webkit-appearance:none!important}
.hero__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s ease;filter:contrast(1.05) saturate(1.06) brightness(1)}
.hero__scrim{position:absolute;inset:0;background:
   linear-gradient(180deg,rgba(20,27,19,0) 0%,rgba(20,27,19,0) 44%,rgba(20,27,19,.6) 100%),
   linear-gradient(90deg,rgba(20,27,19,.52) 0%,rgba(20,27,19,.1) 52%,rgba(20,27,19,0) 78%)}
.hero__lede{font-weight:400;color:var(--bone)}
.muted{font-weight:400}
.standfirst{font-weight:400}
.gw-card .idx,.gw-card h3,.gw-card p,.gw-card .go{text-shadow:0 1px 18px rgba(0,0,0,.55)}
@media(min-width:721px){.gw-wide{min-height:280px}.gw-wide .gw-card__bg{background-position:center 60%}}
.mf-live{border-radius:5px;overflow:hidden;aspect-ratio:4/5;background-size:cover;background-position:center;position:relative}
.mf-live .cap{position:absolute;left:1.1rem;bottom:1rem;z-index:2;font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.mf-live::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(18,24,17,.7))}
@media(max-width:720px){.clip-band{grid-template-columns:1fr}}

.hero__photo{display:none}
.mf-live{background-image:url(/assets/inline/a07.jpg)}
.step .img.s1{background-image:linear-gradient(rgba(21,28,20,.10),rgba(21,28,20,.30)),url(/assets/inline/a08.jpg)}
.step .img.s2{background-image:linear-gradient(rgba(21,28,20,.10),rgba(21,28,20,.30)),url(/assets/inline/a09.jpg)}
.step .img.s3{background-image:linear-gradient(rgba(21,28,20,.10),rgba(21,28,20,.30)),url(/assets/inline/a10.jpg);background-position:center 40%}

/* ---- language selector ---- */
.langsel{position:relative}
.lsbtn{display:flex;align-items:center;gap:.5rem;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.05em;color:var(--bone-2);background:none;border:1px solid var(--line-dark);border-radius:999px;padding:.52rem .85rem;cursor:pointer;transition:border-color .25s,color .25s}
.lsbtn:hover{color:var(--bone);border-color:var(--olio-gold)}
.lsbtn .ic{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.4}
.lsbtn .lscode{color:var(--olio-gold);font-weight:500}
.lsbtn .chev{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7;transition:transform .3s var(--ease)}
.langsel.open .lsbtn .chev{transform:rotate(180deg)}
.lsmenu{position:absolute;top:calc(100% + .55rem);right:0;min-width:182px;background:var(--frantoio-2);border:1px solid var(--line-dark);border-radius:11px;padding:.4rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.24s var(--ease);z-index:120;box-shadow:0 26px 64px -22px rgba(0,0,0,.7)}
.langsel.open .lsmenu{opacity:1;visibility:visible;transform:none}
.lsopt{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:none;border:0;color:var(--bone-2);font-size:.88rem;padding:.62rem .8rem;border-radius:7px;cursor:pointer;transition:background .2s,color .2s;font-family:inherit}
.lsopt small{font-family:"IBM Plex Mono",monospace;font-size:.64rem;color:var(--bone-3);letter-spacing:.05em}
.lsopt:hover{background:rgba(190,151,64,.12);color:var(--bone)}
.lsopt.on,.lsopt.on small{color:var(--olio-gold)}
/* ---- cart button ---- */
.cartbtn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line-dark);border-radius:999px;color:var(--bone-2);transition:border-color .25s,color .25s,background .25s;flex:none}
.cartbtn:hover{color:var(--frantoio);background:var(--olio-gold);border-color:var(--olio-gold)}
.cartbtn[aria-current="page"]{border-color:var(--olio-gold);color:var(--olio-gold)}
.cartbtn[aria-current="page"]:hover{color:var(--frantoio)}
.cartbtn .ic{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
/* ---- sound toggle ---- */
.sound{position:absolute;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:85;display:flex;align-items:center;gap:.55rem;height:44px;padding:0 1.05rem 0 .95rem;border-radius:999px;background:rgba(21,28,20,.92);border:1px solid var(--line-dark);color:var(--bone-2);cursor:pointer;transition:color .3s,border-color .3s}
.sound:hover{color:var(--bone);border-color:var(--olio-gold)}
.sound .ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.sound .ic path:first-child{fill:currentColor;stroke:none}
.sound__txt{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}
.sound .wave{opacity:.25;transition:opacity .3s}
.sound.on{color:var(--olio-gold);border-color:var(--olio-gold)}
.sound.on .wave{opacity:1}
/* ---- current harvest section ---- */
.harvest__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;margin-top:.5rem}
.harvest__lead>p{color:var(--bone-2);max-width:50ch;font-size:1.04rem;line-height:1.78}
.harvest__facts{margin-top:0}
.hbottle{margin-top:2.1rem;display:inline-flex;flex-direction:column;gap:.4rem;padding:1.15rem 1.6rem;border:1px solid var(--line-dark);border-radius:11px;background:radial-gradient(circle at 28% -10%,rgba(190,151,64,.14),transparent 70%)}
.hbottle__no{font-family:"Fraunces",serif;font-size:1.5rem;color:var(--bone);letter-spacing:.01em}
.hbottle__h{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3)}
.hbottle__h b{color:var(--olio-gold);font-weight:500}
.hbottle__note{margin-top:1.1rem;color:var(--bone-3);font-size:.92rem;max-width:44ch}
@media(max-width:820px){.harvest__grid{grid-template-columns:1fr;gap:2.4rem}}
.hlist .wrap{max-width:660px}
.hlist .eyebrow{display:inline-flex}
.hlist .form-ok{margin-top:1.2rem;display:none}
.hlist .form-ok.show{display:block}
/* ---- gift message ---- */
.gift{margin:1.7rem 0 0;border-top:1px solid var(--line-dark);padding-top:1.5rem}
.gift__toggle .gp{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border:1px solid var(--line-dark);border-radius:50%;color:var(--olio-gold);font-size:1.05rem;line-height:1;transition:transform .3s var(--ease)}
.gift__toggle.open .gp{transform:rotate(45deg)}
@keyframes giftin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.pdp-bottle{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--olio-gold);margin:.1rem 0 1.1rem}
/* ---- gallery ---- */
.gal{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.6rem,1.4vw,1.05rem);grid-auto-flow:dense}
.gal figure{margin:0;border-radius:8px;overflow:hidden;background:var(--frantoio-2);position:relative}
.gal figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--line-dark);border-radius:8px;pointer-events:none}
.gal__i.g1{grid-column:span 2;aspect-ratio:3/4}
.gal__i.g2{grid-column:span 2;aspect-ratio:3/4}
.gal__i.g3{grid-column:span 2;aspect-ratio:4/3}
.gal__i.g4{grid-column:span 2;aspect-ratio:4/3}
.gal__i.g5{grid-column:span 2;aspect-ratio:4/3}
.gal__i.g6{grid-column:span 3;aspect-ratio:16/9}
.gal__i.g7{grid-column:span 3;aspect-ratio:16/9}
.gal__i.g8{grid-column:span 6;aspect-ratio:24/9}
@media(max-width:860px){.gal{grid-template-columns:repeat(4,1fr)}.gal__v{grid-column:span 4}.gal__i.g8{grid-column:span 4}}
@media(max-width:560px){.gal{grid-template-columns:repeat(2,1fr)}.gal__v{grid-column:span 2}.gal__i{grid-column:span 1!important}.gal__i.g8{grid-column:span 2!important}}
.awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(244px,1fr));gap:clamp(1.2rem,2.5vw,2rem)}
.award{text-align:center;padding:clamp(2rem,4vw,3rem) 1.6rem;border:1px solid var(--line-dark);border-radius:12px;background:radial-gradient(circle at 50% -10%,rgba(190,151,64,.12),transparent 62%);transition:border-color .3s,transform .3s var(--ease)}
.award:hover{border-color:rgba(190,151,64,.5);transform:translateY(-4px)}
.award h3{font-family:"Fraunces",serif;font-weight:400;font-size:1.42rem;color:var(--bone);margin-bottom:.5rem}
.award p{color:var(--bone-3);font-size:.95rem;max-width:32ch;margin:0 auto}
.rec-info .eyebrow{display:inline-flex;margin-bottom:1.1rem}
.light .award{border-color:var(--line-light);background:radial-gradient(circle at 50% -10%,rgba(190,151,64,.14),transparent 62%)}
.light .award h3{color:var(--ink)}
.light .award p{color:var(--ink-2)}
@media(max-width:860px){.rec-edi{grid-template-columns:1fr;gap:1.8rem}.rec-cert__zoom{opacity:1;transform:none}}
/* ---- recognition timeline ---- */
.tl{--tl-gap:clamp(3.4rem,5.5vw,5.6rem);--node-x:93px;display:flex;flex-direction:column;gap:var(--tl-gap);margin-top:clamp(3rem,5vw,4.6rem)}
.tl-item{display:grid;grid-template-columns:80px 26px minmax(0,1fr);align-items:start;position:relative}
.tl-item::before{content:"";position:absolute;left:var(--node-x);top:.5rem;bottom:calc(-1 * var(--tl-gap));width:1px;transform:translateX(-.5px);background:linear-gradient(rgba(190,151,64,.5),rgba(190,151,64,.16))}
.tl-item:last-child::before{display:none}
.tl-year{grid-column:1;text-align:right;padding-right:.3rem;padding-top:0;font-size:clamp(1.35rem,1.9vw,1.7rem);color:var(--olio-gold);letter-spacing:.04em;line-height:1}
.tl-info .eyebrow{display:inline-flex;margin-bottom:.9rem}
.tl-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.2rem;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olio-gold);text-decoration:none;border-bottom:1px solid rgba(215,179,88,.4);padding-bottom:.18rem;transition:color .25s,border-color .25s}
.tl-link:hover{color:var(--bone);border-color:var(--olio-gold)}
.tl-cert{display:block;position:relative;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.tl-cert__img{display:block;width:100%;height:300px;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:rgba(255,255,255,.035);border:1px solid var(--line-dark);border-radius:10px;box-shadow:0 28px 56px rgba(0,0,0,.42);transition:transform .5s var(--ease)}
.tl-cert:hover .tl-cert__img{transform:translateY(-3px)}
.tl-cert__zoom{position:absolute;bottom:.7rem;right:.7rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--frantoio);background:var(--olio-gold);padding:.42rem .72rem;border-radius:999px;opacity:0;transition:opacity .3s}
.tl-cert:hover .tl-cert__zoom,.tl-cert:focus-visible .tl-cert__zoom{opacity:1}
.tl-medal{width:120px;height:120px;margin:0 auto;color:var(--olio-gold);opacity:.92}
.tl-item--bronze .tl-medal{color:#c08a4e}
.tl-medal svg{width:100%;height:100%;display:block}
/* ---- recognition: interactive year timeline ---- */
.rtl{margin-top:clamp(2.6rem,5vw,4.2rem)}
.rtl-year{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:1rem;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.rtl-year:hover .rtl-dot{transform:scale(1.25)}
.rtl-year.on .rtl-dot{background:var(--olio-gold);transform:scale(1.35);box-shadow:0 0 0 6px rgba(215,179,88,.14)}
.rtl-year.tl-item--bronze.on .rtl-dot{background:#c08a4e;border-color:#c08a4e;box-shadow:0 0 0 6px rgba(192,138,78,.16)}
.rtl-y{font-size:clamp(1.3rem,2vw,1.7rem);color:var(--bone-3);letter-spacing:.04em;transition:color .3s}
.rtl-year:hover .rtl-y,.rtl-year.on .rtl-y{color:var(--olio-gold)}
.rtl-fade{animation:rtlFade .5s var(--ease)}
@keyframes rtlFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rtl-info>.eyebrow{display:inline-flex}
.rtl-media .tl-cert__img{height:clamp(340px,46vh,470px)}
.rtl-media .tl-medal{width:160px;height:160px}
.rtl-video{height:clamp(340px,46vh,470px);width:auto;max-width:100%;border-radius:12px;box-shadow:0 28px 56px rgba(0,0,0,.45);background:#1d241c;display:block;object-fit:cover}
/* ---- recognition: editorial lead + timeline rows ---- */
.rec-lead{padding-bottom:clamp(2rem,4vw,3.5rem)}
.rec-zhaw{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.6rem;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--olio-gold);text-decoration:none;border-bottom:1px solid rgba(215,179,88,.4);padding-bottom:.22rem;transition:color .25s,border-color .25s}
.rec-zhaw:hover{color:#ecd08a;border-color:var(--olio-gold)}
.rec-media--medal .tl-medal{width:150px;height:150px;color:var(--olio-gold)}
.rec-text .eyebrow{display:inline-flex;margin:1rem 0 .5rem}
.rec-links{display:flex;flex-wrap:wrap;gap:.9rem 1.8rem;margin-top:1.7rem}
.rec-link{display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;padding:0;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--olio-gold);text-decoration:none;border-bottom:1px solid rgba(215,179,88,.4);padding-bottom:.2rem;transition:color .25s,border-color .25s}
.rec-link:hover{color:#ecd08a;border-color:var(--olio-gold)}
@media(max-width:820px){.rec-row{grid-template-columns:1fr;gap:1.6rem}.rec-row--rev .rec-media{order:0}.rec-cert-img,.rec-media--vid video,.rec-media--medal{height:clamp(320px,58vh,460px)}}
.rec-zhaw-ctx{margin-top:1.5rem;font-size:.88rem;line-height:1.72;color:var(--bone-3);max-width:56ch;border-left:1px solid rgba(215,179,88,.32);padding-left:1.15rem}
/* ---- vertical timeline ---- */
.arc-sec{padding-block:clamp(2rem,4vw,3.5rem)}
.arc-head{margin-bottom:clamp(2.2rem,4vw,3.2rem)}
.arc{--arc-pad:clamp(40px,6vw,84px);--arc-thread-x:clamp(18px,2.6vw,34px);position:relative;max-width:var(--maxw);margin:0 auto;padding-top:2.6rem;padding-left:var(--arc-pad);padding-right:clamp(1rem,3vw,2.4rem)}
.arc-thread{position:absolute;left:var(--arc-thread-x);top:14px;bottom:14px;width:2px;background:linear-gradient(rgba(212,174,86,.62),rgba(190,151,64,.34));overflow:hidden}
.arc-fill{position:absolute;inset:0 0 auto 0;height:0;width:100%;background:linear-gradient(var(--olio-gold),rgba(190,151,64,.5))}
.arc-plate{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(2rem,4.5vw,4.2rem);align-items:center;margin-bottom:clamp(5rem,10vw,8.5rem)}
.arc-plate:last-of-type{margin-bottom:0}
.arc-plate--rev .arc-frame{order:2}
.arc-no{position:absolute;left:0;top:-3rem;font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--olio-gold);opacity:.85;white-space:nowrap}
.arc-year{position:absolute;left:0;top:-2.3rem;font-family:"Fraunces",serif;font-weight:300;font-size:clamp(1.7rem,2.6vw,2.4rem);color:var(--olio-gold);letter-spacing:.02em;line-height:1}
.arc-node{position:absolute;left:calc(-1 * var(--arc-pad) + var(--arc-thread-x) - 6px);top:-1.9rem;width:13px;height:13px;border-radius:50%;background:var(--frantoio);border:2px solid var(--olio-gold);transition:transform .45s var(--ease),background .45s,box-shadow .45s}
.arc-plate.is-active .arc-node{background:var(--olio-gold);transform:scale(1.3);box-shadow:0 0 0 5px rgba(215,179,88,.14)}
.arc-plate--bronze .arc-node{border-color:#c08a4e}
.arc-plate--bronze.is-active .arc-node{background:#c08a4e;box-shadow:0 0 0 5px rgba(192,138,78,.16)}
.arc-frame{display:block;background:none;border:0;padding:0;cursor:zoom-in;position:relative;justify-self:center;width:auto;max-width:100%}
.arc-plate--rev .arc-frame{justify-self:center}
.arc-mat{position:relative;margin:0;display:inline-block;background:#EDE7D6;border-radius:3px;padding:clamp(16px,2vw,26px);box-shadow:inset 0 0 0 1px rgba(215,179,88,.55),0 2px 4px rgba(0,0,0,.30),0 18px 28px -14px rgba(0,0,0,.55),0 46px 80px -40px rgba(0,0,0,.85);outline:1px solid rgba(215,179,88,.18);outline-offset:9px;transition:transform .55s var(--ease),box-shadow .55s var(--ease),outline-color .45s}
.arc-mat::after{content:"";position:absolute;inset:0;border-radius:3px;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.05),transparent 22%)}
.arc-doc{display:block;width:auto;height:auto;max-height:clamp(440px,52vh,545px);max-width:clamp(280px,40vw,445px);box-shadow:0 0 0 1px rgba(20,28,20,.1);filter:saturate(.97) contrast(1.02)}
.arc-frame:hover .arc-mat,.arc-frame:focus-visible .arc-mat{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(215,179,88,.8),0 4px 8px rgba(0,0,0,.34),0 26px 40px -16px rgba(0,0,0,.6),0 60px 96px -38px rgba(0,0,0,.92);outline-color:rgba(215,179,88,.4)}
.arc-zoom{position:absolute;bottom:1rem;right:1rem;display:inline-flex;align-items:center;gap:.4rem;font-family:"IBM Plex Mono",monospace;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--frantoio);background:var(--olio-gold);padding:.42rem .78rem;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.arc-frame:hover .arc-zoom,.arc-frame:focus-visible .arc-zoom{opacity:1;transform:none}
.arc-plate-label{margin-top:1rem;font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3);text-align:left;padding-top:.7rem;border-top:1px solid rgba(215,179,88,.22);max-width:48ch;line-height:1.6}
.arc-trophy{position:absolute;width:clamp(96px,11vw,140px);right:-7%;bottom:-4%;filter:drop-shadow(0 22px 30px rgba(0,0,0,.6));z-index:2}
.arc-trophy img{display:block;width:100%;height:auto}
.arc-plate--rev .arc-trophy{right:auto;left:-7%}
.arc-trophy::before{content:"";position:absolute;inset:-22% -18% -10%;z-index:-1;background:radial-gradient(60% 55% at 50% 42%,rgba(237,231,214,.16),transparent 70%)}
.arc-text .eyebrow{display:inline-flex;margin-bottom:.7rem}
.arc-name{font-family:"Fraunces",serif;font-weight:400;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.06;margin:0 0 1rem}
.arc-body{max-width:46ch;line-height:1.74;color:var(--bone-2)}
@media(max-width:860px){.arc{--arc-pad:34px}.arc-plate,.arc-plate--rev{grid-template-columns:1fr;gap:1.6rem}.arc-plate--rev .arc-frame{order:0}.arc-frame,.arc-plate--rev .arc-frame{justify-self:center}.arc-no{left:0;top:-3.1rem}.arc-year{left:0;top:-2.4rem;font-size:1.5rem}.arc-doc{max-height:clamp(340px,50vh,460px);max-width:78vw}.arc-zoom{opacity:1;transform:none}.arc-trophy{width:84px;right:3%;bottom:-4%}}
@media(max-width:560px){.arc{--arc-pad:28px;--arc-thread-x:9px}.arc-no,.arc-year{left:0}}
.light .arc-thread{background:linear-gradient(var(--olio-gold),rgba(190,151,64,.28))}
.arc-no,.arc-year{cursor:pointer;transition:color .3s,transform .3s}
.arc-year:hover,.arc-no:hover{color:#ecd08a}
.arc-plate:hover .arc-node{transform:scale(1.25);box-shadow:0 0 0 6px rgba(215,179,88,.12)}
.arc-plate:hover .arc-mat{outline-color:rgba(215,179,88,.32)}
.arc-ping .arc-node{animation:arcPing .75s ease}
@keyframes arcPing{0%{box-shadow:0 0 0 0 rgba(215,179,88,.55)}100%{box-shadow:0 0 0 18px rgba(215,179,88,0)}}
/* ---- family / warmth ---- */
.rfam{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;max-width:var(--maxw);margin:0 auto}
.rfam-vid{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line-dark);box-shadow:0 44px 90px -46px rgba(0,0,0,.8);background:#10160f;max-width:480px;margin:0 auto;aspect-ratio:640/1138}
.rfam-vid video{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.rfam-vid{max-width:360px}}
.rfam-text .display{margin:.5rem 0 1.1rem}
@media(max-width:860px){.rfam{grid-template-columns:1fr;gap:1.6rem}.rfam-vid{order:-1}}
@media(max-width:860px){.rtl-rail{max-width:none}.rtl-stage{grid-template-columns:1fr;gap:1.8rem}.rtl-media{order:-1}.rtl-media .tl-cert__img{height:300px}.rtl-video{height:340px}}
@media(max-width:860px){
  .tl{--node-x:57px}
  .tl-item{grid-template-columns:46px 22px minmax(0,1fr)}
  .tl-year{font-size:.95rem}
  .tl-card{grid-template-columns:1fr;gap:1.2rem;padding-left:.8rem}
  .tl-media{max-width:340px}
  .tl-cert__img{height:190px}
  .tl-medal{margin:0;width:74px;height:74px}
}
/* ---- drawer language chips ---- */
.drawer-langs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.9rem}
.dlang{background:none;border:1px solid var(--line-dark);border-radius:999px;padding:.5rem .9rem;color:var(--bone-2);font-size:.82rem;cursor:pointer;transition:color .2s,border-color .2s;font-family:inherit}
.dlang:hover{color:var(--bone);border-color:var(--olio-gold)}
.dlang.on{color:var(--olio-gold);border-color:var(--olio-gold)}
/* ---- nav breakpoint: more items -> collapse to drawer sooner ---- */
@media(max-width:1399px){nav.primary{display:none}.menu-btn{display:block}}
@media(min-width:1400px) and (max-width:1499px){nav.primary,.head-right{gap:.95rem}}
@media(min-width:1900px){header.site{display:grid;grid-template-columns:1fr auto 1fr;column-gap:1.2rem}header.site>.brand{justify-self:start}header.site>.head-right{justify-self:end}}
@media(max-width:760px){.lsbtn .lstxt{display:none}.lsbtn{padding:.52rem .7rem}}




.step .img.s4{background-image:linear-gradient(rgba(21,28,20,.12),rgba(21,28,20,.32)),url(/assets/inline/a11.jpg)}
.step .img.s5{background-image:linear-gradient(rgba(21,28,20,.12),rgba(21,28,20,.32)),url(/assets/inline/a12.jpg)}
.step .img.s6{background-image:linear-gradient(rgba(21,28,20,.12),rgba(21,28,20,.32)),url(/assets/inline/a13.jpg)}









/* ===== v6 ADD-ONS ===== */
/* header solid (scroll on home / all sub-pages) -> fixes contrast */
.site.solid{background:rgba(15,20,14,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
/* cart popover */
.cartwrap{position:relative}
.cartbtn{background:none;border:0;color:inherit;cursor:pointer;display:inline-flex;align-items:center;padding:.2rem}
.cartpop{position:absolute;top:calc(100% + .7rem);right:0;width:226px;background:var(--frantoio-2);border:1px solid var(--line-dark);border-radius:13px;padding:1.1rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.24s var(--ease);z-index:130;box-shadow:0 24px 60px -22px rgba(0,0,0,.7);text-align:center}
.cartpop.open{opacity:1;visibility:visible;transform:none}
.cartpop .cp-shop{display:inline-flex;justify-content:center;width:100%;font-size:.74rem}
/* interactive 3D olive + CSS-sphere fallback */
.tasting .olive3d{position:relative;aspect-ratio:1/1;min-height:330px;border-radius:10px;display:grid;place-items:end center;background:radial-gradient(circle at 50% 44%,rgba(159,185,74,.12),transparent 62%);touch-action:pan-y;cursor:grab;overflow:hidden}
.olive3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.olive3d .o3d-hint{position:relative;z-index:2;margin-bottom:1.1rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);background:rgba(236,230,214,.72);padding:.42rem .85rem;border-radius:999px;pointer-events:none}
.olive3d.fallback{background:none}
.olive3d.fallback::before{content:"";position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(64%,300px);aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 36% 30%,#E6F0A0,#9FB94A 58%,#7E8E38);box-shadow:0 30px 60px -20px rgba(126,142,56,.55),inset -10px -16px 42px rgba(50,70,24,.4)}
/* production step animations */
.steps--six .step .step-anim{margin-top:1.6rem;max-width:480px;border:1px solid var(--line-dark);border-radius:7px;overflow:hidden;background:linear-gradient(160deg,rgba(30,38,24,.55),#10160F);aspect-ratio:4/3}
.step-anim .sa{display:block;width:100%;height:100%}
/* gallery uniform grid (no gaps) */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.5rem,1.1vw,.85rem)}
.gal figure{margin:0;position:relative;border-radius:7px;overflow:hidden;background:#1a2216;aspect-ratio:4/3}
.gal figure::after{content:"";position:absolute;inset:0;border-radius:7px;box-shadow:inset 0 0 0 1px var(--line-dark);pointer-events:none}
@media(max-width:860px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.gal{grid-template-columns:repeat(2,1fr)}}
/* lightbox */
body.noscroll{overflow:hidden}
#pageWipe{position:fixed;inset:0;z-index:300;transform:translateY(101%);pointer-events:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(175deg,#f6f4ee 0%,#eceadf 58%,#e6e3d6 100%);will-change:transform}
#pageWipe::before,#pageWipe::after{content:"";position:absolute;left:-6%;right:-6%;height:2px;background:linear-gradient(90deg,transparent,rgba(183,150,62,.8),transparent);box-shadow:0 0 16px 2px rgba(183,150,62,.22)}
#pageWipe::before{top:0}
#pageWipe::after{bottom:0}
#pageWipe .pw-mark{color:var(--frantoio);opacity:0;transform:scale(.72) translateY(8px);transition:opacity .3s ease,transform .55s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 2px 12px rgba(20,28,20,.18))}
#pageWipe.pw-show .pw-mark{opacity:.92;transform:none}
@media(prefers-reduced-motion:reduce){#pageWipe{display:none!important}}
@keyframes ptIn{from{opacity:.42}to{opacity:1}}
#app.pt-fade{animation:ptFade .34s ease both}
@keyframes ptFade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#app.pt-in,#app.pt-fade{animation:none}}
#app.pt-enter .page-hero__photo,#app.pt-enter .hero__video,#app.pt-enter .ea-hero__bg{opacity:0}
#app.pt-enter-active .page-hero__photo,#app.pt-enter-active .hero__video,#app.pt-enter-active .ea-hero__bg{opacity:1;transition:opacity .6s ease}
@media(prefers-reduced-motion:reduce){#app.pt-enter,#app.pt-enter-active,#app.pt-enter .page-hero__photo,#app.pt-enter-active .page-hero__photo{transition:none!important;transform:none!important;opacity:1!important}}
.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;visibility:hidden;pointer-events:none;transition:visibility .55s}
.lightbox.open{visibility:visible;pointer-events:auto}
.lb-backdrop{position:absolute;inset:0;background:rgba(10,13,9,.5);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);opacity:0;transition:opacity .55s ease,backdrop-filter .65s ease,background .65s ease}
.lightbox.open .lb-backdrop{opacity:1;background:rgba(10,13,9,.93);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lb-img{position:relative;z-index:2;width:min(86vw,1100px);height:min(82vh,800px);background-size:contain;background-position:center;background-repeat:no-repeat;filter:drop-shadow(0 30px 60px rgba(0,0,0,.55));opacity:0;transform:scale(.94);transition:transform .44s cubic-bezier(.22,1,.36,1),opacity .32s ease}
.lightbox.open .lb-img{opacity:1;transform:none}
.lightbox.open .lb-img{cursor:pointer}
.lb-vid{position:relative;z-index:2;max-width:min(86vw,1100px);max-height:min(82vh,800px);width:auto;height:auto;border-radius:8px;display:none;background:#10160f;filter:drop-shadow(0 30px 60px rgba(0,0,0,.55));opacity:0;transform:scale(.94);transition:transform .44s cubic-bezier(.22,1,.36,1),opacity .32s ease}
.lightbox.open .lb-vid{opacity:1;transform:none}
.lb-video{cursor:zoom-in}
.ben-vidbtn,.ph-vidbtn{position:relative;display:block;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit}
.lb-vexp{position:absolute;top:.7rem;right:.7rem;z-index:3;width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:50%;background:rgba(20,27,19,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(236,230,214,.22);color:var(--bone);font-size:.95rem;opacity:0;transform:scale(.9);transition:.3s var(--ease);pointer-events:none}
.lb-video:hover .lb-vexp,.prode-media:hover .lb-vexp{opacity:1;transform:scale(1)}
.lb-cap__d{color:rgba(232,233,223,.6);font-size:.82rem;line-height:1.5;letter-spacing:.02em;max-width:42ch;margin-top:.1rem}
.lb-thumb--vid{position:relative}
.lb-thumb--vid::after{content:"\25B6";position:absolute;inset:0;display:grid;place-items:center;font-size:.7rem;color:rgba(255,255,255,.9);text-shadow:0 1px 4px rgba(0,0,0,.7);pointer-events:none}
.lb-cap,.lb-strip,.lb-close,.lb-prev,.lb-next{opacity:0;transition:opacity .5s ease .12s,color .25s,background .25s}
.lightbox.open .lb-cap,.lightbox.open .lb-strip,.lightbox.open .lb-close,.lightbox.open .lb-prev,.lightbox.open .lb-next{opacity:1}
.zoomable{cursor:zoom-in}
.zoomable:focus-visible{outline:2px solid var(--olio-gold);outline-offset:3px}
img.zoomable{transition:filter .45s ease,transform .6s cubic-bezier(.22,1,.36,1)}
img.zoomable:hover{filter:brightness(1.05) saturate(1.03)}
.lightbox button{position:absolute;z-index:3;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(236,230,214,.08);border:1px solid var(--line-dark);color:var(--bone);font-size:1.5rem;line-height:1;cursor:pointer;transition:.25s}
.lightbox button:hover{background:var(--olio-gold);color:var(--frantoio);border-color:var(--olio-gold)}
.lb-close{top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}
.lb-prev{left:max(.6rem,calc(50vw - min(43vw,550px) - 2.8rem));top:50%;transform:translateY(-50%)}
.lb-next{right:max(.6rem,calc(50vw - min(43vw,550px) - 2.8rem));top:50%;transform:translateY(-50%)}
/* newsletter popup */
.nlpop{position:fixed;inset:0;z-index:210;display:none;align-items:center;justify-content:center;padding:1.2rem}
.nlpop.open{display:flex}
.nl-backdrop{position:absolute;inset:0;background:rgba(10,13,9,.78);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.nl-card{position:relative;z-index:2;width:min(94vw,520px);background:var(--frantoio-2);border:1px solid var(--line-dark);border-radius:16px;padding:clamp(2rem,4vw,3rem);text-align:center;box-shadow:0 40px 90px -30px rgba(0,0,0,.8);animation:nlin .4s var(--ease)}
@keyframes nlin{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.nl-close{position:absolute;top:.8rem;right:1rem;background:none;border:0;color:var(--bone-3);font-size:1.8rem;line-height:1;cursor:pointer;transition:color .2s}
.nl-close:hover{color:var(--bone)}
.nl-card .eyebrow{display:inline-flex;margin-bottom:1.1rem}
.nl-title{font-size:clamp(1.7rem,4vw,2.3rem);margin-bottom:1rem}
.nl-text{color:var(--bone-2);font-size:.95rem;line-height:1.65;max-width:42ch;margin:0 auto 1.7rem}
.nl-form{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.nl-form input{flex:1 1 220px;background:rgba(236,230,214,.05);border:1px solid var(--line-dark);border-radius:999px;padding:.9rem 1.3rem;color:var(--bone);font-family:inherit;font-size:.95rem;transition:border-color .25s}
.nl-form input:focus{outline:none;border-color:var(--olio-gold)}
.nl-form input::placeholder{color:var(--bone-3)}
.nl-submit{white-space:nowrap}
.nl-ok{margin-top:1.1rem;display:none}
.nl-ok.show{display:block}
/* footer logo */
.foot-logo{display:flex;justify-content:center;margin-bottom:clamp(1.4rem,3vw,2.2rem)}
.logolock{width:clamp(190px,22vw,260px);height:auto;color:var(--olio-gold)}
.foot-bottom{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:center;align-items:center;text-align:center;color:var(--bone-3);font-size:.82rem}
.head-clock{display:inline-flex;align-items:center;gap:.5rem;font-family:"IBM Plex Mono",monospace;font-size:.76rem;letter-spacing:.05em;color:var(--bone);white-space:nowrap;margin-right:.6rem}
.hc-dot{width:6px;height:6px;border-radius:50%;background:var(--olio-gold);flex:none;animation:fcPulse 2.6s ease-in-out infinite}
.hc-time{color:var(--olio-gold);font-weight:600;font-variant-numeric:tabular-nums}
.hc-reg{opacity:.6}
@keyframes fcPulse{0%,100%{box-shadow:0 0 0 0 rgba(215,179,88,.5)}50%{box-shadow:0 0 0 5px rgba(215,179,88,0)}}
@media(max-width:1320px){.head-clock .hc-reg{display:none}}
@media(max-width:1180px){.head-clock .hc-loc{display:none}}
@media(max-width:860px){.head-clock{display:none}}
@media(prefers-reduced-motion:reduce){.hc-dot{animation:none}}
.pair-anim .sa{display:block;width:100%;height:auto}

/* ---------- Hindi / Devanagari ---------- */
html[lang="hi"] body{font-family:"Noto Sans Devanagari","Hanken Grotesk",system-ui,sans-serif}
html[lang="hi"] .serif,html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3,html[lang="hi"] h2.display,html[lang="hi"] h3.sub,html[lang="hi"] .nl-title{font-family:"Noto Serif Devanagari","Fraunces",Georgia,serif}
html[lang="hi"] .mono,html[lang="hi"] .drawer .mono{font-family:"Noto Sans Devanagari","IBM Plex Mono",monospace}
html[lang="hi"] .eyebrow{letter-spacing:.1em}
html[lang="hi"] .nav-cta,html[lang="hi"] .lstxt{letter-spacing:.04em;text-transform:none}
html[lang="hi"] h1,html[lang="hi"] h2.display,html[lang="hi"] .lead{line-height:1.2}
/* ---------- Arabic / RTL ---------- */
html[lang="ar"] body{font-family:"Noto Sans Arabic","Hanken Grotesk",system-ui,sans-serif}
html[lang="ar"] .serif,html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h2.display,html[lang="ar"] h3.sub,html[lang="ar"] .nl-title{font-family:"Amiri","Fraunces",Georgia,serif}
html[lang="ar"] .mono,html[lang="ar"] .drawer .mono{font-family:"Noto Sans Arabic","IBM Plex Mono",monospace}
html[lang="ar"] .eyebrow,html[lang="ar"] .nav-cta,html[lang="ar"] .lstxt,html[lang="ar"] .mono{letter-spacing:normal;text-transform:none}
html[dir="rtl"] .eyebrow::before{margin-left:.7rem;margin-right:0}
html[lang="ar"] h1,html[lang="ar"] h2.display,html[lang="ar"] .lead{line-height:1.35}
.olive-col{display:flex;flex-direction:column}
.olive-cult{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.olive-cult button{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);background:transparent;border:1px solid var(--line-light);border-radius:999px;padding:.5rem .95rem;cursor:pointer;transition:.25s var(--ease)}
.olive-cult button:hover{border-color:var(--olio-gold-deep);color:var(--ink)}
.olive-cult button.on{background:var(--olio-gold-deep);border-color:var(--olio-gold-deep);color:var(--stone)}
/* ---- cart drawer + add-to-cart + legal footer ---- */
.cart-scrim{position:fixed;inset:0;background:rgba(16,22,15,.45);z-index:200;opacity:0;transition:opacity .32s var(--ease);pointer-events:none}
body.cart-open .cart-scrim{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(430px,92vw);background:var(--stone);color:var(--ink);box-shadow:-24px 0 70px -24px rgba(16,22,15,.45);z-index:210;display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .36s var(--ease),visibility 0s linear .36s;will-change:transform}
body.cart-open .cart-drawer{transform:translateX(0);visibility:visible;pointer-events:auto;transition-delay:0s}
html[dir="rtl"] .cart-drawer{right:auto;left:0;transform:translateX(-100%)}
html[dir="rtl"] body.cart-open .cart-drawer{transform:translateX(0);visibility:visible;pointer-events:auto;transition-delay:0s}
.cd-head{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.6rem;border-bottom:1px solid var(--line-light)}
.cd-head h3{font-size:1.35rem;font-weight:400;margin:0}
.cd-x{background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--ink-2);padding:.1rem .5rem;transition:.2s}
.cd-x:hover{color:var(--ink)}
.cd-items{flex:1;overflow-y:auto;padding:.4rem 1.6rem}
.cd-item{padding:1.15rem 0;border-bottom:1px solid var(--line-light)}
.cd-it-name{font-family:"Fraunces",serif;font-size:1.04rem;display:block;line-height:1.3}
.cd-gift{font-family:"IBM Plex Mono",monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--olio-gold-deep);font-style:normal;border:1px solid var(--olio-gold-deep);border-radius:999px;padding:.06rem .42rem;margin-inline-start:.45rem;vertical-align:middle}
.cd-it-fmt{display:block;font-size:.64rem;color:var(--ink-2);margin-top:.25rem;letter-spacing:.05em}
.cd-it-ctl{display:flex;align-items:center;gap:.85rem;margin-top:.75rem}
.cd-qty{flex:none;border-color:var(--line-light)}
.cd-qty button{width:2.1rem;height:2.1rem;color:var(--ink);font-size:1.05rem}
.cd-qty button:hover{color:var(--olio-gold-deep)}
.cd-qty span{color:var(--ink)}.cd-qty .cd-qi{width:2.2rem;height:2.1rem;text-align:center;border:0;background:transparent;font:inherit;font-size:.95rem;color:var(--ink);padding:0;-webkit-appearance:none;-moz-appearance:textfield;appearance:none}.cd-qty .cd-qi:focus{outline:none;background:rgba(190,151,64,.12)}
.cd-gbedit{margin:.55rem 0 .1rem;padding:.5rem .7rem .3rem;background:rgba(190,151,64,.05);border:1px solid var(--line-light);border-radius:.6rem}
.cd-gbedit-lbl{display:block;font-family:"IBM Plex Mono",monospace;font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 .3rem}
.cd-gbrow{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.22rem 0}
.cd-gbrow-name{font-size:.82rem;color:var(--ink);letter-spacing:.02em}
.cd-gbq{flex:none}.cd-gbq button{width:1.75rem;height:1.75rem;color:var(--ink);font-size:.95rem}.cd-gbq button:hover{color:var(--olio-gold-deep)}
.cd-gbq .cd-qi{width:1.95rem;height:1.75rem;font-size:.9rem}
.cd-gbmsg{margin-top:.5rem;padding-top:.55rem;border-top:1px solid var(--line-light)}
.cd-gbmsg-lbl{display:block;font-family:"IBM Plex Mono",monospace;font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 .32rem}
.cd-gbmsg-in{width:100%;box-sizing:border-box;background:rgba(255,255,255,.55);border:1px solid var(--line-light);border-radius:.5rem;color:var(--ink);font:inherit;font-size:.82rem;line-height:1.45;padding:.5rem .6rem;resize:vertical;min-height:2.4rem;transition:border-color .2s var(--ease)}
.cd-gbmsg-in:focus{outline:none;border-color:var(--olio-gold-deep)}
.cd-gbmsg-in::placeholder{color:var(--ink-2)}
.cd-gbpack{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line-light);font-size:.74rem;color:var(--ink-2)}
.cd-gbpack-p{font-variant-numeric:tabular-nums;color:var(--ink)}
.cd-it-price{font-family:"Fraunces",serif;font-size:.98rem;font-variant-numeric:tabular-nums}
.cd-rm{margin-inline-start:auto;background:none;border:none;font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;transition:.2s}
.cd-rm:hover{color:#a23b2a}
.cd-foot{padding:1.4rem 1.6rem;border-top:1px solid var(--line-light);background:var(--stone-2)}
.cd-sub{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.05rem}
.cd-sub span:first-child{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2)}
.cd-total{font-family:"Fraunces",serif;font-size:1.45rem}
.cd-checkout{width:100%;display:inline-flex;justify-content:center}
.cd-note{font-size:.62rem;color:var(--ink-2);margin:.85rem 0 0;line-height:1.55;text-align:center}.cd-agree{display:flex;gap:.5rem;align-items:flex-start;font-size:.72rem;line-height:1.5;margin:0 0 .55rem;cursor:pointer;color:var(--ink)}.cd-agree input{margin-top:.15rem;flex:0 0 auto;accent-color:var(--olio-gold-deep)}.cd-agree a{color:var(--olio-gold-deep);text-decoration:underline}.cd-agree--news{color:var(--ink-2);margin-bottom:.9rem}.cd-agree.err{color:#c0392b}.cd-agree.err a{color:#c0392b}.cd-agree.err input{outline:2px solid #c0392b;outline-offset:2px}.cd-agree-err{color:#c0392b;font-size:.72rem;font-weight:600;margin:-.2rem 0 .7rem;display:flex;gap:.4rem;align-items:center}.cd-agree-err[hidden]{display:none}.cd-agree-err::before{content:"\26A0"}.cd-region,.cd-cur{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0 0 .9rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.cd-region select,.cd-cur select{font-family:inherit;font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--stone);border:1px solid var(--line-light);border-radius:8px;padding:.42rem .55rem;max-width:62%}
.cd-empty{padding:3.2rem 1.6rem;text-align:center;color:var(--ink-2)}
.cd-empty p{margin-bottom:1.5rem;font-family:"Fraunces",serif;font-size:1.05rem}
.cartwrap{position:relative}
.cart-count{position:absolute;top:-5px;right:-6px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--olio-gold-deep);color:var(--stone);font-family:"IBM Plex Mono",monospace;font-size:.58rem;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}
html[dir="rtl"] .cart-count{right:auto;left:-6px}
.product-card{position:relative}
.pc-link-wrap{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;align-items:stretch;text-decoration:none;color:inherit}
.pc-link-wrap:focus-visible{outline:2px solid var(--olio-gold);outline-offset:-2px}
.foot-legal{display:flex;gap:.7rem;align-items:center;justify-content:center;flex-wrap:wrap;margin:.4rem 0 1.2rem;font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.08em}
.foot-legal a{color:var(--bone-2);text-transform:uppercase;transition:.25s}
.foot-legal a:hover{color:var(--olio-gold)}
.foot-legal .sep{color:var(--bone-3)}
.legal-body{max-width:64ch;margin-top:.5rem}
.legal-body h2{font-family:"Fraunces",serif;font-weight:400;font-size:1.3rem;margin:2.4rem 0 .8rem}
.legal-body h2:first-child{margin-top:0}
.legal-body p{color:var(--bone-2);margin:0 0 1rem;line-height:1.7}
.legal-body a{color:var(--olio-gold)}
.legal-updated{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.06em;color:var(--bone-3);margin-top:2.4rem}
.ph-legal .page-hero__photo{background:radial-gradient(circle at 72% 18%,rgba(215,179,88,.12),var(--frantoio) 68%)}
/* ---- high-quality hero + gallery photos (real grove/harvest shots, optimized), placed last to win cascade ---- */
.page-hero.ph-geschichte .page-hero__photo{background-image:url(/assets/img/story-hero.jpg);background-position:center 32%;filter:contrast(1.05) saturate(1.08) brightness(1)}
.page-hero.ph-terroir .page-hero__photo{background-image:url(/assets/img/terroir-hero.jpg);background-position:center 42%;filter:contrast(1.05) saturate(1.08) brightness(1)}
.page-hero.ph-benefits .page-hero__photo{background-image:url(/assets/img/benefits-hero.jpg);background-position:center 44%;filter:contrast(1.05) saturate(1.1) brightness(.93)}
.ben-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border-block:1px solid var(--line-dark);margin-top:clamp(2.5rem,5vw,4rem)}
.ben-stat{background:var(--frantoio);padding:clamp(1.6rem,2.6vw,2.4rem) clamp(1.2rem,2vw,1.8rem);display:flex;flex-direction:column;gap:.7rem}
.ben-n{font-family:"Fraunces",serif;font-size:clamp(2rem,3.6vw,3.1rem);font-weight:300;color:var(--olio-gold);line-height:1}
.ben-l{color:var(--bone-2);font-size:.92rem;line-height:1.5;flex:1}
.ben-src{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--olio-gold);text-decoration:none;border-bottom:1px solid rgba(215,179,88,.35);padding-bottom:.16rem;transition:color .25s,border-color .25s}
.ben-src:hover{color:#ecd08a;border-color:var(--olio-gold)}
.ben-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.2rem,2.5vw,2rem);margin-top:clamp(2.2rem,4vw,3.2rem)}
.ben-card{border:1px solid var(--line-dark);border-radius:12px;padding:clamp(1.6rem,2.4vw,2.4rem);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 60%)}
.light .ben-card{border-color:var(--line-light);background:rgba(255,255,255,.45)}
.ben-card h3{font-family:"Fraunces",serif;font-size:1.3rem;font-weight:400;margin-bottom:.55rem}
.ben-card p{color:var(--bone-2);font-size:.96rem;line-height:1.6;margin:0}
.light .ben-card p{color:var(--ink-2)}
.ben-card--link{display:block;text-decoration:none;cursor:pointer;transition:border-color .3s,transform .3s var(--ease),box-shadow .3s,background .3s}
.ben-card--link:hover{border-color:rgba(215,179,88,.6);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.light .ben-card--link:hover{border-color:rgba(190,151,64,.65);background:rgba(255,255,255,.6)}
.ben-card--link:focus-visible{outline:2px solid var(--olio-gold);outline-offset:3px}
.ben-card-more{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.2rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olio-gold);transition:gap .25s}
.ben-card--link:hover .ben-card-more{gap:.8rem}
.ben-sources{padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line-dark)}
.ben-srclist{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.7rem;max-width:82ch}
.ben-srclist a{color:var(--olio-gold);font-size:.86rem;text-decoration:none;border-bottom:1px solid rgba(215,179,88,.3);transition:color .25s,border-color .25s}
.ben-srclist a:hover{color:var(--olio-gold);border-color:rgba(215,179,88,.4)}
.ben-srclist a::after{content:" \2197";color:var(--bone-3)}
.ben-note{margin-top:1.8rem;max-width:82ch;font-size:.78rem;color:var(--bone-3);line-height:1.6;font-style:italic}
@media(max-width:820px){.ben-stats{grid-template-columns:repeat(2,1fr)}.ben-grid{grid-template-columns:1fr}}
/* ---- benefits: lead pull-quote ---- */
.ben-quote{font-size:clamp(1.35rem,2.3vw,1.95rem);font-weight:300;line-height:1.46;color:var(--bone);font-style:italic;border-left:2px solid rgba(215,179,88,.5);padding-left:1.4rem;margin:0}
.light .ben-quote{color:var(--ink)}
/* ---- benefits: interactive body anatomy ---- */
.bp-sec{position:relative;overflow:hidden;padding-top:clamp(1.5rem,3vw,3rem)}
.bp-intro{padding-bottom:clamp(1.8rem,3.5vw,3.5rem)}
.bp-layout{display:grid;grid-template-columns:minmax(320px,0.92fr) minmax(0,1.08fr);gap:clamp(2.5rem,5vw,5.5rem);align-items:center}
.bp-side>.eyebrow{display:inline-flex;margin-bottom:1rem}
.bp-h{margin:0;font-size:clamp(2.2rem,4.4vw,3.6rem)}
.bp-hint{max-width:44ch;margin:1.2rem 0 0}
.bp-figwrap{position:relative;display:flex;justify-content:center;align-items:center}
.bp-figwrap::before{content:none}
.bp-svg{width:auto;height:clamp(480px,72vh,780px);color:#c2c9b1;position:relative;z-index:1}
.bp-fig{opacity:.36;filter:drop-shadow(0 24px 50px rgba(0,0,0,.38))}
.bp-organ{transition:opacity .4s var(--ease),filter .4s}
.bp-organ[data-key]{cursor:pointer}
.bp-spine{opacity:.42}.bp-lungs{opacity:.5}.bp-arteries{opacity:.82}.bp-digest{opacity:.92}.bp-heart{opacity:1}.bp-brain{opacity:1}
.bp-svg.has-sel .bp-organ{opacity:.1}
.bp-svg.has-sel .bp-organ.is-sel{opacity:1;filter:drop-shadow(0 0 9px rgba(215,179,88,.5))}
.bp-svg:not(.has-sel) .bp-organ[data-key]:hover{opacity:.95;filter:drop-shadow(0 0 7px rgba(215,179,88,.4))}
.bp-svg.has-sel .bp-organ[data-key]:not(.is-sel):hover{opacity:.32}
.bp-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:2.2rem 0 1.9rem}
.bp-pick{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--bone-2);background:transparent;border:1px solid var(--line-dark);border-radius:99px;padding:.52rem .92rem;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.bp-pick:hover{border-color:rgba(215,179,88,.55);color:var(--bone)}
.bp-pick.on{background:var(--olio-gold);border-color:var(--olio-gold);color:#1c2113}
.bp-detail{border-top:1px solid var(--line-dark);padding-top:1.7rem;max-width:48ch;min-height:212px}
.bp-stat{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olio-gold);margin-bottom:1rem}
.bp-title{font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:400;margin:0 0 .85rem;line-height:1.12}
.bp-desc{color:var(--bone-2);line-height:1.72;font-size:1.02rem;margin:0 0 1.3rem}
.bp-source{display:inline-flex;align-items:center;font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--olio-gold);text-decoration:none;border-bottom:1px solid rgba(215,179,88,.45);padding-bottom:.2rem;transition:color .25s,border-color .25s}
.bp-source::after{content:" \2197";margin-left:.35em}
.bp-source:hover{color:#ecd08a;border-color:var(--olio-gold)}
/* ---- benefits: editorial image rows + placeholders ---- */
.ben-edi{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.ben-edi--rev .ben-edi-media{order:2}
.ben-edi-img,.ben-imgph{aspect-ratio:4/5;border-radius:14px;overflow:hidden;width:100%}
.ben-edi-img{background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.ben-imgph{border:2px dashed rgba(232,233,223,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;background:rgba(232,233,223,.06);text-align:center;padding:2rem;color:var(--bone-2)}
.ph-sec{padding-top:clamp(.4rem,1.4vw,1.4rem);padding-bottom:clamp(3rem,6vw,5.5rem)}
.img-ph{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;width:100%;aspect-ratio:4/3;background:rgba(125,123,112,.1);border:1.5px dashed rgba(125,123,112,.46);border-radius:14px;text-align:center;padding:1.6rem}
.img-ph__ico{width:32px;height:32px;opacity:.55}
.img-ph__note{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;opacity:.64;max-width:26ch;line-height:1.6}
.ben-edi-vid{display:block;width:100%;height:auto;max-height:600px;object-fit:cover;border-radius:16px;border:1px solid var(--line-dark);box-shadow:0 40px 84px -48px rgba(0,0,0,.8);background:#10160f}
.ph-vid{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid var(--line-dark);box-shadow:0 40px 84px -48px rgba(0,0,0,.8);background:#10160f}
.ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.8rem)}
.ph-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,1.8rem)}
.ph-fig{margin:0}
.ph-photo{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid var(--line-dark);box-shadow:0 30px 64px -40px rgba(0,0,0,.7);cursor:zoom-in;transition:transform .5s var(--ease),filter .4s,box-shadow .4s}
.ph-photo:hover{transform:translateY(-4px);filter:brightness(1.05) saturate(1.04);box-shadow:0 40px 78px -42px rgba(0,0,0,.82)}
.kon-photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px;border:1px solid var(--line-dark);box-shadow:0 30px 64px -40px rgba(0,0,0,.7);cursor:zoom-in;filter:saturate(1.06) contrast(1.03);transition:transform .5s var(--ease),filter .4s,box-shadow .4s}
.kon-photo:hover{transform:translateY(-4px);filter:brightness(1.05) saturate(1.1);box-shadow:0 40px 78px -42px rgba(0,0,0,.82)}
.voices-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-bottom:clamp(2.6rem,5vw,4.2rem)}
.voices-photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;border:1px solid var(--line-dark);box-shadow:0 40px 90px -48px rgba(0,0,0,.82);cursor:zoom-in;filter:saturate(1.06) contrast(1.03);transition:transform .5s var(--ease),box-shadow .4s}
.voices-photo:hover{transform:translateY(-4px);box-shadow:0 50px 100px -50px rgba(0,0,0,.85)}
@media(max-width:820px){.voices-top{grid-template-columns:1fr;gap:1.8rem}.voices-photo{aspect-ratio:16/10}}
.ph-cap{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-top:.8rem;text-align:center}
@media(max-width:760px){.ph-grid,.ph-duo{grid-template-columns:1fr}}
.ben-ph-ico{width:40px;height:40px;color:var(--bone-3);opacity:.85;margin-bottom:.2rem}
.light .ben-imgph{border-color:rgba(26,33,23,.22);background:rgba(26,33,23,.05);color:var(--ink-2)}
.light .ben-ph-ico{color:var(--ink-2)}
.ben-lead-img{margin-top:1.9rem;aspect-ratio:2/3}
@media(max-width:760px){.ben-imgph--lead{aspect-ratio:16/10;margin-top:1.4rem}}
.ben-ph-tag{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.22em;color:var(--olio-gold);border:1px solid rgba(215,179,88,.45);padding:.32rem .75rem;border-radius:99px}
.ben-ph-note{color:var(--bone-3);font-size:.85rem;max-width:26ch;line-height:1.5}
.light .ben-ph-note{color:var(--ink-2)}
.ben-edi-body .display{margin:.4rem 0 1.1rem}
.ben-ours-list{margin-top:1.8rem}
@media(max-width:860px){.bp-layout{grid-template-columns:1fr;gap:1.8rem}.bp-figwrap{order:-1}.bp-svg{height:clamp(380px,56vh,460px)}.bp-h{font-size:clamp(2rem,8vw,2.6rem)}.bp-detail{min-height:0}.ben-edi{grid-template-columns:1fr;gap:1.5rem}.ben-edi--rev .ben-edi-media{order:0}.ben-edi-img,.ben-imgph{aspect-ratio:16/10}}
.page-hero.ph-sorten .page-hero__photo{background-image:url(/assets/img/sorten-hero.jpg);background-position:center 45%;filter:contrast(1.04) saturate(1.07) brightness(.92)}
.page-hero.ph-produktion .page-hero__photo{background-image:url(/assets/img/prod-hero.jpg);background-position:center 40%;filter:contrast(1.04) saturate(1.08) brightness(.9)}
.page-hero.ph-gallery .page-hero__photo{background-image:url(/assets/img/p01.jpg)}
.page-hero.ph-pairing .page-hero__photo{background-image:url(/assets/img/pairing-hero.jpg);background-position:center 48%;filter:contrast(1.04) saturate(1.06) brightness(.9)}
.page-hero.ph-awards .page-hero__photo{background-image:url(/assets/img/awards-hero.jpg);background-position:center 46%;filter:contrast(1.05) saturate(1.1) brightness(.9)}
.page-hero.ph-shop .page-hero__photo{background-image:url(/assets/img/p16.jpg)}
.page-hero.ph-kontakt .page-hero__photo{background-image:url(/assets/img/contact-hero.jpg);background-position:center 40%;filter:contrast(1.04) saturate(1.06) brightness(.9)}
.page-hero.ph-track .page-hero__photo{background-image:linear-gradient(180deg,rgba(21,28,20,.55),rgba(21,28,20,.85)),url("/assets/img/e075.jpg");background-position:center 28%}
#galGrid .gal__i.g1{background-image:url(/assets/img/p15.jpg)}
#galGrid .gal__i.g2{background-image:url(/assets/img/p06.jpg)}
#galGrid .gal__i.g3{background-image:url(/assets/img/p01.jpg)}
#galGrid .gal__i.g4{background-image:url(/assets/img/p11.jpg)}
#galGrid .gal__i.g5{background-image:url(/assets/img/p08.jpg)}
#galGrid .gal__i.g6{background-image:url(/assets/img/p05.jpg)}
#galGrid .gal__i.g7{background-image:url(/assets/img/p16.jpg)}
#galGrid .gal__i.g8{background-image:url(/assets/img/p13.jpg)}
.steps--six .step .step-anim{overflow:hidden}
.shop-products{padding-bottom:clamp(1.8rem,3.5vw,3rem)}
.gift-box-sec{padding-top:0;padding-bottom:clamp(.8rem,2vw,1.6rem)}
.gift-box{border:1px solid var(--line-dark);border-radius:12px;padding:clamp(1.8rem,4vw,3.2rem);background:radial-gradient(circle at 88% 0%,rgba(215,179,88,.08),transparent 52%);display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.4rem) clamp(2rem,5vw,4.5rem);align-items:start}
.gb-intro{color:var(--bone-2);margin:0;max-width:46ch;font-size:1.02rem;line-height:1.6;grid-row:1;grid-column:1}
.gb-rows{display:flex;flex-direction:column;grid-column:2;grid-row:1}
.gb-foot{grid-column:1 / -1}
.gb-msg{grid-column:1 / -1;display:flex;flex-direction:column;gap:.55rem;margin-top:.2rem}
.gb-msg label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olio-gold)}
.gb-msg textarea{width:100%;background:rgba(20,27,19,.5);border:1px solid var(--line-dark);border-radius:10px;color:var(--bone);font:inherit;font-size:.95rem;padding:.78rem .95rem;resize:vertical;min-height:3.2rem;transition:border-color .25s var(--ease)}
.gb-msg textarea:focus{outline:none;border-color:var(--olio-gold)}
.gb-msg textarea::placeholder{color:var(--bone-3)}
@media(max-width:760px){.gift-box{grid-template-columns:1fr;gap:1.6rem}.gb-intro,.gb-rows,.gb-foot{grid-column:1;grid-row:auto}}
.gb-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line-dark)}
.gb-row-name{font-family:"Fraunces",serif;font-size:1.06rem;display:block}
.gb-row-fmt{display:block;font-size:.64rem;color:var(--bone-3);margin-top:.28rem;letter-spacing:.04em}
.gb-qty{flex:none}
.gb-qty button{width:2.3rem;height:2.3rem}
.gb-foot{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;margin-top:1.6rem}
.gb-sum{display:flex;flex-direction:column;gap:.35rem}
.gb-total{font-family:"Fraunces",serif;font-size:1.5rem;color:var(--olio-gold)}
.gb-total small{font-family:"Hanken Grotesk";font-size:.64rem;color:var(--bone-3);letter-spacing:.03em}
.gb-row-price{color:var(--olio-gold)}
.gb-coff{font-family:"Hanken Grotesk";font-size:.92rem;color:var(--bone-2);letter-spacing:.02em}
.gb-coff .gb-coff-amt{color:var(--olio-gold)}
.gb-add{white-space:nowrap}
.searchbtn{background:none;border:none;cursor:pointer;color:var(--bone);display:inline-flex;align-items:center;padding:.3rem;transition:color .25s}
.searchbtn .ic{stroke:#fff}
.drawer .searchbtn{color:var(--bone);padding:.2rem 0;margin-top:.4rem}
.drawer .searchbtn .ic{width:18px;height:18px;margin-inline-end:.5rem}
.searchbtn:hover{color:var(--olio-gold)}
.searchbtn .ic{width:20px;height:20px}
.search-ov{position:fixed;inset:0;background:rgba(16,22,15,.55);z-index:220;display:flex;justify-content:center;align-items:flex-start;padding-top:14vh;opacity:0;transition:opacity .25s var(--ease)}
body.search-open .search-ov{opacity:1}
.search-ov[hidden]{display:none}
.search-box{width:min(560px,92vw);background:var(--stone);border-radius:12px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(16,22,15,.6)}
#searchInput{width:100%;border:none;border-bottom:1px solid var(--line-light);background:transparent;color:var(--ink);font:inherit;font-size:1.1rem;padding:1.15rem 1.4rem;outline:none}
.search-res{max-height:52vh;overflow-y:auto}
.sr-item{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1.4rem;border-bottom:1px solid var(--line-light);text-decoration:none;color:var(--ink);transition:background .2s}
.sr-item:hover{background:var(--stone-2)} .sr-item.is-active{background:var(--stone-2);box-shadow:inset 2px 0 0 #D7B358}
.sr-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.22rem}
.sr-snip{font-size:.8rem;line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sr-stars{color:#BE9740;letter-spacing:.05em}
.sr-label{font-family:"Fraunces",serif;font-size:1.02rem;min-width:0}
.sr-sub{font-size:.58rem;color:var(--ink-2);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-light);padding:.14rem .45rem;border-radius:99px;flex:0 0 auto;white-space:nowrap}
.sr-hl{background:rgba(215,179,88,.3);color:inherit;border-radius:2px;padding:0 .05em}
.sr-chip{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.03em;padding:.34rem .72rem;border-radius:99px;border:1px solid var(--line-light);background:transparent;color:var(--ink-2);cursor:pointer;transition:border-color .2s,color .2s}
.sr-chip:hover{border-color:var(--olio-gold);color:var(--ink)}
.sr-cat{padding:.7rem 1.4rem .25rem;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.sr-none{padding:1.5rem;color:var(--ink-2);text-align:center}
.dishes{display:flex;flex-direction:column}
.dishes{display:flex;flex-direction:column;gap:clamp(3rem,6.5vw,6rem);max-width:var(--maxw);margin:0 auto}
.dish{padding:0;border:none;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4.5vw,4rem);align-items:center;max-width:1040px;margin-inline:auto}
.dish:nth-child(even) .dish-art{order:2}
.dish-art{justify-self:stretch;width:100%}
.dish:nth-child(even) .dish-art{justify-self:center}
.dish-art{aspect-ratio:4/5;border:1px solid var(--line-dark);border-radius:16px;background-size:cover;background-position:center;background-color:#10160f;cursor:zoom-in;filter:saturate(1.16) contrast(1.05);box-shadow:0 38px 84px -48px rgba(0,0,0,.82);transition:transform .55s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.dish-art:hover{transform:scale(1.02);border-color:rgba(215,179,88,.5);box-shadow:0 30px 72px -34px rgba(0,0,0,.78)}
.dish-art:focus-visible{outline:none;border-color:var(--olio-gold);box-shadow:0 0 0 2px var(--olio-gold)}
.dish-main{min-width:0;align-self:center}
.dish-head{display:flex;gap:1.1rem;align-items:baseline}
.dish-no{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--olio-gold);letter-spacing:.18em;flex:none}
.dish-headmain{flex:1}
.dish-title{font-size:clamp(1.9rem,3.3vw,2.85rem);font-weight:400;line-height:1.04;margin:0 0 .7rem}
.dish-why{color:var(--olio-gold);font-family:"Fraunces",serif;font-style:italic;font-size:clamp(1.1rem,1.5vw,1.32rem);line-height:1.5;margin:0;max-width:46ch}
.dish-intro{color:var(--bone-2);margin:1.1rem 0 1.5rem;max-width:46ch;line-height:1.62}
.dish-toggle{background:none;border:none;color:var(--bone);font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;gap:.5rem;align-items:center;padding:0;transition:color .25s}
.dish-toggle:hover{color:var(--olio-gold)}
.dish-toggle .dt-plus{color:var(--olio-gold);font-size:1.05rem;line-height:1}
.dish-recipe{margin-top:1.6rem;border-top:1px solid var(--line-dark);padding-top:1.5rem}
.dish-cols{display:grid;grid-template-columns:1fr;gap:clamp(1.2rem,3vw,2rem)}
.dish-h4{font-family:"IBM Plex Mono",monospace;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3);margin:0 0 .9rem;font-weight:400}
.dish-ing,.dish-steps{margin:0;color:var(--bone-2)}
.dish-steps{padding-inline-start:1.1rem}
.dish-ing{list-style:none;padding-inline-start:0}
.dish-ing li{padding-inline-start:1.05rem;position:relative;margin-bottom:.5rem;line-height:1.55}
.dish-ing li::before{content:"·";position:absolute;inset-inline-start:0;color:var(--olio-gold);font-weight:700}
.dish-steps li{margin-bottom:.6rem;line-height:1.6;padding-inline-start:.2rem}
@media(max-width:820px){.dish{grid-template-columns:1fr;gap:1.4rem}.dish:nth-child(even) .dish-art{order:0}.dish-art{aspect-ratio:4/5;max-width:380px}}
.pdp-stage{overflow:hidden}
.pdp-stage{position:relative}
.pdp-stage::before,.pc-media::before{content:"";position:absolute;inset:0;background:radial-gradient(54% 48% at 50% 49%,rgba(222,212,182,.09),transparent 72%);pointer-events:none;z-index:0}
.pdp-stage::after,.pc-media::after{content:"";position:absolute;left:50%;bottom:9%;width:40%;height:5.5%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.5),transparent 73%);filter:blur(5px);pointer-events:none;z-index:0}
.pdp-stage .bottle3d{width:100%;height:100%;min-height:380px;touch-action:pan-y;cursor:grab;position:relative;z-index:1}
.bottle3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.bottle3d.fallback::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30%;aspect-ratio:120/320;background:linear-gradient(170deg,#39572c,#16240f);border-radius:7px;box-shadow:inset -6px -10px 30px rgba(0,0,0,.5)}
@media(max-width:820px){.product-card,.pc-link-wrap{grid-template-columns:1fr}.product-card.pr-rev .pc-media{order:0}.product-card.pr-rev .pc-body{order:0}.product-card .pc-media{min-height:17rem}.product-card .pc-body{padding:1.8rem 1.6rem 2rem}.pdp{grid-template-columns:1fr;gap:2.2rem}.pdp-media{position:static}.pdp-stage .bottle3d{min-height:330px}.gb-foot{flex-direction:column;align-items:stretch}.gb-add{width:100%;justify-content:center;display:inline-flex}}
@media(max-width:480px){.products{grid-template-columns:1fr}.cart-drawer{width:100vw}.search-box{width:94vw}}
/* ===== Production journey (sticky cinematic scroll) ===== */
.prodj{--pj-top:clamp(80px,11vh,112px);padding-block:clamp(2.6rem,6vw,5.2rem)}
.prodj__layer{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--ease);will-change:opacity}
.prodj__layer.is-active{opacity:1;animation:prodjKen 18s ease-in-out infinite alternate}
.prodj__layer .prodj__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#10160F;filter:saturate(1.09) contrast(1.03) brightness(1.03)}
@keyframes prodjKen{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.prodj__cap{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:baseline;gap:.85rem;padding:clamp(1rem,2.4vw,1.55rem) clamp(1.1rem,2.6vw,1.7rem);pointer-events:none}
.prodj__capnum{font-family:"IBM Plex Mono",monospace;font-size:.71rem;letter-spacing:.16em;color:var(--olio-gold);white-space:nowrap}
.prodj__bar{position:absolute;left:0;right:0;top:0;height:3px;z-index:4;background:rgba(236,230,214,.14)}
.prodj__barfill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--olio-green),var(--olio-gold));transition:width .35s var(--ease)}
.prodj__captitle{font-size:clamp(1.02rem,1.7vw,1.4rem);font-weight:400;color:var(--bone);line-height:1.12}
.prodj__steps{position:relative}
.prodj__rail{position:absolute;left:0;top:0;height:0;width:2px;background:var(--line-dark);border-radius:2px;overflow:hidden;z-index:0}
.prodj__railfill{position:absolute;left:0;top:0;width:100%;height:0;background:linear-gradient(180deg,var(--olio-green),var(--olio-gold));border-radius:2px;transition:height .45s var(--ease)}
.prodj__step{display:grid;grid-template-columns:2.6rem 1fr;gap:clamp(1rem,2vw,1.7rem);padding:clamp(1.5rem,3.4vh,2.9rem) 0;align-items:start}
.prodj__step:first-child{padding-top:.2rem}
.prodj__node{width:.7rem;height:.7rem;border-radius:50%;flex:0 0 auto;background:var(--frantoio);box-shadow:inset 0 0 0 1.5px var(--bone-3);transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.prodj__title{font-size:clamp(1.45rem,2.5vw,2.05rem);font-weight:400;margin:0 0 .55rem;color:var(--bone);opacity:.4;transform:scale(.95);transform-origin:left center;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.prodj__step.is-active .prodj__title,.prodj__step.is-active .prodj__desc{opacity:1}
.prodj__step.is-active .prodj__title{transform:scale(1.02)}
.prodj__step.is-active .prodj__num{color:var(--olio-gold);text-shadow:0 0 14px rgba(215,179,88,.5)}
@media(hover:hover){.prodj__step:not(.is-active):hover .prodj__title,.prodj__step:not(.is-active):hover .prodj__desc{opacity:.72}}
.prodj__step.is-active .prodj__node{background:var(--olio-gold);box-shadow:0 0 0 4px rgba(215,179,88,.16)}
.prodj__step.is-done .prodj__node{background:var(--olio-gold-deep);box-shadow:inset 0 0 0 1.5px var(--olio-gold-deep)}
.prodj__step.is-done .prodj__num{color:var(--bone-3)}
.prodj__step.is-done .prodj__title{opacity:.6}
@media(max-width:820px){
  .prodj__grid{grid-template-columns:1fr;gap:clamp(1.2rem,4vw,2rem)}
  .prodj__stage{position:sticky;top:var(--pj-top);z-index:2;margin-bottom:.4rem}
  .prodj__media{aspect-ratio:auto;height:min(42vh,72vw);max-height:none;border-radius:13px}
  .prodj__step{grid-template-columns:2.3rem 1fr;gap:.9rem;padding:clamp(1.4rem,5vh,2.4rem) 0}
  .prodj__title{opacity:.85;transform:none}.prodj__desc{opacity:.85}
}
@media(max-width:480px){.prodj__media{height:min(38vh,78vw)}}
@media(prefers-reduced-motion:reduce){
  .prodj__layer{transition:none;transform:none}
  .prodj__layer.is-active{animation:none}
  .prodj__title{transform:none}
  .prodj__railfill,.prodj__title,.prodj__desc,.prodj__node,.prodj__num{transition:none}
}
/* ===== Cinematic page-hero treatment, brighter, editorial, golden glow ===== */
.page-hero{min-height:clamp(78vh,88svh,1020px)}
.page-hero__photo{filter:brightness(1.02) contrast(1.26) saturate(1.42);transform-origin:62% 38%;animation:phKen 24s ease-in-out infinite alternate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(72% 64% at 82% 22%,rgba(215,179,88,.22),rgba(215,179,88,0) 66%);mix-blend-mode:soft-light}
.page-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(72deg,rgba(14,20,12,.72) 0%,rgba(14,20,12,.3) 30%,rgba(14,20,12,0) 60%),linear-gradient(0deg,rgba(14,20,12,.92) 0%,rgba(14,20,12,.58) 17%,rgba(14,20,12,.16) 44%,rgba(14,20,12,0) 64%),linear-gradient(0deg,var(--frantoio) 0%,rgba(21,28,20,0) 13%)}
@keyframes phKen{from{transform:scale(1)}to{transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){.page-hero__photo{animation:none;transform:scale(1.02)}}
@media(max-width:640px){
  .page-hero__photo{filter:brightness(1.03) contrast(1.16) saturate(1.34)}
  .page-hero::after{background:linear-gradient(0deg,rgba(14,20,12,.95) 0%,rgba(14,20,12,.66) 22%,rgba(14,20,12,.2) 50%,rgba(14,20,12,0) 70%),linear-gradient(0deg,var(--frantoio) 0%,rgba(21,28,20,0) 13%)}
  .page-hero h1{color:rgba(246,241,229,.98);text-shadow:0 2px 18px rgba(0,0,0,.5)}
  .page-hero .standfirst{color:rgba(236,230,214,.86);font-weight:400;text-shadow:0 1px 14px rgba(0,0,0,.68)}
  .page-hero .eyebrow,.page-hero .crumbs{text-shadow:0 1px 10px rgba(0,0,0,.66)}
}
/* ===== Contact, refined warm panel ===== */
.kontakt-sec{padding-bottom:clamp(.8rem,2vw,1.6rem)}.kon-owner{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.1rem;flex-wrap:wrap}.kon-owner-img{width:240px;height:320px;object-fit:cover;object-position:50% 0%;background:none;border:0;box-shadow:none;flex:none;-webkit-mask-image:linear-gradient(180deg,#000 68%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,#000 68%,rgba(0,0,0,0) 100%)}.kon-owner-meta{min-width:0}.kon-owner-eyb{font-size:.78rem!important}.kon-owner-name{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.55rem;line-height:1.08;margin:.4rem 0 0;color:var(--bone)}.kon-owner-role{margin:.3rem 0 0;font-size:1.02rem;line-height:1.4;color:var(--bone-2);opacity:.92}.kontakt-panel{position:relative;background:none;border:0;border-radius:0;padding:0;box-shadow:none;overflow:visible}
.kontakt-panel::before{display:none}
.kontakt-panel>.duo-grid{position:relative;z-index:1;margin:0;align-items:start}
/* ===== Gallery, The Estate Archive ===== */
.ea-hero{position:relative;min-height:clamp(78vh,88svh,1020px);display:flex;align-items:flex-end;overflow:hidden;padding:8rem 0 clamp(3rem,6vw,5rem)}
.ea-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center 56%;filter:brightness(1.02) contrast(1.14) saturate(1.3);transform-origin:60% 40%;animation:phKen 26s ease-in-out infinite alternate}
.ea-hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(72deg,rgba(14,20,12,.74) 0%,rgba(14,20,12,.3) 32%,rgba(14,20,12,0) 62%),linear-gradient(0deg,rgba(14,20,12,.9) 0%,rgba(14,20,12,.4) 22%,rgba(14,20,12,0) 52%),linear-gradient(0deg,var(--frantoio) 0%,rgba(21,28,20,0) 12%)}
.ea-hero__in{position:relative;z-index:2;width:100%}
.ea-hero__title{font-weight:300;font-size:clamp(2.8rem,8vw,6.5rem);line-height:.95;letter-spacing:-.02em;margin:.5rem 0 0}
.ea-hero__title em{font-style:italic;font-weight:300}
.ea-hero__sub{max-width:46ch;color:var(--bone-2);font-weight:300;font-size:clamp(1.05rem,1.6vw,1.4rem);margin-top:1.2rem}
@keyframes eaScroll{0%{transform:translateX(-16px)}60%,100%{transform:translateX(46px)}}
.ea-ch{padding-block:clamp(2.8rem,6vw,5.6rem)}
.ea-ch__head{max-width:62ch;margin-bottom:clamp(1.6rem,3vw,2.6rem)}
.ea-ch__num{color:var(--olio-gold);font-size:.76rem;letter-spacing:.16em}
.ea-ch__title{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:300;line-height:1;margin:.5rem 0 .7rem}
.ea-ch__line{color:var(--bone-2);max-width:56ch;font-size:clamp(1.02rem,1.5vw,1.25rem);font-weight:300;margin:0}
.ea-ch__label{display:inline-block;margin-top:1rem;font-size:.68rem;letter-spacing:.16em;color:var(--bone-3);text-transform:uppercase}
.ea-deck{display:flex;gap:.7rem;height:clamp(360px,52vh,560px)}
.ea-panel{position:relative;flex:1 1 0;min-width:0;border:0;padding:0;border-radius:12px;overflow:hidden;cursor:pointer;background:#10160f;box-shadow:0 26px 64px -38px rgba(0,0,0,.72);transition:flex-grow .6s var(--ease);outline:none}
.ea-panel.is-active{flex-grow:2.6}
.ea-deck:hover .ea-panel{flex-grow:1}
.ea-deck .ea-panel:hover{flex-grow:3.2}
.ea-panel:focus-visible{box-shadow:0 0 0 2px var(--olio-gold),0 26px 64px -38px rgba(0,0,0,.72)}
.ea-panel__bg{position:absolute;inset:0;background-color:#10160f;background-size:cover;background-position:center;transition:transform 1.1s var(--ease),filter .6s var(--ease);filter:saturate(1.06) brightness(.9)}
.ea-panel.is-active .ea-panel__bg{filter:saturate(1.12) brightness(1)}
.ea-deck .ea-panel:hover .ea-panel__bg{transform:scale(1.06);filter:saturate(1.14) brightness(1.02)}
.ea-panel__grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,14,8,.72) 0%,rgba(10,14,8,.12) 42%,transparent 72%);opacity:.66;transition:opacity .5s var(--ease)}
.ea-panel.is-active .ea-panel__grad{opacity:.9}
.ea-deck .ea-panel:hover .ea-panel__grad{opacity:.94}
.ea-panel__cap{position:absolute;left:0;bottom:0;z-index:2;padding:clamp(1rem,1.5vw,1.5rem);display:flex;flex-direction:column;gap:.2rem;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease);white-space:nowrap;pointer-events:none}
.ea-panel.is-active .ea-panel__cap{opacity:1;transform:none}
.ea-deck:hover .ea-panel.is-active:not(:hover) .ea-panel__cap{opacity:0;transform:translateY(8px)}
.ea-deck .ea-panel:hover .ea-panel__cap{opacity:1;transform:none}
.ea-panel__num{color:var(--olio-gold);font-size:.68rem;letter-spacing:.18em}
.ea-panel__t{font-size:clamp(1.05rem,1.5vw,1.5rem);font-weight:400;color:var(--bone);font-family:"Fraunces",serif}
.ea-final{position:relative;min-height:clamp(48vh,60vh,620px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;margin-top:clamp(1.5rem,4vw,3.5rem)}
.ea-final__bg{position:absolute;inset:0;background-color:#10160f;background-size:cover;background-position:center;filter:brightness(.72) contrast(1.12) saturate(1.18);transform-origin:50% 50%;animation:phKen 30s ease-in-out infinite alternate}
/* lightbox caption + filmstrip */
.lightbox .lb-img{height:min(68vh,700px)}
.lb-cap{position:absolute;left:clamp(1.4rem,4vw,3.4rem);bottom:clamp(1.8rem,5vh,3.4rem);right:auto;top:auto;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;pointer-events:none;max-width:min(52vw,440px)}
.lb-cap__ch{color:rgba(215,179,88,.9);font-size:.72rem;letter-spacing:.2em;font-family:"IBM Plex Mono",monospace}
.lb-cap__t{font-size:1.12rem;color:rgba(238,239,230,.9);font-family:"IBM Plex Mono",monospace;font-weight:400;letter-spacing:.02em;line-height:1.5;text-transform:none}
.lb-cap__i{color:rgba(232,233,223,.6);font-size:.74rem;letter-spacing:.12em;font-family:"IBM Plex Mono",monospace}
.lb-strip{position:absolute;left:0;right:0;bottom:clamp(1rem,3vh,2rem);z-index:4;display:flex;gap:.5rem;justify-content:center;flex-wrap:nowrap;overflow-x:auto;padding:0 1.5rem;scrollbar-width:none}
.lb-strip::-webkit-scrollbar{display:none}
.lb-thumb{flex:0 0 auto;width:66px;height:48px;border-radius:5px;border:0;background-color:#10160f;background-size:cover;background-position:center;cursor:pointer;opacity:.42;outline:none;transition:opacity .3s,box-shadow .3s}
.lb-thumb:hover{opacity:.8}
.lb-thumb.on{opacity:1;box-shadow:0 0 0 2px var(--olio-gold)}
@media(max-width:820px){
  .ea-hero,.page-hero{min-height:clamp(60vh,76svh,760px)}
  .ea-deck{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.6rem;padding-bottom:.4rem}
  .ea-deck::-webkit-scrollbar{display:none}
  .ea-panel{flex:0 0 82% !important;height:min(60vh,440px);scroll-snap-align:center}
  .ea-panel__cap{opacity:1 !important;transform:none !important}
  .ea-panel__bg{filter:saturate(1.1) brightness(1) !important;transform:none !important}
  .lb-cap{left:1rem;bottom:5.2rem;max-width:84vw}.lb-cap__t{font-size:.76rem}
  .lb-thumb{width:54px;height:40px}
  .lightbox .lb-img{height:min(56vh,500px);width:92vw}
}
@media(prefers-reduced-motion:reduce){
  .ea-hero__bg,.ea-final__bg{animation:none}
  .ea-scroll__line::after{animation:none}
  .ea-panel,.ea-panel__bg,.ea-panel__cap,.ea-panel__grad{transition:none}
}
/* ===== Production, horizontal cinematic journey ===== */
.prodh{position:relative;background:var(--frantoio);overflow:hidden;padding:clamp(1.4rem,3vh,2.4rem) 0 clamp(3.4rem,7vh,5rem)}
.prodh__track{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(1rem,2vw,2rem);padding-inline:clamp(1rem,4vw,4rem);position:relative;will-change:transform;transition:transform .75s cubic-bezier(.5,.05,.2,1)}
.prodh__track--noanim{transition:none}
.prodh__panel{position:relative;flex:0 0 80vw;height:min(80vh,860px);border-radius:18px;overflow:hidden;border:1px solid var(--line-dark);box-shadow:0 50px 120px -55px rgba(0,0,0,.85);background:#10160f;opacity:.5;transition:opacity .6s var(--ease)}
.prodh__panel.is-active{opacity:1}
.prodh__bg .prodj__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.32) contrast(1.14) brightness(1.02);transform:scale(1.05);transition:transform 1.6s var(--ease)}
.prodh__panel.is-active .prodh__bg .prodj__vid{transform:scale(1)}
.prodh__dot{width:.5rem;height:.5rem;border-radius:50%;background:rgba(236,230,214,.28);cursor:pointer;transition:.35s var(--ease)}
.prodh__dot:hover{background:rgba(236,230,214,.55)}
.prodh__dot.on{background:var(--olio-gold);transform:scale(1.25)}
.prodh__arrow{position:absolute;top:calc(50% - 1.1rem);transform:translateY(-50%);z-index:6;width:clamp(2.9rem,3.2vw,3.4rem);height:clamp(2.9rem,3.2vw,3.4rem);border-radius:50%;border:1px solid rgba(236,230,214,.22);background:rgba(16,22,15,.32);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--bone);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),opacity .4s var(--ease),visibility .4s}
.prodh__arrow svg{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.prodh__arrow:hover{background:var(--olio-gold);color:var(--frantoio);border-color:var(--olio-gold)}
.prodh__arrow:disabled{opacity:0;visibility:hidden;pointer-events:none}
.prodh__arrow--prev{left:clamp(.8rem,2.5vw,2.6rem)}
.prodh__arrow--next{right:clamp(.8rem,2.5vw,2.6rem)}
@media(max-width:820px){
  .prodh__panel{flex-basis:88vw;height:min(62vh,520px);border-radius:14px}
  .prodh__title{font-size:clamp(1.7rem,7vw,2.4rem)}
  .prodh__cap{max-width:90%;padding:1.4rem}
  .prodh__arrow{width:2.7rem;height:2.7rem}.prodh__arrow--prev{left:.6rem}.prodh__arrow--next{right:.6rem}
}
@media(prefers-reduced-motion:reduce){
  .prodh__track{transition:none}
  .prodh__bg .prodj__vid{transform:none !important;transition:none}
}
@media(prefers-reduced-motion:reduce){
  .prodh__bg .prodj__vid{transform:none !important;transition:none}
  .prodh__hintdot::after{animation:none}
}
/* ===== Production, editorial rows ===== */
.prode{padding-block:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;gap:clamp(2.6rem,6vw,5.5rem)}
.prode-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.8rem,5vw,5rem);max-width:var(--maxw);width:100%;margin:0 auto;padding-inline:clamp(1.2rem,4vw,3rem)}
.prode-row--rev{grid-template-columns:1fr 1fr}
.prode-row--rev .prode-media{order:2}
.prode-media{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line-dark);background:#10160f;cursor:zoom-in;box-shadow:0 42px 92px -50px rgba(0,0,0,.82),inset 0 0 0 1px rgba(236,230,214,.04);transition:border-color .4s var(--ease)}
.prode-media:hover{border-color:rgba(215,179,88,.42)}
.prode-exp{position:absolute;top:.7rem;right:.7rem;z-index:3;width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:50%;background:rgba(20,27,19,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(236,230,214,.22);color:var(--bone);font-size:.95rem;opacity:0;transform:scale(.9);transition:.3s var(--ease);pointer-events:none}
.prode-media:hover .prode-exp{opacity:1;transform:scale(1)}
.prodvl{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(8,11,6,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:clamp(1rem,4vw,3rem)}
.prodvl.open{display:flex}
.prodvl__stage{position:relative;width:min(1240px,92vw)}
.prodvl__vid{width:100%;max-height:86vh;border-radius:14px;display:block;background:#10160f;box-shadow:0 40px 120px -40px rgba(0,0,0,.9)}
.prodvl__close{position:absolute;top:clamp(.8rem,2vw,1.4rem);right:clamp(.8rem,2vw,1.4rem);z-index:2;width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid rgba(236,230,214,.3);background:rgba(20,27,19,.6);color:var(--bone);font-size:1.6rem;line-height:1;cursor:pointer;transition:.3s var(--ease)}
.prodvl__close:hover{background:var(--olio-gold);color:var(--frantoio);border-color:var(--olio-gold)}
.prodvl__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid rgba(236,230,214,.3);background:rgba(20,27,19,.55);color:var(--bone);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.3s var(--ease)}
.prodvl__nav:hover{background:var(--olio-gold);color:var(--frantoio);border-color:var(--olio-gold)}
.prodvl__nav--prev{left:clamp(.8rem,3vw,2.6rem)}
.prodvl__nav--next{right:clamp(.8rem,3vw,2.6rem)}
.prodvl__cap{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(1.1rem,3.4vh,2.4rem);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.42rem;text-align:center;max-width:min(86vw,620px);pointer-events:none;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.prodvl__no{color:rgba(215,179,88,.92);font-size:.72rem;letter-spacing:.2em}
.prodvl__name{color:rgba(238,239,230,.96);font-size:1.06rem;font-family:"IBM Plex Mono",monospace;letter-spacing:.01em}
.prodvl__desc{color:rgba(232,233,223,.66);font-size:.82rem;line-height:1.5;letter-spacing:.02em}
@media(max-width:640px){.prodvl__nav{width:2.4rem;height:2.4rem;font-size:1.3rem}.prodvl__name{font-size:.92rem}.prodvl__desc{display:none}}
.prode-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.12) contrast(1.04) brightness(1.02)}
.prode-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 60% at 80% 12%,rgba(215,179,88,.12),rgba(215,179,88,0) 62%);mix-blend-mode:soft-light}
.prode-body{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.prode-title{font-family:"Fraunces",serif;font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:400;line-height:1.04;color:var(--bone);margin:.25rem 0 .35rem}
.prode-desc{color:var(--bone-2);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.62;max-width:42ch}
@media(max-width:820px){.prode{gap:clamp(2rem,7vw,3rem)}.prode-row{grid-template-columns:1fr;gap:1.3rem}.prode-row--rev .prode-media{order:0}}
/* ===== Gallery, editorial masonry wall ===== */
.eg-sec{padding-block:clamp(2.4rem,5vw,4.5rem)}
.eg-lead{max-width:60ch;margin-bottom:clamp(1.4rem,3vw,2.4rem)}
.eg-leadp{color:var(--bone-2);font-weight:300;font-size:clamp(1.02rem,1.4vw,1.25rem);margin:.7rem 0 0;max-width:50ch}
.eg{columns:4 240px;column-gap:clamp(.6rem,1vw,1rem)}
.eg__i,.eg__v{display:block;width:100%;break-inside:avoid;margin:0 0 clamp(.6rem,1vw,1rem);padding:0;border:0;border-radius:9px;overflow:hidden;background:#10160f;position:relative;outline:none;cursor:pointer}
.eg__v video,.eg__v .eg__vtag,.eg__v img{pointer-events:none}
.eg__i{cursor:pointer}
.eg__v video{display:block;width:100%;height:auto;filter:saturate(1.2) contrast(1.06)}
.eg__vtag{position:absolute;left:.6rem;bottom:.6rem;z-index:2;display:inline-flex;align-items:center;gap:.35rem;font-family:"IBM Plex Mono",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);background:rgba(15,20,14,.55);padding:.32rem .6rem;border-radius:99px}
.eg__i img{display:block;width:100%;height:auto;transition:transform .9s var(--ease),filter .5s var(--ease);filter:saturate(1.26) contrast(1.1) brightness(1)}
.eg__i:hover img{transform:scale(1.05);filter:saturate(1.12) brightness(1.03)}
.eg__i::after,.eg__v::after{content:"";position:absolute;inset:0;border-radius:9px;box-shadow:inset 0 0 0 1px var(--line-dark);pointer-events:none;transition:box-shadow .4s var(--ease)}
.eg__i:hover::after{box-shadow:inset 0 0 0 1px rgba(215,179,88,.45)}
.eg__i:focus-visible{box-shadow:0 0 0 2px var(--olio-gold)}
@media(max-width:520px){.eg{columns:2 140px;column-gap:.5rem}.eg__i{margin-bottom:.5rem}}
@media(prefers-reduced-motion:reduce){.eg__i img{transition:none}}
@media(max-width:430px){header.site{padding-left:.8rem;padding-right:.8rem}.head-right{gap:.55rem}.brand{font-size:.98rem;gap:.35rem}.brand .leaf{width:.5rem;height:.5rem}}
@media(max-width:560px){.gb-intro,.gb-rows,.gb-foot,.gb-row{min-width:0}.gb-row-name{min-width:0;overflow-wrap:anywhere}.gift-box{padding-left:1.1rem;padding-right:1.1rem}}
.drawer #searchBtnDrawer,.drawer .drawer-langs{display:none}@media(max-width:1399px){.drawer{justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:calc(env(safe-area-inset-top,0px) + 5.7rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2rem);gap:1.25rem}.drawer a{font-size:1.55rem}.drawer .mono{margin-top:1rem}}
body.menu-open header.site{position:fixed;top:0;left:0;right:0}body.menu-open{overflow:hidden}
body.menu-open #soundBtn{display:none}@media(max-width:1399px) and (min-height:740px){.drawer{justify-content:center}}@media(min-width:768px){#soundBtn{left:auto;right:clamp(1rem,3vw,2rem)}}
@keyframes sndHint{0%,100%{box-shadow:0 0 0 0 rgba(215,179,88,.5)}70%{box-shadow:0 0 0 12px rgba(215,179,88,0)}}#soundBtn.hint{animation:sndHint 2.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){#soundBtn.hint{animation:none}}
@media(max-width:767px){.hero .wrap{padding-bottom:3.8rem}#soundBtn{bottom:1rem}}
.psx-sec{padding-block:clamp(2.4rem,5vw,4.4rem)}.psx{--bone:#E8E9DF;--bone3:#9aa08e;--gold:#D7B358;--sage:#c4cbb3;--green:#A9BE3F;--line:rgba(232,233,223,.13);background:none;border:0;border-radius:0;padding:0;overflow:visible}
.psx-head{margin-bottom:1.2rem}.psx .psx-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}.psx-eyebrow::before{content:"";display:inline-block;width:26px;height:1px;background:var(--gold);vertical-align:middle;margin-right:.7rem;opacity:.7}
.psx-h{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.04;margin:.7rem 0 .4rem;color:var(--bone)}.psx-h em{font-style:italic}
.psx-sub{color:var(--bone3);font-size:.95rem;margin:0}
.psx-scene svg{width:100%;height:auto;display:block;color:var(--sage)}
.psx .ground{fill:rgba(169,190,63,.07)}.psx .spine{fill:none;stroke:var(--line);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.psx .spine-flow{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.55;stroke-dasharray:16 458;animation:psxflow 8s linear infinite}@keyframes psxflow{to{stroke-dashoffset:-474}}
.psx .ln{fill:none;stroke:var(--sage);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.psx .ln.soft{fill:rgba(196,203,179,.06)}.psx .ln.thin{stroke-width:1.4;opacity:.7}.psx .ln.wheel{fill:rgba(196,203,179,.1)}
.psx .oliv{fill:var(--green);opacity:.9}.psx .drop{fill:var(--gold);opacity:0;animation:psxdrip 2.6s ease-in infinite}@keyframes psxdrip{0%,55%{opacity:0;transform:translateY(-8px)}70%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
.psx .puff{fill:rgba(196,203,179,.3);opacity:0;animation:psxpuff 2.4s ease-out infinite}@keyframes psxpuff{0%{opacity:.4;transform:translate(0,0) scale(.6)}100%{opacity:0;transform:translate(-10px,-12px) scale(1.6)}}
.psx .oilfill{fill:rgba(215,179,88,.24);stroke:none}
.psx .ps-num{fill:var(--bone3);font-family:'IBM Plex Mono',monospace;font-size:14px;letter-spacing:.04em;text-anchor:middle;transition:fill .3s}.psx .ps-temp{fill:var(--bone3);font-family:'IBM Plex Mono',monospace;font-size:12px;text-anchor:middle}
.psx .tractor{animation:psxdrive 8s ease-in-out infinite}@keyframes psxdrive{0%{transform:translateX(0)}55%,100%{transform:translateX(415px)}}
.psx .conv-olives{animation:psxconv 4.5s linear infinite}@keyframes psxconv{from{transform:translateX(820px)}to{transform:translateX(300px)}}
.psx .bottles .bot{animation:psxmove 5.5s linear infinite;animation-delay:calc(var(--d,0)*-1.35s)}@keyframes psxmove{from{transform:translateX(360px)}to{transform:translateX(786px)}}
.psx .fall{animation:psxfall 1.8s ease-in infinite}@keyframes psxfall{0%{transform:translateY(-6px);opacity:.4}60%{opacity:1}100%{transform:translateY(14px);opacity:0}}
.psx .ps-step{cursor:pointer;transition:opacity .35s}.psx .ps-step .ln{transition:stroke .3s}.psx .ps-step:hover .ln{stroke:#dde2cf}
.psx svg.has-sel .ps-step:not(.is-sel){opacity:.22}.psx svg.has-sel .tractor,.psx svg.has-sel .conv-olives,.psx svg.has-sel .mill-bldg,.psx svg.has-sel .bottles{opacity:.22;transition:opacity .35s}
.psx .ps-step.is-sel .ln{stroke:var(--gold)}.psx .ps-step.is-sel .ln.soft{fill:rgba(215,179,88,.13)}.psx .ps-step.is-sel .ps-num{fill:var(--gold)}.psx .ps-step.is-sel .oilfill{fill:rgba(215,179,88,.45)}
@media(prefers-reduced-motion:reduce){.psx .tractor,.psx .conv-olives,.psx .bottles .bot,.psx .spine-flow,.psx .drop,.psx .puff,.psx .fall{animation:none}.psx .tractor{transform:translateX(300px)}}
.psx-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 1.3rem}
.psx-pick{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone3);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;cursor:pointer;transition:.22s}.psx-pick:hover{border-color:rgba(215,179,88,.5);color:var(--bone)}.psx-pick.on{background:var(--gold);border-color:var(--gold);color:#1b2415;font-weight:500}
.psx-detail{border-top:1px solid var(--line);padding-top:1.3rem;min-height:150px}.psx-stat{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.55rem}.psx-title{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.55rem;margin:0 0 .6rem;color:var(--bone)}.psx-desc{color:var(--bone3);font-size:.95rem;line-height:1.7;margin:0;max-width:62ch}
.track-page{padding:clamp(7rem,13vh,9.5rem) 0 .5rem;text-align:center}.track-page .eyebrow{justify-content:center}.track-page h1{margin-top:.6rem}.track-page .standfirst{margin:1rem auto 0;max-width:34rem}.track-sec{padding:1.6rem 0 0}.track-form{flex-direction:column;flex-wrap:nowrap;max-width:22rem;margin:0 auto;align-items:stretch}.track-form input{flex:0 0 auto;text-align:center}.track-form .btn-primary{width:100%;justify-content:center}.track-result{margin:1.5rem auto 0;max-width:22rem;text-align:left}.track-anim{max-width:30rem;margin:2.6rem auto 3.5rem;opacity:.92}.track-anim svg{width:100%;height:auto;display:block}

/* Checkout, loaded with the shared visual system to avoid a late style injection. */
body.co-only{overflow:visible}body.co-only #hdr,body.co-only #ftr{display:none!important}.co-page{padding:0 0 5rem;min-height:100vh;background:#f4f3ee;color:var(--ink)}.co-page .wrap{max-width:1100px}.co-topbar{padding:1.5rem;border-bottom:1px solid rgba(26,33,23,.1);margin:0 0 2.6rem;text-align:center}.co-brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;letter-spacing:.01em}.co-brand b{font-weight:400;font-style:italic}.co-brandmark{width:40px;height:auto;color:var(--olio-gold-deep)}.co-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:3rem;align-items:start;margin-top:2rem}@media(max-width:820px){.co-grid{grid-template-columns:1fr;gap:2rem}.co-summary{position:static}}.co-block{margin:0 0 2.2rem}.co-h{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.3rem;margin:0 0 1rem;color:var(--ink)}.co-field{display:block;margin:0 0 .85rem}.co-field>span{display:block;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .38rem}.co-field input,.co-field select{width:100%;background:#fff;border:1px solid rgba(26,33,23,.16);border-radius:12px;padding:.85rem 1rem;color:var(--ink);font:inherit;font-size:1rem}.co-field input::placeholder{color:var(--ink-3)}.co-field input:focus,.co-field select:focus{outline:none;border-color:var(--olio-gold-deep)}.co-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23BE9740' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.co-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.co-form.nozip .co-postal{display:none}.co-form.nozip .co-row-pc{grid-template-columns:1fr}.co-check{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--ink-2);margin-top:.4rem;cursor:pointer}.co-check input{width:16px;height:16px;accent-color:var(--olio-gold-deep)}.co-ship-opt{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid rgba(26,33,23,.16);border-radius:12px;padding:.75rem .9rem;margin:0 0 .6rem;cursor:pointer;transition:border-color .2s,box-shadow .2s}.co-ship-opt:hover{border-color:var(--olio-gold-deep)}.co-ship-opt:has(input:checked){border-color:var(--olio-gold-deep);box-shadow:inset 0 0 0 1px var(--olio-gold-deep)}.co-ship-logo{flex:none;min-width:48px;height:30px;padding:0 .45rem;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;letter-spacing:.01em;line-height:1}.co-ship-main{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.co-ship-n{color:var(--ink);font-size:.95rem;font-weight:600}.co-ship-d{color:var(--ink-3);font-size:.8rem;display:flex;align-items:center}.co-clk{width:13px;height:13px;margin-right:.34rem;flex:none;opacity:.65}.co-ship-p{color:var(--ink);font-weight:700;font-size:1rem;white-space:nowrap}.co-ship-opt input[type=radio]{flex:none;width:18px;height:18px;accent-color:var(--olio-gold-deep);cursor:pointer}.co-ship-logo-g{background:rgba(190,151,64,.13);color:var(--olio-gold-deep)}.co-ship-prompt{display:flex;align-items:center;color:var(--ink-3);font-size:.9rem;padding:.9rem 1rem;background:#fff;border:1px dashed rgba(26,33,23,.2);border-radius:12px}.co-ship-prompt .co-clk{width:15px;height:15px;opacity:.7}.co-ship-skel{height:56px;border:1px dashed rgba(26,33,23,.16);border-radius:12px;margin:0 0 .6rem;background:linear-gradient(90deg,rgba(26,33,23,.03) 25%,rgba(26,33,23,.07) 50%,rgba(26,33,23,.03) 75%);background-size:200% 100%;animation:coSkel 1.2s linear infinite}@keyframes coSkel{from{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.co-ship-skel{animation:none}}#co-pm-host{min-height:74px}.co-selfield{position:relative}.co-selfield .co-combo-input{width:100%;height:56px;padding:1.4rem 2.6rem .3rem 1rem;background:#fff;border:1px solid rgba(26,33,23,.16);border-radius:12px;color:var(--ink);font:inherit;font-size:1rem}.co-selfield .co-combo-input:focus{outline:none;border-color:var(--olio-gold-deep)}.co-combo-input::placeholder{color:transparent}.co-selfield-lbl{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1rem;letter-spacing:normal;text-transform:none;color:var(--ink-3);pointer-events:none;transition:top .15s,font-size .15s}.co-combo-input:focus~.co-selfield-lbl,.co-combo-input:not(:placeholder-shown)~.co-selfield-lbl{top:.42rem;transform:none;font-size:.6rem;letter-spacing:.09em;text-transform:uppercase}.co-combo-input[aria-expanded="true"]~.co-select-caret{transform:translateY(-50%) rotate(180deg)}.co-combo-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:264px;overflow-y:auto;margin:0;padding:.3rem;list-style:none;background:#fff;border:1px solid rgba(26,33,23,.14);border-radius:12px;box-shadow:0 14px 36px rgba(26,33,23,.16)}.co-combo-list[hidden]{display:none}.co-combo-opt{padding:.6rem .75rem;border-radius:8px;font-size:.95rem;color:var(--ink);cursor:pointer}.co-combo-opt:hover,.co-combo-opt.hi{background:rgba(190,151,64,.15)}.co-combo-empty,.co-dial-empty{padding:.7rem .75rem;font-size:.9rem;font-weight:600;color:var(--olio-gold-deep);list-style:none}.co-dial-nf{display:block;margin-top:.4rem;font-size:.82rem;font-weight:600;color:var(--olio-gold-deep);text-decoration:none;border-bottom:none}.co-dial-nf:hover{text-decoration:underline}.co-addr{position:relative}.co-addr-list{position:absolute;z-index:31;left:0;right:0;top:calc(100% + 6px);max-height:240px;overflow-y:auto;margin:0;padding:.3rem;list-style:none;background:#fff;border:1px solid rgba(26,33,23,.14);border-radius:12px;box-shadow:0 14px 36px rgba(26,33,23,.16)}.co-addr-list[hidden]{display:none}.co-addr-opt{padding:.6rem .75rem;border-radius:8px;font-size:.9rem;color:var(--ink);cursor:pointer;line-height:1.35}.co-addr-opt:hover{background:rgba(190,151,64,.15)}.co-phone{display:flex;align-items:stretch}.co-dial{position:relative;flex:none;display:none}.co-phone.has-dial .co-dial{display:block}.co-dial-btn{height:100%;display:inline-flex;align-items:center;gap:.35rem;justify-content:center;min-width:4.6rem;padding:0 .6rem;background:#faf9f4;border:1px solid rgba(26,33,23,.16);border-right:none;border-radius:12px 0 0 12px;color:var(--ink);font:inherit;font-size:.95rem;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.co-dial-btn:hover{background:#f2efe6}.co-dial-flag{width:22px;height:16px;object-fit:cover;border-radius:2px;flex:none}.co-dial-globe{width:18px;height:18px;color:var(--ink-3);flex:none}.co-dial-caret{width:11px;height:7px;color:var(--olio-gold-deep);flex:none}.co-dial-pop{position:absolute;z-index:40;left:0;top:calc(100% + 6px);width:290px;max-width:82vw;background:#fff;border:1px solid rgba(26,33,23,.14);border-radius:12px;box-shadow:0 14px 36px rgba(26,33,23,.16);padding:.4rem}.co-dial-pop[hidden]{display:none}.co-dial-search{width:100%;box-sizing:border-box;border:1px solid rgba(26,33,23,.16);border-radius:9px;padding:.55rem .7rem;font:inherit;font-size:.9rem;margin:0 0 .35rem;color:var(--ink)}.co-dial-search:focus{outline:none;border-color:var(--olio-gold-deep)}.co-dial-list{list-style:none;margin:0;padding:0;max-height:230px;overflow-y:auto}.co-dial-opt{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:8px;font-size:.9rem;color:var(--ink);cursor:pointer}.co-dial-opt:hover{background:rgba(190,151,64,.15)}.co-dial-flag-s{width:24px;height:18px;object-fit:cover;border-radius:2px;flex:none}.co-dial-n{flex:1;min-width:0}.co-dial-c{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none}.co-phone input{flex:1;min-width:0;width:auto}.co-phone.has-dial input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.co-phone-err{color:#a12b2b;font-size:.8rem;margin:.4rem 0 0}.co-phone.co-invalid .co-dial-btn,.co-phone.co-invalid #co-phone{border-color:#a12b2b}.co-select-caret{position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);width:12px;height:8px;color:var(--olio-gold-deep);pointer-events:none}.co-notlisted{display:inline-block;margin:.6rem 0 0;font-size:.85rem;font-weight:600;color:var(--olio-gold-deep);text-decoration:none}.co-notlisted:hover{text-decoration:underline}.co-hint{color:var(--ink-3);font-size:.9rem;padding:.5rem 0;line-height:1.6}.co-hint a{color:var(--olio-gold-deep)}#co-pay{min-height:230px}.co-pay-btn{width:100%;margin-top:1rem}.co-secure{text-align:center;font-size:.78rem;color:var(--ink-3);margin:.7rem 0 0}.co-err{color:#a12b2b;background:rgba(200,60,80,.09);border:1px solid rgba(200,60,80,.28);border-radius:10px;padding:.7rem 1rem;margin-top:1rem;font-size:.9rem}.co-sumcol{align-self:stretch;min-width:0}.co-summary{position:relative;background:#fff;border:1px solid rgba(26,33,23,.1);border-radius:16px;padding:1.5rem;color:var(--ink);box-shadow:0 8px 30px rgba(26,33,23,.06)}.co-curbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 1.1rem;padding:0 0 1.1rem;border-bottom:1px solid rgba(26,33,23,.1)}.co-curbar span{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.co-curbar select{background:#fff;border:1px solid rgba(26,33,23,.15);border-radius:10px;padding:.5rem .8rem;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}.co-li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(26,33,23,.1)}.co-li-l{display:flex;align-items:center;gap:.9rem}.co-li-img{position:relative;flex:none;width:60px;height:104px;background:none;border:none}.co-li-img img{width:100%;height:100%;object-fit:contain;display:block}.co-li-q{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--olio-gold-deep);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}.co-li-n{color:var(--ink);font-size:.92rem;font-weight:500}.co-li-f{color:var(--ink-3);font-size:.8rem}.co-li-p{color:var(--ink-2);white-space:nowrap;font-weight:500}.co-sum-line{display:flex;justify-content:space-between;padding:.5rem 0;color:var(--ink-2);font-size:.92rem}.co-sum-total{border-top:1px solid rgba(26,33,23,.15);margin-top:.4rem;padding-top:.85rem;color:var(--ink);font-weight:700;font-size:1.18rem}.co-sum-total span:last-child{color:var(--olio-gold-deep)}.co-li-gift{flex-wrap:wrap}.co-li-gwrap{position:relative;flex:none;display:flex;align-items:flex-end;gap:4px}.co-li-gim{width:40px;height:96px;object-fit:contain;object-position:bottom;display:block}.co-gmsg{flex-basis:100%;width:100%;margin-top:.7rem}.co-gmsg-lbl{display:block;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .35rem}.co-gmsg-in{width:100%;box-sizing:border-box;background:#faf9f4;border:1px solid rgba(26,33,23,.16);border-radius:10px;color:var(--ink);font:inherit;font-size:.88rem;line-height:1.45;padding:.55rem .7rem;resize:vertical;min-height:2.6rem}.co-gmsg-in:focus{outline:none;border-color:var(--olio-gold-deep)}.co-gmsg-in::placeholder{color:var(--ink-3)}.co-grid.co-done{grid-template-columns:1fr}.co-grid.co-done .co-sumcol{display:none}.co-cf{max-width:560px;margin:1.5rem auto 0;text-align:center;padding:0 1rem}.co-cf-img{width:100%;height:280px;object-fit:cover;border-radius:18px;margin:0 0 2rem;display:block}.co-cf .eyebrow{color:var(--olio-gold-deep)}.co-cf-h{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(1.9rem,4vw,2.3rem);margin:.6rem 0 .8rem;color:var(--ink)}.co-cf-s{color:var(--ink-3);font-size:1rem;line-height:1.7;max-width:44ch;margin:0 auto 1.6rem}.co-cf-badge{display:inline-block;border:1px solid rgba(190,151,64,.5);border-radius:999px;padding:.5rem 1.1rem;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--olio-gold-deep);margin:0 0 1.5rem;font-variant-numeric:tabular-nums}.co-cf-arr{font-size:.92rem;color:var(--ink-2);margin:0 0 1.6rem}.co-cf-arr-l{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.25rem}.co-cf-btn{display:inline-flex;margin:.2rem 0 0}.co-cf-eml{font-size:.82rem;color:var(--ink-3);margin:1.4rem 0 0}.co-pm{position:relative;margin:0 0 1.1rem}.co-pm-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:#fff;border:1px solid rgba(26,33,23,.16);border-radius:12px;padding:.85rem 1rem;color:var(--ink);font:inherit;font-size:1rem;cursor:pointer;text-align:left}.co-pm-btn:hover,.co-pm-btn[aria-expanded="true"]{border-color:var(--olio-gold-deep)}.co-pm-caret{width:12px;height:8px;color:var(--olio-gold-deep);flex:none;transition:transform .15s}.co-pm-btn[aria-expanded="true"] .co-pm-caret{transform:rotate(180deg)}.co-pm-pop{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:.3rem;list-style:none;background:#fff;border:1px solid rgba(26,33,23,.14);border-radius:12px;box-shadow:0 14px 36px rgba(26,33,23,.16);max-height:320px;overflow-y:auto}.co-pm-pop[hidden]{display:none}.co-pm-val{display:flex;align-items:center;gap:.6rem;min-width:0}.co-pm-ico{width:22px;height:22px;flex:none;display:inline-flex}.co-pm-ico svg{width:100%;height:100%;display:block}.co-pm-opt{display:flex;align-items:center;gap:.65rem;padding:.6rem .7rem;border-radius:8px;font-size:.98rem;color:var(--ink);cursor:pointer}.co-pm-opt:hover{background:rgba(190,151,64,.15)}.co-pm-opt.sel{color:var(--olio-gold-deep);font-weight:600}.co-pay-loading{opacity:.5;pointer-events:none;transition:opacity .2s}.co-req{position:relative;display:inline-block;color:var(--olio-gold-deep);font-style:normal;margin-left:.2rem;font-size:1.35em;line-height:1;vertical-align:-.08em;cursor:help}.co-selfield-lbl .co-req{pointer-events:auto}.co-req::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%) translateY(3px);background:#1A2117;color:#ECE6D6;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.03em;text-transform:none;white-space:nowrap;padding:.4rem .65rem;border-radius:8px;box-shadow:0 8px 22px rgba(26,33,23,.25);opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;z-index:60}.co-req::before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);border:5px solid transparent;border-top-color:#1A2117;opacity:0;pointer-events:none;transition:opacity .16s;z-index:60}.co-req:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}.co-req:hover::before{opacity:1}.co-field.co-req-err input,.co-field.co-req-err .co-combo-input,.co-field.co-req-err .co-dial-btn{border-color:#a12b2b}.co-ferr{color:#a12b2b;font-size:.78rem;margin:.4rem 0 0}.co-empty{max-width:460px;margin:4.5rem auto 3rem;text-align:center;padding:0 1rem}.co-empty svg{width:54px;height:54px;color:var(--olio-gold-deep);margin:0 0 1.3rem}.co-empty-h{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(1.4rem,3vw,1.7rem);color:var(--ink);margin:0 0 1.6rem}.co-empty .btn-primary{display:inline-flex}
