/* =========================================================
   Plastpack — Shared stylesheet
   Design system carried over from the coming-soon page:
   white/paper background, forest green + logo green accents,
   Source Serif 4 / IBM Plex Sans / IBM Plex Mono type system.
   ========================================================= */

:root{
  --paper:#FFFFFF;
  --ink:#171F19;
  --forest:#122B18;
  --pack-green:#3F9E33;
  --pack-green-dark:#2C7A24;
  --logo-green:#41A635;
  --logo-green-dark:#358A2B;
  --line:#D7D2C0;
  --line-strong:#B7B199;
  --muted:#5C6356;

  --font-display:'Source Serif 4', serif;
  --font-body:'IBM Plex Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;

  --container-max:1180px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.6;
}

img{ max-width:100%; display:block; }

a{ color:inherit; }
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--logo-green);
  outline-offset:2px;
}

.container{
  max-width:var(--container-max);
  margin:0 auto;
  padding:0 clamp(20px,5vw,48px);
}

/* ---------- typography helpers ---------- */
.eyebrow{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500;
  font-size:1.125rem;
  letter-spacing:0.01em;
  color:var(--pack-green-dark);
  margin:0 0 16px;
}

.section-label{
  font-family:var(--font-mono);
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 20px;
}

h1{
  font-family:var(--font-body);
  font-weight:650;
  font-size:clamp(2rem, 4vw, 2.9rem);
  line-height:1.15;
  letter-spacing:-0.015em;
  color:var(--forest);
  margin:0 0 22px;
}
h1 em{
  font-style:italic;
  font-weight:500;
  color:var(--pack-green-dark);
}

h2{
  font-family:var(--font-body);
  font-weight:650;
  font-size:clamp(1.5rem, 2.6vw, 2rem);
  line-height:1.22;
  letter-spacing:-0.01em;
  color:var(--forest);
  margin:0 0 18px;
}

h3{
  font-family:var(--font-body);
  font-weight:600;
  font-size:1.2rem;
  letter-spacing:-0.005em;
  color:var(--forest);
  margin:0 0 10px;
}

p{ margin:0 0 16px; }

.lede{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--muted);
  max-width:62ch;
}

.rule{
  height:1px;
  background:var(--line);
  border:none;
  margin:0;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  font-family:var(--font-body);
  font-size:0.9375rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
  border-radius:12px;
  min-height:48px;
  padding:12px 22px;
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  cursor:pointer;
}
.btn-primary{
  background:var(--forest);
  color:var(--paper);
  border:1px solid var(--forest);
}
.btn-primary:hover{ background:#0C2010; }
.btn-outline{
  background:transparent;
  color:var(--forest);
  border:1px solid var(--logo-green);
}
.btn-outline:hover{ background:rgba(65,166,53,0.08); }

/* ---------- site header ---------- */
.site-header{
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  background:rgba(255,255,255,0.94);
  backdrop-filter:saturate(180%) blur(6px);
  z-index:50;
}
.site-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:14px;
  padding-bottom:14px;
}
.brand{ display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
.brand-logo{ height:42px; width:auto; flex-shrink:0; }

@media (min-width:1081px){
  .brand-logo{ height:60px; }
}

.site-nav{ display:flex; align-items:center; gap:clamp(16px,2.4vw,32px); }
.lang-switch{
  position:relative;
  flex-shrink:0;
}
.lang-globe-toggle{
  background:none;
  border:none;
  margin:0;
  padding:7px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  border-radius:50%;
  transition:color 0.2s ease, background 0.2s ease;
}
.lang-globe-toggle:hover{ color:var(--forest); background:rgba(65,166,53,0.08); }
.lang-globe-toggle svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.4;
}
.lang-switch-menu{
  left:auto;
  right:0;
  transform:none;
  min-width:140px;
}
.lang-switch-menu a.active{
  color:var(--forest);
  font-weight:500;
}
.lang-switch-menu a.active::after{
  content:"✓";
  float:right;
  color:var(--logo-green-dark);
}
.lang-switch span{ color:var(--line-strong); }
.nav-menu{
  list-style:none;
  display:flex;
  align-items:center;
  gap:clamp(10px,1.6vw,24px);
  margin:0;
  padding:0;
}
.nav-menu li{ flex-shrink:0; white-space:nowrap; }
.nav-menu>li{ display:flex; align-items:center; }
.nav-menu a{
  font-family:var(--font-mono);
  font-size:0.71875rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--muted);
  padding:6px 2px;
  border-bottom:1.5px solid transparent;
  transition:color 0.2s ease, border-color 0.2s ease;
}
.nav-menu>li>a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  box-sizing:border-box;
  line-height:1;
}
.nav-menu a:hover{ color:var(--forest); }
.nav-menu a[aria-current="page"]{
  color:var(--forest);
  border-bottom-color:var(--logo-green);
}
.nav-menu a.active{
  color:var(--forest);
  border-bottom-color:var(--logo-green);
}

/* ---------- dropdown (Catalogo: toggle-only) ---------- */
.nav-dropdown{ position:relative; }
.nav-dropdown-toggle{
  background:none;
  border:none;
  margin:0;
  font:inherit;
  font-family:var(--font-mono);
  font-size:0.71875rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--muted);
  padding:6px 2px;
  border-bottom:1.5px solid transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  box-sizing:border-box;
  line-height:1;
  gap:5px;
  transition:color 0.2s ease, border-color 0.2s ease;
}
.nav-dropdown-toggle:hover{ color:var(--forest); }
.nav-dropdown-toggle.active{
  color:var(--forest);
  border-bottom-color:var(--logo-green);
}

/* ---------- dropdown (Chi Siamo: link + separate caret) ---------- */
.nav-dropdown-linkwrap{ display:inline-flex; align-items:center; gap:2px; }
.nav-dropdown-linkwrap a{ padding-right:2px; }
.nav-dropdown-caret{
  background:none;
  border:none;
  margin:0;
  padding:6px 3px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  color:var(--muted);
  transition:color 0.2s ease;
}
.nav-dropdown-caret:hover{ color:var(--forest); }

.nav-dropdown-toggle::after,
.nav-dropdown-caret::after{
  content:"";
  width:6px;
  height:6px;
  border-right:1.3px solid currentColor;
  border-bottom:1.3px solid currentColor;
  transform:rotate(45deg);
  margin-top:-3px;
  transition:transform 0.2s ease;
}
.nav-dropdown.open .nav-dropdown-toggle::after,
.nav-dropdown.open .nav-dropdown-caret::after{
  transform:rotate(225deg);
  margin-top:3px;
}
@media (min-width:1081px){
  .nav-dropdown:hover .nav-dropdown-toggle::after,
  .nav-dropdown:focus-within .nav-dropdown-toggle::after,
  .nav-dropdown:hover .nav-dropdown-caret::after,
  .nav-dropdown:focus-within .nav-dropdown-caret::after{
    transform:rotate(225deg);
    margin-top:3px;
  }
}

.nav-dropdown-menu{
  list-style:none;
  margin:0;
  padding:8px;
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  min-width:160px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 16px 32px -18px rgba(18,43,24,0.28);
  display:none;
  flex-direction:column;
  gap:1px;
  z-index:60;
}
.nav-dropdown.open .nav-dropdown-menu{
  display:flex;
}
@media (min-width:1081px){
  .nav-dropdown:hover .nav-dropdown-menu,
  .nav-dropdown:focus-within .nav-dropdown-menu{
    display:flex;
  }
}
.nav-dropdown-menu a{
  display:block;
  padding:9px 10px;
  border-radius:5px;
  border-bottom:none !important;
  white-space:nowrap;
}
.nav-dropdown-menu a:hover{ background:rgba(65,166,53,0.08); }

.nav-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  width:38px;
  height:38px;
  padding:0;
  position:relative;
  flex-shrink:0;
}
.hamburger-line{
  position:absolute;
  left:9px;
  right:9px;
  height:1.5px;
  background:var(--forest);
  border-radius:1px;
  transition:transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
}
.hamburger-line:nth-child(1){ top:13px; }
.hamburger-line:nth-child(2){ top:18.5px; }
.hamburger-line:nth-child(3){ top:24px; }
.nav-toggle[aria-expanded="true"] .hamburger-line:nth-child(1){
  top:18.5px;
  transform:rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .hamburger-line:nth-child(2){
  opacity:0;
}
.nav-toggle[aria-expanded="true"] .hamburger-line:nth-child(3){
  top:18.5px;
  transform:rotate(-45deg);
}
@media (prefers-reduced-motion: reduce){
  .hamburger-line{ transition:none; }
}

@media (max-width:1080px){
  .nav-toggle{ display:inline-block; }
  .nav-menu{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:8px clamp(20px,5vw,48px) 18px;
    display:none;
  }
  .nav-menu.open{ display:flex; }
  .nav-menu a{ padding:10px 0; width:100%; }
  .site-nav{ position:relative; width:100%; justify-content:flex-end; }

  .nav-dropdown{ width:100%; }
  .lang-switch.nav-dropdown{ width:auto; }
  .nav-dropdown-toggle{
    width:100%;
    padding:10px 0;
    justify-content:space-between;
  }
  .nav-dropdown-linkwrap{
    width:100%;
    justify-content:space-between;
  }
  .nav-dropdown-linkwrap a{ padding:10px 0; }
  .nav-dropdown-caret{ padding:10px 6px; }
  .nav-dropdown-menu{
    position:static;
    transform:none;
    display:none;
    border:none;
    box-shadow:none;
    padding:0 0 4px 16px;
    min-width:0;
    background:none;
  }
  .lang-switch-menu{
    position:absolute;
    top:100%;
    right:0;
    left:auto;
    margin-top:6px;
    border:1px solid var(--line);
    box-shadow:0 16px 32px -18px rgba(18,43,24,0.28);
    padding:8px;
    min-width:140px;
    background:var(--paper);
  }
  .lang-switch-menu a{ padding:9px 10px; }
  .nav-dropdown.open .nav-dropdown-menu{ display:flex; }
  .nav-dropdown-menu a{ padding:8px 0; }
}

/* ---------- hero ---------- */
.hero{
  padding:clamp(48px,8vw,88px) 0 clamp(40px,6vw,64px);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:clamp(32px,5vw,64px);
  align-items:center;
}

.manufacturing-visual{
  position:relative;
  margin-inline:-5%;
}
.manufacturing-visual::after{
  content:"";
  position:absolute;
  inset:20% 10% 4%;
  z-index:-1;
  background:radial-gradient(ellipse at center,rgba(45,151,54,.10),rgba(45,151,54,0) 68%);
  filter:blur(18px);
}
.manufacturing-visual img{
  display:block;
  width:110%;
  height:auto;
  margin-left:-5%;
  filter:drop-shadow(0 22px 30px rgba(17,49,35,.10));
}
@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-grid .hero-visual{ order:-1; max-width:220px; margin:0 auto; }
}
.hero-visual img{ width:100%; height:auto; }

/* ---------- section shell ---------- */
.section{
  padding:clamp(48px,7vw,80px) 0;
  border-top:1px solid var(--line);
}
.section-head{
  max-width:62ch;
  margin-bottom:clamp(28px,4vw,44px);
}

/* ---------- card grid (section teasers) ---------- */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:20px;
}

/* ---------- coordinated visual cards: markets, products, services ---------- */
.visual-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.visual-card{
  position:relative;
  isolation:isolate;
  min-height:330px;
  padding:clamp(24px,2.2vw,32px);
  overflow:hidden;
  border:1px solid rgba(194,184,157,.72);
  border-radius:12px;
  background:#f7f8f5;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.visual-card::before,
.visual-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  transition:transform .45s ease,background-color .35s ease;
}
.visual-card::before{
  z-index:-2;
  background-image:var(--card-atlas);
  background-size:400% 200%;
  background-position:var(--card-position);
  background-repeat:no-repeat;
}
.visual-card::after{
  z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.91) 48%,rgba(255,255,255,.96) 100%);
}
.visual-card:hover::before{ transform:scale(1.035); }
.visual-card:hover::after{
  background:linear-gradient(180deg,rgba(255,255,255,.66) 0%,rgba(255,255,255,.80) 48%,rgba(255,255,255,.92) 100%);
}
.visual-card h3{
  min-height:2.5em;
  margin:0 0 16px;
  font-size:clamp(1.25rem,1.45vw,1.55rem);
  line-height:1.14;
  font-weight:700;
  letter-spacing:-.015em;
  color:var(--forest);
}
.visual-card p{
  min-height:6.2em;
  margin:0;
  font-size:0.9375rem;
  line-height:1.55;
  color:#3f4b45;
}
.market-cards{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.market-cards .visual-card{ border-left:3px solid rgba(65,166,53,.42); }
.market-cards .market-gastronomia::before{ background-image:url("../img/mercati-gastronomia-insalata-russa.webp"); background-size:cover; background-position:center; }
.market-cards .market-cash-carry::before{ background-image:url("../img/mercati-cash-carry-vassoi.webp"); background-size:cover; background-position:center; }
.market-cards .market-gdo::before{ background-image:url("../img/mercati-gdo-roast-beef.webp"); background-size:cover; background-position:center; }
.market-cards .market-cosmetica::before{ background-image:url("../img/mercati-cosmetica-mascara.webp"); background-size:cover; background-position:center; }
.market-cards .market-dolciaria::before{ background-image:url("../img/mercati-dolciaria-cioccolatini.webp"); background-size:cover; background-position:center; }
.market-cards .market-farmaceutica::before{ background-image:url("../img/mercati-farmaceutica-protezione.webp"); background-size:cover; background-position:center; }
.product-cards{ --card-atlas:none; grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-cards{ --card-atlas:url("../img/cards-servizi-v1.png"); grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-cards .visual-card{ border-left:3px solid rgba(65,166,53,.42); }
.product-card{
  cursor:pointer;
  border-left:3px solid rgba(65,166,53,.42);
  transition:transform .28s ease,border-left-color .28s ease,box-shadow .28s ease;
}
.product-card:hover{
  border-left-color:var(--logo-green);
  box-shadow:0 16px 40px rgba(20,48,25,.07);
  transform:translateY(-2px);
}
.product-click-hint{
  position:absolute;
  top:18px;
  right:20px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:7px;
  font-family:var(--font-mono);
  font-size:0.625rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--logo-green-dark);
}
.product-hand-icon{
  display:inline-grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid rgba(65,166,53,.28);
  border-radius:50%;
  background:rgba(255,255,255,.7);
  font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif;
  font-size:0.9375rem;
  line-height:1;
  letter-spacing:0;
}
.product-card:focus-visible{
  outline:3px solid var(--logo-green);
  outline-offset:4px;
}
.product-lightbox[hidden]{ display:none; }
.product-lightbox{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:clamp(18px,4vw,48px);
  background:rgba(3,32,23,.84);
  backdrop-filter:blur(8px);
  animation:product-lightbox-in .24s ease both;
}
.product-lightbox-panel{
  position:relative;
  width:min(720px,100%);
  max-height:calc(100vh - 36px);
  padding:clamp(10px,1.5vw,18px);
  border:1px solid rgba(255,255,255,.3);
  border-radius:14px;
  background:#f8faf7;
  box-shadow:0 28px 80px rgba(0,0,0,.34);
}
.product-lightbox-image{
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:8px;
  background-image:var(--product-lightbox-image, none);
  background-size:var(--product-lightbox-size,400% 200%);
  background-position:var(--product-lightbox-position,center);
  background-repeat:no-repeat;
  background-color:#edf2ed;
}
.product-lightbox-title{
  margin:14px 6px 2px;
  font-size:clamp(1.15rem,2vw,1.55rem);
  color:var(--forest);
}
.product-lightbox-close{
  position:absolute;
  top:clamp(18px,2vw,26px);
  right:clamp(18px,2vw,26px);
  z-index:1;
  width:44px;
  height:44px;
  border:1px solid rgba(4,48,35,.22);
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--forest);
  font-size:1.9375rem;
  line-height:38px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.product-lightbox-close:hover{ background:#fff; }
body.product-lightbox-open{ overflow:hidden; }
@keyframes product-lightbox-in{ from{ opacity:0; } to{ opacity:1; } }
.visual-card:nth-child(1){ --card-position:0% 0%; }
.visual-card:nth-child(2){ --card-position:33.333% 0%; }
.visual-card:nth-child(3){ --card-position:66.666% 0%; }
.visual-card:nth-child(4){ --card-position:100% 0%; }
.visual-card:nth-child(5){ --card-position:0% 100%; }
.visual-card:nth-child(6){ --card-position:33.333% 100%; }
.visual-card:nth-child(7){ --card-position:66.666% 100%; }
.visual-card:nth-child(8){ --card-position:100% 100%; }
@media (max-width:1100px){
  .visual-card-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px){
  .visual-card-grid{ grid-template-columns:1fr; }
  .visual-card{ min-height:300px; }
  .visual-card h3,.visual-card p{ min-height:0; }
  .product-lightbox{ padding:10px; }
  .product-lightbox-image{ aspect-ratio:1 / 1; }
  .product-click-hint{ top:15px; right:16px; }
}

/* ---------- pillars (editorial, non-link statements) ---------- */
.pillar-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:clamp(24px,3vw,40px);
}
.pillar{ border-top:2px solid var(--forest); padding-top:16px; }
.pillar-num{
  display:block;
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.08em;
  color:var(--logo-green-dark);
  margin-bottom:10px;
}
.pillar h3{ font-size:1.15rem; margin-bottom:8px; }
.pillar p{ font-size:0.90625rem; color:var(--muted); margin:0; }

/* ---------- secondary link band ---------- */
.secondary-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:clamp(32px,4vw,44px);
  padding-top:24px;
  border-top:1px solid var(--line);
}
.secondary-links a{
  font-family:var(--font-mono);
  font-size:0.78125rem;
  letter-spacing:0.03em;
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  transition:color 0.2s ease, border-color 0.2s ease;
}
.secondary-links a:hover{ color:var(--forest); border-bottom-color:var(--logo-green); }

/* ---------- dark manifesto section ---------- */
.section-dark{
  background:var(--forest);
  color:var(--paper);
}
.section-dark .section-label{ color:#8FBF86; }
.section-dark h2{ color:var(--paper); }
.section-dark .lede{ color:#D3E0CE; }

/* ---------- visual placeholder (pending real photography) ---------- */
.visual-placeholder{
  aspect-ratio:3/2;
  border:1px dashed var(--line-strong);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--paper);
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:0.6875rem;
  letter-spacing:0.03em;
  text-align:center;
  line-height:1.6;
  padding:20px;
}
.section-dark .visual-placeholder{
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.25);
  color:#B9C7B9;
}

/* ---------- diagram figure ---------- */
.diagram-figure{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  padding:clamp(16px,3vw,28px);
}
.diagram-figure img{ width:100%; height:auto; display:block; }
.section-dark .diagram-figure{
  background:rgba(255,255,255,0.03);
  border-color:rgba(255,255,255,0.18);
}

.card{
  border:1px solid var(--line);
  border-radius:8px;
  padding:26px 24px;
  text-decoration:none;
  color:inherit;
  display:block;
  transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.card:hover{
  border-color:var(--logo-green);
  box-shadow:0 12px 20px -18px rgba(44,122,36,0.28);
  transform:translateY(-2px);
}
.card h3{ margin-bottom:8px; }

.trivia-list{
  margin-top:16px;
  column-count:2;
  column-gap:40px;
}
.trivia-item{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:16px;
  align-items:baseline;
  padding:14px 0;
  border-top:1px solid var(--line);
  break-inside:avoid;
}
.trivia-item:first-child{ border-top:none; padding-top:2px; }
@media (max-width:640px){
  .trivia-list{ column-count:1; }
}
.trivia-year{
  font-family:var(--font-mono);
  font-size:0.78125rem;
  font-weight:400;
  color:var(--logo-green-dark);
  letter-spacing:0.02em;
}
.trivia-item p{
  margin:0;
  font-size:0.90625rem;
  color:var(--muted);
  line-height:1.65;
}
.card p{
  font-size:0.90625rem;
  color:var(--muted);
  margin-bottom:0;
}
.card .card-arrow{
  display:inline-block;
  margin-top:14px;
  font-family:var(--font-mono);
  font-size:0.71875rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--logo-green-dark);
}

/* ---------- milestones timeline (reused from coming-soon) ---------- */
.milestones{
  max-width:640px;
  position:relative;
}
.m-row{
  display:grid;
  grid-template-columns:56px 20px 1fr;
  column-gap:18px;
  align-items:start;
  position:relative;
  padding:5px 14px;
  margin:0 -14px;
  border-radius:8px;
  transition:background 0.3s ease, box-shadow 0.3s ease, transform 0.25s ease;
}
.m-row:hover{
  background:linear-gradient(155deg, rgba(65,166,53,0.12), rgba(65,166,53,0.02) 68%);
  box-shadow:
    0 10px 18px -14px rgba(44,122,36,0.35),
    inset 0 1px 0 rgba(255,255,255,0.5),
    inset 0 -1px 0 rgba(44,122,36,0.08);
  transform:translateY(-1px);
}
.m-row--featured{
  background:linear-gradient(155deg, rgba(65,166,53,0.08), rgba(65,166,53,0.01) 70%);
  box-shadow:inset 0 0 0 1px rgba(65,166,53,0.25);
}
.m-row--featured .m-dot{
  background:var(--logo-green);
  border-color:var(--logo-green-dark);
  width:9px; height:9px;
}
.m-row--featured .m-year{ color:var(--logo-green-dark); font-weight:700; }
.m-row--featured .m-text{ color:var(--ink); font-weight:500; }
.m-year{
  text-align:right;
  padding-top:1px;
  font-family:var(--font-mono);
  font-size:0.84375rem;
  font-weight:500;
  letter-spacing:0.02em;
  color:var(--forest);
  transition:color 0.3s ease;
}
.m-row:hover .m-year{ color:var(--logo-green-dark); }
.m-rail{ position:relative; display:flex; justify-content:center; }
.m-rail::before{
  content:"";
  position:absolute;
  top:0; bottom:-22px; left:50%;
  width:1px;
  background:var(--line-strong);
  transform:translateX(-50%);
}
.m-row:last-child .m-rail::before{ display:none; }
.m-dot{
  width:7px; height:7px;
  margin-top:4px;
  border-radius:50%;
  background:var(--paper);
  border:1.5px solid var(--forest);
  position:relative;
  z-index:1;
  flex-shrink:0;
  transition:background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.m-row:hover .m-dot{
  background:radial-gradient(circle at 34% 30%, #a3e483 0%, #3F9E33 55%, #2C7A24 100%);
  border-color:#2C7A24;
  box-shadow:0 0 0 4px rgba(65,166,53,0.2), 0 2px 5px rgba(28,74,23,0.5);
}
.m-text{
  font-size:0.90625rem;
  line-height:1.55;
  color:var(--muted);
  padding-bottom:22px;
  transition:color 0.3s ease;
}
.m-row:hover .m-text{ color:var(--ink); }
.m-row:last-child .m-text{ padding-bottom:0; }

@media (max-width:640px){
  .m-row{ grid-template-columns:46px 18px 1fr; column-gap:12px; padding:5px 8px; margin:0 -8px; }
  .m-year{ font-size:0.78125rem; }
  .m-text{ font-size:0.875rem; }
}

/* ---------- milestone page: corporate timeline ---------- */
.milestone-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,9vw,112px) 0 clamp(68px,8vw,96px);
  border-bottom:1px solid var(--line);
  background:linear-gradient(118deg,#fff 0%,#fff 54%,rgba(65,166,53,.05) 100%);
}
.milestone-hero::before{ content:""; position:absolute; width:430px; height:430px; right:-180px; top:-220px; border:1px solid rgba(65,166,53,.11); border-radius:50%; box-shadow:0 0 0 70px rgba(65,166,53,.016),0 0 0 140px rgba(65,166,53,.01); pointer-events:none; }
.milestone-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);
  gap:clamp(48px,7vw,100px);
  align-items:center;
}
.milestone-hero-copy{ max-width:680px; padding-left:24px; border-left:2px solid var(--logo-green); }
.milestone-hero h1{ margin-bottom:26px; font-size:clamp(2.15rem,3.9vw,3.45rem); line-height:1.04; letter-spacing:-.025em; }
.milestone-hero h1 em{ font-family:var(--font-display); }
.milestone-hero-visual{
  position:relative;
  margin:0 -4vw 0 -5%;
  min-height:438px;
  border:1px solid var(--line);
  border-top:3px solid var(--logo-green);
  background:#fff;
  box-shadow:0 22px 58px rgba(20,48,25,.075);
}
.milestone-hero-image{ position:absolute; inset:0 0 62px; overflow:hidden; }
.milestone-hero-image::after{ content:""; position:absolute; inset:-2px; pointer-events:none; background:radial-gradient(ellipse 74% 70% at 54% 48%,transparent 44%,rgba(255,255,255,.2) 60%,rgba(255,255,255,.8) 91%,#fff 100%); }
.milestone-hero-image img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.milestone-hero-visual figcaption{ position:absolute; left:0; right:0; bottom:0; height:62px; display:grid; grid-template-columns:1fr 1.2fr 1fr; align-items:center; border-top:1px solid var(--line); background:rgba(255,255,255,.94); }
.milestone-hero-visual figcaption>*{ text-align:center; font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:.11em; text-transform:uppercase; color:var(--logo-green-dark); }
.milestone-hero-visual figcaption strong{ align-self:stretch; display:grid; place-items:center; border-left:1px solid var(--line); border-right:1px solid var(--line); font-weight:600; }
.milestone-history .section-head{ max-width:720px; margin-bottom:56px; }
.milestone-history .milestones{ max-width:880px; }
.milestone-era{ margin-top:52px; }
.milestone-era:first-child{ margin-top:0; }
.milestone-era-head{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:24px;
  align-items:start;
  padding:0 0 20px;
  margin-bottom:10px;
  border-bottom:1px solid var(--line);
}
.milestone-era-head>span{
  font-family:var(--font-mono);
  font-size:0.75rem;
  color:var(--logo-green-dark);
  padding-top:4px;
}
.milestone-era-head p{
  margin:0 0 3px;
  font-family:var(--font-mono);
  font-size:0.6875rem;
  letter-spacing:.08em;
  color:var(--muted);
}
.milestone-era-head h3{ margin:0; font-size:1.28rem; }
.milestone-era .m-row{ grid-template-columns:84px 20px 1fr; column-gap:18px; }
.milestone-era .m-text{ font-size:0.9375rem; }
.milestone-era .m-text strong{ color:var(--forest); font-weight:600; }
.milestone-era--future{
  padding:28px 28px 12px;
  margin-left:-28px;
  margin-right:-28px;
  border:1px solid rgba(65,166,53,.28);
  border-radius:8px;
  background:rgba(65,166,53,.035);
}
.milestone-era--future .milestone-era-head{ border-bottom-color:rgba(65,166,53,.28); }
.milestone-era--future .m-row--featured{ background:transparent; box-shadow:none; }
.milestone-focus-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(44px,7vw,92px);
  align-items:start;
}
.milestone-focus h2{ max-width:21ch; }
.milestone-focus-copy>p:not(.section-label):not(.lede):not(.milestone-focus-statement){
  max-width:62ch;
  color:var(--muted);
}
.demat-principles{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin-top:34px;
  border-top:1px solid var(--line);
}
.demat-principles>div{
  display:grid;
  grid-template-columns:36px minmax(145px,.65fr) 1fr;
  gap:14px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.demat-principles span{
  font-family:var(--font-mono);
  font-size:0.6875rem;
  color:var(--logo-green-dark);
  padding-top:2px;
}
.demat-principles strong{
  color:var(--forest);
  font-size:0.90625rem;
  font-weight:600;
}
.demat-principles p{
  margin:0;
  color:var(--muted);
  font-size:0.875rem;
  line-height:1.55;
}
.demat-visual{
  margin:0;
  position:sticky;
  top:118px;
}
.demat-visual img{
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f7f8f5;
}
.demat-visual figcaption{
  margin-top:12px;
  font-family:var(--font-mono);
  font-size:0.6875rem;
  line-height:1.55;
  color:var(--muted);
}
.demat-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:10px;
  align-items:center;
  margin-top:16px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.demat-flow div{ min-width:0; }
.demat-flow span{
  display:block;
  margin-bottom:7px;
  font-family:var(--font-mono);
  font-size:0.625rem;
  color:var(--logo-green-dark);
}
.demat-flow strong{
  display:block;
  color:var(--forest);
  font-size:0.8125rem;
  font-weight:600;
}
.demat-flow small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:0.6875rem;
  line-height:1.35;
}
.demat-flow i{
  color:var(--pack-green);
  font-style:normal;
  font-size:1rem;
}
.milestone-focus-statement{
  margin:28px 0 0;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(1.25rem,2vw,1.65rem);
  line-height:1.35;
  color:var(--muted);
}
.milestone-focus-statement strong{ color:var(--pack-green-dark); font-weight:600; }

@media (max-width:900px){
  .milestone-hero-grid,
  .milestone-focus-grid{ grid-template-columns:1fr; }
  .milestone-hero-copy{ padding-left:20px; }
  .milestone-hero-visual{ max-width:640px; margin:0; min-height:360px; }
  .demat-visual{ position:static; max-width:640px; }
}
@media (max-width:640px){
  .milestone-hero{ padding-top:58px; }
  .milestone-hero-copy{ padding-left:16px; }
  .milestone-hero h1{ font-size:clamp(2.15rem,12vw,3rem); }
  .milestone-hero-visual{ min-height:290px; }
  .milestone-hero-image{ inset:0 0 54px; }
  .milestone-hero-visual figcaption{ height:54px; }
  .milestone-history .section-head{ margin-bottom:42px; }
  .milestone-era{ margin-top:42px; }
  .milestone-era-head{ grid-template-columns:42px 1fr; gap:14px; }
  .milestone-era .m-row{ grid-template-columns:58px 16px 1fr; column-gap:10px; }
  .milestone-era .m-year{ font-size:0.71875rem; }
  .milestone-era--future{ margin-left:-10px; margin-right:-10px; padding:22px 10px 8px; }
  .demat-principles>div{ grid-template-columns:30px 1fr; }
  .demat-principles p{ grid-column:2; }
  .demat-flow{ grid-template-columns:1fr; }
  .demat-flow i{ transform:rotate(90deg); justify-self:start; }
}

/* ---------- placeholder block (stub pages) ---------- */
.placeholder{
  border:1px dashed var(--line-strong);
  border-radius:8px;
  padding:36px 28px;
  color:var(--muted);
  font-size:0.90625rem;
  max-width:62ch;
}

/* ---------- site footer ---------- */
.site-footer{
  border-top:1px solid var(--line-strong);
  margin-top:clamp(48px,7vw,80px);
}
.footer-grid{
  padding-top:clamp(28px,4vw,40px);
  padding-bottom:clamp(28px,4vw,40px);
  display:grid;
  grid-template-columns:1.2fr 1.2fr 1fr;
  gap:24px;
  text-align:left;
}
.f-label{
  font-family:var(--font-mono);
  font-size:0.65625rem;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:8px;
}
.f-value{ font-size:0.875rem; line-height:1.6; color:var(--ink); }
.f-value a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid var(--pack-green-dark);
}
.f-value a:hover{ color:var(--pack-green-dark); }
.f-logo-wrap{ min-height:67px; display:flex; align-items:center; justify-content:center; }
.f-logo-link{ display:inline-flex; border-bottom:0 !important; }
.f-logo{ height:30px; width:auto; display:block; margin:0; }
.footer-grid > div:last-child{ text-align:center; }

.legal{
  text-align:center;
  border-top:1px solid var(--line);
  padding:16px 0 26px;
  font-family:var(--font-mono);
  font-size:0.65625rem;
  letter-spacing:0.04em;
  color:#8B8570;
}
.legal-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px 16px;
  margin-bottom:10px;
}
.legal-links a{
  color:#8B8570;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
.legal-links a:hover{ color:var(--forest); }

@media (max-width:640px){
  .footer-grid{ grid-template-columns:1fr; }
  .footer-grid > div:last-child{ text-align:left; }
  .f-logo-wrap{ min-height:0; justify-content:flex-start; padding-top:8px; }
  .f-logo{ margin:0; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .m-row:hover{ transform:none; }
  .card:hover{ transform:none; }
}

/* ---------- cookie consent banner ---------- */
.cookie-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  background:var(--paper);
  border-top:1px solid var(--line-strong);
  box-shadow:0 -12px 32px -20px rgba(18,43,24,0.35);
  z-index:100;
  transform:translateY(100%);
  transition:transform 0.35s ease;
}
.cookie-banner.visible{ transform:translateY(0); }
.cookie-banner-inner{
  max-width:var(--container-max);
  margin:0 auto;
  padding:20px clamp(20px,5vw,48px);
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.cookie-banner-text{
  flex:1 1 420px;
  font-size:0.84375rem;
  line-height:1.6;
  color:var(--muted);
  margin:0;
}
.cookie-banner-text a{
  color:var(--ink);
  border-bottom:1px solid var(--pack-green-dark);
  text-decoration:none;
}
.cookie-banner-actions{
  display:flex;
  gap:12px;
  flex-shrink:0;
}
.cookie-banner-actions .btn{ padding:11px 20px; font-size:0.875rem; }

@media (max-width:640px){
  .cookie-banner-inner{ flex-direction:column; align-items:stretch; gap:20px; }
  .cookie-banner-text{ flex:none; }
  .cookie-banner-actions{ justify-content:stretch; }
  .cookie-banner-actions .btn{ flex:1; text-align:center; justify-content:center; }
}
@media (prefers-reduced-motion: reduce){
  .cookie-banner{ transition:none; }
}

/* ---------- legal pages ---------- */
.legal-content .figure-float{
  position:relative;
  float:right;
  width:270px;
  max-width:40%;
  margin:6px 0 20px 28px;
}
.legal-content .figure-float--machine{
  width:340px;
  max-width:52%;
}
.legal-content .figure-float--automation{
  width:330px;
  max-width:48%;
}
.legal-content .figure-float::after{
  content:"";
  position:absolute;
  inset:22% 8% 2%;
  z-index:-1;
  background:radial-gradient(ellipse at center,rgba(34,104,53,.10),rgba(34,104,53,0) 70%);
  filter:blur(15px);
  pointer-events:none;
}
.legal-content .figure-float img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 14px 22px rgba(17,49,35,.09));
}
@media (max-width:640px){
  .legal-content .figure-float{ float:none; width:100%; max-width:100%; margin:16px 0; }
}

/* ---------- story layout: text + side rail timeline ---------- */
.story-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  column-gap:clamp(64px,7vw,112px);
  align-items:stretch;
  max-width:none;
}
.story-rail{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding-left:26px;
}
.story-rail::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  bottom:6px;
  width:1px;
  background:var(--line-strong);
}
.story-rail-item{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}
.story-rail-dot{
  position:absolute;
  left:-26px;
  top:50%;
  transform:translateY(-50%);
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--paper);
  border:2px solid var(--logo-green);
  z-index:1;
}
.story-rail-item img{
  width:158.4px;
  height:auto;
  flex-shrink:0;
  opacity:.5;
  filter:saturate(.42) brightness(1.22);
  transition:transform .28s ease,opacity .28s ease,filter .28s ease;
}
.story-rail-item:hover img{
  opacity:1;
  filter:none;
  transform:translateX(3px);
}
.story-rail-year{
  font-family:var(--font-mono);
  font-size:0.8125rem;
  font-weight:400;
  letter-spacing:0.02em;
  color:var(--muted);
}
.story-rail-item--current .story-rail-dot{ background:var(--logo-green); }
.story-rail-item--current .story-rail-year{ color:var(--logo-green-dark); }

.story-mobile-grid{
  display:none;
  margin:8px 0 24px;
}
.story-mobile-grid .card-grid{ grid-template-columns:1fr 1fr; gap:14px; }
.story-mobile-year{
  display:block;
  margin-top:10px;
  font-family:var(--font-mono);
  font-size:0.75rem;
  font-weight:600;
  color:var(--muted);
}

@media (max-width:900px){
  .story-layout{ grid-template-columns:1fr; }
  .story-rail{ display:none; }
  .story-mobile-grid{ display:block; }
}

@media (min-width:901px) and (max-width:1100px){
  .story-layout{
    grid-template-columns:minmax(0,1fr) 205px;
    column-gap:40px;
  }
}

.legal-content h2{
  margin-top:36px;
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:normal;
}
.legal-content h2:first-child{ margin-top:0; }

.legal-content p, .legal-content li{ color:var(--muted); font-size:0.9375rem; line-height:1.7; }
.legal-content ul{ padding-left:20px; margin:0 0 16px; }
.legal-content li{ margin-bottom:6px; }
.legal-content strong{ color:var(--ink); }
.legal-updated{
  font-family:var(--font-mono);
  font-size:0.71875rem;
  color:var(--muted);
  margin-bottom:32px;
}

/* ---------- contact form ---------- */
.contact-hero{ position:relative; overflow:hidden; padding:clamp(72px,9vw,112px) 0 clamp(68px,8vw,96px); border-bottom:1px solid var(--line); background:linear-gradient(118deg,#fff 0%,#fff 55%,rgba(65,166,53,.055) 100%); }
.contact-hero::before{ content:""; position:absolute; width:460px; height:460px; right:-190px; top:-210px; border:1px solid rgba(65,166,53,.12); border-radius:50%; box-shadow:0 0 0 72px rgba(65,166,53,.018),0 0 0 144px rgba(65,166,53,.012); pointer-events:none; }
.contact-hero-grid{ position:relative; display:grid; grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr); gap:clamp(48px,6.5vw,96px); align-items:center; }
.contact-hero-copy{ position:relative; z-index:2; padding-left:24px; border-left:2px solid var(--logo-green); }
.contact-hero-copy h1{ max-width:620px; font-size:clamp(2.15rem,3.9vw,3.45rem); line-height:1.04; letter-spacing:-.025em; margin-bottom:28px; }
.contact-hero-copy h1 em{ font-family:var(--font-display); }
.contact-hero-copy .lede{ max-width:600px; }
.contact-hero-visual{ position:relative; margin:0 -4vw 0 -8%; min-height:384px; }
.contact-hero-image{ position:absolute; inset:0; overflow:hidden; }
.contact-hero-image::after{ content:none; }
.contact-hero-image img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; }
.contact-paths{ display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-top:3px solid var(--logo-green); background:rgba(255,255,255,.88); box-shadow:0 20px 56px rgba(20,48,25,.07); }
.contact-paths>div{ min-height:146px; display:flex; flex-direction:column; justify-content:space-between; gap:22px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:.09em; text-transform:uppercase; color:var(--forest); }
.contact-paths>div:nth-child(2n){ border-right:0; }.contact-paths>div:nth-child(n+3){ border-bottom:0; }
.contact-path-icon,.contact-card-icon{ display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(65,166,53,.35); border-radius:50%; color:var(--logo-green-dark); background:rgba(65,166,53,.06); }
.contact-path-icon svg,.contact-card-icon svg{ width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.contact-main{ padding:clamp(58px,8vw,96px) 0 clamp(76px,10vw,128px); }
.contact-direct{ display:grid; grid-template-columns:1.15fr 1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:clamp(70px,9vw,112px); }
.contact-card{ display:grid; grid-template-columns:52px 1fr; gap:20px; align-items:start; min-height:158px; padding:30px 28px; border-right:1px solid var(--line); background:#fff; }
.contact-card:first-child{ background:rgba(65,166,53,.045); }.contact-card:last-child{ border-right:0; }
.contact-card .f-label{ margin:3px 0 10px; }.contact-card .f-value{ font-size:1rem; line-height:1.6; }
.contact-card a{ text-decoration:none; border-bottom:1px solid rgba(53,138,43,.38); }
.contact-form-layout{ display:grid; grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr); gap:0; align-items:start; border:1px solid var(--line); border-top:3px solid var(--logo-green); background:#fff; box-shadow:0 22px 60px rgba(20,48,25,.065); }
.contact-form-intro{ position:sticky; top:108px; padding:clamp(34px,5vw,58px); background:linear-gradient(145deg,rgba(65,166,53,.08),rgba(65,166,53,.025)); }
.contact-form-intro>p:not(.section-label){ color:var(--muted); margin-bottom:34px; }
.contact-form-note{ display:grid; grid-template-columns:40px 1fr; gap:14px; padding:18px 0; border-top:1px solid rgba(53,138,43,.2); }
.contact-form-note span{ font-family:var(--font-display); font-size:1.35rem; color:var(--logo-green-dark); }.contact-form-note p{ margin:2px 0 0; font-size:0.875rem; color:var(--muted); line-height:1.5; }
.contact-form-panel{ padding:clamp(34px,5vw,58px); border-left:1px solid var(--line); }
.contact-form-panel>h2{ margin-bottom:32px; }
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  max-width:none;
}
.form-field{ display:flex; flex-direction:column; gap:8px; }
.form-field.full{ grid-column:1 / -1; }
.form-field label{
  font-family:var(--font-mono);
  font-size:0.6875rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.form-field .optional{
  text-transform:none;
  letter-spacing:0;
  color:var(--line-strong);
}
.form-field input,
.form-field textarea{
  font-family:var(--font-body);
  font-size:0.9375rem;
  color:var(--ink);
  background:#FCFCFA;
  border:1px solid var(--line-strong);
  border-radius:4px;
  padding:12px 14px;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-field input:focus,
.form-field textarea:focus{
  outline:none;
  border-color:var(--logo-green);
  box-shadow:0 0 0 3px rgba(65,166,53,0.15);
}
.form-field textarea{ resize:vertical; min-height:140px; font-family:var(--font-body); }
.form-actions{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:4px;
}
.form-actions .btn{ border:1px solid var(--forest); }
.form-actions .btn:disabled{ opacity:0.6; cursor:default; }
.form-status{
  font-family:var(--font-mono);
  font-size:0.8125rem;
  letter-spacing:0.02em;
  display:none;
}
.form-status.visible{ display:inline-block; }
.form-status.success{ color:var(--logo-green-dark); }
.form-status.error{ color:#B23A2E; }
.form-honeypot{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.form-consent{
  grid-column:1 / -1;
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:0.84375rem;
  color:var(--muted);
  line-height:1.5;
}
.form-consent input[type="checkbox"]{
  margin-top:3px;
  flex-shrink:0;
  width:16px;
  height:16px;
  accent-color:var(--logo-green);
}
.form-consent a{ color:var(--ink); border-bottom:1px solid var(--pack-green-dark); text-decoration:none; }
.form-consent a:hover{ color:var(--pack-green-dark); }

@media (max-width:900px){
  .contact-hero-grid{ grid-template-columns:1fr; gap:46px; }
  .contact-hero-copy{ padding-left:20px; }
  .contact-hero-visual{ margin:0; min-height:330px; }
  .contact-paths{ max-width:620px; }
  .contact-direct{ grid-template-columns:1fr; }
  .contact-card{ border-right:0; border-bottom:1px solid var(--line); }.contact-card:last-child{ border-bottom:0; }
  .contact-form-layout{ grid-template-columns:1fr; }.contact-form-intro{ position:static; }.contact-form-panel{ border-left:0; border-top:1px solid var(--line); }
}
@media (max-width:560px){
  .contact-hero{ padding-top:58px; }
  .contact-hero-copy{ padding-left:16px; }
  .contact-hero-copy h1{ font-size:clamp(2.15rem,12vw,3rem); }
  .contact-hero-visual{ min-height:250px; }
  .contact-hero-image{ inset:0; }
  .contact-paths{ grid-template-columns:1fr; }.contact-paths>div{ min-height:112px; border-right:0; border-bottom:1px solid var(--line)!important; }.contact-paths>div:last-child{ border-bottom:0!important; }
  .contact-form-panel,.contact-form-intro{ padding:30px 22px; }
}

/* ---------- sustainability page ---------- */
.sustain-hero{ padding:clamp(72px,9vw,118px) 0 clamp(64px,8vw,100px); border-bottom:1px solid var(--line); background:linear-gradient(120deg,#fff 0%,#fff 62%,rgba(65,166,53,.055) 100%); }
.sustain-hero-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(42px,6vw,82px); align-items:center; }
.sustain-hero-copy{ max-width:620px; }
.sustain-hero h1{ font-size:clamp(2rem,4vw,2.9rem); margin-bottom:26px; line-height:1.08; letter-spacing:-.015em; }
.sustain-hero h1 em{ font-family:var(--font-display); color:var(--logo-green-dark); }
.sustain-hero .lede{ max-width:62ch; }
.sustain-hero-visual{ position:relative; margin:0 -5vw 0 -8%; min-height:390px; overflow:hidden; }
.sustain-hero-visual::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.66) 10%,transparent 35%),linear-gradient(180deg,#fff 0%,transparent 16%,transparent 82%,#fff 100%); }
.sustain-hero-visual img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center right; }
.sustain-hero-visual img{ transform:scale(1.12); transform-origin:center right; }
.concept-hero-visual{ overflow:visible; }
.concept-hero-visual::after{ background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.5) 8%,transparent 26%),linear-gradient(180deg,#fff 0%,transparent 12%,transparent 88%,#fff 100%); }
.concept-hero-visual img{ object-fit:contain; }
.concept-hero-visual--method{ margin-right:-5vw; margin-left:-8%; }
.concept-hero-visual--method img{ transform:scale(1.08); }
.method-manifesto--standalone{ margin:0 0 clamp(46px,7vw,76px); padding:0 0 24px; border-bottom:1px solid var(--line); font-size:clamp(1.35rem,2.3vw,1.9rem); }
.sustain-system{ position:relative; min-height:390px; padding:28px; overflow:hidden; border:1px solid var(--line); border-top:3px solid var(--logo-green); background:#fff; box-shadow:0 20px 56px rgba(20,48,25,.075); }
.sustain-system::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.14) 48%,rgba(255,255,255,.88)); }
.sustain-system-art{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.58; }
.sustain-system-label{ position:relative; z-index:2; font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:.09em; text-transform:uppercase; color:var(--logo-green-dark); }
.sustain-system-ring{ position:absolute; left:50%; top:51%; z-index:2; width:182px; height:182px; border:1px solid rgba(44,122,36,.62); border-radius:50%; transform:translate(-50%,-50%) rotate(45deg); background:rgba(255,255,255,.28); backdrop-filter:blur(2px); }
.sustain-system-ring::before,.sustain-system-ring::after{ content:""; position:absolute; background:rgba(65,166,53,.32); }
.sustain-system-ring::before{ left:50%; top:-46px; width:1px; height:274px; }
.sustain-system-ring::after{ left:-46px; top:50%; width:274px; height:1px; }
.sustain-system-ring i{ position:absolute; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:var(--logo-green); box-shadow:0 0 0 1px var(--logo-green); }
.sustain-system-ring i:nth-child(1){ left:50%; top:-5px; }.sustain-system-ring i:nth-child(2){ right:-5px; top:50%; }.sustain-system-ring i:nth-child(3){ left:50%; bottom:-5px; }.sustain-system-ring i:nth-child(4){ left:-5px; top:50%; }
.sustain-system-ring strong{ position:absolute; inset:0; display:grid; place-items:center; transform:rotate(-45deg); font-family:var(--font-display); font-size:4.4rem; font-weight:400; color:var(--forest); }
.sustain-system ul{ position:absolute; inset:76px 42px 46px; z-index:3; margin:0; padding:0; list-style:none; font-family:var(--font-mono); font-size:0.625rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.sustain-system li{ position:absolute; }.sustain-system li:nth-child(1){ left:50%; top:0; transform:translateX(-50%); }.sustain-system li:nth-child(2){ right:0; top:50%; transform:translateY(-50%); }.sustain-system li:nth-child(3){ left:50%; bottom:0; transform:translateX(-50%); }.sustain-system li:nth-child(4){ left:0; top:50%; transform:translateY(-50%); }
.sustain-principle{ background:#fbfcfa; }
.sustain-principle-grid{ display:grid; grid-template-columns:minmax(0,.78fr) minmax(460px,1.22fr); gap:clamp(50px,8vw,112px); align-items:center; }
.sustain-principle-copy>p:not(.section-label){ max-width:58ch; color:var(--muted); line-height:1.7; }
.sustain-principle-copy blockquote{ margin:34px 0 0; padding-left:20px; border-left:2px solid var(--logo-green); font-family:var(--font-display); font-size:clamp(1.35rem,2.3vw,1.9rem); font-style:italic; line-height:1.35; color:var(--muted); }
.sustain-principle-copy blockquote strong{ color:var(--pack-green-dark); font-weight:600; }
.sustain-diagram{ margin:0; padding:clamp(24px,4vw,44px); border:1px solid var(--line); background:#fff; box-shadow:0 16px 44px rgba(20,48,25,.055); }
.sustain-diagram img{ display:block; width:100%; height:auto; }
.sustain-diagram figcaption{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.sustain-diagram figcaption span{ font-family:var(--font-mono); font-size:0.625rem; letter-spacing:.06em; text-align:center; text-transform:uppercase; color:var(--logo-green-dark); }
.sustain-evidence{ position:relative; overflow:hidden; border-block:1px solid rgba(255,255,255,.14); background:var(--forest); color:#fff; }
.sustain-evidence::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(5,43,25,.96),rgba(5,43,25,.83) 54%,rgba(5,43,25,.9)); }
.sustain-evidence-art{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; opacity:.34; filter:none; }
.sustain-evidence-grid{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); }
.sustain-evidence article{ min-height:190px; padding:38px clamp(24px,4vw,54px); border-left:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; justify-content:flex-end; }
.sustain-evidence article:last-child{ border-right:1px solid rgba(255,255,255,.14); }
.sustain-evidence strong{ font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.8rem); font-weight:500; line-height:1; color:#fff; }
.sustain-evidence small{ font-family:var(--font-mono); font-size:.42em; font-weight:500; color:var(--logo-green); }
.sustain-evidence p{ margin:16px 0 0; max-width:24ch; color:rgba(255,255,255,.66); font-size:0.875rem; line-height:1.5; }
.sustain-evidence .sustain-fer,.sustain-evidence .sustain-c2c,.sustain-evidence .sustain-plm{ padding-inline:24px; }
@media (min-width:961px){ .sustain-c2c-line{ display:block; } }
.sustain-fer-subtitle{ display:block; margin-top:10px; font-family:var(--font-body); font-size:0.875rem; font-weight:600; line-height:1.4; white-space:nowrap; text-transform:none; font-variant:normal; }
.sustain-evidence .sustain-fer p,.sustain-evidence .sustain-c2c p,.sustain-evidence .sustain-plm p{ max-width:none; font-family:var(--font-body); text-transform:none; font-variant:normal; }
@media (min-width:701px) and (max-width:960px){
  .sustain-evidence-grid-fer{ grid-template-columns:1fr; }
  .sustain-evidence-grid-fer article{ min-height:0; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
}
.sustain-pillars-head{ display:grid; grid-template-columns:1.1fr .7fr; gap:60px; align-items:end; margin-bottom:clamp(44px,7vw,78px); }
.sustain-pillars-head h2{ margin-bottom:0; }
.sustain-pillars-head>p{ max-width:44ch; margin:0 0 5px; color:var(--muted); line-height:1.65; }
.sustain-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.sustain-cards article{ position:relative; min-height:340px; padding:30px; border:1px solid var(--line); border-left:3px solid rgba(65,166,53,.35); border-radius:8px; background:#fff; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.sustain-cards article:hover{ transform:translateY(-3px); border-left-color:var(--logo-green); box-shadow:0 16px 38px rgba(20,48,25,.07); }
.sustain-card-num{ position:absolute; right:24px; top:25px; font-family:var(--font-display); font-size:2.1rem; color:rgba(44,122,36,.25); }
.sustain-cards svg{ width:52px; height:52px; padding:12px; box-sizing:border-box; border:1px solid rgba(65,166,53,.2); border-radius:50%; background:rgba(65,166,53,.075); fill:none; stroke:var(--logo-green-dark); stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.sustain-cards h3{ margin:38px 0 14px; font-size:1.3rem; }
.sustain-cards p{ margin:0; color:var(--muted); font-size:0.875rem; line-height:1.65; }
.sustain-closing{ margin:clamp(42px,7vw,74px) 0 0; padding:clamp(34px,5vw,56px); background:linear-gradient(115deg,var(--forest),#123c22); color:rgba(255,255,255,.72); font-family:var(--font-display); font-size:clamp(1.5rem,3vw,2.35rem); font-style:italic; line-height:1.4; }
.sustain-closing strong{ color:#fff; font-weight:500; }
@media (max-width:960px){
  .sustain-hero-grid,.sustain-principle-grid{ grid-template-columns:1fr; }
  .sustain-hero-visual{ max-width:680px; min-height:300px; margin:0; }
  .sustain-system{ max-width:600px; width:100%; }
  .sustain-cards{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px){
  .sustain-hero-visual{ min-height:220px; }
  .sustain-system{ min-height:350px; }
  .sustain-evidence-grid,.sustain-pillars-head{ grid-template-columns:1fr; }
  .sustain-evidence article{ min-height:0; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
  .sustain-pillars-head{ gap:24px; }
  .sustain-cards{ grid-template-columns:1fr; }
  .sustain-cards article{ min-height:0; }
}
@media (max-width:440px){
  .sustain-system ul{ inset:72px 18px 42px; }
  .sustain-system-ring{ width:154px; height:154px; }
  .sustain-diagram figcaption{ grid-template-columns:1fr; }
}

/* ---------- certifications page ---------- */
.cert-hero{ padding:clamp(72px,9vw,118px) 0 clamp(64px,8vw,100px); border-bottom:1px solid var(--line); background:linear-gradient(120deg,#fff 0%,#fff 58%,rgba(65,166,53,.055) 100%); }
.cert-hero-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(42px,6vw,82px); align-items:center; }
.cert-hero-copy{ max-width:620px; }
.cert-hero h1,.aima-hero h1{ font-size:clamp(2rem,4vw,2.9rem); margin-bottom:26px; line-height:1.08; letter-spacing:-.015em; }
.cert-hero h1 em,.aima-hero h1 em{ font-family:var(--font-display); color:var(--logo-green-dark); }
.cert-hero .lede,.aima-hero .lede{ max-width:62ch; }
.cert-hero-visual{ position:relative; margin:0 -5vw 0 -8%; min-height:390px; overflow:hidden; }
.cert-hero-visual::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 76% 70% at 58% 51%,transparent 42%,rgba(255,255,255,.2) 58%,rgba(255,255,255,.76) 82%,#fff 100%); }
.cert-hero-visual img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center right; }
.cert-evidence{ background:var(--forest); color:#fff; border-block:1px solid rgba(255,255,255,.14); }
.cert-evidence-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.cert-evidence article{ min-height:178px; padding:clamp(28px,4vw,46px); border-right:1px solid rgba(255,255,255,.16); display:flex; flex-direction:column; justify-content:center; }
.cert-evidence article:last-child{ border-right:0; }
.cert-evidence strong{ display:block; margin-bottom:8px; font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.55rem); font-weight:500; line-height:1.05; }
.cert-evidence-label{ display:block; margin-bottom:4px; font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.55rem); font-weight:500; line-height:1.05; color:#fff; }
.cert-standard-year{ font-size:.5em; }
.cert-evidence p{ margin:0; max-width:25ch; color:rgba(255,255,255,.65); font-size:0.875rem; line-height:1.5; }
.cert-standards{ padding-block:clamp(72px,9vw,112px); background:#fff; }
.cert-standards-head{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(38px,7vw,92px); align-items:end; margin-bottom:clamp(42px,6vw,68px); }
.cert-standards-head h2{ margin-bottom:0; }
.cert-standards-head>p{ max-width:44ch; margin:0 0 5px; color:var(--muted); line-height:1.65; }
.cert-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.cert-cards article{ position:relative; min-height:330px; padding:clamp(28px,4vw,40px); border:1px solid var(--line); border-left:3px solid rgba(65,166,53,.35); border-radius:8px; background:#fff; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.cert-cards article:hover{ transform:translateY(-3px); border-left-color:var(--logo-green); box-shadow:0 16px 38px rgba(20,48,25,.07); }
.cert-card-num{ position:absolute; right:30px; top:28px; font-family:var(--font-display); font-size:2.1rem; color:rgba(44,122,36,.25); }
.cert-cards svg{ width:52px; height:52px; padding:12px; box-sizing:border-box; border:1px solid rgba(65,166,53,.2); border-radius:50%; background:rgba(65,166,53,.075); fill:none; stroke:var(--logo-green-dark); stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.cert-cards h3{ margin:38px 0 14px; font-size:1.3rem; }
.cert-cards p{ margin:0; max-width:58ch; color:var(--muted); font-size:0.875rem; line-height:1.68; }
.cert-download-note{ display:grid; grid-template-columns:180px 1fr; gap:28px; margin-top:28px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cert-download-note span{ font-family:var(--font-mono); font-size:0.6875rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--logo-green-dark); }
.cert-download-note p{ margin:0; color:var(--muted); font-size:0.875rem; line-height:1.55; }

/* ---------- visual backgrounds: sustainability and certifications ---------- */
.sustain-cards article,
.cert-cards article{
  isolation:isolate;
  overflow:hidden;
}
.sustain-cards article::before,
.sustain-cards article::after,
.cert-cards article::before,
.cert-cards article::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  transition:transform .45s ease,background .35s ease;
}
.sustain-cards article::before,
.cert-cards article::before{
  z-index:0;
  background-repeat:no-repeat;
}
.sustain-cards article::before{
  background-image:url("../img/cards-sostenibilita-fer-c2c-plm-v2.webp");
  background-size:300% 200%;
  background-position:var(--sustain-card-position);
}
.cert-cards article::before{
  background-image:url("../img/cards-certificazioni-v1.png");
  background-size:200% 200%;
  background-position:var(--cert-card-position);
}
.sustain-cards article::after,
.cert-cards article::after{
  z-index:1;
  background:linear-gradient(180deg,rgba(255,255,255,.74) 0%,rgba(255,255,255,.87) 48%,rgba(255,255,255,.95) 100%);
}
.sustain-cards article:hover::before,
.cert-cards article:hover::before{ transform:scale(1.035); }
.sustain-cards article:hover::after,
.cert-cards article:hover::after{
  background:linear-gradient(180deg,rgba(255,255,255,.56) 0%,rgba(255,255,255,.74) 48%,rgba(255,255,255,.90) 100%);
}
.sustain-cards article>svg,
.sustain-cards article>h3,
.sustain-cards article>p,
.cert-cards article>svg,
.cert-cards article>h3,
.cert-cards article>p{ position:relative; z-index:2; }
.sustain-card-num,
.cert-card-num{ z-index:3; }
.sustain-cards article:nth-child(1){ --sustain-card-position:0% 0%; }
.sustain-cards article:nth-child(2){ --sustain-card-position:50% 0%; }
.sustain-cards article:nth-child(3){ --sustain-card-position:100% 0%; }
.sustain-cards article:nth-child(4){ --sustain-card-position:0% 100%; }
.sustain-cards article:nth-child(5){ --sustain-card-position:50% 100%; }
.sustain-cards article:nth-child(6){ --sustain-card-position:100% 100%; }
.cert-cards article:nth-child(1){ --cert-card-position:0% 0%; }
.cert-cards article:nth-child(2){ --cert-card-position:100% 0%; }
.cert-cards article:nth-child(3){ --cert-card-position:0% 100%; }
.cert-cards article:nth-child(4){ --cert-card-position:100% 100%; }
@media (max-width:960px){
  .cert-hero-grid{ grid-template-columns:1fr; }
  .cert-hero-visual{ max-width:680px; min-height:300px; margin:0; }
}
@media (max-width:700px){
  .cert-hero-visual{ min-height:220px; }
  .cert-evidence-grid,.cert-standards-head{ grid-template-columns:1fr; }
  .cert-evidence article{ min-height:0; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .cert-evidence article:last-child{ border-bottom:0; }
  .cert-standards-head{ gap:24px; }
  .cert-cards{ grid-template-columns:1fr; }
  .cert-cards article{ min-height:0; }
  .cert-download-note{ grid-template-columns:1fr; gap:8px; }
}

/* ---------- visual alignment: sustainability / certifications / contacts ---------- */
.cert-hero,
.contact-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,9vw,118px) 0 clamp(64px,8vw,100px);
  border-bottom:1px solid var(--line);
  background:linear-gradient(120deg,#fff 0%,#fff 62%,rgba(65,166,53,.055) 100%);
}
.contact-hero::before{ content:none; }
.cert-hero-grid,
.contact-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(42px,6vw,82px);
  align-items:center;
}
.cert-hero-copy,
.contact-hero-copy{
  max-width:620px;
  padding-left:0;
  border-left:0;
}
.cert-hero h1,
.contact-hero-copy h1{
  max-width:none;
  margin-bottom:26px;
  font-size:clamp(2rem,4vw,2.9rem);
  line-height:1.08;
  letter-spacing:-.015em;
}
.cert-hero h1 em,
.contact-hero-copy h1 em{
  font-family:var(--font-display);
  color:var(--logo-green-dark);
}
.cert-hero .lede,
.contact-hero-copy .lede{ max-width:62ch; }
.cert-hero-visual,
.contact-hero-visual{
  position:relative;
  margin:0 -5vw 0 -8%;
  min-height:390px;
  overflow:hidden;
}
.cert-hero-visual::after,
.contact-hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.66) 10%,transparent 35%),linear-gradient(180deg,#fff 0%,transparent 16%,transparent 82%,#fff 100%);
}
.cert-hero-visual img,
.contact-hero-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center right;
}
.cert-hero-visual img{ transform:scale(.92); transform-origin:center right; }
.contact-hero-image img{ transform:scale(.96); transform-origin:center right; }

.cert-evidence,
.contact-direct{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:var(--forest);
  border:0;
  border-block:1px solid rgba(255,255,255,.14);
}
.cert-evidence::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url('../img/certificazioni-sistema-validazione-v5.png') center 50%/cover no-repeat;
  opacity:.34;
}
.cert-evidence::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(5,43,25,.96),rgba(5,43,25,.83) 54%,rgba(5,43,25,.9)); }
.cert-evidence-grid,
.contact-direct-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.cert-evidence-grid{ position:relative; z-index:2; }
.contact-main{ padding:0 0 clamp(76px,10vw,128px); }
.contact-direct{ display:block; margin:0 0 clamp(72px,9vw,112px); }
.contact-direct::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url('../img/contatti-rete-spaziale-v14.png') center 48%/cover no-repeat;
  opacity:.34;
}
.contact-direct::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(5,43,25,.96),rgba(5,43,25,.83) 54%,rgba(5,43,25,.9));
}
.contact-direct-grid{ position:relative; z-index:2; }
.contact-card,
.cert-evidence article{
  min-height:190px;
  padding:38px clamp(24px,4vw,54px);
  border:0;
  border-left:1px solid rgba(255,255,255,.14);
  background:transparent;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.contact-card:first-child{ background:transparent; }
.contact-card:last-child,
.cert-evidence article:last-child{ border-right:1px solid rgba(255,255,255,.14); }
.contact-card strong{ display:block; margin-bottom:12px; font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.55rem); font-weight:500; line-height:1.05; color:#fff; }
.contact-card p{ margin:0; max-width:27ch; color:rgba(255,255,255,.66); font-size:0.875rem; line-height:1.55; }
.contact-card a{ color:#fff; border-bottom:1px solid rgba(255,255,255,.32); }
.cert-evidence article{ border-right:0; }
.cert-evidence strong{ color:#fff; }

.contact-form-layout{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(44px,7vw,90px);
  border:0;
  border-top:0;
  background:#fff;
  box-shadow:none;
}
.contact-form-intro{
  position:sticky;
  top:108px;
  align-self:start;
  padding:0;
  background:transparent;
}
.contact-form-intro h2{ font-size:clamp(1.75rem,3vw,2.45rem); }
.contact-form-note{ border-top-color:var(--line); }
.contact-form-panel{
  padding:clamp(30px,4vw,48px);
  border:1px solid var(--line);
  border-left:3px solid rgba(65,166,53,.35);
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 38px rgba(20,48,25,.055);
}
.contact-form-panel>h2{ font-size:1.3rem; }
.form-field input,
.form-field textarea{ background:#fff; border-color:var(--line); }

.cert-standards-head{ grid-template-columns:1.1fr .7fr; gap:60px; }
.cert-cards article{ padding:30px; }
.cert-download-note{
  margin-top:clamp(42px,7vw,74px);
  padding:clamp(28px,4vw,40px);
  border:0;
  border-left:2px solid var(--logo-green);
  background:#fbfcfa;
}

@media (max-width:960px){
  .cert-hero-grid,.contact-hero-grid{ grid-template-columns:1fr; }
  .cert-hero-visual,.contact-hero-visual{ max-width:680px; min-height:300px; margin:0; width:100%; }
  .contact-form-layout{ grid-template-columns:1fr; gap:42px; }
  .contact-form-intro{ position:static; top:auto; }
}
@media (max-width:700px){
  .cert-hero-visual,.contact-hero-visual{ min-height:220px; }
  .cert-evidence-grid,.contact-direct-grid,.cert-standards-head{ grid-template-columns:1fr; }
  .contact-card,.cert-evidence article{ min-height:0; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
  .contact-card:last-child,.cert-evidence article:last-child{ border-bottom:0; }
  .contact-form-panel{ padding:30px 22px; }
  .cert-standards-head{ gap:24px; }
}

/* ---------- method page ---------- */
.method-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,9vw,112px) 0 clamp(68px,8vw,96px);
  border-bottom:1px solid var(--line);
  background:linear-gradient(118deg,#fff 0%,#fff 54%,rgba(65,166,53,.05) 100%);
}
.method-hero::before{ content:""; position:absolute; width:430px; height:430px; right:-180px; top:-220px; border:1px solid rgba(65,166,53,.11); border-radius:50%; box-shadow:0 0 0 70px rgba(65,166,53,.016),0 0 0 140px rgba(65,166,53,.01); pointer-events:none; }
.method-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);
  gap:clamp(48px,7vw,100px);
  align-items:center;
}
.method-hero-copy{ max-width:680px; padding-left:24px; border-left:2px solid var(--logo-green); }
.method-hero h1{ margin-bottom:26px; font-size:clamp(2.15rem,3.9vw,3.45rem); line-height:1.04; letter-spacing:-.025em; }
.method-hero h1 em{ font-family:var(--font-display); }
.method-hero .lede{ max-width:61ch; }
.method-manifesto{
  margin:28px 0 0;
  padding-top:22px;
  border-top:1px solid rgba(53,138,43,.24);
  font-family:var(--font-display);
  font-size:clamp(1.15rem,1.8vw,1.45rem);
  font-style:italic;
  line-height:1.35;
  color:var(--muted);
}
.method-manifesto strong{ color:var(--pack-green-dark); font-weight:600; }
.method-hero-visual{
  position:relative;
  margin:0 -4vw 0 -5%;
  min-height:438px;
  border:1px solid var(--line);
  border-top:3px solid var(--logo-green);
  background:#fff;
  box-shadow:0 22px 58px rgba(20,48,25,.075);
}
.method-hero-image{ position:absolute; inset:0 0 62px; overflow:hidden; }
.method-hero-image::after{ content:""; position:absolute; inset:-2px; pointer-events:none; background:radial-gradient(ellipse 78% 72% at 52% 50%,transparent 48%,rgba(255,255,255,.18) 64%,rgba(255,255,255,.8) 93%,#fff 100%); }
.method-hero-image img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.method-hero-visual figcaption{ position:absolute; left:0; right:0; bottom:0; height:62px; display:grid; grid-template-columns:1fr 1.2fr 1fr; align-items:center; border-top:1px solid var(--line); background:rgba(255,255,255,.94); }
.method-hero-visual figcaption>*{ text-align:center; font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:.1em; text-transform:uppercase; color:var(--logo-green-dark); }
.method-hero-visual figcaption strong{ align-self:stretch; display:grid; place-items:center; border-left:1px solid var(--line); border-right:1px solid var(--line); font-weight:600; }
.method-phase header span{ font-family:var(--font-mono); font-size:0.6875rem; letter-spacing:.08em; text-transform:uppercase; color:var(--logo-green-dark); }
.method-principles{ padding:0; border-bottom:1px solid var(--line); }
.method-principles .section-label{ padding-top:42px; }
.method-principles-grid{ display:grid; grid-template-columns:repeat(5,1fr); margin-top:28px; }
.method-principles-grid article{ min-height:210px; padding:28px 24px 32px; border-left:1px solid var(--line); }
.method-principles-grid article:last-child{ border-right:1px solid var(--line); }
.method-principles-grid span{ font-family:var(--font-mono); font-size:0.6875rem; color:var(--logo-green-dark); }
.method-principles-grid h3{ margin:42px 0 10px; font-size:clamp(1.15rem,1.5vw,1.4rem); }
.method-principles-grid p{ margin:0; font-size:0.875rem; line-height:1.55; color:var(--muted); }
.method-path{ background:#fbfcfa; }
.method-path-head{ display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; margin-bottom:clamp(38px,5vw,60px); }
.method-path-head h2{ margin-bottom:0; max-width:17ch; }
.method-path-head>p{ max-width:46ch; margin:0 0 5px; color:var(--muted); }
.method-movements{ display:grid; gap:14px; }
.method-movements article{
  display:grid;
  grid-template-columns:64px minmax(210px,.55fr) minmax(0,1.45fr);
  gap:clamp(22px,3vw,42px);
  align-items:center;
  padding:clamp(26px,3vw,38px);
  border:1px solid var(--line);
  border-left:3px solid rgba(65,166,53,.34);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 34px rgba(20,48,25,.035);
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.method-movements article:nth-child(even){ background:linear-gradient(110deg,#fff 0%,#fff 72%,rgba(65,166,53,.045) 100%); }
.method-movements article:hover{ border-left-color:var(--logo-green); box-shadow:0 16px 40px rgba(20,48,25,.07); transform:translateY(-2px); }
.movement-num{
  font-family:var(--font-display);
  font-size:clamp(2rem,3.5vw,3.4rem);
  line-height:1;
  color:rgba(44,122,36,.28);
}
.movement-core p{
  margin:0 0 6px;
  font-family:var(--font-mono);
  font-size:0.625rem;
  letter-spacing:.08em;
  color:var(--logo-green-dark);
}
.movement-core svg{
  width:54px;
  height:54px;
  margin-bottom:18px;
  padding:12px;
  box-sizing:border-box;
  border:1px solid rgba(65,166,53,.2);
  border-radius:50%;
  background:rgba(65,166,53,.075);
  fill:none;
  stroke:var(--logo-green-dark);
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.movement-core h3{ margin:0 0 7px; font-size:clamp(1.45rem,2.2vw,2rem); }
.movement-core strong{ font-size:0.8125rem; font-weight:500; color:var(--muted); }
.movement-copy{ margin:0; max-width:62ch; color:var(--muted); line-height:1.65; }
.movement-steps{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,54px); }
.movement-steps h4{ margin:0 0 10px; font-size:0.9375rem; color:var(--forest); }
.movement-steps h4 b{ margin-right:7px; font-family:var(--font-mono); font-size:0.625rem; font-weight:500; color:var(--logo-green-dark); }
.movement-steps p{ margin:0; color:var(--muted); font-size:0.875rem; line-height:1.6; }
.method-movements article:hover .movement-num{ color:var(--logo-green); }
.method-phases{ border-top:1px solid var(--line-strong); }
.method-phase{
  display:grid;
  grid-template-columns:minmax(230px,.72fr) minmax(0,1fr);
  gap:clamp(36px,7vw,100px);
  padding:clamp(40px,6vw,72px) 0;
  border-bottom:1px solid var(--line-strong);
}
.method-phase header{ position:sticky; top:116px; align-self:start; }
.method-phase header h3{ margin:12px 0 8px; font-size:clamp(1.8rem,3vw,2.7rem); }
.method-phase header p{ margin:0; color:var(--muted); }
.method-stage{ display:grid; grid-template-columns:54px 1fr; gap:20px; padding:0 0 28px; margin-bottom:28px; border-bottom:1px solid var(--line); }
.method-stage:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0; }
.method-stage b{ font-family:var(--font-mono); font-size:0.8125rem; font-weight:500; color:var(--logo-green-dark); }
.method-stage h4{ margin:0 0 9px; font-family:var(--font-display); font-size:1.22rem; font-weight:600; color:var(--forest); }
.method-stage p{ margin:0; max-width:66ch; color:var(--muted); font-size:0.9375rem; line-height:1.65; }
.method-phase--final{ border-bottom:0; }
.method-closing{
  margin:32px 0 0;
  padding:clamp(32px,5vw,54px);
  background:var(--forest);
  color:rgba(255,255,255,.72);
  font-family:var(--font-display);
  font-size:clamp(1.5rem,3vw,2.4rem);
  font-style:italic;
  line-height:1.35;
}
.method-closing strong{ color:#fff; font-weight:500; }
@media (max-width:960px){
  .method-principles-grid{ grid-template-columns:repeat(3,1fr); }
  .method-principles-grid article:nth-child(4),.method-principles-grid article:nth-child(5){ border-top:1px solid var(--line); }
}
@media (max-width:760px){
  .method-hero-grid,.method-path-head,.method-phase{ grid-template-columns:1fr; }
  .method-hero-copy{ padding-left:20px; }
  .method-hero-visual{ max-width:640px; margin:0; min-height:360px; }
  .method-path-head{ gap:24px; }
  .method-phase{ gap:32px; }
  .method-phase header{ position:static; }
  .method-movements article{ grid-template-columns:42px 1fr; padding:24px 20px; }
  .movement-copy,.movement-steps{ grid-column:2; }
}
@media (max-width:520px){
  .movement-steps{ grid-template-columns:1fr; }
  .method-hero{ padding-top:58px; }
  .method-hero-copy{ padding-left:16px; }
  .method-hero h1{ font-size:clamp(2.15rem,12vw,3rem); }
  .method-hero-visual{ min-height:290px; }
  .method-hero-image{ inset:0 0 54px; }
  .method-hero-visual figcaption{ height:54px; }
  .method-hero-visual figcaption>*{ font-size:0.625rem; letter-spacing:.07em; }
}
@media (max-width:560px){
  .method-principles-grid{ grid-template-columns:1fr; }
  .method-principles-grid article{ min-height:0; border-right:1px solid var(--line); border-top:1px solid var(--line); }
  .method-principles-grid article:first-child{ border-top:0; }
  .method-principles-grid h3{ margin-top:18px; }
}

/* ---------- process path ---------- */
.process{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.process-row{
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-start;
  align-items:flex-start;
  gap:6px 4px;
}
.process-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:104px;
  text-align:center;
  padding:16px 8px;
  border-radius:10px;
  position:relative;
  transition:background 0.3s ease, box-shadow 0.3s ease, transform 0.25s ease;
}
.process-step:hover{
  background:linear-gradient(155deg, rgba(65,166,53,0.22), rgba(65,166,53,0.03) 68%);
  box-shadow:
    0 12px 22px -14px rgba(44,122,36,0.55),
    inset 0 1px 0 rgba(255,255,255,0.55),
    inset 0 -1px 0 rgba(44,122,36,0.1);
  transform:translateY(-3px);
}
.process-num{
  position:relative;
  width:38px;
  height:36px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.process-num svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.process-num .leaf-shape{
  fill:var(--paper);
  stroke:var(--line-strong);
  stroke-width:1.5;
  transition:fill 0.3s ease, stroke 0.3s ease;
}
.process-num .leaf-vein{
  stroke:var(--line-strong);
  stroke-width:1;
  transition:stroke 0.3s ease;
}
.process-num .num-text{
  position:relative;
  z-index:1;
  font-family:var(--font-mono);
  font-size:0.65625rem;
  font-weight:500;
  letter-spacing:0.02em;
  color:var(--forest);
  transition:color 0.3s ease, transform 0.3s ease;
}
.process-step:hover .process-num .leaf-shape{
  fill:var(--logo-green);
  stroke:var(--logo-green-dark);
}
.process-step:hover .process-num .leaf-vein{
  stroke:rgba(255,255,255,0.65);
}
.process-step:hover .process-num .num-text{
  color:#FFFFFF;
  transform:scale(1.08);
}
.process-label{
  font-family:var(--font-body);
  font-size:0.84375rem;
  font-weight:500;
  line-height:1.3;
  color:var(--forest);
}
.process-arrow{
  color:var(--line-strong);
  font-size:1rem;
  align-self:center;
  margin-top:36px;
  flex-shrink:0;
}
.process-row-connector{ display:none; }

@media (max-width:760px){
  .process{ gap:0; }
  .process-row{ flex-direction:column; align-items:stretch; gap:0; }
  .process-step{
    flex-direction:row;
    width:100%;
    text-align:left;
    justify-content:flex-start;
    gap:14px;
    padding:10px 6px;
  }
  .process-arrow{
    display:block;
    margin:0 0 0 24px;
    transform:rotate(90deg);
    align-self:flex-start;
  }
  .process-row-connector{ display:block; }
}

@media (max-width:640px){
  .form-grid{ grid-template-columns:1fr; }
}

/* Sustainability cards: the three strategic themes */
.sustain-card-theme{display:block;margin-bottom:10px;font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:.06em;color:var(--logo-green-dark);}

/* Published certificate downloads */
.cert-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px;}
.cert-document h3{font-size:1rem;line-height:1.4;margin:0 0 14px;}
.cert-document-actions{display:flex;flex-wrap:wrap;gap:10px 16px;}
.cert-document-actions a{font-size:0.875rem;font-weight:600;color:var(--logo-green-dark);text-decoration:underline;text-underline-offset:4px;}
.cert-document-actions a:hover{color:var(--forest);}
@media(max-width:960px){.cert-documents{grid-template-columns:1fr;gap:24px;}}

/* Keep the transparent milestone artwork clear of the text and remove the opaque seam. */
.concept-hero-visual--milestone{margin-left:0;}
.concept-hero-visual--milestone::after{background:none;}
.concept-hero-visual--milestone img{transform:none;}

/* Home anniversary size and value-card accent. */
.home-anniversary img{transform:scale(1.08);transform-origin:center;}
.home-value-cards .card{border-left:3px solid var(--logo-green);}
@media (max-width:900px){
  .hero-grid .home-anniversary{max-width:238px;}
  .home-anniversary img{transform:none;}
}

/* Home: full-width page links and balanced industrial statement. */
.home-section-links{justify-content:space-between;gap:16px 20px;}
.home-section-links a{white-space:nowrap;}
.home-industrial-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,80px);align-items:start;}
.home-industrial-layout h2{max-width:20ch;margin:0;}
.home-industrial-layout .lede{max-width:none;margin:0;}
@media (max-width:1100px){
  .home-section-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
}
@media (max-width:700px){
  .home-industrial-layout{grid-template-columns:1fr;gap:24px;}
  .home-industrial-layout h2{max-width:none;}
  .home-section-links{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-section-links a{white-space:normal;}
}

/* Shared soft-button direction: decorative arrow, also retained during form updates. */
.btn::after{
  content:"";
  width:19px;
  height:19px;
  flex:0 0 19px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15M13 5l7 7-7 7' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15M13 5l7 7-7 7' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Abstract page artwork: preserve the complete transparent composition. */
.abstract-page-visual{margin-left:0;overflow:visible;}
.abstract-page-visual::after,
.abstract-page-visual .contact-hero-image::after{background:none;}
.abstract-page-visual img{transform:none;object-position:center;}

/* AIMA — editorial collection */
.aima-page{background:#fff}.aima-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:85px;padding-bottom:85px}.aima-hero h1{margin-top:0}.aima-hero .lede{margin-bottom:0}.aima-hero>img{width:100%;height:auto;object-fit:contain}.aima-artist{background:#f4f6f2;padding:70px 0}.aima-artist-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.aima-logo{width:330px;max-width:100%;height:auto;mix-blend-mode:multiply;margin-left:-30px}.aima-acronym{font-size:0.8125rem;letter-spacing:.15em;text-transform:uppercase;line-height:1.8}.aima-signature{font-size:1.375rem;line-height:1.4;margin-top:30px;color:#254332}.aima-artist h2{font-size:2rem;margin:0 0 24px}.aima-artist p{line-height:1.8}.aima-catalogue{padding-top:90px}.aima-catalogue-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.aima-catalogue-head h2{font-size:2.5rem;margin:12px 0 0}.aima-catalogue-head>p{font-size:0.875rem;line-height:1.7;color:#666}.aima-work{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center;padding:48px 0;border-top:1px solid #dce4db}.aima-image{display:block;background:#fafbf9;border-radius:4px;overflow:hidden}.aima-image img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;transition:transform .4s ease}.aima-image:hover img{transform:scale(1.025)}.aima-caption{padding:12px 0}.aima-number{font-size:0.75rem;letter-spacing:.13em;color:#63806a}.aima-caption h3{font-size:1.8125rem;line-height:1.2;margin:18px 0}.aima-caption p{font-size:1rem;line-height:1.8;color:#536158;max-width:440px}.aima-medium{display:block;font-size:0.6875rem;letter-spacing:.035em;color:#7c887f;margin-top:24px}.aima-closing{padding:80px 0 100px;border-top:1px solid #dce4db;text-align:center}.aima-closing p{font-size:clamp(26px,3vw,42px);color:#254332}.aima-closing span{font-size:0.75rem;letter-spacing:.08em}@media(max-width:800px){.aima-hero{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:45px}.aima-artist-grid{grid-template-columns:1fr;gap:35px}.aima-artist{padding:45px 0}.aima-catalogue{padding-top:50px}.aima-catalogue-head{display:block}.aima-catalogue-head h2{font-size:2rem}.aima-work{grid-template-columns:1fr;gap:20px;padding:30px 0}.aima-caption h3{font-size:1.625rem}.aima-logo{margin-left:-20px}.aima-closing{padding:50px 20px}}

/* Abstract artworks link to the AIMA collection. */
.aima-art-link{display:block;cursor:pointer;text-decoration:none;color:inherit;}
.aima-art-link:focus-visible{outline:3px solid var(--logo-green);outline-offset:5px;}
.aima-evidence-link{position:absolute;inset:0;z-index:3;cursor:pointer;}
.aima-evidence-link:focus-visible{outline:3px solid var(--logo-green);outline-offset:-5px;}

.aima-page .aima-logo{width:440px;max-width:100%;margin-left:0}.aima-page .aima-acronym{font-size:0.6875rem;letter-spacing:.07em}

/* Artwork enlargement uses the same framed presentation as products. */
.aima-image{width:100%;padding:0;border:0;text-align:inherit;font:inherit;cursor:zoom-in;color:inherit;}
.aima-image:focus-visible{outline:3px solid var(--logo-green);outline-offset:5px;}
.aima-signature-line{font-size:clamp(.875rem,1.4vw,1.25rem);white-space:nowrap;}
@media(max-width:359px){.aima-signature-line{white-space:normal;}}
.aima-lightbox{width:min(1080px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);padding:0;border:0;border-radius:14px;background:#f8faf7;overflow:auto;}
.aima-lightbox::backdrop{background:rgba(3,32,23,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.aima-lightbox .product-lightbox-panel{width:100%;max-height:none;box-sizing:border-box;}
.aima-lightbox form{margin:0;}
.aima-lightbox-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 145px);object-fit:contain;border-radius:8px;background:#fafbf9;}
body.aima-lightbox-open{overflow:hidden;}

/* Shared responsive geometry for both language versions. */
.sustain-hero{overflow:hidden;}
.method-path-head>*{min-width:0;}
.method-movements>article{min-width:0;}
.btn{white-space:nowrap;}
.bilingual-copy{display:block;max-width:100%;}
@media(max-width:1100px) and (min-width:901px){.sustain-hero-visual{margin-right:0;}}

.bilingual-copy{font:inherit!important;letter-spacing:inherit!important;color:inherit!important;margin:0!important;padding:0!important;border:0!important;text-transform:inherit!important;}
.contact-card p,.cert-evidence p{width:100%;}
.aima-catalogue-head{display:grid;grid-template-columns:1fr 1fr;}
@media(max-width:800px){.aima-catalogue-head{display:block;}}
@media(min-width:701px){.cert-evidence-grid{grid-template-columns:minmax(0,1.065fr) minmax(0,1.065fr) minmax(0,.87fr);}}


/* Compact-screen review: consistent geometry, readable copy and touch controls. */
:root{--header-height:90px;}
html{scroll-padding-top:calc(var(--header-height) + 20px);}
main:focus{outline:none;}
.skip-link{position:fixed;top:8px;left:16px;z-index:3000;transform:translateY(-160%);padding:12px 18px;border-radius:8px;background:var(--forest);color:#fff;text-decoration:none;}
.skip-link:focus{transform:none;}
.site-header-inner,.hero-grid>*,.footer-grid>*,.form-grid>*,.aima-artist-grid>*,.aima-work>*,.method-movements article>*{min-width:0;}
.nav-toggle,.lang-globe-toggle{width:44px;height:44px;flex-shrink:0;}
.nav-toggle .hamburger-line{left:11px;right:11px;}
.nav-toggle .hamburger-line:nth-child(1){top:16px;}
.nav-toggle .hamburger-line:nth-child(2){top:21.5px;}
.nav-toggle .hamburger-line:nth-child(3){top:27px;}
.nav-toggle[aria-expanded="true"] .hamburger-line:nth-child(1),.nav-toggle[aria-expanded="true"] .hamburger-line:nth-child(3){top:21.5px;}
.nav-menu>li>a,.nav-dropdown-toggle,.nav-dropdown-menu a{min-height:44px;line-height:1.4;}
.nav-dropdown-caret{min-width:44px;min-height:44px;justify-content:center;}
.nav-menu a,.nav-dropdown-toggle{font-size:0.75rem;}
.nav-dropdown-menu a{display:flex;align-items:center;}
.form-field input,.form-field textarea{font-size:1rem;width:100%;min-width:0;min-height:48px;}
.form-field label{font-size:0.75rem;letter-spacing:.05em;}
.form-field .optional{color:var(--muted);}
.form-actions{flex-wrap:wrap;}
.form-consent{cursor:pointer;min-height:44px;font-size:0.875rem;}
.form-consent input[type="checkbox"]{width:22px;height:22px;margin-top:1px;}
.form-status{flex:1 1 100%;line-height:1.6;}
.f-label{font-size:0.75rem;}
.legal{font-size:0.75rem;line-height:1.7;color:var(--muted);}
.legal-links{gap:4px 20px;}
.legal-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);}
.f-value a:not(.f-logo-link){display:inline-flex;align-items:center;min-height:44px;}
.cert-document-actions{gap:8px 20px;}
.cert-document-actions a{display:inline-flex;align-items:center;min-height:44px;}
.cookie-banner{max-height:65dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom);}
.cookie-banner-inner{padding-top:16px;padding-bottom:16px;}
.cookie-banner-text{font-size:0.875rem;}
.product-lightbox:not([open]){display:none;}
.product-lightbox{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;color:var(--ink);overflow:auto;overscroll-behavior:contain;}
.product-lightbox::backdrop{background:rgba(3,32,23,.84);backdrop-filter:blur(8px);}
.product-lightbox-panel{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;}
.product-lightbox-image{height:min(68dvh,640px);aspect-ratio:auto;}
.product-lightbox-close{top:14px;right:14px;}
.aima-lightbox{overscroll-behavior:contain;}
.aima-lightbox .product-lightbox-panel{overflow:visible;}
.aima-lightbox-image{max-height:calc(100dvh - 160px);}
.aima-lightbox .product-lightbox-title{padding-right:0;}
@media(max-width:1080px){
  .site-nav{position:static;width:auto;gap:12px;}
  .site-header-inner{gap:16px;}
  .nav-menu{left:0;right:0;top:100%;width:100%;max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;padding:12px clamp(20px,5vw,48px) calc(20px + env(safe-area-inset-bottom));box-shadow:0 18px 30px -25px rgba(18,43,24,.35);}
  .nav-menu>li{width:100%;flex-shrink:0;white-space:normal;}
  .nav-menu>.nav-dropdown{display:flex;flex-direction:column;align-items:stretch;}
  .nav-menu a,.nav-dropdown-toggle{font-size:0.875rem;letter-spacing:.04em;min-height:48px;}
  .nav-menu>li>a,.nav-menu .nav-dropdown-toggle{padding:12px 0;}
  .nav-dropdown-menu{width:100%;padding:0 0 8px 16px;}
  .nav-dropdown-menu a{white-space:normal;padding:10px 12px;}
  .lang-switch-menu{width:160px;top:calc(100% - 10px);right:clamp(20px,5vw,48px);left:auto;}
  .lang-switch-menu a{padding:10px 12px;}
  body.nav-open{overflow:hidden;}
}
@media(max-width:700px){
  .brand-logo{height:auto;width:clamp(150px,43vw,200px);max-height:48px;}
  .site-header-inner{padding-top:10px;padding-bottom:10px;}
  .site-nav{gap:8px;}
  .cert-evidence-grid{grid-template-columns:1fr;}
  .hero,.cert-hero,.contact-hero,.sustain-hero,.method-hero,.milestone-hero,.aima-hero{padding-top:40px;padding-bottom:40px;}
  .hero-grid,.cert-hero-grid,.contact-hero-grid,.sustain-hero-grid,.method-hero-grid,.milestone-hero-grid,.aima-hero{gap:28px;}
  .cert-hero-visual,.contact-hero-visual,.sustain-hero-visual,.method-hero-visual,.milestone-hero-visual{min-height:200px;}
  .section{padding-top:44px;padding-bottom:44px;}
  .card p,.visual-card p,.cert-cards p,.sustain-cards p,.movement-copy,.movement-steps p,.method-stage p,.m-text,.legal-content p{font-size:1rem;line-height:1.65;}
  .cert-evidence p,.sustain-evidence p,.contact-card p{font-size:1rem;line-height:1.6;}
  .cert-evidence article,.sustain-evidence article,.contact-card{padding:28px 22px;}
  .btn{max-width:100%;white-space:normal;text-align:center;}
  .home-section-links a{width:100%;padding-inline:14px;}
  .section-label,.aima-number,.aima-medium,.aima-acronym,.aima-page .aima-acronym{font-size:0.75rem;}
  .aima-work{gap:12px;}
  .aima-caption{padding-top:6px;}
  .aima-caption h3{margin-top:12px;}
  .aima-artist h2{font-size:1.75rem;}
  .contact-form-panel{padding:26px 20px;}
  .form-grid{grid-template-columns:1fr;}
  .form-actions .btn{width:100%;}
  .cookie-banner-inner{gap:12px;}
  .product-lightbox{padding:12px;}
  .product-lightbox-image{height:min(65dvh,480px);}
  .aima-lightbox{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);}
}
@media(max-width:560px){
  .method-movements article{grid-template-columns:32px minmax(0,1fr);gap:16px;padding:24px 18px;}
  .movement-steps,.movement-copy{grid-column:1 / -1;}
  .movement-steps{gap:22px;}
  .movement-core svg{margin-bottom:12px;}
  .movement-core h3{font-size:1.45rem;}
  .milestone-era .m-row{grid-template-columns:48px 12px minmax(0,1fr);column-gap:8px;}
  .m-year{overflow-wrap:anywhere;}
  .manufacturing-visual{margin-inline:0;}
  .manufacturing-visual img{width:100%;margin-left:0;}
}
@media(max-width:359px){
  .container{padding-inline:16px;}
  .site-header-inner{gap:8px;}
  .site-nav{gap:4px;}
  h1,.method-hero h1,.milestone-hero h1,.cert-hero h1,.contact-hero-copy h1,.sustain-hero h1{font-size:1.85rem;}
  .home-section-links{grid-template-columns:1fr;}
}
@media(max-height:500px) and (max-width:1080px){
  .site-header-inner{padding-block:6px;}
  .brand-logo{height:36px;width:auto;}
  .cookie-banner{max-height:55dvh;}
  .product-lightbox-image{height:58dvh;}
  .aima-lightbox-image{max-height:calc(100dvh - 120px);}
}
@media(hover:none){
  .card:hover,.visual-card:hover,.cert-cards article:hover,.sustain-cards article:hover,.method-movements article:hover,.m-row:hover{transform:none;}
  .aima-image:hover img{transform:none;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}
}

.brand{min-height:44px;}
.product-lightbox-image{width:min(100%,65dvh);height:auto;aspect-ratio:1;margin-inline:auto;}
@media(max-width:1200px){
  .cert-hero-visual,.contact-hero-visual,.sustain-hero-visual,.concept-hero-visual--method,.concept-hero-visual--milestone{margin-inline:0;}
  .concept-hero-visual img{transform:none;}
}
@media(max-width:700px){
  main,footer{overflow-wrap:anywhere;}
  .aima-signature-line{white-space:normal;}
}
@media(max-height:500px) and (max-width:1080px){.product-lightbox-image{width:min(100%,58dvh);height:auto;}}

.nav-dropdown:not(.open) .nav-dropdown-menu{display:none;}
@media(max-width:1080px){.lang-switch-menu{top:100%;right:0;}}

.cert-evidence article,.sustain-evidence article,.contact-card{min-width:0;overflow-wrap:anywhere;}
.contact-direct-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:960px){
  .contact-direct-grid{grid-template-columns:1fr;}
  .contact-card{min-height:0;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);}
  .contact-card:last-child{border-bottom:0;}
  .sustain-fer-subtitle{white-space:normal;}
  .manufacturing-visual{margin-inline:0;}
  .manufacturing-visual img{width:100%;margin-left:0;}
}
@media(max-width:560px){.story-mobile-grid .card-grid{grid-template-columns:minmax(0,1fr);}}
.f-logo-link{min-width:44px;min-height:44px;align-items:center;}

.contact-card a{display:inline-flex;align-items:center;min-height:44px;}
.aima-number,.aima-medium{color:var(--muted);}
@media(max-width:700px){
  .contact-form-note p,.cert-download-note p{font-size:1rem;line-height:1.6;}
}
@media(max-width:560px){
  .trivia-item{grid-template-columns:minmax(0,1fr);gap:6px;}
  .trivia-item p{font-size:1rem;}
  .trivia-year{font-size:.875rem;font-weight:600;}
}

.movement-num{white-space:nowrap;font-variant-numeric:tabular-nums;}
@media(max-width:560px){.method-movements article{grid-template-columns:42px minmax(0,1fr);}}
@media(max-width:700px){.hero-grid .home-anniversary{max-width:180px;}}
/* Keep close controls reachable when enlarged captions need scrolling. */
.product-lightbox>.product-lightbox-panel>.product-lightbox-close{position:sticky;top:0;right:auto;display:block;margin:0 0 -44px auto;}
.aima-lightbox form{position:sticky;top:0;z-index:2;}


/* Mobile art direction: an editorial rhythm and a quieter shared footer. */
.lang-switch-menu a{font-family:var(--font-body);font-size:.75rem!important;letter-spacing:0!important;text-transform:none;min-height:40px;padding:8px 12px;}
.lang-switch-menu{min-width:128px;width:128px;}
.lang-switch-menu a.active::after{margin-left:auto;font-size:.7rem;}
.footer-refined{margin-top:0;border-top:1px solid #dce5dc;background:#f6f8f5;color:var(--forest);}
.footer-group{display:flex;align-items:center;gap:18px;}
.footer-group span{font-size:.6875rem;color:var(--muted);line-height:1.4;}
.footer-group a{display:flex;align-items:center;min-height:44px;}
.footer-group img{width:92px;height:auto;}
.footer-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:28px 0 22px;}
.footer-details h2{font-family:var(--font-body);font-size:.75rem;font-weight:600;line-height:1.4;letter-spacing:.025em;margin:0 0 10px;color:var(--muted);}
.footer-address address{font-style:normal;font-size:.875rem;line-height:1.8;}
.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-content:start;}
.footer-contact h2{grid-column:1/-1;}
.footer-contact a{font-size:.875rem;line-height:1.5;text-decoration:none;min-height:36px;display:flex;align-items:center;overflow-wrap:anywhere;}
.footer-contact a:hover,.footer-links a:hover{color:var(--logo-green-dark);text-decoration:underline;text-underline-offset:4px;}
.footer-links{display:flex;flex-wrap:wrap;gap:0 28px;padding:12px 0;border-block:1px solid #dce5dc;}
.footer-links a{font-size:.75rem;text-decoration:none;color:var(--muted);display:flex;align-items:center;min-height:44px;}
.footer-bottom{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:24px;padding:22px 0 28px;}
.footer-bottom p{font-size:.6875rem;line-height:1.7;color:var(--muted);margin:0;}
.footer-company span{display:block;}
.footer-copyright{color:var(--forest)!important;font-weight:500;}
@media(max-width:1080px){
  .nav-menu a,.nav-menu .nav-dropdown-toggle{font-family:var(--font-body);font-size:1rem;letter-spacing:0;text-transform:none;font-weight:500;}
  .nav-menu .nav-dropdown-menu a{font-size:.875rem;font-weight:400;}
  .nav-menu{padding-top:16px;padding-bottom:20px;}
  .nav-menu>li>a,.nav-menu .nav-dropdown-toggle{border-bottom:0;}
  .nav-menu>li{border-bottom:1px solid #edf1eb;}
  .nav-menu>li:last-child{border-bottom:0;}
  .nav-menu a[aria-current="page"]{color:var(--logo-green-dark);font-weight:600;}
}
@media(max-width:700px){
  .container{padding-inline:24px;}
  .site-header-inner{padding-block:12px;}
  .brand-logo{width:154px;max-height:40px;}
  .lang-globe-toggle svg{width:19px;height:19px;}
  .site-nav{gap:4px;}
  .hero,.cert-hero,.contact-hero,.sustain-hero,.method-hero,.milestone-hero,.aima-hero{padding-top:36px;padding-bottom:32px;background:#fff;}
  .cert-hero-grid,.contact-hero-grid,.sustain-hero-grid,.aima-hero{gap:16px;}
  .cert-hero h1,.contact-hero-copy h1,.sustain-hero h1,.aima-hero h1{font-size:clamp(1.9rem,7.6vw,2.5rem);line-height:1.12;margin-bottom:20px;letter-spacing:-.025em;}
  .lede{font-size:1rem;line-height:1.65;}
  .cert-hero-visual,.contact-hero-visual,.sustain-hero-visual{min-height:0;height:clamp(155px,44vw,240px);margin:0;}
  .cert-hero-visual img,.contact-hero-image img,.sustain-hero-visual img{object-position:center;transform:none;}
  .aima-hero>img{max-height:220px;object-fit:contain;}
  .section{padding-block:36px;}
  .section-head{margin-bottom:24px;}
  .home-hero .hero-grid{grid-template-columns:minmax(0,1fr) 92px;gap:20px 16px;align-items:center;}
  .home-hero .hero-grid>div:first-child{display:contents;}
  .home-hero .eyebrow{grid-column:1;grid-row:1;margin:0;font-size:1rem;}
  .home-hero .home-anniversary{grid-column:2;grid-row:1;order:0;width:92px;max-width:92px;margin:0!important;}
  .home-hero h1{grid-column:1/-1;grid-row:2;font-size:clamp(1.9rem,7.6vw,2.5rem);margin:0;line-height:1.16;}
  .home-hero .lede{grid-column:1/-1;grid-row:3;margin:0;}
  .home-hero .hero-grid>div:first-child>p:last-child{grid-column:1/-1;grid-row:4;display:grid!important;grid-template-columns:1fr;gap:10px!important;margin:4px 0 0!important;}
  .home-hero .btn{width:100%;}
  .btn{border-radius:10px;font-size:.875rem;padding:12px 18px;}
  .home-value-cards{gap:0;}
  .home-value-cards .card{padding:24px 0 24px 18px;border:0;border-left:2px solid var(--logo-green);border-radius:0;border-bottom:1px solid #e6ebe3;box-shadow:none;}
  .home-value-cards .card:last-child{border-bottom:0;}
  .card h3,.visual-card h3{font-size:1.125rem;line-height:1.3;}
  .card p,.visual-card p,.cert-cards p,.sustain-cards p,.movement-steps p{font-size:1rem;line-height:1.6;}
  .visual-card-grid{gap:16px;}
  .visual-card{min-height:270px;padding:24px;border-color:#dce4d8;border-radius:10px;}
  .visual-card h3,.visual-card p{min-height:0;}
  .sustain-cards article,.cert-cards article{padding:26px 24px;border-radius:10px;box-shadow:none;}
  .sustain-cards h3,.cert-cards h3{margin-top:26px;}
  .method-path{background:#fff;}
  .method-manifesto--standalone{margin-bottom:28px;padding-bottom:20px;}
  .method-path-head{gap:20px;margin-bottom:30px;}
  .method-movements{gap:0;}
  .method-movements article{border:0;border-top:1px solid #dce5dc;border-radius:0;box-shadow:none;padding:28px 0;grid-template-columns:40px minmax(0,1fr);gap:20px;background:#fff!important;}
  .method-movements article:last-child{border-bottom:1px solid #dce5dc;}
  .movement-num{font-size:1.75rem;color:var(--logo-green-dark);align-self:start;padding-top:12px;}
  .movement-core svg{width:44px;height:44px;padding:10px;margin-bottom:10px;}
  .movement-core h3{font-size:1.4rem;}
  .movement-steps{grid-column:1/-1;gap:20px;}
  .movement-steps h4{font-size:.9375rem;margin-bottom:8px;}
  .movement-steps h4 b{font-size:.6875rem;}
  .cert-evidence article,.sustain-evidence article,.contact-card{padding:24px 22px;}
  .cert-evidence strong,.contact-card strong,.sustain-evidence strong{font-size:1.6rem;line-height:1.12;}
  .cert-evidence p,.sustain-evidence p,.contact-card p{font-size:.9375rem;line-height:1.6;}
  .sustain-fer-subtitle{font-size:.8125rem;}
  .contact-direct{margin-bottom:44px;}
  .contact-form-layout{gap:32px;}
  .contact-form-panel{padding:24px 20px;box-shadow:none;border-color:#dce5dc;border-left:1px solid #dce5dc;border-radius:10px;}
  .contact-form-note{padding:14px 0;}
  .aima-artist{padding-block:36px;}
  .aima-artist-grid{gap:24px;}
  .aima-page .aima-logo{width:300px;}
  .aima-acronym{font-size:.6875rem!important;line-height:1.65;}
  .aima-signature{margin-top:20px;font-size:1.125rem;}
  .aima-artist h2{font-size:1.5rem;}
  .aima-catalogue{padding-top:40px;}
  .aima-catalogue-head{margin-bottom:28px;}
  .aima-catalogue-head h2{font-size:1.75rem;}
  .aima-work{padding-block:28px;gap:16px;}
  .aima-caption h3{font-size:1.5rem;margin:12px 0 16px;}
  .aima-caption p{line-height:1.65;}
  .aima-medium{font-size:.6875rem;margin-top:18px;}
  .aima-closing{padding:36px 24px 44px;}
  .home-section-links{gap:12px;margin-top:28px;padding-top:20px;}
  .footer-group{flex-direction:column;gap:4px;align-items:flex-end;}
  .footer-group span{font-size:.625rem;white-space:nowrap;}
  .footer-group img{width:74px;}
  .footer-group a{min-height:32px;}
  .footer-details{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;padding:22px 0;}
  .footer-details h2{font-size:.6875rem;margin-bottom:8px;}
  .footer-address address{font-size:.8125rem;line-height:1.8;}
  .footer-contact{grid-template-columns:minmax(0,1fr);gap:0;}
  .footer-contact a{font-size:.8125rem;min-height:32px;line-height:1.6;}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:12px 0;}
  .footer-links a{font-size:.6875rem;line-height:1.4;min-height:36px;}
  .footer-bottom{grid-template-columns:minmax(0,1fr);gap:7px;padding:18px 0 24px;}
  .footer-bottom p{font-size:.625rem;letter-spacing:0;}
  .footer-company span{display:inline;margin-left:8px;}
}
@media(max-width:359px){
  .container{padding-inline:20px;}
  .brand-logo{width:142px;}
  .footer-details{gap:12px;}
  .footer-company span{display:block;margin-left:0;}
}
@media(max-width:700px){
  .home-hero+.section p{text-align:left!important;font-size:1rem!important;font-weight:400!important;line-height:1.65!important;color:var(--muted)!important;}
  .method-manifesto--standalone{border-top:0;padding-top:0;}
  .contact-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:16px;align-items:start;padding:20px 18px;}
  .contact-card strong{font-family:var(--font-body);font-size:.75rem;font-weight:600;line-height:1.5;margin:3px 0 0;}
  .contact-card p{font-size:.875rem;line-height:1.6;}
  .footer-group span,.footer-details h2,.footer-links a,.footer-bottom p{font-size:.75rem;}
  .footer-contact a{min-height:40px;}
  .footer-bottom{grid-template-columns:1fr auto;gap:6px 16px;}
  .footer-company{grid-column:1/-1;grid-row:2;}
  .footer-rights{grid-column:2;grid-row:1;text-align:right;}
  .footer-group a{min-height:44px;}
}
@media(max-width:359px){.contact-card{grid-template-columns:68px minmax(0,1fr);gap:12px;padding-inline:16px;}}
@media(max-width:700px){
  .home-hero .eyebrow{font-size:.875rem;}
  .milestone-era--future{margin-inline:0;padding-inline:16px;}
  .contact-main{padding-bottom:44px;}
  .footer-group{min-width:0;max-width:50%;}
  .footer-group span{white-space:normal;text-align:right;}
  .footer-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}

/* Compact footer: three desktop columns, independent mobile hierarchy. */
.footer-compact .footer-details{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(150px,.65fr);gap:32px;padding:30px 0 24px;align-items:start;}
.footer-compact .footer-contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px;}
.footer-compact .footer-group{flex-direction:column;align-items:flex-end;gap:8px;max-width:none;min-width:0;}
.footer-compact .footer-group span{font-size:.75rem;line-height:1.4;text-align:right;}
.footer-compact .footer-group img{width:92px;}
.footer-compact .footer-links{gap:0 28px;padding:4px 0;}
.footer-legal-desktop{display:flex;gap:0 28px;flex-wrap:wrap;}
.footer-legal-mobile,.footer-mobile-label{display:none;}
.footer-compact .footer-bottom{padding:16px 0 20px;gap:20px;}
.footer-compact .footer-bottom p{font-size:.75rem;}
.footer-compact .footer-company span{display:inline;margin-left:12px;}
@media(min-width:701px) and (max-width:1000px){
 .footer-compact .footer-details{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(120px,.6fr);gap:24px;}
 .footer-compact .footer-contact{grid-template-columns:minmax(0,1fr);}
 .footer-compact .footer-company span{display:block;margin-left:0;}
}
@media(max-width:700px){
 .footer-compact .footer-details{grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:20px 16px;padding:24px 0 18px;}
 .footer-compact .footer-address{grid-column:1;grid-row:1;}
 .footer-compact .footer-address address{font-size:.8125rem;line-height:1.65;}
 .footer-compact .footer-group{grid-column:2;grid-row:1;gap:6px;}
 .footer-compact .footer-group span{font-size:.75rem;white-space:normal;}
 .footer-compact .footer-group img{width:78px;}
 .footer-compact .footer-group a{min-height:44px;}
 .footer-compact .footer-contact{grid-column:1/-1;grid-row:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;}
 .footer-compact .footer-contact h2{margin:0;}
 .footer-compact .footer-desktop-label{display:none;}
 .footer-compact .footer-mobile-label{display:inline;}
 .footer-compact .footer-email,.footer-compact .footer-phone{justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #cbd7c8;border-radius:10px;font-size:.875rem;}
 .footer-compact .footer-email{grid-column:1;grid-row:2;}
 .footer-compact .footer-phone{grid-column:2;grid-row:2;}
 .footer-compact .footer-pec{grid-column:1/-1;grid-row:3;min-height:32px;font-size:.75rem;color:var(--muted);}
 .footer-compact .footer-links{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;align-items:start;padding:8px 0;}
 .footer-compact .footer-links>a,.footer-legal-mobile summary{min-height:44px;font-size:.75rem;line-height:1.5;}
 .footer-legal-desktop{display:none;}
 .footer-legal-mobile{display:block;min-width:0;}
 .footer-legal-mobile summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);list-style:none;}
 .footer-legal-mobile summary::-webkit-details-marker{display:none;}
 .footer-legal-mobile summary::after{content:'+';font-size:1.125rem;flex-shrink:0;}
 .footer-legal-mobile[open] summary::after{content:'−';}
 .footer-legal-mobile>div{padding-bottom:8px;}
 .footer-compact .footer-legal-mobile a{min-height:44px;}
 .footer-compact .footer-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;padding:16px 0 22px;}
 .footer-compact .footer-company span{display:block;margin-left:0;}
}
@media(max-width:700px){.footer-compact .footer-group span{min-height:2.8em;}}

/* Footer contacts and legal links share a compact horizontal composition. */
.footer-compact .footer-details{align-items:stretch;}
.footer-compact .footer-contact{grid-template-columns:minmax(0,1fr);gap:0;}
.footer-compact .footer-group{justify-content:space-between;}
.footer-compact .footer-bottom{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:20px;border-top:1px solid #dce5dc;}
.footer-compact .footer-bottom .footer-links{display:block;border:0;padding:0;}
.footer-compact .footer-bottom .footer-legal-desktop{gap:0 18px;justify-content:flex-end;}
.footer-compact .footer-company span{display:block;margin-left:0;}
@media(min-width:701px) and (max-width:1180px){
 .footer-compact .footer-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 24px;}
 .footer-compact .footer-company{grid-column:1;grid-row:2;}
 .footer-compact .footer-rights{grid-column:2;grid-row:1;text-align:right;}
 .footer-compact .footer-bottom .footer-links{grid-column:2;grid-row:2;}
}
@media(max-width:700px){
 .footer-compact .footer-group{justify-content:space-between;}
 .footer-compact .footer-contact{grid-template-columns:minmax(0,1fr);gap:6px;}
 .footer-compact .footer-email{grid-column:1;grid-row:2;}
 .footer-compact .footer-pec{grid-column:1;grid-row:3;justify-content:center;}
 .footer-compact .footer-phone{grid-column:1;grid-row:4;}
 .footer-compact .footer-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px 12px;}
 .footer-compact .footer-company{grid-column:1;grid-row:2;}
 .footer-compact .footer-rights{grid-column:2;grid-row:1;}
 .footer-compact .footer-bottom .footer-links{grid-column:2;grid-row:2;}
 .footer-compact .footer-bottom .footer-company{overflow-wrap:anywhere;}
}
@media(min-width:701px){.footer-compact .footer-company span{display:inline;margin-left:12px;}}
/* Match the first contact line to the address line beneath each heading. */
@media(min-width:701px){
 .footer-compact .footer-contact a{align-items:flex-start;line-height:1.8;min-height:0;}
}
/* Centre B4H within the three-line address/contact area on desktop. */
@media(min-width:701px){
 .footer-compact .footer-group{display:grid;grid-template-rows:auto minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:10px;}
 .footer-compact .footer-group>a{align-items:center;justify-content:flex-end;}
}
/* Centre the B4H mark beneath its label and tighten footer outer spacing. */
.footer-compact .footer-group{align-items:center;}
.footer-compact .footer-group span{text-align:center;}
.footer-compact .footer-group>a{justify-content:center;}
.footer-compact .footer-details{padding-block:20px 16px;}
.footer-compact .footer-bottom{padding-block:10px 12px;}
@media(max-width:700px){
 .footer-compact .footer-details{padding-block:18px 12px;row-gap:16px;}
 .footer-compact .footer-bottom{padding-block:12px 16px;}
}
/* Mobile: align B4H to the address lines and use the requested contact order. */
@media(max-width:700px){
 .footer-compact .footer-group{display:grid;grid-template-rows:1.4em minmax(0,1fr);align-items:stretch;justify-content:stretch;gap:8px;font-size:.75rem;}
 .footer-compact .footer-group span{min-height:0;align-self:start;}
 .footer-compact .footer-group>a{align-items:center;justify-content:center;}
 .footer-compact .footer-phone{grid-row:2;}
 .footer-compact .footer-email{grid-row:3;}
 .footer-compact .footer-pec{grid-row:4;}
 .footer-legal-mobile summary{justify-content:flex-end;gap:8px;}
}
/* Frosted glass for the compact navigation panel. */
@media(max-width:1080px){
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  body.nav-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;}
  .nav-menu{background:rgba(255,255,255,.64);-webkit-backdrop-filter:blur(20px) saturate(115%);backdrop-filter:blur(20px) saturate(115%);border-bottom-color:rgba(203,215,200,.65);box-shadow:0 14px 28px -20px rgba(18,43,24,.24);}
  .nav-menu .nav-dropdown-menu{background:transparent;}
 }
}
/* Desktop glass surfaces, independently blurred for header and dropdowns. */
@media(min-width:1081px){
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;}
  .site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(255,255,255,.64);-webkit-backdrop-filter:blur(20px) saturate(115%);backdrop-filter:blur(20px) saturate(115%);}
  .nav-dropdown-menu{background:rgba(255,255,255,.64);-webkit-backdrop-filter:blur(20px) saturate(115%);backdrop-filter:blur(20px) saturate(115%);border-color:rgba(203,215,200,.65);}
 }
}

.market-lightbox .product-lightbox-title{font-size:clamp(.95rem,4vw,1.55rem);line-height:1.25;}
.market-lightbox .product-lightbox-title span{white-space:nowrap;}

/* Anniversary artwork: preserve its transparent silhouette and link to the collection. */
.home-anniversary-art a{display:block;}
.home-anniversary-art img{display:block;transform:none;object-fit:contain;}
.home-anniversary-art a:focus-visible{outline:2px solid var(--logo-green);outline-offset:6px;border-radius:4px;}
#intreccio-del-tempo{scroll-margin-top:110px;}

/* Direct artwork links clear the fixed navigation on arrival. */
.aima-work[id]{scroll-margin-top:110px;}
@media(max-width:700px){.aima-work[id]{scroll-margin-top:100px;}}

/* Show the complete approved certification sculpture at every screen size. */
.cert-hero-visual img{object-fit:contain;object-position:center;transform:none;}

/* Certification band: two complete title lines without broken words. */
.cert-evidence strong,.cert-evidence-label{font-size:clamp(1.35rem,2.1vw,2.25rem);line-height:1.12;white-space:nowrap;overflow-wrap:normal;word-break:normal;}
.cert-title-line{display:block;white-space:nowrap;}
.cert-evidence p{max-width:none;}
.demat-artwork{margin:0;align-self:center;}
.demat-artwork a{display:block;}
.demat-artwork img{display:block;width:100%;height:auto;border:0;border-radius:0;object-fit:contain;}
@media(max-width:900px){.cert-evidence strong,.cert-evidence-label{font-size:clamp(1.35rem,4.5vw,1.8rem);}}

/* One shared grid for the green information bands in both languages. */
.sustain-evidence-grid,.cert-evidence-grid,.contact-direct-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
.sustain-evidence article,.cert-evidence article,.contact-direct .contact-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:88px auto;align-content:start;align-items:start;justify-content:normal;gap:20px;min-height:250px;padding:38px clamp(24px,3vw,44px);border-left:1px solid rgba(255,255,255,.14);}
.sustain-evidence .sustain-fer,.sustain-evidence .sustain-c2c,.sustain-evidence .sustain-plm{padding-inline:clamp(24px,3vw,44px);}
.green-band-heading{min-width:0;}
.green-band-heading strong,.green-band-heading .cert-evidence-label{font-family:var(--font-display);font-size:clamp(1.35rem,2.1vw,2.25rem);font-weight:500;line-height:1.12;letter-spacing:0;display:block;margin:0;color:#fff;white-space:nowrap;overflow-wrap:normal;word-break:normal;}
.green-band-heading .sustain-fer-subtitle{margin-top:10px;white-space:normal;}
.green-band-body p{margin:0;max-width:none;font-size:.9375rem;line-height:1.6;color:rgba(255,255,255,.66);}
.green-band-body a{min-height:0;display:inline;line-height:inherit;}
.contact-direct .green-band-body p{line-height:1.8;}
.home-history-intro{max-width:900px;margin:0 auto;text-align:center;}
.home-history-title{margin:0 0 18px;font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.2;color:var(--pack-green-dark);font-weight:600;}
.home-history-intro p{margin:0;font-size:clamp(1rem,1.65vw,1.2rem);line-height:1.6;font-weight:500;color:var(--forest);}
@media(max-width:960px){
 .sustain-evidence-grid,.cert-evidence-grid,.contact-direct-grid{grid-template-columns:1fr;}
 .sustain-evidence article,.cert-evidence article,.contact-direct .contact-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:18px;min-height:0;padding:26px 22px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);}
 .green-band-heading strong,.green-band-heading .cert-evidence-label{font-size:1.6rem;}
 .green-band-body p{font-size:.9375rem;}
 .sustain-evidence .sustain-fer,.sustain-evidence .sustain-c2c,.sustain-evidence .sustain-plm{padding-inline:22px;}
}
@media(max-width:700px){.home-history-intro{text-align:left;}.home-history-title{font-size:1.55rem;}}
/* The portrait artwork has no inherited frame, grey surface or horizontal ratio. */
.demat-visual.demat-artwork{position:static;align-self:start;margin:0;max-width:100%;background:transparent;padding:0;border:0;box-shadow:none;}
.demat-artwork a{display:block;background:transparent;}
.demat-visual.demat-artwork img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:transparent;border:0;border-radius:0;}
@media(max-width:900px){.demat-visual.demat-artwork{max-width:440px;margin:0 auto;width:100%;}}

/* Desktop introduction: two intentional lines in both languages. */
@media(min-width:961px){
 .home-history-intro{max-width:1200px;}
 .home-history-summary{font-size:18px!important;}
 .home-history-summary>span{display:block;white-space:nowrap;}
}
@media(max-width:960px){.home-history-summary>span{display:inline;white-space:normal;}}
/* One-line contact headings need no reserved second heading row. */
.contact-direct .contact-card{grid-template-rows:auto auto;gap:22px;min-height:0;padding-block:32px;}
.contact-direct .green-band-heading{align-self:start;}
.concept-hero-visual--story{margin-left:0;margin-right:0;}
.concept-hero-visual--story::after{background:none;}
.concept-hero-visual--story img{transform:none;object-position:center;}
.story-hero .eyebrow{margin-bottom:20px;}
@media(max-width:960px){.contact-direct .contact-card{gap:14px;padding-block:24px;}}

/* Aima Virel's living emblem: decorative vector movement behind the biography. */
.aima-artist--living{position:relative;isolation:isolate;overflow:hidden;}
.aima-artist--living .aima-artist-grid{position:relative;z-index:1;}
.aima-living-background{position:absolute;z-index:0;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;padding:16px 2vw;opacity:.14;}
.aima-living-icon{display:block;width:64%;height:100%;max-height:780px;overflow:visible;}
.aima-living-icon path[fill="#739169"]{fill-opacity:.28;}
@media(max-width:800px){
 .aima-living-background{inset:30% -18% 0;justify-content:center;opacity:.1;}
 .aima-living-icon{width:100%;height:100%;max-height:650px;}
 }

.aima-page .aima-logo{mix-blend-mode:normal;background:transparent;}

/* A stable silhouette and a little breathing room for the moving anniversary artwork. */
.home-anniversary-art img{transform-origin:50% 52%;backface-visibility:hidden;}
@media(prefers-reduced-motion:reduce){.home-anniversary-art img{transform:none!important;}}

/* Stationary anniversary sculpture; only its independent golden thread moves. */
.home-anniversary-art a{position:relative;isolation:isolate;}
.home-anniversary-art img{position:relative;z-index:1;transform:none!important;}
.anniversary-wire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.anniversary-wire--back{z-index:0;}
.anniversary-wire--front{z-index:2;}

/* The satellite runs above its fixed orbit and is hidden only by the 75. */
.sphere-art{position:relative;display:block;isolation:isolate;}
.sphere-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.sphere-layer--back{z-index:2;}
.sphere-layer--front{z-index:3;}

.product-cards .product-rpet-trays::before{background-image:url("../img/prodotti-vassoi-calotte-rpet.webp");background-size:cover;background-position:center;}

/* Two deliberate lines for the introduction to Plastpack's AI. */
.aima-hero h1.aima-intro-title{font-size:clamp(18px,2.6vw,32px);line-height:1.16;}
.aima-intro-title span{display:block;white-space:nowrap;}
@media(max-width:800px){.aima-hero h1.aima-intro-title{font-size:clamp(14px,5.6vw,32px);}}

.product-cards .product-xps-trays::before{background-image:url("../img/prodotti-plateau-xps.webp");background-size:cover;background-position:center;}

/* Shared mobile artwork baseline for History, Milestones and Method. */
@media(max-width:700px){
 .aligned-company-hero{padding-top:32px;padding-bottom:0;}
 .aligned-company-hero .sustain-hero-grid{gap:24px;}
 .aligned-company-hero .sustain-hero-copy{display:grid;grid-template-rows:24px auto 1fr;align-content:start;min-height:340px;gap:12px;}
 .aligned-company-hero .sustain-hero-copy .eyebrow{grid-row:1;margin:0;font-size:.75rem;line-height:24px;}
 .aligned-company-hero .sustain-hero-copy h1{grid-row:2;margin:0;font-size:clamp(1.9rem,7.6vw,2.5rem);line-height:1.16;}
 .aligned-company-hero .sustain-hero-copy .lede{grid-row:3;margin:0;align-self:start;font-size:1rem;line-height:1.65;}
 .aligned-company-hero .sustain-hero-visual{position:relative;display:block;width:100%;height:220px;min-height:0;max-width:none;margin:0;overflow:visible;}
 .aligned-company-hero .sustain-hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;}
 .aligned-company-hero .sustain-hero-visual::after{display:none;}
 .aligned-company-hero + .section{padding-top:72px;border-top:0;}
 .aligned-company-hero + .method-path{padding-top:96px;}
 .aligned-company-hero + .section .section-head>h2:first-child,
 .aligned-company-hero + .section .legal-content>h2:first-child,
 .aligned-company-hero + .section .method-manifesto{margin-top:0;}
}
@media(max-width:359px){.aligned-company-hero .sustain-hero-copy{min-height:390px;}}

/* More breathing room before the mobile milestone timeline. */
@media(max-width:700px){
 .milestone-history .section-head{margin-bottom:64px;}
}

.product-cards .product-paper-plates::before{background-image:url("../img/prodotti-piatti-carta.webp");background-size:cover;background-position:center;}

.product-cards .product-paper-pads::before{background-image:url("../img/prodotti-cuscinetti-carta.webp");background-size:cover;background-position:center;}

.product-cards .product-paper-inserts::before{background-image:url("../img/prodotti-alveari-carta.webp");background-size:cover;background-position:center;}

.product-cards .product-pharma-packaging::before{background-image:url("../img/prodotti-imballi-farmaceutici.webp");background-size:cover;background-position:center;}

/* Milestone focus: caption travels with the artwork beside the principles. */
.milestone-focus .demat-principles>div{grid-template-columns:minmax(145px,.65fr) 1fr;}
.milestone-focus .demat-principles p{grid-column:auto;}
.milestone-focus .demat-artwork .milestone-focus-statement{
 margin:20px 0 0;padding-top:18px;font-family:var(--font-display);
 font-size:clamp(1.15rem,1.8vw,1.65rem);font-style:italic;line-height:1.35;
}
@media(min-width:901px){
 .milestone-focus .demat-visual.demat-artwork{position:sticky;top:118px;align-self:start;}
 .milestone-focus .demat-artwork img{height:calc(100vh - 260px);height:calc(100dvh - 260px);min-height:180px;max-height:680px;width:100%;aspect-ratio:auto;object-fit:contain;}
}
@media(max-width:640px){
 .milestone-focus .demat-principles>div{grid-template-columns:1fr;gap:8px;}
}

@media (min-width:961px){
  .home-english-title .home-title-first-line{display:inline-block;white-space:nowrap;}
}
