/* ─────────────────────────────────────────
   PIELLE YOUNG — Cinematic overlay
   Layered ON TOP of styles.css to push the
   visual direction towards a premium, dark,
   editorial sport-campaign feel.
   ───────────────────────────────────────── */

:root{
  --abyss: #02112F;
  --abyss-2: #06204F;
  --abyss-3: #0A2E68;
  --gold: #F6BE3D;
  --gold-hot: #FFD15F;
  --ice: #DCE9F7;
}

/* ── Scroll progress bar (fixed top) ── */
.scroll-progress{
  position:fixed; left:0; right:0; top:0; height:2px;
  background:transparent; z-index:80; pointer-events:none;
}
.scroll-progress-bar{
  height:100%; width:0;
  background:linear-gradient(90deg, var(--gold-hot), var(--gold));
  box-shadow:0 0 18px rgba(246,190,61,.5);
  transition:width .08s linear;
}

/* ── Ambient floating dust (used on dark sections) ── */
.dust{position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1}
.dust span{
  position:absolute; display:block; border-radius:50%;
  background:rgba(255,255,255,.6);
  filter:blur(.5px);
  opacity:0;
  animation:dustFloat var(--dur,18s) linear infinite;
  animation-delay:var(--d,0s);
  left:var(--x,50%); top:100%;
  width:var(--s,3px); height:var(--s,3px);
}
@keyframes dustFloat{
  0%{transform:translateY(0) translateX(0); opacity:0}
  10%{opacity:var(--o,.7)}
  90%{opacity:var(--o,.7)}
  100%{transform:translateY(-120vh) translateX(var(--dx,40px)); opacity:0}
}

/* ───── HERO REBUILD ───── */
.hero{
  background:
    radial-gradient(ellipse 90% 70% at 50% 110%, rgba(10,46,104,.6) 0%, transparent 60%),
    linear-gradient(180deg, #02112F 0%, #03174A 50%, #02112F 100%) !important;
  min-height:min(100vh, 920px);
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(2,17,47,.85) 0%, rgba(2,17,47,0) 18%, rgba(2,17,47,0) 60%, rgba(2,17,47,.95) 100%);
  z-index:3; pointer-events:none;
}

/* Letterbox bars top/bottom for cinematic feel */
.hero::after{
  content:"";
  position:absolute; left:0; right:0; top:0; height:6px;
  background:linear-gradient(180deg, #000, transparent);
  z-index:4; pointer-events:none;
}

/* Hero full-bleed photo */
.hero-photo{
  position:absolute; inset:0; z-index:1;
  overflow:hidden;
}
.hero-photo img{
  position:absolute; left:50%; bottom:0;
  transform:translateX(-50%) scale(1.12);
  width:auto; height:118%;
  object-fit:cover;
  opacity:.85;
  filter:contrast(1.15) saturate(.85) brightness(.78);
  mix-blend-mode:luminosity;
  will-change:transform;
}
@media (max-width:760px){
  .hero-photo img{ height:100%; opacity:.5 }
}
.hero-photo-grade{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    /* Vignette */
    radial-gradient(ellipse 80% 70% at 50% 60%, transparent 30%, rgba(2,17,47,.6) 70%, rgba(2,17,47,.95) 100%),
    /* Top wash */
    linear-gradient(180deg, rgba(2,17,47,.85) 0%, rgba(2,17,47,.2) 28%, transparent 50%),
    /* Bottom wash */
    linear-gradient(0deg, rgba(2,17,47,.95) 0%, rgba(2,17,47,.4) 22%, transparent 45%),
    /* Side light */
    linear-gradient(95deg, rgba(2,17,47,.55) 0%, transparent 40%, transparent 60%, rgba(2,17,47,.55) 100%);
}
.hero-photo-grain{
  position:absolute; inset:0; z-index:2; opacity:.18; pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.8) 0, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.6) 0, transparent 1px),
    radial-gradient(circle at 40% 80%, rgba(255,255,255,.7) 0, transparent 1px);
  background-size:6px 6px, 9px 9px, 11px 11px;
  mix-blend-mode:overlay;
}

/* HUGE watermark text — breaks out of screen */
.hero-overword{
  position:absolute; left:50%; top:50%;
  transform:translate(-50%,-58%);
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(180px, 26vw, 420px);
  letter-spacing:-.01em;
  line-height:.85;
  color:transparent;
  -webkit-text-stroke:1px rgba(220,233,247,.08);
  z-index:2;
  white-space:nowrap;
  pointer-events:none; user-select:none;
  will-change:transform;
}

/* Reset old hero watermark — hide */
.hero-watermark{ display:none !important }

/* Reset old atmos to be subtler */
.atmos-aurora-1{ opacity:.25; mix-blend-mode:screen }
.atmos-aurora-2{ opacity:.18; mix-blend-mode:screen }
.atmos-aurora-3{ opacity:.22 }
.court-lines{ opacity:.08 !important }

/* Hero grid: shift to bottom-anchored, breakout headline */
.hero-grid{
  padding:104px 0 96px !important;
  align-items:flex-end !important;
  min-height:calc(min(100vh, 920px) - 0px);
}
.hero-stage{
  max-width:none !important;
  align-items:flex-start !important;
  text-align:left !important;
  width:100%;
}

/* Side label — rotated EST. 2026 */
.hero-side-label{
  position:absolute; left:18px; top:50%;
  transform:translateY(-50%) rotate(-90deg); transform-origin:left center;
  display:flex; align-items:center; gap:14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.32em;
  text-transform:uppercase; color:rgba(220,233,247,.55);
  z-index:5; pointer-events:none;
  white-space:nowrap;
}
.hero-side-label .hsl-bar{
  width:36px; height:1px; background:var(--gold);
}
@media (max-width:760px){ .hero-side-label{ display:none } }

/* Index marker top-right */
.hero-index-marker{
  position:absolute; right:24px; top:120px; z-index:5;
  display:flex; flex-direction:column; align-items:flex-end;
  gap:8px; font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.24em; color:rgba(220,233,247,.45);
  text-transform:uppercase;
}
.hero-index-marker .him-bar{
  width:60px; height:1px; background:rgba(220,233,247,.3);
}
.hero-index-marker b{
  font-family:'Anton'; font-size:22px; letter-spacing:.04em;
  color:var(--gold); -webkit-text-stroke:0;
}
@media (max-width:760px){ .hero-index-marker{ display:none } }

/* Hero eyebrow — left-aligned now */
.hero-eyebrow{
  margin-bottom:28px !important;
  background:rgba(2,17,47,.55) !important;
  backdrop-filter:blur(20px) !important;
  border-color:rgba(246,190,61,.25) !important;
}
.hero-eyebrow .eyebrow-loc{ color:var(--gold) !important }
.hero-eyebrow .dot{ background:var(--gold) !important; box-shadow:0 0 14px var(--gold) }

/* Hero headline — contained but cinematic */
.hero h1{
  font-size:clamp(50px, 7.4vw, 108px) !important;
  line-height:.88 !important;
  letter-spacing:-.012em !important;
  margin:0 0 22px !important;
  text-align:left !important;
  max-width:18ch;
  text-wrap:balance;
}
.hero h1 .accent .accent-text{
  background:linear-gradient(180deg, var(--gold-hot) 0%, var(--gold) 50%, #C8951F 100%) !important;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 100px rgba(246,190,61,.35);
}
.hero h1 .accent .accent-glow{
  filter:blur(36px) !important; opacity:.45 !important;
}

/* Tagstrip — "Cresciamo Insieme" elegant micro-headline */
.hero .hero-tagstrip{
  justify-content:flex-start !important;
  margin:0 0 22px !important;
  gap:22px !important;
  align-items:center;
  display:inline-flex !important;
}
.hero .hero-tagstrip .hts-bar{
  width:56px !important; height:1px !important;
  background:linear-gradient(90deg, transparent, var(--gold) 60%, var(--gold-hot)) !important;
  opacity:.85;
}
.hero .hero-tagstrip .hts-text{
  font-family:'JetBrains Mono', monospace !important;
  font-size:12px !important;
  letter-spacing:.42em !important;
  text-transform:uppercase !important;
  color:var(--gold-hot) !important;
  font-weight:500 !important;
  text-shadow:0 0 24px rgba(246,190,61,.25);
}

/* Hero lead text — editorial premium */
.hero p.lead{
  margin:0 0 36px !important;
  max-width:640px !important;
  color:rgba(255,255,255,.74) !important;
  font-size:clamp(15px, 1.25vw, 17.5px) !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  text-wrap:pretty;
}
.hero p.lead .lead-strong{
  display:block;
  color:#fff !important;
  font-family:'Inter Tight', system-ui, sans-serif;
  font-weight:500;
  font-size:clamp(17px, 1.4vw, 20px);
  letter-spacing:-.005em;
  line-height:1.4;
  margin-bottom:10px;
}
.hero p.lead .lead-strong b{
  color:var(--gold-hot) !important;
  font-weight:600;
}
.hero p.lead b{ color:#fff !important; font-weight:600 }

.hero-ctas{
  justify-content:flex-start !important;
}

.hero-meta{
  margin-top:48px !important;
  background:rgba(2,17,47,.45) !important;
  border:1px solid rgba(246,190,61,.18) !important;
  margin-left:0 !important;
  align-self:flex-start;
}
.hero-meta .k{
  background:linear-gradient(180deg, #fff 0%, var(--gold-hot) 100%) !important;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  font-size:48px !important;
}

/* Header — adjust for darker hero */
.site-header:not(.is-scrolled){
  background:linear-gradient(180deg, rgba(2,11,38,.7) 0%, rgba(2,11,38,.25) 70%, transparent 100%) !important;
}

/* Hero bottom strip — removed (was "powered by" overlap source) */
.hero-bottom-strip{ display:none !important }

/* Corner brackets stronger */
.hero-corner{
  position:absolute !important;
  width:60px !important; height:60px !important;
  z-index:6 !important;
  border:1px solid var(--gold) !important;
  opacity:.5;
}
.hc-tl{ left:24px; top:96px; border-right:0 !important; border-bottom:0 !important }
.hc-tr{ right:24px; top:96px; border-left:0 !important; border-bottom:0 !important }
.hc-bl{ left:24px; bottom:36px; border-right:0 !important; border-top:0 !important }
.hc-br{ right:24px; bottom:36px; border-left:0 !important; border-top:0 !important }
@media (max-width:640px){
  .hero-corner{ width:32px !important; height:32px !important }
  .hc-tl, .hc-tr{ top:84px }
  .hc-bl, .hc-br{ bottom:24px }
}

/* ───── SECTION TRANSITION SLATE (between hero and powered) ───── */
.slate{
  position:relative; overflow:hidden;
  background:#02112F; color:#fff;
  padding:0;
  z-index:1;
}
.slate-marquee{
  display:flex; align-items:center; gap:42px;
  padding:26px 0;
  white-space:nowrap;
  animation:marquee 64s linear infinite;
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(26px,3vw,42px); letter-spacing:.06em;
  line-height:1; text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.4);
  will-change:transform;
}
.slate-marquee .filled{
  color:var(--gold);
  -webkit-text-stroke:0;
  text-shadow:0 0 30px rgba(246,190,61,.4);
}
/* premium em-dash divider */
.slate-marquee .sep{
  width:54px; height:1.5px; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
  box-shadow:0 0 12px rgba(246,190,61,.5);
  display:inline-block;
  flex-shrink:0;
}
/* legacy dot (kept harmless if any standalone build still emits it) */
.slate-marquee > .dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 14px var(--gold);
  display:inline-block; flex-shrink:0;
}
@media (max-width:640px){
  .slate-marquee{ gap:24px; padding:18px 0; font-size:22px; animation-duration:48s }
  .slate-marquee .sep{ width:32px }
}
.slate-edge-top, .slate-edge-bot{
  position:absolute; left:0; right:0; height:80px; pointer-events:none; z-index:1;
}
.slate-edge-top{ top:0; background:linear-gradient(180deg, #02112F, transparent) }
.slate-edge-bot{ bottom:0; background:linear-gradient(0deg, #02112F, transparent) }

/* ───── POWERED REDESIGN — slate context ───── */
.powered{
  background:#02112F !important; padding:80px 0 !important;
  position:relative; overflow:hidden;
}
.powered::before{
  content:"";
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 60% at 20% 50%, rgba(246,190,61,.12), transparent 60%),
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(90,160,232,.18), transparent 60%);
}
.powered-wrap{
  background:transparent !important;
  border-radius:0 !important;
  padding:48px 0 !important;
  box-shadow:none !important;
  border-top:1px solid rgba(246,190,61,.18);
  border-bottom:1px solid rgba(246,190,61,.18);
}
.powered-bg-grid{ opacity:.06 !important }
.powered-head h3{ color:#fff !important; font-size:clamp(34px,4vw,52px) !important }
.medal-disc{
  box-shadow:
    0 18px 40px -12px rgba(0,0,0,.7),
    inset 0 0 0 6px rgba(255,255,255,.95),
    inset 0 0 0 7px rgba(246,190,61,.5) !important;
}

/* ───── FAMIGLIA REDESIGN — Editorial split with photo ───── */
.famiglia{
  background:linear-gradient(180deg, #02112F 0%, #03174A 50%, #02112F 100%) !important;
  color:#fff !important;
  padding:140px 0 !important;
  position:relative; overflow:hidden;
}
.famiglia .famiglia-bg{
  z-index:0;
}
.famiglia-watermark{
  font-size:clamp(180px, 32vw, 540px) !important;
  -webkit-text-stroke:1px rgba(220,233,247,.06) !important;
  color:transparent !important;
}
.famiglia-watermark-1{ top:8% !important }
.famiglia-watermark-2{ bottom:8% !important }
.famiglia-glow-1{ background:radial-gradient(circle, rgba(246,190,61,.18), transparent 70%) !important }
.famiglia-glow-2{ background:radial-gradient(circle, rgba(90,160,232,.22), transparent 70%) !important }

.famiglia-title{
  font-size:clamp(56px, 9.5vw, 168px) !important;
  line-height:.92 !important;
  letter-spacing:-.012em !important;
  text-align:left !important;
  margin:18px 0 24px !important;
  position:relative;
}
.famiglia-title .fl{
  display:block !important;
}
/* Small italic intro */
.famiglia-title .fl-pre{
  font-family:'Inter Tight', system-ui, sans-serif !important;
  font-weight:300 !important;
  font-size:clamp(20px, 2vw, 32px) !important;
  letter-spacing:.02em !important;
  color:rgba(255,255,255,.62) !important;
  text-transform:none !important;
  line-height:1.1 !important;
  font-style:italic;
  margin-left:.2em !important;
  margin-bottom:12px !important;
}
/* Duet line: FAMIGLIA gold + PIELLE white, same size, same baseline */
.famiglia-title .fl.is-accent.fl-duet{
  position:relative;
  display:block !important;
  font-size:1em;
  letter-spacing:-.018em !important;
  line-height:.88 !important;
  margin:0 !important;
  white-space:nowrap; /* keep on one line */
  text-wrap:nowrap;
  font-family:'Anton', Impact, sans-serif;
}
.famiglia-title .fl-duet .famiglia-accent-text,
.famiglia-title .fl-duet .famiglia-accent-text-white{
  display:inline;
  font-size:1em !important;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  vertical-align:baseline;
}
.famiglia-title .fl-duet .famiglia-accent-text{
  background:linear-gradient(180deg, var(--gold-hot) 0%, var(--gold) 50%, #C8951F 100%) !important;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent !important;
  position:relative; z-index:2;
  filter:drop-shadow(0 6px 28px rgba(246,190,61,.32));
}
.famiglia-title .fl-duet .famiglia-accent-text-white{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  position:relative; z-index:2;
  text-shadow:0 6px 28px rgba(255,255,255,.18);
}
.famiglia-title .fl-duet .famiglia-accent-glow{
  position:absolute; left:0; right:0; top:0; bottom:0;
  color:var(--gold);
  filter:blur(60px); opacity:.38;
  pointer-events:none; z-index:1;
  white-space:nowrap;
}
@media (max-width:760px){
  /* shrink so FAMIGLIA PIELLE. fits without wrapping */
  .famiglia-title{ font-size:clamp(36px, 9vw, 64px) !important }
  .famiglia-title .fl-pre{ font-size:14px !important; margin-bottom:6px !important }
  .famiglia-title .fl.is-accent.fl-duet{ letter-spacing:-.022em !important }
}
@media (max-width:420px){
  .famiglia-title{ font-size:32px !important }
}

.famiglia-eyebrow{
  color:rgba(220,233,247,.5) !important;
  margin-bottom:18px;
}
.famiglia-eyebrow .dot{ background:var(--gold) !important; box-shadow:0 0 12px var(--gold) }

.famiglia-lead{
  color:rgba(255,255,255,.78) !important;
  font-size:clamp(16px, 1.6vw, 20px) !important;
  max-width:640px !important;
}
.famiglia-lead b{ color:#fff !important }
.famiglia-mark .fm-text{ color:var(--gold) !important }
.famiglia-mark .fm-line{ background:linear-gradient(90deg, transparent, rgba(246,190,61,.6), transparent) !important }

/* ===== FAMIGLIA SECTION — cinematic photo bg ===== */
.famiglia{
  background:#02112F !important;
  position:relative;
}
.famiglia .famiglia-bg{
  position:absolute; inset:0; z-index:0;
  overflow:hidden;
}
.famiglia-photo{
  position:absolute; inset:0;
  background:url('assets/famiglia-pielleyoung.png') center 50%/cover no-repeat;
  filter:contrast(1.05) saturate(1.02) brightness(.85);
  transform:scale(1.08);
  will-change:transform;
  animation:cinemaKen 32s ease-in-out infinite alternate;
}
@media (prefers-reduced-motion:reduce){
  .famiglia-photo{ animation:none !important }
}
@keyframes cinemaKen{
  0%{ transform:scale(1.08) translate(0,0) }
  100%{ transform:scale(1.13) translate(-1%, -.8%) }
}
.famiglia-photo-overlay{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(2,17,47,.92) 0%, rgba(2,17,47,.55) 18%, rgba(2,17,47,.4) 55%, rgba(2,17,47,.95) 100%),
    linear-gradient(95deg, rgba(2,17,47,.55) 0%, transparent 22%, transparent 78%, rgba(2,17,47,.55) 100%);
}
.famiglia-photo-light{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 20% 0%, rgba(246,190,61,.18), transparent 55%),
    radial-gradient(ellipse 70% 80% at 100% 100%, rgba(90,160,232,.18), transparent 55%);
  mix-blend-mode:screen;
}
.famiglia-photo-grain{
  position:absolute; inset:0; pointer-events:none;
  opacity:.10;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.6) 0, transparent 1px),
    radial-gradient(circle at 45% 80%, rgba(255,255,255,.7) 0, transparent 1px);
  background-size:3px 3px, 5px 5px, 4px 4px;
  mix-blend-mode:overlay;
}
/* Watermarks become subtler since photo carries identity now */
.famiglia-watermark{ opacity:.05 !important }
.famiglia-glow-1, .famiglia-glow-2{ opacity:.4 !important }

/* Famiglia content needs to read above the photo */
.famiglia-wrap{ position:relative; z-index:2 }
.famiglia-eyebrow .dim, .famiglia-eyebrow > span{ color:rgba(255,255,255,.85) !important }
.famiglia-manifesto-copy{
  background:linear-gradient(180deg, rgba(2,17,47,.2), rgba(2,17,47,.5));
  border-radius:2px;
  padding:0;
}
.famiglia-para{
  text-shadow:0 2px 18px rgba(2,17,47,.6);
}

/* Inline mark quote (replaces old framed cinema-frame) */
.famiglia-cinema--mark{
  position:relative; z-index:2;
  margin:64px 0 0 !important;
  width:auto !important;
  padding:0 !important;
  display:flex; justify-content:center;
}
.cinema-quote--inline{
  position:relative !important;
  left:auto !important; right:auto !important; bottom:auto !important;
  display:flex; flex-direction:column; align-items:flex-start;
  margin:0; padding-left:28px;
  max-width:760px;
  color:#fff;
  text-shadow:0 6px 30px rgba(2,17,47,.7);
}
.cinema-quote--inline .cq-rule{
  position:absolute; left:0; top:6px; bottom:6px;
  width:2px; border-radius:2px;
  background:linear-gradient(180deg, transparent, var(--gold) 20%, var(--gold) 80%, transparent);
  box-shadow:0 0 14px rgba(246,190,61,.5);
}
.cinema-quote--inline .cq-text{
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(34px, 5.2vw, 88px);
  line-height:.94;
  letter-spacing:-.008em;
  display:block;
}
.cinema-quote--inline .cq-text em{
  background:linear-gradient(180deg, var(--gold-hot), var(--gold));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  font-style:normal;
  filter:drop-shadow(0 4px 18px rgba(246,190,61,.4));
}
.cinema-quote--inline .cq-attr{
  margin-top:20px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em;
  color:rgba(220,233,247,.7);
  text-transform:uppercase;
}
@media (max-width:760px){
  .cinema-quote--inline .cq-text{ font-size:clamp(28px, 8vw, 48px) }
  .cinema-quote--inline .cq-attr{ font-size:10px; margin-top:14px }
}
/* Top + bottom hairline gradient to blend with surrounding navy seamlessly */
.cinema-frame::before{
  content:""; position:absolute; left:0; right:0; top:0; height:140px;
  pointer-events:none; z-index:4;
  background:linear-gradient(180deg, #02112F 0%, rgba(2,17,47,.6) 30%, transparent 100%);
}
.cinema-frame::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:180px;
  pointer-events:none; z-index:4;
  background:linear-gradient(0deg, #02112F 0%, rgba(2,17,47,.85) 40%, transparent 100%);
}
.cinema-img{
  position:absolute; inset:0 !important;
  background:url('assets/famiglia-pielleyoung.png') center 50%/cover no-repeat !important;
  filter:contrast(1.04) saturate(1.02) brightness(.92);
  transform:scale(1.06);
  will-change:transform;
  animation:cinemaKen 32s ease-in-out infinite alternate;
}
@keyframes cinemaKen{
  0%{ transform:scale(1.06) translate(0,0) }
  100%{ transform:scale(1.11) translate(-1.5%, -1%) }
}
@media (prefers-reduced-motion:reduce){
  .cinema-img{ animation:none !important }
}
/* Cinematic light bloom: top-left soft golden + bottom-right cool */
.cinema-light{
  position:absolute; inset:0; pointer-events:none; z-index:1;
  background:
    radial-gradient(ellipse 70% 60% at 20% 0%, rgba(246,190,61,.20), transparent 55%),
    radial-gradient(ellipse 70% 80% at 100% 100%, rgba(90,160,232,.20), transparent 55%),
    radial-gradient(ellipse 80% 60% at 50% 50%, transparent 0%, rgba(2,17,47,.32) 80%);
  mix-blend-mode:screen;
}
.cinema-overlay{
  position:absolute; inset:0; pointer-events:none; z-index:2;
  background:
    linear-gradient(180deg, rgba(2,17,47,.62) 0%, transparent 25%, transparent 50%, rgba(2,17,47,.92) 100%),
    linear-gradient(95deg, rgba(2,17,47,.45) 0%, transparent 16%, transparent 84%, rgba(2,17,47,.45) 100%) !important;
}
/* Film grain layer */
.cinema-grain-fx{
  position:absolute; inset:0; pointer-events:none; z-index:3;
  opacity:.12;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.6) 0, transparent 1px),
    radial-gradient(circle at 45% 80%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 85% 25%, rgba(255,255,255,.55) 0, transparent 1px);
  background-size:3px 3px, 5px 5px, 4px 4px, 6px 6px;
  mix-blend-mode:overlay;
}
.cinema-grid{
  position:absolute; inset:0; pointer-events:none; z-index:2;
  opacity:.05 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.6) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.6) 1px, transparent 1px) !important;
  background-size:120px 120px !important;
}
.cinema-corner{ display:none !important }
.cinema-stamp{ display:none !important }

.cinema-meta{
  position:absolute; left:max(40px, 5vw); top:48px;
  z-index:5;
}
.cinema-meta .cm-loc{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px; letter-spacing:.28em;
  color:var(--gold); text-transform:uppercase;
}
.cinema-meta .cm-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 12px var(--gold);
  animation:cinemaPulse 2.2s ease-in-out infinite;
}
@keyframes cinemaPulse{ 0%,100%{opacity:1} 50%{opacity:.45} }

/* Premium editorial quote, bottom-left with vertical gold rule */
.cinema-quote{
  position:absolute !important;
  left:max(40px, 5vw) !important; bottom:64px !important; right:auto !important;
  z-index:5;
  display:flex; flex-direction:column; align-items:flex-start;
  margin:0; padding-left:24px;
  max-width:min(720px, 70%);
  color:#fff;
  text-shadow:0 6px 30px rgba(0,0,0,.5);
}
.cinema-quote .cq-rule{
  position:absolute; left:0; top:8px; bottom:8px;
  width:2px; border-radius:2px;
  background:linear-gradient(180deg, transparent, var(--gold) 22%, var(--gold) 78%, transparent);
  box-shadow:0 0 14px rgba(246,190,61,.45);
}
.cinema-quote .cq-text{
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(36px, 5.6vw, 92px);
  line-height:.94;
  letter-spacing:-.008em;
  display:block;
}
.cinema-quote .cq-text em{
  background:linear-gradient(180deg, var(--gold-hot), var(--gold));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  font-style:normal;
  filter:drop-shadow(0 4px 18px rgba(246,190,61,.35));
}
.cinema-quote .cq-attr{
  margin-top:20px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em;
  color:rgba(220,233,247,.6);
  text-transform:uppercase;
}
@media (max-width:760px){
  .famiglia-cinema{ margin-top:64px !important }
  .cinema-frame{ height:clamp(440px, 70vh, 620px) }
  .cinema-meta{ left:22px; top:28px }
  .cinema-quote{
    left:22px !important; right:22px !important; bottom:40px !important;
    max-width:none; padding-left:18px;
  }
  .cinema-quote .cq-text{ font-size:clamp(32px, 9.5vw, 60px) }
  .cinema-quote .cq-attr{ font-size:10px; margin-top:14px }
}

/* Pillars — darker, gold accents */
.famiglia-pillars{ margin-top:80px !important }
.pillar{
  background:rgba(255,255,255,.03) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  backdrop-filter:blur(8px);
}
.pillar:hover{
  border-color:rgba(246,190,61,.4) !important;
  background:rgba(255,255,255,.05) !important;
}
.pillar-num{ color:var(--gold) !important }
.pillar-title{ color:#fff !important }
.pillar-text{ color:rgba(255,255,255,.7) !important }

/* ───── MANIFESTO interlude — massive type ───── */
.manifesto{
  position:relative; overflow:hidden;
  background:#02112F; color:#fff;
  padding:0; min-height:80vh;
  display:flex; align-items:center; justify-content:center;
}
.manifesto-bg{
  position:absolute; inset:0; z-index:0;
  background:url('assets/team-huddle.png') center 30%/cover no-repeat;
  filter:contrast(1.2) saturate(.6) brightness(.55);
  transform:scale(1.08);
  will-change:transform;
}
.manifesto-overlay{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, #02112F 0%, transparent 25%, transparent 75%, #02112F 100%),
    linear-gradient(90deg, rgba(2,17,47,.85) 0%, rgba(2,17,47,.35) 50%, rgba(2,17,47,.85) 100%);
}
.manifesto-grain{
  position:absolute; inset:0; z-index:2; opacity:.16;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.8) 0, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.6) 0, transparent 1px);
  background-size:7px 7px, 11px 11px;
  mix-blend-mode:overlay;
  pointer-events:none;
}
.manifesto-inner{
  position:relative; z-index:3;
  padding:120px 0;
  width:100%;
  text-align:center;
}
.manifesto-kicker{
  display:inline-flex; align-items:center; gap:16px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.36em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:48px;
}
.manifesto-kicker::before, .manifesto-kicker::after{
  content:""; width:48px; height:1px; background:var(--gold);
}
.manifesto-title{
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(64px, 12vw, 200px);
  line-height:.86;
  letter-spacing:-.005em;
  margin:0;
  color:#fff;
  text-wrap:balance;
}
.manifesto-title em{
  font-style:normal;
  background:linear-gradient(180deg, var(--gold-hot) 0%, var(--gold) 50%, #C8951F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative; display:inline-block;
}
.manifesto-title em::after{
  content:""; position:absolute; left:0; right:0; bottom:.08em;
  height:.06em; background:var(--gold); opacity:.3;
}
.manifesto-foot{
  margin-top:56px;
  display:inline-flex; align-items:center; gap:24px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.24em;
  color:rgba(255,255,255,.6);
  text-transform:uppercase;
}
.manifesto-foot .dot{
  width:5px; height:5px; border-radius:50%; background:var(--gold);
  box-shadow:0 0 12px var(--gold);
}

/* ───── CATEGORIE REDESIGN — cinematic dark, gold accents, big imagery ───── */
.cat{
  background:linear-gradient(180deg, #02112F 0%, #03174A 50%, #02112F 100%) !important;
  color:#fff !important;
  padding:140px 0 !important;
  position:relative; overflow:hidden;
  isolation:isolate;
}
.cat::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 15% 12%, rgba(246,190,61,.10), transparent 60%),
    radial-gradient(ellipse 70% 50% at 85% 80%, rgba(90,160,232,.16), transparent 60%);
  pointer-events:none; z-index:0;
}
.cat::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(220,233,247,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,233,247,.05) 1px, transparent 1px);
  background-size:120px 120px;
  -webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 50%, #000 30%, transparent 75%);
  mask-image:radial-gradient(ellipse 60% 50% at 50% 50%, #000 30%, transparent 75%);
  opacity:.5;
}
.cat .container{ position:relative; z-index:1 }
.cat-head{ align-items:flex-start !important; text-align:left !important; margin-bottom:64px !important }
.cat-head.cat-head--centered{
  align-items:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:1100px;
}
.cat-head.cat-head--centered h2{ text-align:center !important }
.cat-head.cat-head--centered .cat-sub{ text-align:center !important; margin-left:auto !important; margin-right:auto !important }
.cat-head.cat-head--centered .section-label{ text-align:center }
.cat-head .section-label{
  font-family:'JetBrains Mono', monospace; font-size:11px;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold) !important;
  margin-bottom:14px;
}
.cat-head h2{
  font-size:clamp(48px, 7.6vw, 124px) !important;
  text-align:left !important;
  line-height:.94 !important;
  letter-spacing:-.01em;
  color:#fff !important;
  word-break:break-word;
  overflow-wrap:break-word;
  hyphens:none;
}
.cat-head h2 .cat-accent{
  display:inline-block;
  padding-right:.04em; /* italic overshoot safety */
  background:linear-gradient(180deg, var(--gold-hot), var(--gold), #C8951F);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  font-style:italic;
  filter:drop-shadow(0 4px 24px rgba(246,190,61,.3));
}
.cat-head .cat-sub{
  text-align:left !important;
  max-width:640px !important;
  font-size:18px !important;
  color:rgba(255,255,255,.72) !important;
}

/* Bigger more cinematic cards */
.cat-grid{ grid-template-columns:1fr 1fr !important; max-width:none !important; gap:32px !important }
@media (max-width:900px){ .cat-grid{ grid-template-columns:1fr !important } }

.cat-card{
  min-height:620px !important;
  border-radius:24px !important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:
    0 40px 80px -30px rgba(0,0,0,.7),
    0 0 0 1px rgba(246,190,61,.12);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}
.cat-card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 60px 100px -30px rgba(0,0,0,.8),
    0 0 0 1px rgba(246,190,61,.32);
}
.cat-card[data-i="0"] .bg{
  background:
    linear-gradient(180deg, rgba(2,17,47,0) 30%, rgba(2,17,47,.95) 100%),
    url('assets/minibasket-team.png') center 40%/cover no-repeat !important;
}
.cat-card[data-i="1"] .bg{
  background:
    linear-gradient(180deg, rgba(2,17,47,0) 25%, rgba(2,17,47,.95) 100%),
    url('assets/giovanili.png') center 30%/cover no-repeat !important;
}
.cat-card .bg{ filter:contrast(1.08) saturate(.9) brightness(.88); transition:transform .8s cubic-bezier(.2,.7,.2,1) }
.cat-card:hover .bg{ transform:scale(1.04) }
.cat-card::before{
  content:"";
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, transparent 0%, transparent 50%, rgba(2,17,47,.4) 100%);
  border-radius:24px;
  pointer-events:none;
}
.cat-card h3{
  font-size:clamp(48px, 6vw, 78px) !important;
  letter-spacing:-.005em;
  margin-bottom:14px !important;
  word-wrap:break-word;
  overflow-wrap:break-word;
  hyphens:auto;
  max-width:100%;
}
.cat-card{
  padding:32px !important;
  padding-right:36px !important;
}
.cat-card .age{ color:var(--gold) !important }
.cat-card .label-top{ color:rgba(220,233,247,.7) !important }
.cat-card:hover .arrow{ background:var(--gold) !important; border-color:var(--gold) !important; color:var(--abyss) !important }

/* ───── CATEGORIE — venue pop (PalaCecioni) ───── */
.cat-venue{
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between;
  gap:32px; flex-wrap:wrap;
  margin-top:28px;
  padding:34px 40px;
  border-radius:22px;
  text-decoration:none;
  color:#fff;
  background:linear-gradient(110deg, rgba(3,23,74,.92) 0%, rgba(2,17,47,.96) 60%, rgba(3,23,74,.92) 100%);
  border:1px solid rgba(246,190,61,.28);
  box-shadow:0 24px 70px -30px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .35s ease;
}
.cat-venue:hover{
  transform:translateY(-4px);
  border-color:rgba(246,190,61,.55);
  box-shadow:0 34px 90px -34px rgba(0,0,0,.8), 0 0 0 1px rgba(246,190,61,.35);
}
.cat-venue .cv-glow{
  position:absolute; right:-10%; top:-60%; width:520px; height:520px; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 50% 50%, rgba(246,190,61,.22), transparent 62%);
}
.cat-venue .cv-grid-bg{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(246,190,61,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(246,190,61,.06) 1px, transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 30%, #000 70%, transparent);
}
.cat-venue > *{ position:relative; z-index:1 }
.cat-venue .cv-left{ display:flex; flex-direction:column; gap:8px; min-width:0 }
.cat-venue .cv-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:rgba(220,233,247,.66);
}
.cat-venue .cv-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 12px rgba(246,190,61,.8);
}
.cat-venue .cv-venue{ display:flex; align-items:center; gap:14px }
.cat-venue .cv-pin{
  display:grid; place-items:center;
  width:48px; height:48px; border-radius:13px;
  background:linear-gradient(180deg, rgba(246,190,61,.18), rgba(246,190,61,.06));
  border:1px solid rgba(246,190,61,.4);
  color:var(--gold); flex:none;
}
.cat-venue .cv-venue h3{
  margin:0;
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  font-size:clamp(38px, 5vw, 60px); line-height:.92; letter-spacing:-.01em;
  color:#fff;
}
.cat-venue .cv-addr{
  margin:0; padding-left:62px;
  font-size:15px; color:rgba(220,233,247,.72);
}
.cat-venue .cv-right{
  display:flex; flex-direction:column; align-items:flex-end; gap:16px; flex:none;
}
.cat-venue .cv-meta{
  display:flex; flex-direction:column; align-items:flex-end; gap:3px;
  text-align:right;
}
.cat-venue .cv-meta-k{
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  font-size:18px; letter-spacing:.01em;
  background:linear-gradient(180deg, #FFE176, #FFC93C, #C8951F);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.cat-venue .cv-meta-v{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(220,233,247,.55);
}
.cat-venue .cv-map{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px; border-radius:999px;
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--abyss); background:var(--gold);
  border:1px solid var(--gold);
  transition:transform .3s ease, box-shadow .3s ease;
}
.cat-venue:hover .cv-map{ box-shadow:0 10px 30px -10px rgba(246,190,61,.7); transform:translateY(-1px) }
.cat-venue .cv-map svg{ transition:transform .3s ease }
.cat-venue:hover .cv-map svg{ transform:translateX(3px) }

@media (max-width:760px){
  .cat-venue{ padding:26px 22px; gap:22px; margin-top:18px; border-radius:18px }
  .cat-venue .cv-right{ align-items:flex-start; width:100% }
  .cat-venue .cv-meta, .cat-venue .cv-meta-k, .cat-venue .cv-meta-v{ align-items:flex-start; text-align:left }
  .cat-venue .cv-addr{ padding-left:0; font-size:13.5px }
  .cat-venue .cv-pin{ width:42px; height:42px }
}

/* ───── TARIFFE — bigger contrast, cinematic backdrop ───── */
.tariffe{
  background:linear-gradient(180deg, #fff 0%, var(--paper) 100%) !important;
  padding:140px 0 !important;
  position:relative; overflow:hidden;
}
.tariffe::before{
  content:""; position:absolute; left:0; right:0; top:0; height:240px; pointer-events:none;
  background:radial-gradient(ellipse 100% 100% at 50% 0%, rgba(2,17,47,.06), transparent 80%);
}
.tariffe-head h2{ font-size:clamp(56px, 9vw, 140px) !important; line-height:.85 !important; letter-spacing:-.005em }
.tariffe .accent-word{
  background:linear-gradient(180deg, var(--gold-hot), var(--gold), #C8951F) !important;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.tariffe-block-head h3{ font-size:clamp(40px, 6vw, 76px) !important }

/* Gift banner — already strong, just punch up */
.gift-banner{ min-height:520px !important }
.gift-headline{ font-size:clamp(64px, 10vw, 160px) !important; line-height:.84 !important }
.gift-line-2{ font-style:italic }

/* ───── LAVORA CON NOI — darker, cinematic ───── */
.lavora{
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%) !important;
  padding:140px 0 !important;
}
.lavora .lavora-title{ font-size:clamp(48px, 7vw, 110px) !important; letter-spacing:-.005em }
.lavora-title-accent .lt-text{
  background:linear-gradient(180deg, var(--gold-hot), var(--gold), #C8951F) !important;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent !important;
}

/* ───── SAFEGUARDING — keep light, but tighten ───── */
.safe{
  background:var(--paper);
  padding:120px 0 !important;
}
.safe .section-head h2{ font-size:clamp(40px, 6vw, 84px) !important; line-height:.9 }

/* ───── LEAD SECTION — slight cinematic touch ───── */
.lead-wrap{ padding:140px 0 !important }
.lead-copy h2{ font-size:clamp(44px, 6vw, 88px) !important; line-height:.88 !important }

/* ───── HEADER medal — adjust to gold ring ───── */
.brand-medal{
  box-shadow:
    0 18px 40px -12px rgba(0,0,0,.55),
    0 6px 14px -4px rgba(0,0,0,.3),
    0 0 0 4px rgba(246,190,61,.0),
    inset 0 0 0 1px rgba(16,62,126,.08) !important;
}
.brand:hover .brand-medal{
  box-shadow:
    0 24px 48px -12px rgba(0,0,0,.65),
    0 8px 18px -4px rgba(0,0,0,.4),
    0 0 0 5px rgba(246,190,61,.6),
    inset 0 0 0 1px rgba(16,62,126,.08) !important;
}
.brand-medal-ring{ border-color:rgba(246,190,61,.55) !important }

/* ───── BUTTONS — gold polish ───── */
.btn-primary{
  background:linear-gradient(180deg, var(--gold-hot), var(--gold)) !important;
  color:var(--abyss) !important;
  box-shadow:0 12px 30px -8px rgba(246,190,61,.55), inset 0 1px 0 rgba(255,255,255,.4) !important;
}
.btn-primary:hover{
  background:linear-gradient(180deg, var(--gold), #DEA42A) !important;
  box-shadow:0 16px 40px -8px rgba(246,190,61,.7), inset 0 1px 0 rgba(255,255,255,.4) !important;
  transform:translateY(-2px) !important;
}

/* Make body fade more dramatic on section borders */
section + section{ position:relative }

/* Reveal anim base */
.reveal{ opacity:0; transform:translateY(28px) }
.reveal.in{ opacity:1; transform:translateY(0); transition:opacity .85s cubic-bezier(.22,.7,.18,1), transform .85s cubic-bezier(.22,.7,.18,1) }

/* Performance — disable heavy effects on small screens */
@media (max-width:640px){
  .hero-overword{ font-size:clamp(120px, 35vw, 260px) }
  .manifesto-title{ font-size:clamp(48px, 14vw, 110px) }
  .famiglia-title{ font-size:clamp(56px, 17vw, 110px) !important }
}

/* ═════════════════════════════════════════════════════════════
   BULLETPROOF YELLOW FALLBACK
   Solid gold first; gradient only when background-clip is supported.
   Prevents invisible text in Safari < 14, screenshot capture, etc.
   ═════════════════════════════════════════════════════════════ */
.hero h1 .accent .accent-text,
.famiglia-title .fl.is-accent .famiglia-accent-text,
.gift-line-2,
.tariffe .accent-word,
.lavora-title-accent .lt-text,
.cinema-quote .cq-text em,
.manifesto-title em,
.cat-head h2 .cat-accent,
.lead-accent .la-text,
.safe-accent .sa-text {
  /* Robust default — always visible */
  color: var(--gold, #FFC93C) !important;
  -webkit-text-fill-color: var(--gold, #FFC93C) !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}

/* Progressive enhancement: gradient ONLY where supported AND for visible elements */
@supports (-webkit-background-clip: text) and ((background-clip: text) or (-webkit-text-fill-color: transparent)) {
  .hero h1 .accent .accent-text,
  .famiglia-title .fl.is-accent .famiglia-accent-text,
  .gift-line-2,
  .tariffe .accent-word,
  .lavora-title-accent .lt-text,
  .cinema-quote .cq-text em,
  .manifesto-title em,
  .cat-head h2 .cat-accent,
  .lead-accent .la-text,
  .safe-accent .sa-text {
    background: linear-gradient(180deg, #FFE176 0%, #FFC93C 50%, #C8951F 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow: 0 0 60px rgba(255, 201, 60, .25);
  }
}

/* Header meta cell (gold number variant) — same bulletproof pattern */
.hero-meta .k {
  color: var(--gold, #FFC93C) !important;
  -webkit-text-fill-color: var(--gold, #FFC93C) !important;
}
@supports (-webkit-background-clip: text) and ((background-clip: text) or (-webkit-text-fill-color: transparent)) {
  .hero-meta .k {
    background: linear-gradient(180deg, #fff 0%, #FFD15F 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }
}

/* ═════════════════════════════════════════════════════════════
   LEAD SECTION — cinematic redesign
   ═════════════════════════════════════════════════════════════ */
.lead-cinema{
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%) !important;
  color:#fff;
  padding:140px 0 !important;
  position:relative; overflow:hidden;
  isolation:isolate;
}
.lead-cinema .lead-bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
}
.lead-cinema .lead-gradient{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 80% 20%, rgba(246,190,61,.18) 0%, transparent 60%),
    radial-gradient(ellipse 60% 70% at 10% 80%, rgba(90,160,232,.22) 0%, transparent 60%);
}
.lead-cinema .lead-grid-bg{
  position:absolute; inset:0; opacity:.06;
  background-image:
    linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at center, #000 0%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 0%, transparent 70%);
}
.lead-cinema .lead-glow{
  position:absolute; border-radius:50%; filter:blur(80px);
  mix-blend-mode:screen;
}
.lead-cinema .lead-glow-1{
  width:680px; height:680px; right:-160px; top:-180px;
  background:radial-gradient(circle, rgba(246,190,61,.32), transparent 70%);
  animation:floatA 22s ease-in-out infinite;
}
.lead-cinema .lead-glow-2{
  width:720px; height:720px; left:-200px; bottom:-220px;
  background:radial-gradient(circle, rgba(90,160,232,.28), transparent 70%);
  animation:floatB 26s ease-in-out infinite;
}
.lead-cinema .lead-watermark{
  position:absolute;
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(180px, 28vw, 480px);
  line-height:.85; letter-spacing:.01em;
  color:transparent;
  -webkit-text-stroke:1px rgba(220,233,247,.07);
  user-select:none; pointer-events:none;
  white-space:nowrap;
  will-change:transform;
}
.lead-cinema .lead-watermark{ top:8%; left:-4% }
.lead-cinema .lead-watermark-2{ top:auto; bottom:6%; left:auto; right:-4%; -webkit-text-stroke-color:rgba(246,190,61,.05) }
.lead-cinema .lead-grain{
  position:absolute; inset:0; opacity:.12;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.8) 0, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.6) 0, transparent 1px),
    radial-gradient(circle at 40% 80%, rgba(255,255,255,.7) 0, transparent 1px);
  background-size:7px 7px, 11px 11px, 13px 13px;
  mix-blend-mode:overlay;
}

.lead-cinema-wrap{ position:relative; z-index:2 }

.lead-cinema-head{
  text-align:left; max-width:1200px; margin:0 auto 64px;
}
.lead-cinema .lead-eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em;
  color:rgba(220,233,247,.55);
  text-transform:uppercase;
  margin-bottom:24px;
  padding:9px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(246,190,61,.22);
  border-radius:999px;
  backdrop-filter:blur(12px);
}
.lead-cinema .lead-eyebrow .dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 12px var(--gold, #FFC93C);
  animation:pulse 1.6s infinite;
}
.lead-cinema .lead-eyebrow .sep{ color:rgba(255,255,255,.25) }
.lead-cinema .lead-eyebrow .dim{ color:rgba(220,233,247,.45) }

.lead-cinema .lead-title{
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(56px, 10vw, 160px);
  line-height:.86; letter-spacing:-.005em;
  margin:0 0 28px;
  color:#fff;
  text-wrap:balance;
}
.lead-cinema .lead-accent{ position:relative; display:inline-block }
.lead-cinema .la-glow{
  position:absolute; inset:0;
  color:var(--gold, #FFC93C);
  filter:blur(36px); opacity:.45;
  pointer-events:none;
}
.lead-cinema .la-text{ position:relative }

.lead-cinema .lead-sub{
  font-size:clamp(16px, 1.5vw, 19px);
  line-height:1.6;
  color:rgba(255,255,255,.72);
  max-width:640px; margin:0;
}
.lead-cinema .lead-sub b{ color:#fff; font-weight:600 }

.lead-cinema-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:48px;
  align-items:stretch;
}
@media (max-width:980px){
  .lead-cinema-grid{ grid-template-columns:1fr; gap:32px }
}

.lead-cinema-aside{
  display:flex; flex-direction:column; gap:32px;
  padding:36px 32px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  position:relative;
}
.lead-aside-meta{
  display:flex; align-items:center; gap:14px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(220,233,247,.55);
}
.lead-aside-meta .lam-line{ flex:1; height:1px; background:linear-gradient(90deg, var(--gold, #FFC93C), transparent) }
.lead-aside-meta .lam-text{ color:var(--gold, #FFC93C) }
.lead-aside-meta .lam-num{ color:rgba(220,233,247,.4); font-weight:500 }

.lead-bullets{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:18px;
}
.lead-bullets li{
  display:flex; gap:18px; align-items:flex-start;
}
.lead-bullets .lb-num{
  flex-shrink:0;
  width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center;
  font-family:'Anton', Impact, sans-serif;
  font-size:18px; letter-spacing:.04em;
  color:var(--gold, #FFC93C);
  background:rgba(246,190,61,.08);
  border:1px solid rgba(246,190,61,.3);
}
.lead-bullets li > div{ display:flex; flex-direction:column; gap:4px; padding-top:6px }
.lead-bullets li b{
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  font-size:22px; color:#fff; letter-spacing:.02em;
  line-height:1;
}
.lead-bullets li span{
  font-size:14px; color:rgba(255,255,255,.6); line-height:1.5;
}

.lead-aside-wa{
  margin-top:auto;
  padding:20px;
  background:rgba(37,211,102,.08);
  border:1px solid rgba(37,211,102,.25);
  border-radius:14px;
  display:flex; flex-direction:column; gap:10px;
}
.law-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.law-cta{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; text-decoration:none;
}
.law-num{
  font-family:'Anton', Impact, sans-serif;
  font-size:24px; color:#fff; letter-spacing:.04em;
}
.law-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:#25D366; color:#fff;
  padding:10px 16px; border-radius:999px;
  font-size:13px; font-weight:600;
  box-shadow:0 8px 20px -8px rgba(37,211,102,.5);
  transition:transform .2s ease;
}
.law-cta:hover .law-btn{ transform:translateY(-2px) }

/* Contatti — sede / segreteria */
.lead-aside-place{
  margin-top:18px;
  padding:18px 20px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.lap-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
  flex-wrap:wrap;
}
.lap-ico{
  display:inline-flex;
  flex:none;
  margin-top:1px;
  color:var(--gold, #FFC93C);
}
.lap-label{
  flex:none;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold, #FFC93C);
  line-height:1.5;
}
.lap-v{
  flex:1 1 auto;
  min-width:0;
  color:rgba(255,255,255,.82);
  font-size:14px; line-height:1.45;
  text-decoration:none;
}
.lap-mail{
  font-family:'JetBrains Mono', monospace;
  font-size:13px; letter-spacing:.01em;
  color:rgba(255,255,255,.82);
  word-break:break-word;
  transition:color .2s ease;
}
.lap-mail:hover{ color:var(--gold, #FFC93C) }
.lap-v-soon{
  flex:none;
  color:rgba(255,255,255,.55);
  font-style:italic;
}

/* Glass form shell */
.lead-cinema-form{
  position:relative;
}
.lead-form-glow{
  position:absolute; inset:-20px;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(246,190,61,.18), transparent 60%),
    radial-gradient(ellipse 60% 60% at 80% 100%, rgba(90,160,232,.18), transparent 60%);
  filter:blur(40px); opacity:.7;
  pointer-events:none; z-index:-1;
  border-radius:32px;
}
.lead-cinema-form .lead-form{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(246,190,61,.18) !important;
  border-radius:24px !important;
  padding:40px 36px !important;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:
    0 30px 80px -30px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  position:relative;
}
.lead-cinema-form .form-head .mono{
  color:rgba(246,190,61,.75) !important;
}
.lead-cinema-form .form-head .display{
  color:#fff !important;
  font-size:32px !important;
  letter-spacing:.02em;
}
.lead-cinema-form .form-head .tag{
  background:rgba(246,190,61,.15) !important;
  color:var(--gold, #FFC93C) !important;
  border:1px solid rgba(246,190,61,.3);
}
.lead-cinema-form .field label{
  color:rgba(246,190,61,.7) !important;
  font-size:10px;
  letter-spacing:.16em;
}
.lead-cinema-form .field input,
.lead-cinema-form .field select,
.lead-cinema-form .field textarea{
  background:rgba(255,255,255,.03) !important;
  border:1.5px solid rgba(255,255,255,.1) !important;
  color:#fff !important;
  font-weight:500;
}
.lead-cinema-form .field input::placeholder,
.lead-cinema-form .field textarea::placeholder{ color:rgba(255,255,255,.3) }
.lead-cinema-form .field input:focus,
.lead-cinema-form .field select:focus,
.lead-cinema-form .field textarea:focus{
  background:rgba(255,255,255,.06) !important;
  border-color:var(--gold, #FFC93C) !important;
  box-shadow:0 0 0 4px rgba(246,190,61,.12), 0 0 30px -8px rgba(246,190,61,.35);
}
.lead-cinema-form .field select{ color:#fff !important }
.lead-cinema-form .field select option{ background:#03174A; color:#fff }
.lead-cinema-form .consent{ color:rgba(255,255,255,.55) !important }
.lead-cinema-form .consent input{ accent-color: var(--gold, #FFC93C) }
.lead-cinema-form .lead-submit{
  background:linear-gradient(180deg, #FFD15F, #F6BE3D) !important;
  color:#02112F !important;
  font-weight:700;
  box-shadow:0 16px 40px -8px rgba(246,190,61,.55), inset 0 1px 0 rgba(255,255,255,.4) !important;
}

/* Success state on dark */
.lead-cinema-form .lead-success{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(246,190,61,.4) !important;
  border-radius:24px !important;
  padding:40px !important;
  color:#fff !important;
  backdrop-filter:blur(20px);
}
.lead-cinema-form .lead-success h3{ color:#fff !important }
.lead-cinema-form .lead-success p{ color:rgba(255,255,255,.7) !important }

/* Reassure micro-grid */
.lead-reassure{
  margin-top:64px;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:24px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,.08);
}
.lr-cell{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.lr-ico{
  display:inline-grid; place-items:center;
  width:22px; height:22px; border-radius:50%;
  background:rgba(246,190,61,.12);
  color:var(--gold, #FFC93C);
  font-size:11px;
  border:1px solid rgba(246,190,61,.3);
}
.lr-divider{
  width:24px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(246,190,61,.4), transparent);
}
@media (max-width:760px){
  .lead-reassure{ gap:14px }
  .lr-divider{ display:none }
  .lr-cell{ font-size:10px; letter-spacing:.18em }
}

@media (max-width:640px){
  .lead-cinema{ padding:100px 0 !important }
  .lead-cinema-aside{ padding:28px 22px }
  .lead-cinema-form .lead-form{ padding:32px 24px !important }
  .lead-bullets li b{ font-size:18px }
  .law-cta{ flex-direction:column; align-items:flex-start; gap:14px }
  .law-num{ font-size:20px }
}

/* ═════════════════════════════════════════════════════════════
   FAMIGLIA — new manifesto-style copy block
   ═════════════════════════════════════════════════════════════ */
.famiglia-manifesto-copy{
  max-width:62ch;
  margin:48px auto 64px;
  text-align:left;
  position:relative;
  z-index:2;
}
.famiglia-para{
  font-family:'Inter Tight', system-ui, sans-serif;
  font-size:clamp(17px, 1.6vw, 22px);
  line-height:1.6;
  color:rgba(255,255,255,.82);
  margin:0 0 22px;
  font-weight:400;
  text-wrap:pretty;
}
.famiglia-para:last-of-type{ margin-bottom:0 }
.famiglia-para b{ color:#fff; font-weight:600 }
.famiglia-para-final{
  margin-top:32px;
  padding-top:32px;
  border-top:1px solid rgba(246,190,61,.18);
  font-size:clamp(19px, 1.8vw, 24px);
  color:rgba(255,255,255,.92);
}
.famiglia-para-final em{
  font-style:normal; font-weight:600;
  color:var(--gold, #FFC93C);
}
@supports (-webkit-background-clip: text) and ((background-clip: text) or (-webkit-text-fill-color: transparent)) {
  .famiglia-para-final em{
    background:linear-gradient(180deg, #FFE176, #FFC93C 50%, #C8951F);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
  }
}

.famiglia .famiglia-mark{
  justify-content:center;
  margin-top:48px;
}

@media (max-width:640px){
  .famiglia-manifesto-copy{ margin:32px auto 48px; padding:0 4px }
  .famiglia-para{ font-size:16px }
  .famiglia-para-final{ font-size:18px }
}

/* ═════════════════════════════════════════════════════════════
   SAFEGUARDING — cinematic
   ═════════════════════════════════════════════════════════════ */
.safe-cinema{
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%) !important;
  color:#fff;
  padding:140px 0 !important;
  position:relative; overflow:hidden;
  isolation:isolate;
}
.safe-cinema .safe-bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
}
.safe-cinema .safe-gradient{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 60% at 85% 15%, rgba(246,190,61,.22), transparent 60%),
    radial-gradient(ellipse 60% 60% at 10% 90%, rgba(90,160,232,.22), transparent 60%);
}
.safe-cinema .safe-grid-bg{
  position:absolute; inset:0; opacity:.05;
  background-image:
    linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size:96px 96px;
  mask-image:radial-gradient(ellipse at center, #000 0%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 0%, transparent 70%);
}
.safe-cinema .safe-glow{
  position:absolute; border-radius:50%; filter:blur(100px);
  mix-blend-mode:screen;
}
.safe-cinema .safe-glow-1{
  width:520px; height:520px; right:-120px; top:-140px;
  background:radial-gradient(circle, rgba(246,190,61,.35), transparent 70%);
  opacity:.4;
  animation:floatA 24s ease-in-out infinite;
}
.safe-cinema .safe-glow-2{
  width:600px; height:600px; left:-180px; bottom:-160px;
  background:radial-gradient(circle, rgba(90,160,232,.32), transparent 70%);
  opacity:.32;
  animation:floatB 28s ease-in-out infinite;
}
.safe-cinema .safe-watermark{
  position:absolute; left:50%; top:38%;
  transform:translateX(-50%);
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(140px, 22vw, 380px);
  line-height:.85;
  color:transparent;
  -webkit-text-stroke:1px rgba(220,233,247,.06);
  user-select:none; pointer-events:none;
  white-space:nowrap;
  will-change:transform;
}
.safe-cinema .safe-grain{
  position:absolute; inset:0; opacity:.07;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.8) 0, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.6) 0, transparent 1px);
  background-size:7px 7px, 11px 11px;
  mix-blend-mode:overlay;
}

.safe-cinema-wrap{ position:relative; z-index:2 }

.safe-cinema-head{
  max-width:1100px; margin:0 auto 64px;
  text-align:left;
}
.safe-cinema .safe-eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.22em;
  color:rgba(220,233,247,.55);
  text-transform:uppercase;
  margin-bottom:24px;
  padding:9px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(246,190,61,.22);
  border-radius:999px;
  backdrop-filter:blur(12px);
}
.safe-cinema .safe-eyebrow .dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 12px var(--gold, #FFC93C);
  animation:pulse 1.6s infinite;
}
.safe-cinema .safe-eyebrow .sep{ color:rgba(255,255,255,.25) }
.safe-cinema .safe-eyebrow .dim{ color:rgba(220,233,247,.45) }

.safe-cinema .safe-title{
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(48px, 7vw, 110px);
  line-height:.92; letter-spacing:-.005em;
  margin:0 0 28px;
  color:#fff;
  text-wrap:balance;
}
.safe-cinema .safe-accent{ position:relative; display:inline-block }
.safe-cinema .sa-glow{
  position:absolute; inset:0;
  color:var(--gold, #FFC93C);
  filter:blur(30px); opacity:.45;
  pointer-events:none;
}
.safe-cinema .sa-text{ position:relative }
.safe-cinema .safe-sub{
  font-size:clamp(16px, 1.5vw, 19px);
  line-height:1.6;
  color:rgba(255,255,255,.75);
  max-width:62ch; margin:0;
}
.safe-cinema .safe-sub b{ color:#fff; font-weight:600 }

/* Card */
.safe-card-cinema{
  position:relative;
  max-width:1100px; margin:0 auto;
  border-radius:24px;
  overflow:hidden;
  isolation:isolate;
}
.safe-card-cinema .safe-card-glow{
  position:absolute; inset:-20px;
  background:
    radial-gradient(ellipse 80% 60% at 0% 0%, rgba(246,190,61,.2), transparent 60%),
    radial-gradient(ellipse 60% 70% at 100% 100%, rgba(90,160,232,.18), transparent 60%);
  filter:blur(40px);
  pointer-events:none; z-index:-1;
}
.safe-card-inner{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:36px;
  align-items:flex-start;
  padding:48px 44px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(246,190,61,.22);
  border-radius:24px;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:
    0 30px 80px -30px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.05);
}
@media (max-width:760px){
  .safe-card-inner{
    grid-template-columns:1fr;
    gap:24px;
    padding:36px 28px;
  }
}
.safe-shield{
  width:96px; height:96px; border-radius:50%;
  display:grid; place-items:center;
  background:radial-gradient(circle, rgba(246,190,61,.15), rgba(246,190,61,.04));
  border:1px solid rgba(246,190,61,.35);
  color:var(--gold, #FFC93C);
  box-shadow:0 0 60px -10px rgba(246,190,61,.4);
  flex-shrink:0;
}
.safe-card-body h3{
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  font-size:clamp(28px, 3vw, 40px);
  letter-spacing:.02em;
  color:#fff;
  margin:0 0 14px;
  line-height:1.05;
}
.safe-card-body p{
  font-size:16px; line-height:1.6;
  color:rgba(255,255,255,.75);
  margin:0 0 28px;
  max-width:62ch;
}
.safe-card-body p b{ color:#fff; font-weight:600 }

.safe-cta{
  display:inline-flex; align-items:center; flex-wrap:wrap;
  gap:14px;
  padding:18px 26px;
  background:linear-gradient(180deg, rgba(246,190,61,.18), rgba(246,190,61,.08));
  border:1px solid rgba(246,190,61,.45);
  border-radius:14px;
  text-decoration:none;
  color:#fff;
  font-weight:600;
  font-size:15px;
  letter-spacing:.01em;
  transition:transform .2s ease, background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.safe-cta svg{ color:var(--gold, #FFC93C) }
.safe-cta:hover{
  transform:translateY(-2px);
  background:linear-gradient(180deg, rgba(246,190,61,.28), rgba(246,190,61,.12));
  border-color:rgba(246,190,61,.7);
  box-shadow:0 16px 40px -10px rgba(246,190,61,.35);
}
.safe-cta-text{ color:#fff }
.safe-cta-copy{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 14px;
}
.safe-cta-mail{
  font-family:'JetBrains Mono', monospace;
  font-size:13px; letter-spacing:.06em;
  color:var(--gold, #FFC93C);
  padding-left:14px;
  border-left:1px solid rgba(246,190,61,.4);
}
@media (max-width:520px){
  .safe-cta{ flex-wrap:nowrap; align-items:flex-start; gap:12px }
  .safe-cta svg{ margin-top:3px; flex:none }
  .safe-cta-copy{ flex-direction:column; align-items:flex-start; gap:6px }
  .safe-cta-mail{ padding-left:0; border-left:0; }
}

/* Reassure micro-grid */
.safe-reassure{
  margin-top:56px;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:24px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,.08);
}
@media (max-width:760px){
  .safe-reassure{ gap:14px }
  .safe-reassure .lr-divider{ display:none }
}

@media (max-width:640px){
  .safe-cinema{ padding:100px 0 !important }
  .safe-cinema-head{ margin-bottom:48px }
  .safe-card-body h3{ font-size:24px }
  .safe-card-body p{ font-size:15px }
}

/* Hide old .safe-card styles' clash — old class still present on root but overridden */
.safe.safe-cinema .section-head{ display:none }

/* Make sure mailto links throughout the design feel cliccable */
a[href^="mailto:"], a[href^="tel:"]{
  transition:color .2s ease, opacity .2s ease;
}
a[href^="mailto:"]:hover, a[href^="tel:"]:hover{ opacity:.85 }

/* ═════════════════════════════════════════════════════════════
   NAVBAR REBUILD — Centered logo, split rails, cinematic logo
   ═════════════════════════════════════════════════════════════ */

/* Suppress legacy header styles */
.pyh.site-header{
  position:fixed !important;
  top:0 !important; left:0; right:0;
  z-index:60;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.pyh .container.pyh-inner{
  position:relative;
  display:grid;
  grid-template-columns:1fr 140px 1fr;
  align-items:center;
  padding:18px 0;
  transition:padding .5s cubic-bezier(.2,.8,.2,1), grid-template-columns .5s cubic-bezier(.2,.8,.2,1);
  z-index:2;
}
.pyh.is-scrolled .container.pyh-inner{
  padding:10px 0;
  grid-template-columns:1fr 96px 1fr;
}
.pyh-rail-left{ grid-column:1 }
.pyh-mark{ grid-column:2; justify-self:center }
.pyh-rail-right{ grid-column:3 }

/* Glass + rule */
.pyh-glass{
  position:absolute; inset:0; z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(2,11,38,.65) 0%, rgba(2,11,38,.18) 70%, transparent 100%);
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  opacity:.85;
  transition:background .55s ease, backdrop-filter .55s ease, opacity .35s ease;
}
.pyh.is-scrolled .pyh-glass{
  background:rgba(2,11,38,.78);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 24px 60px -30px rgba(0,0,0,.7), inset 0 1px 0 rgba(246,190,61,.08);
}
.pyh-rule{
  position:absolute; left:0; right:0; bottom:0; height:1px; z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(246,190,61,0) 8%, rgba(246,190,61,.45) 50%, rgba(246,190,61,0) 92%, transparent 100%);
  opacity:0;
  transition:opacity .5s ease;
}
.pyh.is-scrolled .pyh-rule{ opacity:1 }

/* Rails of links */
.pyh-rail{
  display:flex; align-items:center;
  gap:4px;
}
.pyh-rail-left{ justify-content:flex-end; padding-right:80px }
.pyh-rail-right{ justify-content:flex-start; padding-left:80px }

.pyh-link{
  position:relative;
  display:inline-flex; align-items:center;
  padding:14px 18px;
  font-family:'JetBrains Mono', monospace;
  font-size:11.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  overflow:hidden;
  transition:color .25s ease, transform .35s cubic-bezier(.2,.8,.2,1);
  /* enter stagger */
  animation:pyhLinkIn .7s cubic-bezier(.2,.8,.2,1) both;
  animation-delay:calc(var(--i, 0) * 70ms + 200ms);
}
@keyframes pyhLinkIn{
  0%{ opacity:0; transform:translateY(-8px) }
  100%{ opacity:1; transform:translateY(0) }
}
.pyh-link::before{
  content:""; position:absolute;
  left:18px; right:18px; bottom:8px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.pyh-link:hover{ color:#fff; transform:translateY(-1px) }
.pyh-link:hover::before{ transform:scaleX(1) }
/* Light sweep on hover */
.pyh-link-text{ position:relative; z-index:2 }
.pyh-link-sweep{
  position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(120deg, transparent 35%, rgba(246,190,61,.18) 50%, transparent 65%);
  transform:translateX(-120%);
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.pyh-link:hover .pyh-link-sweep{ transform:translateX(120%) }

/* ───────── Center logo mark ───────── */
.pyh-mark{
  position:relative;
  width:96px; height:96px;
  display:grid; place-items:center;
  text-decoration:none;
  perspective:800px;
  transform-style:preserve-3d;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), width .5s, height .5s;
  --rx:0deg; --ry:0deg; --px:50%; --py:50%;
  /* protrude into the hero so the mark is "alive" off the bar */
  margin-bottom:-28px;
}
.pyh.is-scrolled .pyh-mark{
  width:72px; height:72px;
  margin-bottom:-14px;
}
/* The aura — soft gold halo */
.pyh-mark-aura{
  position:absolute; inset:-26%;
  border-radius:50%;
  background:radial-gradient(circle at var(--px) var(--py), rgba(246,190,61,.5) 0%, rgba(246,190,61,.18) 35%, transparent 70%);
  filter:blur(18px);
  opacity:.7;
  transition:opacity .4s ease;
  z-index:0;
  animation:pyhAura 4.5s ease-in-out infinite alternate;
}
@keyframes pyhAura{
  0%{ transform:scale(1); opacity:.55 }
  100%{ transform:scale(1.08); opacity:.85 }
}
.pyh-mark:hover .pyh-mark-aura{ opacity:1 }
/* Two concentric rings, counter-rotating */
.pyh-mark-ring{
  position:absolute; inset:-8%;
  border-radius:50%;
  border:1px solid rgba(246,190,61,.35);
  z-index:1;
  pointer-events:none;
}
.pyh-mark-ring-1{
  inset:-12%;
  border-top-color:rgba(246,190,61,.7);
  border-right-color:rgba(246,190,61,.3);
  border-bottom-color:rgba(246,190,61,.15);
  border-left-color:rgba(246,190,61,.45);
  animation:pyhSpin 22s linear infinite;
}
.pyh-mark-ring-2{
  inset:-22%;
  border-style:dashed;
  border-color:rgba(220,233,247,.18);
  animation:pyhSpin 38s linear infinite reverse;
}
@keyframes pyhSpin{ to{ transform:rotate(360deg) } }
/* The disc — white circle holding the logo, with 3D tilt */
.pyh-mark-disc{
  position:relative;
  width:100%; height:100%;
  border-radius:50%;
  background:linear-gradient(180deg, #ffffff 0%, #f6f4ef 100%);
  display:grid; place-items:center;
  overflow:hidden;
  box-shadow:
    0 18px 40px -14px rgba(0,0,0,.65),
    inset 0 0 0 1px rgba(246,190,61,.55),
    inset 0 -8px 24px rgba(2,17,47,.18);
  transform:rotateX(var(--rx)) rotateY(var(--ry));
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
  z-index:2;
}
.pyh-mark-disc img{
  width:80%; height:80%;
  object-fit:contain;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));
  transform:translateZ(20px);
}
/* Specular highlight that follows the cursor */
.pyh-mark-light{
  position:absolute; inset:0;
  border-radius:50%;
  background:radial-gradient(circle at var(--px) var(--py), rgba(255,255,255,.85) 0%, rgba(255,255,255,0) 35%);
  mix-blend-mode:screen;
  opacity:.55;
  pointer-events:none;
}
/* Sweep — diagonal light bar passing periodically */
.pyh-mark-sweep{
  position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.7) 48%, transparent 66%);
  transform:translateX(-130%) skewX(-12deg);
  animation:pyhSweep 7s ease-in-out infinite;
  mix-blend-mode:overlay;
  pointer-events:none;
}
@keyframes pyhSweep{
  0%{ transform:translateX(-130%) skewX(-12deg) }
  40%{ transform:translateX(130%) skewX(-12deg) }
  100%{ transform:translateX(130%) skewX(-12deg) }
}
/* Tiny wordmark under the logo */
.pyh-mark-wordmark{
  position:absolute; left:50%; bottom:-30px;
  transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:.32em;
  color:rgba(246,190,61,.85);
  text-transform:uppercase;
  white-space:nowrap;
  pointer-events:none;
  transition:opacity .35s ease, transform .5s cubic-bezier(.2,.8,.2,1);
}
.pyh-mark-wordmark .pmw-line{
  width:18px; height:1px; background:rgba(246,190,61,.5);
}
.pyh.is-scrolled .pyh-mark-wordmark{ opacity:0; transform:translateX(-50%) translateY(-8px) }
@media (prefers-reduced-motion:reduce){
  .pyh-mark-ring-1, .pyh-mark-ring-2, .pyh-mark-sweep, .pyh-mark-aura{ animation:none !important }
}

/* ───────── CTA on the right edge ───────── */
.pyh-cta{
  position:absolute;
  right:0; top:50%;
  transform:translateY(-50%);
  display:flex; align-items:center; gap:10px;
  z-index:3;
}
.pyh-phone{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid rgba(246,190,61,.25);
  background:rgba(2,11,38,.4);
  color:rgba(255,255,255,.85);
  transition:border-color .25s ease, background .25s ease, color .25s ease, transform .25s ease;
}
.pyh-phone:hover{
  border-color:var(--gold);
  background:rgba(246,190,61,.12);
  color:var(--gold);
  transform:translateY(-1px);
}
.pyh-btn{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 18px;
  border-radius:999px;
  border:1px solid rgba(246,190,61,.5);
  background:linear-gradient(180deg, rgba(246,190,61,.18), rgba(246,190,61,.06));
  color:var(--gold-hot);
  font-family:'Anton'; font-size:14px; letter-spacing:.08em;
  cursor:pointer; overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, color .2s ease;
  box-shadow:0 10px 30px -12px rgba(246,190,61,.4);
}
.pyh-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 36px -10px rgba(246,190,61,.6);
  color:#fff;
}
.pyh-btn-glow{
  position:absolute; inset:0;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,.4) 50%, transparent 65%);
  transform:translateX(-130%);
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.pyh-btn:hover .pyh-btn-glow{ transform:translateX(130%) }
.pyh-btn-text{ position:relative; display:inline-flex; align-items:center; gap:8px }
.pyh-btn svg{ flex-shrink:0 }

.pyh-burger{
  display:none;
  width:44px; height:44px;
  border-radius:12px;
  border:1px solid rgba(246,190,61,.25);
  background:rgba(2,11,38,.4);
  flex-direction:column; align-items:center; justify-content:center;
  gap:5px;
  cursor:pointer;
}
.pyh-burger span{
  display:block; width:20px; height:1.5px;
  background:var(--gold);
  border-radius:2px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .25s ease, width .3s ease;
}
.pyh-burger span:nth-child(2){ width:14px }
.pyh-burger:hover span:nth-child(2){ width:20px }

/* ───────── Hide legacy header pieces ───────── */
.pyh .brand,
.pyh .brand-overflow,
.pyh .brand-medal,
.pyh .brand-text,
.pyh .nav,
.pyh .nav-links,
.pyh .nav-phone,
.pyh .burger{ display:none !important }

/* ───────── Responsive ───────── */
@media (max-width:1180px){
  .pyh-link{ padding:14px 12px; font-size:10.5px; letter-spacing:.2em }
  .pyh-rail-left{ padding-right:60px }
  .pyh-rail-right{ padding-left:60px }
  .pyh-btn{ padding:10px 14px; font-size:13px }
}
@media (max-width:960px){
  .pyh-rail{ display:none }
  .pyh .container.pyh-inner{
    grid-template-columns:1fr 96px 1fr !important;
  }
  .pyh-burger{ display:flex }
  .pyh-btn{ display:none }
  .pyh-phone{ display:none }
  .pyh-mark{ margin-bottom:-14px }
}
@media (max-width:640px){
  .pyh-mark{ width:72px; height:72px; margin-bottom:-10px }
  .pyh.is-scrolled .pyh-mark{ width:56px; height:56px; margin-bottom:-6px }
  .pyh-mark-wordmark{ display:none }
}

/* ═════════════════════════════════════════════════════════════
   MOBILE FULLSCREEN MENU (pymm)
   ═════════════════════════════════════════════════════════════ */
.mmenu.pymm{
  background:#02112F !important;
  color:#fff;
}
.pymm-bg{ position:absolute; inset:0; overflow:hidden; z-index:0 }
.pymm-glow{ position:absolute; border-radius:50%; filter:blur(80px); opacity:.5 }
.pymm-glow-1{ width:520px; height:520px; top:-180px; left:-120px; background:radial-gradient(circle, rgba(246,190,61,.4), transparent 70%) }
.pymm-glow-2{ width:540px; height:540px; bottom:-200px; right:-160px; background:radial-gradient(circle, rgba(90,160,232,.35), transparent 70%) }
.pymm-grain{
  position:absolute; inset:0; opacity:.06;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.6) 0, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.5) 0, transparent 1px);
  background-size:3px 3px, 5px 5px;
}
.mmenu.pymm.open{ transition:transform .5s cubic-bezier(.7,0,.2,1) }
.pymm-head{
  position:relative; z-index:2;
  display:flex; align-items:center; justify-content:space-between;
  padding:24px;
  border-bottom:1px solid rgba(246,190,61,.12);
}
.pymm-mark{
  width:52px; height:52px; border-radius:50%;
  background:#fff; display:grid; place-items:center;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.5), inset 0 0 0 1px rgba(246,190,61,.5);
}
.pymm-mark img{ width:74%; height:74%; object-fit:contain }
.pymm-head .brand{ gap:14px }
.pymm-head .brand-text b{ font-family:'Anton'; font-size:18px; letter-spacing:.05em }
.pymm-head .brand-text span{ font-family:'JetBrains Mono'; font-size:9px; letter-spacing:.22em; text-transform:uppercase }

.pymm-list{
  position:relative; z-index:2;
  flex:1; padding:24px;
  display:flex; flex-direction:column; gap:4px;
  overflow-y:auto;
}
.pymm-list a{
  position:relative;
  display:flex; align-items:center; gap:18px;
  padding:18px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#fff;
  text-decoration:none;
  font-family:'Anton', Impact, sans-serif;
  font-size:32px; letter-spacing:.02em;
  line-height:1;
  overflow:hidden;
  transform:translateX(20px);
  opacity:0;
}
.mmenu.pymm.open .pymm-list a{
  animation:pymmIn .6s cubic-bezier(.2,.8,.2,1) both;
  animation-delay:calc(var(--i, 0) * 60ms + 250ms);
}
@keyframes pymmIn{
  0%{ opacity:0; transform:translateX(28px) }
  100%{ opacity:1; transform:translateX(0) }
}
.pymm-num{
  font-family:'JetBrains Mono', monospace;
  font-size:11px; letter-spacing:.24em;
  color:var(--gold);
  width:30px;
}
.pymm-label{ flex:1 }
.pymm-arrow{
  font-family:'Inter Tight', sans-serif;
  font-weight:300;
  font-size:24px;
  color:rgba(255,255,255,.4);
  transition:color .25s ease, transform .25s ease;
}
.pymm-list a:hover .pymm-arrow,
.pymm-list a:active .pymm-arrow{ color:var(--gold); transform:translateX(6px) }
.pymm-foot{
  position:relative; z-index:2;
  padding:24px;
  display:flex; flex-direction:column; gap:12px;
  border-top:1px solid rgba(246,190,61,.12);
  background:rgba(2,17,47,.4);
}

.pyh-burger-close span:first-child{ width:18px; transform:translateY(6.5px) rotate(45deg) }
.pyh-burger-close span:nth-child(2){ opacity:0; width:0 }
.pyh-burger-close span:last-child{ width:18px; transform:translateY(-6.5px) rotate(-45deg) }

/* Phone moved to the FAR LEFT edge of the bar */
.pyh-phone-left{
  position:absolute;
  left:0; top:50%;
  transform:translateY(-50%);
  z-index:3;
}

/* Hero & first section: push content down a touch so the protruding mark doesn't clip */
.hero{ padding-top:48px }
@media (max-width:960px){
  .hero{ padding-top:32px }
  .pyh-phone-left{ display:none }
}

/* ═════════════════════════════════════════════════════════════
   FOOTER — premium alignment with navbar rhythm
   ═════════════════════════════════════════════════════════════ */
.footer{
  background:#02112F !important;
  padding:88px 0 32px !important;
  position:relative;
  border-top:1px solid rgba(246,190,61,.12);
}
.footer::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 15% 0%, rgba(246,190,61,.06), transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 100%, rgba(90,160,232,.10), transparent 60%);
}
.footer .container{ position:relative; z-index:1 }
.footer-grid{
  display:grid !important;
  grid-template-columns:1.6fr 1fr 1fr 1.1fr !important;
  gap:48px !important;
  align-items:start;
}
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr !important; gap:36px !important } }
@media (max-width:500px){ .footer-grid{ grid-template-columns:1fr !important } }
.footer h5{
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;
  text-transform:uppercase !important;
  letter-spacing:.28em !important;
  color:var(--gold) !important;
  margin:0 0 22px !important;
  font-weight:500 !important;
}
.footer-about{
  color:rgba(255,255,255,.65) !important;
  margin-top:22px !important;
  line-height:1.65 !important;
  max-width:40ch !important;
}

/* Social block: label above icons */
.footer-social-block{
  margin-top:28px;
}
.footer-social-label{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(220,233,247,.55);
  margin-bottom:14px;
}
.footer .social{
  display:flex !important;
  gap:12px !important;
  margin-top:0 !important;
}
.footer .social a{
  width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(246,190,61,.18);
  display:grid; place-items:center;
  color:#fff; transition:background .25s ease, border-color .25s ease, transform .25s ease, color .25s ease;
}
.footer .social a:hover{
  background:rgba(246,190,61,.18);
  border-color:rgba(246,190,61,.6);
  color:var(--gold);
  transform:translateY(-2px);
}

/* Footer columns: unified rhythm with navbar (left/right safe-padding) */
.footer ul{ gap:14px !important }
.footer a{
  color:rgba(255,255,255,.72) !important;
  transition:color .2s ease, transform .2s ease, opacity .2s ease;
  position:relative;
  display:inline-block;
}
.footer a:hover{ color:var(--gold) !important; transform:translateX(2px) }
.footer a::before{
  content:""; position:absolute;
  left:-12px; top:50%; width:6px; height:1px;
  background:var(--gold);
  transform:translateY(-50%) scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.footer a:hover::before{ transform:translateY(-50%) scaleX(1) }
.footer ul{ padding-left:12px !important }

.footer-bot{
  margin-top:72px !important;
  padding-top:28px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  font-size:12px !important;
  letter-spacing:.04em;
  color:rgba(255,255,255,.55) !important;
}
.footer-bot a{ color:rgba(255,255,255,.75) !important }
@media (max-width:760px){
  .footer{ padding:64px 0 28px !important }
  .footer-bot{ margin-top:48px !important; flex-direction:column !important; align-items:flex-start !important }
}

/* ═════════════════════════════════════════════════════════════
   HERO POLISH v2 — premium pacing + responsive mobile rebuild
   ═════════════════════════════════════════════════════════════ */

/* Tighten hero so headline + CTA + meta all fit above the fold */
@media (min-width:961px){
  .hero{ min-height:min(100vh, 880px) }
  .hero-grid{ padding:96px 0 96px !important; min-height:calc(min(100vh, 880px) - 0px) }
  .hero p.lead{ margin-bottom:30px !important }
  .hero-meta{ margin-top:32px !important }
  .hero-stage{ justify-content:flex-end }
}

/* Mid (tablet) */
@media (max-width:960px) and (min-width:641px){
  .hero{ min-height:auto }
  .hero-grid{ padding:104px 0 80px !important; min-height:auto }
  .hero h1{ font-size:clamp(56px, 9.2vw, 88px) !important; max-width:none }
  .hero p.lead{ max-width:560px !important }
  .hero-meta{ margin-top:32px !important }
}

/* Mobile: hero designed-for-mobile, not just shrunk */
@media (max-width:640px){
  .hero{ min-height:auto }
  .hero::before{
    background:linear-gradient(180deg, rgba(2,17,47,.7) 0%, rgba(2,17,47,0) 20%, rgba(2,17,47,0) 55%, rgba(2,17,47,.97) 100%) !important;
  }
  .hero-grid{
    padding:104px 0 72px !important;
    min-height:auto;
    align-items:flex-end !important;
  }
  .hero-stage{
    gap:0;
  }
  .hero-eyebrow{
    margin-bottom:18px !important;
    font-size:9.5px !important;
    padding:7px 12px !important;
  }
  .hero h1{
    font-size:clamp(42px, 11.8vw, 72px) !important;
    line-height:.93 !important;
    margin:0 0 16px !important;
    max-width:none;
    letter-spacing:-.015em !important;
  }
  .hero .hero-tagstrip{
    margin:0 0 16px !important;
    gap:14px !important;
  }
  .hero .hero-tagstrip .hts-bar{ width:28px !important }
  .hero .hero-tagstrip .hts-text{
    font-size:10.5px !important;
    letter-spacing:.32em !important;
  }
  .hero p.lead{
    max-width:none !important;
    margin:0 0 28px !important;
    font-size:14.5px !important;
    line-height:1.55 !important;
  }
  .hero p.lead .lead-strong{
    font-size:16px !important;
    line-height:1.4 !important;
    margin-bottom:10px;
  }
  .hero-ctas{ width:100%; flex-direction:column; gap:10px !important }
  .hero-ctas .btn{ width:100% !important; justify-content:center }
  .hero-meta{
    width:100%;
    margin-top:32px !important;
    padding:18px 14px !important;
    gap:14px !important;
    justify-content:space-between !important;
  }
  .hero-meta .k{ font-size:32px !important }
  .hero-meta .v{ font-size:9px !important }
  .hero-scroll-cue{ display:none }
  /* hero photo: bring subject more central on mobile */
  .hero-photo img{
    height:120% !important;
    transform:translateX(-50%) scale(1.08) !important;
  }
}

/* Hero photo grade: stronger bottom fade so lead text reads well over photo */
.hero-photo-grade{
  background:
    radial-gradient(ellipse 80% 60% at 50% 30%, transparent 0%, rgba(2,17,47,.35) 70%, rgba(2,17,47,.85) 100%),
    linear-gradient(180deg, rgba(2,17,47,.55) 0%, rgba(2,17,47,.15) 25%, rgba(2,17,47,.55) 70%, rgba(2,17,47,.95) 100%) !important;
}

/* Section transitions — make sure nothing leaks across */
.hero, .slate, .powered, .famiglia, .manifesto, .cat, .tariffe{
  isolation:isolate;
}

/* Slate sits cleanly between hero and powered without overlap */
.slate{ contain:layout paint }

/* ════════════════════════════════════════════════════════════
   LAVORA CON NOI — cinematic recruiting card
   White title, dark-bg-adapted copy, premium glass form
   ════════════════════════════════════════════════════════════ */

/* Title + copy turn white on the dark cinematic ground */
.lavora .lavora-copy .section-label{ color:rgba(255,255,255,.65) !important }
.lavora .lavora-title{ color:#fff !important; text-wrap:balance }
.lavora .lavora-title-accent .lt-text{ /* keep gold gradient — already overridden above */ }

.lavora .lavora-lead{ color:rgba(255,255,255,.82) !important }
.lavora .lavora-lead b{ color:#fff !important; font-weight:600 }
.lavora .lavora-sub{ color:rgba(255,255,255,.55) !important }

.lavora .lavora-badges{ gap:10px }
.lavora .lavora-badge{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.lavora .lavora-badge svg{ color:var(--gold, #FFC93C) !important }

/* Grid background tuned for dark */
.lavora .lavora-grid-bg{
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) !important;
  opacity:.7 !important;
}
.lavora .lavora-glow-1{ background:radial-gradient(circle, rgba(255,201,60,.35), transparent 70%) !important; opacity:.55 !important }
.lavora .lavora-glow-2{ background:radial-gradient(circle, rgba(60,120,220,.45), transparent 70%) !important; opacity:.5 !important }

/* ──────────── Recruiting card — glass on dark ──────────── */
.lavora .lavora-card-inner{
  background:
    linear-gradient(160deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 60%, rgba(255,255,255,.04) 100%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:
    0 50px 120px -40px rgba(0,0,0,.7),
    0 0 0 1px rgba(255,255,255,.04) inset,
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  padding:32px 32px 28px !important;
}
.lavora .lavora-card-glow{
  background:
    radial-gradient(circle at 25% 15%, rgba(255,201,60,.28), transparent 55%),
    radial-gradient(circle at 80% 90%, rgba(60,120,220,.35), transparent 60%) !important;
  opacity:.55 !important;
}
.lavora .lavora-card:hover .lavora-card-inner{
  box-shadow:
    0 60px 140px -40px rgba(0,0,0,.8),
    0 0 0 1px rgba(255,201,60,.25) inset,
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.lavora .lavora-card-head{
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  margin-bottom:22px;
  padding-bottom:16px;
}
.lavora .lavora-card-tag{ color:rgba(255,255,255,.78) !important }
.lavora .lavora-card-num{ color:rgba(255,255,255,.4) !important }
.lavora .lavora-card-foot{
  border-top:1px solid rgba(255,255,255,.06) !important;
  margin-top:22px;
  padding-top:16px;
}
.lavora .lavora-card-foot .lcf-line{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent) !important;
}
.lavora .lavora-card-foot .lcf-text{ color:rgba(255,255,255,.4) !important }

/* ──────────── JOB FORM — premium, minimal ──────────── */
.job-form{
  display:flex; flex-direction:column; gap:18px;
}
.jf-row{ display:flex; gap:14px }
.jf-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
@media (max-width:540px){ .jf-row-2{ grid-template-columns:1fr } }

.jf-field{
  position:relative;
  display:flex; flex-direction:column;
  padding:14px 2px 10px;
  border-bottom:1px solid rgba(255,255,255,.1);
  transition:border-color .35s ease;
}
.jf-field .jf-label{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  transition:color .35s ease, transform .35s cubic-bezier(.2,.8,.2,1);
  margin-bottom:6px;
  pointer-events:none;
}
.jf-field input,
.jf-field select,
.jf-field textarea{
  background:transparent;
  border:none; outline:none;
  width:100%;
  font:inherit;
  font-family:'Inter Tight', system-ui, sans-serif;
  font-size:15px;
  color:#fff;
  padding:2px 0 4px;
  resize:none;
  appearance:none; -webkit-appearance:none;
}
.jf-field textarea{ line-height:1.5; font-size:14px; min-height:64px }
.jf-field input::placeholder,
.jf-field textarea::placeholder{
  color:rgba(255,255,255,.22);
  transition:opacity .25s ease;
}
.jf-field input:focus::placeholder,
.jf-field textarea:focus::placeholder{ opacity:.55 }

/* Focus glow underline */
.jf-underline{
  position:absolute; left:0; right:0; bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,
    rgba(255,201,60,0) 0%,
    rgba(255,201,60,.9) 50%,
    rgba(255,201,60,0) 100%);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.jf-field:focus-within{ border-bottom-color:rgba(255,255,255,.25) }
.jf-field:focus-within .jf-underline{ transform:scaleX(1) }
.jf-field:focus-within .jf-label{ color:var(--gold, #FFC93C) }

.jf-field.is-filled .jf-label{ color:rgba(255,255,255,.7) }
.jf-field.has-err{ border-bottom-color:rgba(255,90,90,.7) }
.jf-field.has-err .jf-label{ color:rgba(255,120,120,.95) }

/* Subtle hover */
.jf-field:hover:not(:focus-within){ border-bottom-color:rgba(255,255,255,.18) }

/* Select */
.jf-select{ position:relative; padding-right:24px }
.jf-select select{
  cursor:pointer;
  padding-right:28px;
}
.jf-select select option{
  background:#02112F;
  color:#fff;
}
.jf-caret{
  position:absolute; right:0; bottom:10px;
  color:rgba(255,255,255,.45);
  transform:rotate(90deg);
  pointer-events:none;
  transition:color .25s ease, transform .35s ease;
}
.jf-select:focus-within .jf-caret{ color:var(--gold, #FFC93C); transform:rotate(90deg) translateX(2px) }

/* Textarea */
.jf-textarea{ padding-bottom:22px }
.jf-counter{
  position:absolute; right:0; bottom:6px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.12em;
  color:rgba(255,255,255,.3);
  pointer-events:none;
}

/* ──────────── Drag & drop CV upload ──────────── */
.jf-drop{
  position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px;
  padding:22px 18px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
  cursor:pointer;
  text-align:center;
  transition:border-color .35s ease, background .35s ease, transform .35s cubic-bezier(.2,.8,.2,1);
  overflow:hidden;
  isolation:isolate;
}
.jf-drop:hover{
  border-color:rgba(255,201,60,.45);
  background:linear-gradient(180deg, rgba(255,201,60,.04), rgba(255,255,255,.01));
}
.jf-drop:focus-visible{
  outline:none;
  border-color:rgba(255,201,60,.6);
  box-shadow:0 0 0 3px rgba(255,201,60,.15);
}
.jf-drop.is-over{
  border-color:rgba(255,201,60,.75);
  border-style:solid;
  background:linear-gradient(180deg, rgba(255,201,60,.08), rgba(255,255,255,.02));
  transform:scale(1.005);
}
.jf-drop.has-file{
  border-color:rgba(34,197,94,.45);
  border-style:solid;
  background:linear-gradient(180deg, rgba(34,197,94,.06), rgba(255,255,255,.02));
}

.jf-drop-ico{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  transition:color .25s ease, background .25s ease, transform .35s cubic-bezier(.2,.8,.2,1);
}
.jf-drop:hover .jf-drop-ico{
  color:var(--gold, #FFC93C);
  transform:translateY(-2px);
  background:rgba(255,201,60,.08);
  border-color:rgba(255,201,60,.25);
}
.jf-drop.is-over .jf-drop-ico{
  color:var(--gold, #FFC93C);
  transform:translateY(-4px) scale(1.05);
}
.jf-drop-text{
  font-size:13.5px;
  color:rgba(255,255,255,.7);
  line-height:1.4;
}
.jf-drop-text strong{ color:#fff; font-weight:600 }
.jf-drop-hint{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.32);
}
.jf-drop-glow{
  position:absolute; inset:-30%;
  background:radial-gradient(circle at 50% 50%, rgba(255,201,60,.25), transparent 60%);
  filter:blur(30px); opacity:0;
  z-index:-1;
  transition:opacity .5s ease;
  pointer-events:none;
}
.jf-drop.is-over .jf-drop-glow{ opacity:1 }

/* File card after upload */
.jf-file{
  display:flex; align-items:center; gap:12px;
  width:100%;
  animation:jfFileIn .45s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes jfFileIn{
  from{ opacity:0; transform:translateY(6px) }
  to{ opacity:1; transform:translateY(0) }
}
.jf-file-ico{
  width:38px; height:38px; flex-shrink:0;
  border-radius:10px;
  display:grid; place-items:center;
  color:#fff;
  background:linear-gradient(160deg, rgba(34,197,94,.25), rgba(34,197,94,.08));
  border:1px solid rgba(34,197,94,.35);
  box-shadow:0 0 24px -6px rgba(34,197,94,.4);
}
.jf-file-meta{ flex:1; min-width:0; text-align:left }
.jf-file-name{
  font-size:14px; color:#fff; font-weight:500;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.jf-file-size{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(34,197,94,.85);
  margin-top:2px;
}
.jf-file-x{
  flex-shrink:0;
  width:28px; height:28px;
  display:grid; place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.6);
  cursor:pointer;
  transition:all .2s ease;
}
.jf-file-x:hover{
  background:rgba(255,90,90,.12);
  border-color:rgba(255,90,90,.3);
  color:#fff;
}

/* ──────────── Consent checkbox ──────────── */
.jf-consent{
  display:flex; align-items:flex-start; gap:10px;
  cursor:pointer;
  font-size:12px; line-height:1.5;
  color:rgba(255,255,255,.55);
  padding:2px 0;
}
.jf-consent input{ position:absolute; opacity:0; pointer-events:none }
.jf-check{
  width:16px; height:16px; flex-shrink:0;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.02);
  display:grid; place-items:center;
  color:transparent;
  margin-top:1px;
  transition:all .25s ease;
}
.jf-consent:hover .jf-check{ border-color:rgba(255,255,255,.4) }
.jf-consent input:checked + .jf-check{
  background:var(--gold, #FFC93C);
  border-color:var(--gold, #FFC93C);
  color:#02112F;
  box-shadow:0 0 16px -4px rgba(255,201,60,.6);
}
.jf-consent input:focus-visible + .jf-check{
  box-shadow:0 0 0 3px rgba(255,201,60,.2);
}
.jf-consent.has-err .jf-check{ border-color:rgba(255,120,120,.7) }
.jf-consent.has-err .jf-consent-text{ color:rgba(255,150,150,.9) }

/* ──────────── Submit button ──────────── */
.jf-submit{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  width:100%;
  padding:16px 20px;
  border:none; border-radius:14px;
  font-family:'Inter Tight', system-ui, sans-serif;
  font-weight:600; font-size:15px;
  letter-spacing:.01em;
  color:#02112F;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
  box-shadow:0 18px 40px -12px rgba(255,201,60,.5), inset 0 1px 0 rgba(255,255,255,.4);
}
.jf-submit-bg{
  position:absolute; inset:0;
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #E5A800);
  z-index:-1;
  transition:filter .35s ease;
}
.jf-submit:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 24px 50px -12px rgba(255,201,60,.7), inset 0 1px 0 rgba(255,255,255,.45);
}
.jf-submit:hover:not(:disabled) .jf-submit-bg{ filter:brightness(1.05) }
.jf-submit:active:not(:disabled){ transform:translateY(0) }
.jf-submit:disabled{
  cursor:not-allowed;
  opacity:.7;
}
.jf-submit-label{
  display:inline-flex; align-items:center; gap:10px;
}
.jf-submit-arrow{
  display:inline-block;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.jf-submit:hover:not(:disabled) .jf-submit-arrow{ transform:translateX(4px) }

.jf-spinner{
  width:14px; height:14px; border-radius:50%;
  border:2px solid rgba(2,17,47,.25);
  border-top-color:#02112F;
  animation:jfSpin .8s linear infinite;
}
@keyframes jfSpin{ to{ transform:rotate(360deg) } }

/* Error block */
.jf-error{
  font-size:12.5px;
  padding:10px 14px;
  border-radius:10px;
  background:rgba(255,90,90,.08);
  border:1px solid rgba(255,90,90,.25);
  color:rgba(255,180,180,.95);
}

/* ──────────── Success state ──────────── */
.lavora-success{
  display:flex; flex-direction:column; align-items:center;
  text-align:center;
  padding:18px 6px 8px;
  animation:jfFileIn .55s cubic-bezier(.2,.8,.2,1) both;
}
.lavora-success .ls-icon{
  width:54px; height:54px;
  border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(160deg, rgba(34,197,94,.25), rgba(34,197,94,.08));
  border:1px solid rgba(34,197,94,.4);
  color:#22c55e;
  box-shadow:0 0 40px -8px rgba(34,197,94,.55);
  margin-bottom:18px;
}
.lavora-success .ls-title{
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:clamp(28px, 3.4vw, 38px);
  line-height:1;
  color:#fff;
  margin:0 0 12px;
  letter-spacing:.005em;
}
.lavora-success .ls-sub{
  font-size:14px; line-height:1.55;
  color:rgba(255,255,255,.7);
  max-width:42ch;
  margin:0 0 18px;
}
.lavora-success .ls-sub b{ color:#fff; font-weight:600 }
.lavora-success .ls-meta{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:.16em;
  color:rgba(255,255,255,.4);
}

/* ════════════════════════════════════════════════════════════════════
   MOBILE PREMIUM PASS — only ≤760px (desktop untouched)
   Spacing, typography, safe-area, immersive polish
   ════════════════════════════════════════════════════════════════════ */

/* No horizontal overflow ever, on any screen */
html, body{ overflow-x:hidden; }

@media (max-width:760px){
  /* iOS safe-area aware container */
  .container{
    padding-left:max(20px, env(safe-area-inset-left)) !important;
    padding-right:max(20px, env(safe-area-inset-right)) !important;
  }

  /* Global typography — pretty-wrap titles, balanced reads */
  h1, h2, h3, h4{ text-wrap:balance; overflow-wrap:break-word; hyphens:auto }
  p, .lead, .lavora-lead, .lavora-sub{ text-wrap:pretty }

  /* All section paddings: tighter, consistent rhythm */
  .section{ padding:72px 0 !important }

  /* Disable hover-only effects that look broken on touch */
  *:hover{ transition-duration:.25s }

  /* ─── HERO ─── */
  .hero h1{
    font-size:clamp(40px, 11.5vw, 64px) !important;
    line-height:.94 !important;
    letter-spacing:-.018em !important;
    text-wrap:balance;
  }
  .hero p.lead{
    font-size:14px !important;
    line-height:1.55 !important;
    color:rgba(255,255,255,.78) !important;
  }
  .hero p.lead .lead-strong{ font-size:15.5px !important }
  .hero-eyebrow{ width:fit-content }
  .hero-meta{
    padding:16px 18px !important;
    border-radius:16px;
    background:rgba(255,255,255,.04) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }
  .hero-meta .meta-cell{ flex:1; text-align:center }
  .hero-meta .k{ font-size:28px !important; line-height:1 }
  .hero-meta .v{ font-size:9px !important; letter-spacing:.18em }
  .hero-meta .meta-divider{
    display:block !important;
    width:1px; height:32px;
    background:linear-gradient(180deg, transparent, rgba(255,255,255,.18), transparent);
  }
  .hero-overword{ opacity:.18 !important }

  /* ─── NAVBAR (header) ─── */
  .pyh{ padding-top:max(0px, env(safe-area-inset-top)) }
  .pyh .container.pyh-inner{ padding:14px 18px !important }
  .pyh-burger{
    width:48px !important; height:48px !important;
    border-radius:14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(246,190,61,.18);
    transition:background .25s ease, border-color .25s ease, transform .2s ease;
  }
  .pyh-burger:active{ transform:scale(.94); background:rgba(246,190,61,.12) }
  .pyh-burger span{ width:18px !important }
  .pyh-burger span:nth-child(2){ width:12px !important }
  .pyh-mark{ width:80px !important; height:80px !important; margin-bottom:-12px !important }
  .pyh.is-scrolled .pyh-mark{ width:62px !important; height:62px !important; margin-bottom:-8px !important }

  /* ─── MOBILE FULLSCREEN MENU — smoother, premium ─── */
  .mmenu.pymm{
    padding-top:max(0px, env(safe-area-inset-top));
    padding-bottom:max(0px, env(safe-area-inset-bottom));
  }
  .pymm-head{ padding:18px 22px !important }
  .pymm-mark{ width:48px !important; height:48px !important }
  .pymm-head .brand-text b{ font-size:16px !important }
  .pymm-head .brand-text span{ font-size:8.5px !important; letter-spacing:.24em }
  .pymm-list{
    padding:14px 22px 28px !important;
    gap:2px !important;
  }
  .pymm-list a{
    font-size:28px !important;
    padding:16px 8px !important;
    gap:14px !important;
  }
  .pymm-list a::after{
    content:""; position:absolute; left:8px; right:8px; bottom:0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(246,190,61,.0), transparent);
    transition:background .35s ease;
  }
  .pymm-list a:active{
    color:var(--gold);
    background:linear-gradient(90deg, rgba(246,190,61,.06), transparent);
  }
  .pymm-list a:active .pymm-num{ color:#fff }
  .pymm-list a:active::after{
    background:linear-gradient(90deg, rgba(246,190,61,.4), transparent);
  }
  .pymm-num{ font-size:10px !important; width:26px !important }
  .pymm-arrow{ font-size:22px !important }
  .pymm-foot{
    padding:18px 22px max(18px, env(safe-area-inset-bottom)) !important;
    gap:10px !important;
  }
  .pymm-foot .btn{ width:100%; justify-content:center }

  /* ─── FAMIGLIA ─── */
  .famiglia-title{
    font-size:clamp(40px, 13vw, 78px) !important;
    line-height:.9 !important;
    letter-spacing:-.01em !important;
    text-wrap:balance;
  }
  .famiglia-para{
    font-size:15px !important;
    line-height:1.6 !important;
    color:rgba(255,255,255,.78) !important;
  }
  .famiglia-intro{ gap:24px !important; margin-bottom:48px !important }

  /* Cinema frame (curva photo): shorter on mobile for better proportion */
  .cinema-frame{
    height:auto !important;
    aspect-ratio:4/5 !important;
    border-radius:18px !important;
  }
  .cinema-meta{ left:14px !important; top:14px !important; font-size:9px !important; letter-spacing:.18em }
  .cinema-quote{ padding:24px 22px !important }
  .cinema-quote--inline .cq-text{
    font-size:clamp(22px, 7.5vw, 36px) !important;
    line-height:1.18 !important;
  }
  .cinema-quote--inline .cq-attr{ font-size:9.5px !important; margin-top:12px !important }

  /* ─── MANIFESTO ─── */
  .manifesto-title{
    font-size:clamp(40px, 13vw, 76px) !important;
    line-height:.92 !important;
    letter-spacing:-.012em !important;
  }
  .manifesto-kicker span{ font-size:10px !important; letter-spacing:.28em }

  /* ─── CATEGORIE ─── */
  .cat-head h2{
    font-size:clamp(42px, 12vw, 70px) !important;
    line-height:.92 !important;
  }
  .cat-sub{ font-size:14px !important; line-height:1.55 !important; max-width:50ch }
  .cat-grid{ gap:18px !important; padding:0 2px }
  .cat-card{
    border-radius:18px !important;
    padding:24px 22px !important;
    min-height:auto !important;
  }
  .cat-card .age{ font-size:11px !important; letter-spacing:.18em }
  .cat-card h3{
    font-size:clamp(28px, 8vw, 38px) !important;
    line-height:1 !important;
  }
  .cat-card p{ font-size:14px !important; line-height:1.5 !important }
  .cat-card .arrow{ width:38px !important; height:38px !important }
  .tariffe-head h2{
    font-size:clamp(40px, 11vw, 64px) !important;
    line-height:.92 !important;
  }
  .tariffe-block{ margin-top:48px !important }
  .tariffe-block-head h3{
    font-size:clamp(24px, 6.5vw, 32px) !important;
    line-height:1.1 !important;
  }
  .price-card{
    padding:28px 22px !important;
    border-radius:20px !important;
  }
  .price-card .pc-head .pc-name{
    font-size:clamp(28px, 8vw, 38px) !important;
    letter-spacing:-.005em !important;
  }
  .price-card .pc-tag{ font-size:13px !important; line-height:1.4 }
  .price-card .pc-tier{ padding:14px 0 !important }
  .price-card .pc-tier-label{ font-size:11px !important; line-height:1.25 }
  .price-card .pc-tier-label .tier-num{ font-size:28px !important }
  .price-card .pc-tier-price .amount{ font-size:38px !important }
  .price-card .pc-tier-price .currency{ font-size:16px !important }
  .price-card .pc-yearly{ font-size:10.5px !important; letter-spacing:.16em }
  .price-card ul li{ font-size:13.5px !important; line-height:1.45 !important }
  .featured-ribbon{ font-size:9.5px !important; padding:6px 12px !important }
  .pc-cta{ width:100%; justify-content:center }

  /* ─── LEAD / CONTATTI ─── */
  .lead-copy h2{
    font-size:clamp(38px, 10vw, 60px) !important;
    line-height:.94 !important;
  }
  .lead-cinema{ padding:80px 0 !important }
  .lead-cinema-aside{ padding:24px 20px !important; border-radius:18px !important }
  .lead-cinema-grid{ gap:28px !important }

  /* ─── LAVORA CON NOI ─── */
  .lavora{ padding:88px 0 !important }
  .lavora .lavora-title{
    font-size:clamp(38px, 11.5vw, 64px) !important;
    line-height:.94 !important;
    letter-spacing:-.012em !important;
  }
  .lavora-lead{ font-size:15px !important; line-height:1.55 !important }
  .lavora-sub{ font-size:13.5px !important; line-height:1.55 !important }
  .lavora .lavora-card-inner{ padding:26px 22px 24px !important; border-radius:20px !important }
  .lavora-card-head{ margin-bottom:18px !important; padding-bottom:14px !important }
  .lavora-card-tag{ font-size:9.5px !important; letter-spacing:.22em }
  .lavora-card-num{ font-size:9.5px !important }
  /* Form fields: comfortable touch targets */
  .jf-field{ padding:12px 2px 10px !important }
  .jf-field input,
  .jf-field select,
  .jf-field textarea{ font-size:16px !important } /* 16px = prevents iOS auto-zoom */
  .jf-field .jf-label{ font-size:9.5px !important }
  .jf-drop{ padding:20px 16px !important; border-radius:12px !important }
  .jf-drop-text{ font-size:13px !important }
  .jf-submit{ padding:18px 20px !important; font-size:15px !important; border-radius:14px !important }
  .jf-consent{ font-size:11.5px !important; line-height:1.5 !important }

  /* ─── SAFEGUARDING ─── */
  .safe-cinema{ padding:80px 0 !important }
  .safe-cinema-head h2{
    font-size:clamp(36px, 10vw, 56px) !important;
    line-height:.94 !important;
  }
  .safe-card-inner{ padding:24px 22px !important; border-radius:18px !important; gap:18px !important }
  .safe-cta{ font-size:14px }

  /* ─── CTA FINAL ─── */
  .cta-final h2{
    font-size:clamp(44px, 13vw, 76px) !important;
    line-height:.92 !important;
  }
  .cta-final-inner{ padding:64px 0 !important }

  /* ─── FOOTER ─── */
  .footer{ padding:64px 0 max(24px, env(safe-area-inset-bottom)) !important }
  .footer-grid{ gap:36px !important }
  .footer-about{ font-size:14px !important; max-width:none !important }
  .footer h5{ font-size:10px !important; letter-spacing:.26em !important; margin-bottom:16px !important }
  .footer .social a{ width:44px !important; height:44px !important } /* 44px hit target */
  .footer-bot{ font-size:11.5px !important; gap:10px !important }

  /* ─── BUTTONS — full width feel, tactile feedback ─── */
  .btn{ min-height:48px; transition:transform .15s cubic-bezier(.3,1,.5,1), box-shadow .25s ease }
  .btn:active{ transform:scale(.97) }

  /* ─── REVEAL — softer motion on mobile (reduce judder) ─── */
  .reveal{ transform:translateY(20px) }
  .reveal.in{ transition-duration:.7s }

  /* ─── WHATSAPP STICKY — safe-area aware ─── */
  .wa-sticky{
    bottom:calc(20px + env(safe-area-inset-bottom)) !important;
    right:calc(16px + env(safe-area-inset-right)) !important;
    padding:14px !important;
  }

  /* ─── SLATE marquee — softer on mobile ─── */
  .slate-marquee{ padding:14px 0 !important; font-size:20px !important }

  /* ─── POWERED — partner block ─── */
  .powered-wrap{ padding:36px 22px !important; border-radius:18px !important }
  .powered-wrap h3{ font-size:clamp(20px, 5.5vw, 26px) !important }
}

/* ════════════════════════════════════════════════════════════
   TIGHTER PASS — phones ≤520px
   ════════════════════════════════════════════════════════════ */
@media (max-width:520px){
  .container{ padding-left:max(16px, env(safe-area-inset-left)) !important; padding-right:max(16px, env(safe-area-inset-right)) !important }

  /* Hero gets a touch tighter */
  .hero-grid{ padding:96px 0 64px !important }
  .hero h1{ font-size:clamp(36px, 12vw, 56px) !important }
  .hero-meta{ padding:14px 14px !important }
  .hero-meta .k{ font-size:24px !important }

  /* Mobile menu — full-bleed feel */
  .pymm-list a{ font-size:26px !important; padding:14px 6px !important }

  /* Famiglia / titles */
  .famiglia-title{ font-size:clamp(38px, 14vw, 64px) !important }
  .manifesto-title{ font-size:clamp(36px, 13vw, 60px) !important }
  .cat-head h2{ font-size:clamp(36px, 12vw, 56px) !important }
  .lavora .lavora-title{ font-size:clamp(34px, 12vw, 56px) !important }
  .cta-final h2{ font-size:clamp(40px, 14vw, 64px) !important }

  /* Lead form row: still single column (already done) */
  .lavora .lavora-card-inner{ padding:22px 18px 20px !important }
  .job-form{ gap:14px !important }

  /* Footer brand: keep readable */
  .brand-footer-medal{ width:48px !important; height:48px !important }
}

/* ════════════════════════════════════════════════════════════
   TABLETS 641–960 — keep desktop feel but breathing room
   ════════════════════════════════════════════════════════════ */
@media (min-width:641px) and (max-width:960px){
  .lavora-grid{ gap:48px !important }
  .lead-cinema-grid{ gap:40px !important }
  .footer-grid{ grid-template-columns:1fr 1fr !important; gap:40px !important }
  .cat-grid{ gap:24px !important }
}

/* ════════════════════════════════════════════════════════════════════
   TARIFFE — premium cinematic refresh
   ════════════════════════════════════════════════════════════════════ */

/* Section ambience — subtle gold/blue glow ribbon */
.tariffe{
  position:relative;
  background:linear-gradient(180deg, #fff 0%, #F5F8FC 60%, #EFF3F9 100%) !important;
}
.tariffe::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 800px 500px at 12% 12%, rgba(60,120,220,.08), transparent 60%),
    radial-gradient(ellipse 900px 600px at 88% 88%, rgba(255,201,60,.10), transparent 60%);
}
.tariffe .container{ position:relative; z-index:1 }

/* Section head — eyebrow + balanced spacing */
.tariffe .tariffe-head{
  margin-bottom:18px;
}
.tariffe-head h2{
  text-wrap:balance;
}
.tariffe-head .cat-sub{ color:#42577a !important }

/* Block heading — refined eyebrow + ribbon */
.tariffe-block{
  position:relative;
  padding-top:8px;
}
.tariffe-block-head{
  position:relative;
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  margin-bottom:34px !important;
}
.tariffe-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--navy);
  padding:6px 12px;
  border-radius:999px;
  background:rgba(16,62,126,.05);
  border:1px solid rgba(16,62,126,.08);
}
.tariffe-eyebrow .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 12px rgba(255,201,60,.7);
}
.tariffe-block-head h3{
  font-family:'Anton', Impact, sans-serif !important;
  letter-spacing:-.005em !important;
}

/* PRICE CARDS — depth + cinematic glow */
.price-card{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(180deg, #fff 0%, #fafbfd 100%) !important;
  border:1px solid rgba(16,62,126,.08) !important;
  box-shadow:
    0 30px 60px -30px rgba(8,36,83,.18),
    0 0 0 1px rgba(255,255,255,.6) inset !important;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, border-color .35s ease !important;
}
.price-card::before{
  content:""; position:absolute; inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg, transparent 0%, rgba(255,201,60,.04) 100%);
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
  z-index:0;
}
.price-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,201,60,.35) !important;
  box-shadow:
    0 50px 90px -30px rgba(8,36,83,.32),
    0 0 0 1px rgba(255,201,60,.18) inset,
    0 0 60px -10px rgba(255,201,60,.18) !important;
}
.price-card:hover::before{ opacity:1 }
.price-card > *{ position:relative; z-index:1 }

/* Featured: stronger glow, ribbon polish */
.price-card--featured{
  background:
    linear-gradient(180deg, #fff 0%, #FFFBED 100%) !important;
  border-color:rgba(255,201,60,.4) !important;
  box-shadow:
    0 40px 80px -30px rgba(8,36,83,.28),
    0 0 0 1px rgba(255,201,60,.25) inset,
    0 0 80px -20px rgba(255,201,60,.25) !important;
}
.price-card--featured:hover{
  border-color:rgba(255,201,60,.6) !important;
  box-shadow:
    0 50px 100px -30px rgba(8,36,83,.4),
    0 0 0 1px rgba(255,201,60,.45) inset,
    0 0 100px -20px rgba(255,201,60,.35) !important;
}
.featured-ribbon{
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #C8951F) !important;
  color:#02112F !important;
  letter-spacing:.18em !important;
  box-shadow:0 6px 20px -4px rgba(255,201,60,.55), inset 0 1px 0 rgba(255,255,255,.4);
  font-weight:600;
}

/* Price tier numbers — slightly cinematic */
.price-card .pc-tier-price .amount{
  background:linear-gradient(180deg, #0E2D5C 0%, #02112F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  font-weight:700;
}
.price-card--featured .pc-tier-price .amount{
  background:linear-gradient(180deg, #0E2D5C 0%, #02112F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Tier number badge */
.price-card .pc-tier-label .tier-num{
  position:relative;
  background:linear-gradient(180deg, var(--gold-hot, #FFE176), var(--gold, #FFC93C));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  font-weight:700;
}

/* Yearly label refinement */
.price-card .pc-yearly{
  font-family:'JetBrains Mono', monospace;
  text-transform:uppercase;
  color:#5d6f8f;
}

/* Feature list — premium rhythm */
.price-card .pc-feats li{
  align-items:flex-start;
  transition:transform .25s ease;
}
.price-card .pc-feats li:hover{ transform:translateX(2px) }
.price-card .pc-check{
  background:linear-gradient(160deg, rgba(255,201,60,.18), rgba(255,201,60,.06)) !important;
  border:1px solid rgba(255,201,60,.35) !important;
  color:#B4791C !important;
}

/* ═══════════════════════════════════════════════════════════
   CERTIFICATO MEDICO — premium micro-card
   ═══════════════════════════════════════════════════════════ */
.tariffe-cert{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:22px;
  margin-top:28px;
  padding:22px 26px;
  border-radius:20px;
  background:
    linear-gradient(135deg, #0a2960 0%, #03174A 60%, #02112F 100%);
  color:#fff;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,201,60,.22);
  box-shadow:
    0 30px 70px -30px rgba(2,17,47,.55),
    0 0 0 1px rgba(255,255,255,.04) inset;
  transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .35s ease;
}
.tariffe-cert::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 360px 200px at 15% 0%, rgba(255,201,60,.18), transparent 60%),
    radial-gradient(ellipse 360px 200px at 100% 100%, rgba(60,120,220,.22), transparent 60%);
}
.tariffe-cert::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.06; z-index:0;
  background-image:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 71% 64%, rgba(255,255,255,.6) 0, transparent 1px);
  background-size:3px 3px, 5px 5px;
}
.tariffe-cert > *{ position:relative; z-index:1 }

.tariffe-cert:hover{
  transform:translateY(-3px);
  border-color:rgba(255,201,60,.45);
  box-shadow:
    0 40px 90px -30px rgba(2,17,47,.7),
    0 0 0 1px rgba(255,201,60,.18) inset,
    0 0 60px -10px rgba(255,201,60,.25);
}

.tariffe-cert .tc-glow{
  position:absolute; inset:-30%;
  background:radial-gradient(circle at 50% 50%, rgba(255,201,60,.22), transparent 60%);
  filter:blur(40px); opacity:.7; z-index:0;
  pointer-events:none;
}

.tariffe-cert .tc-icon{
  width:56px; height:56px;
  display:grid; place-items:center;
  border-radius:16px;
  background:linear-gradient(160deg, rgba(255,201,60,.22), rgba(255,201,60,.06));
  border:1px solid rgba(255,201,60,.4);
  color:#FFD15F;
  box-shadow:0 0 30px -8px rgba(255,201,60,.45), inset 0 1px 0 rgba(255,255,255,.06);
  flex-shrink:0;
  animation:tcPulse 3.6s ease-in-out infinite;
}
@keyframes tcPulse{
  0%, 100%{ box-shadow:0 0 30px -8px rgba(255,201,60,.4), inset 0 1px 0 rgba(255,255,255,.06) }
  50%{ box-shadow:0 0 40px -6px rgba(255,201,60,.65), inset 0 1px 0 rgba(255,255,255,.08) }
}

.tariffe-cert .tc-body{ min-width:0 }
.tariffe-cert .tc-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,201,60,.95);
  margin-bottom:6px;
}
.tariffe-cert .tc-eyebrow .tc-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 10px rgba(255,201,60,.7);
  animation:pulse 1.6s infinite;
}
.tariffe-cert .tc-title{
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:clamp(22px, 2.4vw, 30px);
  line-height:1.05;
  letter-spacing:-.002em;
  margin:0 0 8px;
  color:#fff;
}
.tariffe-cert .tc-sub{
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.78);
  margin:0;
  max-width:62ch;
}
.tariffe-cert .tc-sub b{
  color:#fff;
  font-weight:600;
  background:linear-gradient(180deg, #FFE176, #FFC93C);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Right-side credential stamp */
.tariffe-cert .tc-mark{
  display:flex; flex-direction:column; align-items:flex-end; gap:4px;
  padding-left:22px;
  border-left:1px solid rgba(255,201,60,.18);
  white-space:nowrap;
}
.tariffe-cert .tc-mark > span:first-child{
  font-family:'JetBrains Mono', monospace;
  font-size:9px;
  letter-spacing:.22em;
  color:rgba(255,255,255,.45);
  text-transform:uppercase;
}
.tariffe-cert .tc-mark .tc-mark-line{
  width:40px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,201,60,.7), transparent);
}
.tariffe-cert .tc-mark b{
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:18px;
  letter-spacing:.06em;
  background:linear-gradient(180deg, #FFE176, #FFC93C);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* ── GIFT BANNER variant when placed inside Categorie ── */
.gift-banner--mini{
  margin-top:56px !important;
  border-radius:24px !important;
}
.gift-banner--mini .gift-banner-content{
  padding:56px 48px !important;
}

/* ═══════════════════════════════════════════════════════════
   TARIFFE — mobile responsive polish
   ═══════════════════════════════════════════════════════════ */
@media (max-width:760px){
  .tariffe-cert{
    grid-template-columns:auto 1fr;
    gap:16px;
    padding:20px 20px;
    margin-top:22px;
    border-radius:18px;
  }
  .tariffe-cert .tc-icon{
    width:44px; height:44px; border-radius:12px;
  }
  .tariffe-cert .tc-icon svg{ width:18px; height:18px }
  .tariffe-cert .tc-title{ font-size:20px }
  .tariffe-cert .tc-sub{ font-size:13.5px; line-height:1.5 }
  .tariffe-cert .tc-mark{
    grid-column:1 / -1;
    flex-direction:row; align-items:center; gap:10px;
    padding:14px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,201,60,.18);
    margin-top:6px;
  }
  .tariffe-cert .tc-mark .tc-mark-line{ flex:1; width:auto }
  .tariffe-cert .tc-mark b{ font-size:16px }

  /* Gift banner inside categorie — mobile padding tighter */
  .gift-banner--mini{ margin-top:40px !important; border-radius:18px !important }
  .gift-banner--mini .gift-banner-content{ padding:40px 24px !important }
}

@media (max-width:520px){
  .tariffe-cert{ padding:18px 16px }
  .tariffe-cert .tc-eyebrow{ font-size:9.5px; letter-spacing:.18em }
}

/* ════════════════════════════════════════════════════════════════════
   TARIFFE — DARK CINEMATIC OVERHAUL (matches lavora/lead-cinema mood)
   These rules win over earlier light-mode tariffe styles.
   ════════════════════════════════════════════════════════════════════ */

.tariffe{
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%) !important;
  color:#fff;
  padding:140px 0 !important;
  overflow:hidden;
  isolation:isolate;
}
.tariffe::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 900px 600px at 12% 8%, rgba(60,120,220,.30), transparent 60%),
    radial-gradient(ellipse 1000px 700px at 92% 90%, rgba(255,201,60,.20), transparent 60%) !important;
}
.tariffe::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.06;
  background-image:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 71% 64%, rgba(255,255,255,.6) 0, transparent 1px);
  background-size:3px 3px, 5px 5px;
}
.tariffe-bg-glow{ display:none !important }

/* Section head — premium cinematic */
.tariffe .tariffe-head .section-label{
  color:rgba(255,201,60,.85) !important;
  font-family:'JetBrains Mono', monospace;
  letter-spacing:.28em !important;
}
.tariffe-head h2{
  color:#fff !important;
  text-wrap:balance;
}
.tariffe-head .cat-sub{
  color:rgba(255,255,255,.65) !important;
  font-size:16px;
  line-height:1.6;
}

/* ── Block heading: glowing eyebrow on dark ── */
.tariffe-block{ margin-top:96px !important; position:relative }
.tariffe-block:first-of-type{ margin-top:72px !important }
.tariffe-block-head{
  margin-bottom:40px !important;
}
.tariffe-eyebrow{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,201,60,.22) !important;
  color:rgba(255,201,60,.9) !important;
  backdrop-filter:blur(6px);
}
.tariffe-eyebrow .dot{
  background:var(--gold, #FFC93C) !important;
  box-shadow:0 0 12px rgba(255,201,60,.8) !important;
}
.tariffe-block-head h3{
  color:#fff !important;
  font-size:clamp(36px, 5vw, 56px) !important;
}
.tariffe-block-head h3 span{
  color:rgba(255,255,255,.5) !important;
}

/* ═══════════════════════════════════════════════════════════
   PRICE CARDS — dark glass with cinematic depth
   ═══════════════════════════════════════════════════════════ */
.tariffe .price-card{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(160deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 60%, rgba(255,255,255,.04) 100%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:22px !important;
  color:#fff !important;
  backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  box-shadow:
    0 40px 100px -40px rgba(0,0,0,.7),
    0 0 0 1px rgba(255,255,255,.04) inset,
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, border-color .35s ease !important;
  overflow:hidden;
}
/* Inner glow sheet — visible on hover only */
.tariffe .price-card::before{
  content:""; position:absolute; inset:0;
  border-radius:inherit;
  background:
    radial-gradient(circle at 28% 12%, rgba(255,201,60,.18), transparent 55%),
    radial-gradient(circle at 78% 92%, rgba(60,120,220,.22), transparent 60%);
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
  z-index:0;
}
/* Top accent line — subtle gold */
.tariffe .price-card::after{
  content:""; position:absolute; left:24px; right:24px; top:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,201,60,.5), transparent);
  opacity:.45;
  transition:opacity .5s ease;
  z-index:1;
}
.tariffe .price-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,201,60,.3) !important;
  box-shadow:
    0 60px 140px -40px rgba(0,0,0,.85),
    0 0 0 1px rgba(255,201,60,.25) inset,
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 80px -10px rgba(255,201,60,.18) !important;
}
.tariffe .price-card:hover::before{ opacity:1 }
.tariffe .price-card:hover::after{ opacity:1 }
.tariffe .price-card > *{ position:relative; z-index:2 }

/* ── Featured: bigger gold halo, premium glow ── */
.tariffe .price-card--featured{
  background:
    linear-gradient(160deg, rgba(255,201,60,.10) 0%, rgba(255,255,255,.03) 50%, rgba(60,120,220,.06) 100%) !important;
  border-color:rgba(255,201,60,.35) !important;
  box-shadow:
    0 50px 120px -40px rgba(0,0,0,.8),
    0 0 0 1px rgba(255,201,60,.2) inset,
    inset 0 1px 0 rgba(255,201,60,.12),
    0 0 100px -20px rgba(255,201,60,.25) !important;
}
.tariffe .price-card--featured::before{
  opacity:.55;
}
.tariffe .price-card--featured::after{ opacity:.9 }
.tariffe .price-card--featured:hover{
  border-color:rgba(255,201,60,.55) !important;
  box-shadow:
    0 60px 140px -40px rgba(0,0,0,.9),
    0 0 0 1px rgba(255,201,60,.4) inset,
    inset 0 1px 0 rgba(255,201,60,.18),
    0 0 140px -20px rgba(255,201,60,.4) !important;
}

/* Featured ribbon refined for dark */
.tariffe .featured-ribbon{
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #C8951F) !important;
  color:#02112F !important;
  letter-spacing:.22em !important;
  font-weight:700;
  box-shadow:
    0 14px 32px -8px rgba(255,201,60,.6),
    inset 0 1px 0 rgba(255,255,255,.5);
}

/* ── Card header ── */
.tariffe .pc-head{
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:24px;
}
.tariffe .pc-head .pc-name{
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:clamp(36px, 4.5vw, 54px) !important;
  letter-spacing:.005em;
  line-height:1;
  color:#fff;
  margin-bottom:6px;
}
.tariffe .price-card--featured .pc-head .pc-name{
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #C8951F);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.tariffe .pc-head .pc-tag{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55) !important;
}

/* ── Tier rows ── */
.tariffe .pc-tiers{
  display:flex; flex-direction:column;
  margin:0 0 18px;
}
.tariffe .pc-tier{
  display:flex; align-items:center; justify-content:space-between;
  gap:18px;
  padding:18px 0 !important;
}
.tariffe .pc-tier-divider{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}
.tariffe .pc-tier-label{
  display:flex; align-items:center; gap:14px;
  color:rgba(255,255,255,.78);
  font-size:13px; line-height:1.25;
  font-family:'JetBrains Mono', monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tariffe .pc-tier-label .tier-num{
  font-family:'Anton', Impact, sans-serif !important;
  font-size:42px !important;
  line-height:1;
  background:linear-gradient(180deg, #FFE176, #FFC93C 60%, #C8951F);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  font-weight:400;
}

/* PRICE — big, cinematic gradient */
.tariffe .pc-tier-price{
  display:inline-flex; align-items:baseline; gap:4px;
}
.tariffe .pc-tier-price .currency{
  font-family:'Inter Tight', sans-serif;
  font-size:18px;
  color:rgba(255,255,255,.55);
  font-weight:400;
  align-self:flex-start;
  margin-top:6px;
}
.tariffe .pc-tier-price .amount{
  font-family:'Anton', Impact, sans-serif !important;
  font-size:clamp(48px, 6vw, 72px) !important;
  line-height:1 !important;
  background:linear-gradient(180deg, #fff 0%, #DCE9F7 70%, #B4C8E1 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  font-weight:400;
  letter-spacing:-.005em;
}
.tariffe .price-card--featured .pc-tier-price .amount{
  background:linear-gradient(180deg, #FFE176 0%, #FFC93C 60%, #C8951F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 24px rgba(255,201,60,.35));
}

.tariffe .pc-yearly{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px !important;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4) !important;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  text-align:center;
}

/* ── Feature list (inclusi) ── */
.tariffe .pc-feats{
  list-style:none; padding:0;
  margin:22px 0 28px;
  display:flex; flex-direction:column; gap:14px;
}
.tariffe .pc-feats li{
  display:flex; gap:12px;
  align-items:flex-start;
  color:rgba(255,255,255,.85);
  font-size:14px;
  line-height:1.45;
  transition:transform .25s ease, color .25s ease;
}
.tariffe .pc-feats li:hover{ transform:translateX(3px); color:#fff }
.tariffe .pc-feats li b{
  display:block;
  color:#fff;
  font-weight:600;
  margin-bottom:2px;
}
.tariffe .pc-feats li span{
  display:block;
  color:rgba(255,255,255,.55) !important;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.06em;
}
.tariffe .pc-check{
  flex-shrink:0;
  width:24px; height:24px;
  display:grid; place-items:center;
  border-radius:50%;
  background:linear-gradient(160deg, rgba(255,201,60,.22), rgba(255,201,60,.08)) !important;
  border:1px solid rgba(255,201,60,.4) !important;
  color:var(--gold, #FFC93C) !important;
  margin-top:1px;
  box-shadow:0 0 14px -4px rgba(255,201,60,.4);
}

/* ── CTA button alignment ── */
.tariffe .pc-cta{ width:100%; justify-content:center }
.tariffe .price-card .btn-ghost{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
}
.tariffe .price-card .btn-ghost:hover{
  background:rgba(255,201,60,.1) !important;
  border-color:rgba(255,201,60,.45) !important;
  color:var(--gold, #FFC93C) !important;
}

/* ═══════════════════════════════════════════════════════════
   INFO CARD (Giovanili) — same dark glass treatment
   ═══════════════════════════════════════════════════════════ */
.tariffe .price-card--info{
  background:
    linear-gradient(160deg, rgba(255,255,255,.05) 0%, rgba(60,120,220,.06) 100%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  padding:36px 40px !important;
}
.tariffe .price-card--info .info-icon{
  background:linear-gradient(160deg, rgba(255,201,60,.22), rgba(255,201,60,.06)) !important;
  border:1px solid rgba(255,201,60,.4) !important;
  color:var(--gold, #FFC93C) !important;
  box-shadow:0 0 30px -8px rgba(255,201,60,.4);
}
.tariffe .price-card--info h4{
  color:#fff !important;
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:clamp(24px, 3vw, 32px) !important;
  letter-spacing:-.002em;
  line-height:1.1;
  margin-bottom:10px;
}
.tariffe .price-card--info p{
  color:rgba(255,255,255,.72) !important;
  font-size:15px;
  line-height:1.6;
}

/* ═══════════════════════════════════════════════════════════
   CERTIFICATO MEDICO — adapted to dark section
   ═══════════════════════════════════════════════════════════ */
.tariffe .tariffe-cert{
  background:
    linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(60,120,220,.06) 50%, rgba(255,201,60,.06) 100%) !important;
  border:1px solid rgba(255,201,60,.22) !important;
  backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  margin-top:32px !important;
}
.tariffe .tariffe-cert::before{
  background:
    radial-gradient(ellipse 400px 200px at 0% 0%, rgba(255,201,60,.2), transparent 60%),
    radial-gradient(ellipse 400px 200px at 100% 100%, rgba(60,120,220,.22), transparent 60%) !important;
}

/* ═══════════════════════════════════════════════════════════
   GIFT BANNER (variant --mini inside Minibasket block)
   Premium glass on dark, integrated rather than pasted
   ═══════════════════════════════════════════════════════════ */
.tariffe .gift-banner--mini{
  position:relative;
  margin-top:24px !important;
  min-height:auto !important;
  border-radius:22px !important;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,201,60,.22);
  box-shadow:
    0 50px 120px -40px rgba(0,0,0,.7),
    0 0 0 1px rgba(255,255,255,.04) inset,
    inset 0 1px 0 rgba(255,201,60,.12);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, border-color .35s ease;
}
.tariffe .gift-banner--mini:hover{
  transform:translateY(-4px);
  border-color:rgba(255,201,60,.45);
  box-shadow:
    0 60px 140px -40px rgba(0,0,0,.85),
    0 0 0 1px rgba(255,201,60,.35) inset,
    inset 0 1px 0 rgba(255,201,60,.18),
    0 0 100px -20px rgba(255,201,60,.3);
}

/* Photo backdrop — dimmer, more cinematic */
.tariffe .gift-banner--mini .gift-banner-bg{
  filter:saturate(1.05) brightness(.85);
}
.tariffe .gift-banner--mini .gift-banner-overlay{
  background:
    linear-gradient(120deg, rgba(2,17,47,.92) 0%, rgba(3,23,74,.78) 45%, rgba(2,17,47,.96) 100%),
    radial-gradient(ellipse 600px 400px at 80% 30%, rgba(255,201,60,.22), transparent 60%) !important;
}

.tariffe .gift-banner--mini .gift-banner-content{
  padding:64px 56px !important;
  display:flex; flex-direction:column;
  align-items:flex-start;
  text-align:left !important;
  gap:18px;
}

/* Eyebrow */
.tariffe .gift-banner--mini .gift-eyebrow{
  display:inline-flex !important;
  align-items:center; gap:10px;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(255,201,60,.12);
  border:1px solid rgba(255,201,60,.3);
  color:var(--gold, #FFC93C) !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:10.5px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase;
  margin:0 0 4px !important;
}
.tariffe .gift-banner--mini .gift-spark{
  font-size:9px;
  filter:drop-shadow(0 0 6px rgba(255,201,60,.7));
}

/* Headline */
.tariffe .gift-banner--mini .gift-headline{
  font-family:'Anton', Impact, sans-serif !important;
  font-weight:400;
  font-size:clamp(48px, 8vw, 110px) !important;
  line-height:.86 !important;
  letter-spacing:-.005em !important;
  margin:0 !important;
  display:flex; flex-direction:column; gap:2px;
  text-wrap:balance;
}
.tariffe .gift-banner--mini .gift-line-1{ color:rgba(255,255,255,.92) }
.tariffe .gift-banner--mini .gift-line-2{
  font-style:italic;
  background:linear-gradient(180deg, #FFE176 0%, #FFC93C 55%, #C8951F 100%) !important;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent !important;
  filter:drop-shadow(0 6px 30px rgba(255,201,60,.35));
}
.tariffe .gift-banner--mini .gift-line-3{ color:rgba(255,255,255,.92) }

.tariffe .gift-banner--mini .gift-sub{
  font-size:16px !important;
  line-height:1.6 !important;
  color:rgba(255,255,255,.75) !important;
  max-width:62ch;
  margin:4px 0 0 !important;
}
.tariffe .gift-banner--mini .gift-sub b{
  color:#fff;
  font-weight:600;
}

/* Meta footer */
.tariffe .gift-banner--mini .gift-meta{
  display:inline-flex; align-items:center; gap:22px;
  padding:18px 24px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,201,60,.18);
  backdrop-filter:blur(10px);
  margin-top:6px !important;
}
.tariffe .gift-banner--mini .gift-meta-cell{
  display:flex; flex-direction:column; gap:2px;
}
.tariffe .gift-banner--mini .gift-meta-k{
  font-family:'Anton', Impact, sans-serif;
  font-size:22px;
  line-height:1;
  background:linear-gradient(180deg, #FFE176, #FFC93C);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.tariffe .gift-banner--mini .gift-meta-v{
  font-family:'JetBrains Mono', monospace;
  font-size:9.5px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.tariffe .gift-banner--mini .gift-meta-divider{
  width:1px; height:36px;
  background:linear-gradient(180deg, transparent, rgba(255,201,60,.4), transparent);
}

/* ═══════════════════════════════════════════════════════════
   TARIFFE — mobile dark cinematic pass
   ═══════════════════════════════════════════════════════════ */
@media (max-width:760px){
  .tariffe{ padding:96px 0 !important }
  .tariffe-block{ margin-top:64px !important }
  .tariffe-block:first-of-type{ margin-top:48px !important }
  .tariffe-block-head{ margin-bottom:24px !important }
  .tariffe .price-card{
    padding:28px 22px !important;
    border-radius:18px !important;
  }
  .tariffe .pc-head .pc-name{ font-size:clamp(30px, 8vw, 42px) !important }
  .tariffe .pc-tier-label .tier-num{ font-size:32px !important }
  .tariffe .pc-tier-price .amount{ font-size:clamp(40px, 11vw, 56px) !important }
  .tariffe .pc-tier-price .currency{ font-size:15px !important }
  .tariffe .pc-feats{ gap:12px !important; margin:18px 0 22px !important }
  .tariffe .pc-feats li{ font-size:13.5px !important }
  .tariffe .price-card--info{ padding:28px 22px !important }
  .tariffe .price-card--info h4{ font-size:22px !important }
  .tariffe .price-card--info p{ font-size:14px !important }

  /* Gift banner mobile */
  .tariffe .gift-banner--mini{ border-radius:18px !important }
  .tariffe .gift-banner--mini .gift-banner-content{
    padding:44px 26px !important;
    gap:14px;
  }
  .tariffe .gift-banner--mini .gift-headline{
    font-size:clamp(42px, 12vw, 64px) !important;
    line-height:.9 !important;
  }
  .tariffe .gift-banner--mini .gift-sub{ font-size:14.5px !important }
  .tariffe .gift-banner--mini .gift-meta{
    width:100%;
    padding:14px 18px;
    gap:16px;
  }
  .tariffe .gift-banner--mini .gift-meta-k{ font-size:18px }
}

@media (max-width:520px){
  .tariffe .gift-banner--mini .gift-banner-content{ padding:36px 20px !important }
  .tariffe .gift-banner--mini .gift-meta{ flex-wrap:wrap; gap:10px }
  .tariffe .gift-banner--mini .gift-meta-divider{ display:none }
}

/* ════════════════════════════════════════════════════════════════════
   TARIFFE v3 — ELITE BASKETBALL ACADEMY POLISH
   Adds: corner accents, index stamps, deeper layering, premium type
   ════════════════════════════════════════════════════════════════════ */

/* Animated gold accent line on the top edge of each card */
.tariffe .price-card{
  padding:38px 36px 32px !important;
}
.tariffe .price-card::after{
  /* override the simple top accent — make it animated on hover */
  height:1px !important;
  background:linear-gradient(90deg, transparent 0%, rgba(255,201,60,.7) 50%, transparent 100%) !important;
  transition:opacity .5s ease, background-size .8s ease;
}

/* Corner brackets — cinematic */
.tariffe .price-card .pc-corner{
  position:absolute;
  width:22px; height:22px;
  border:1px solid rgba(255,201,60,.4);
  pointer-events:none;
  z-index:3;
  opacity:.65;
  transition:opacity .35s ease, border-color .35s ease;
}
.tariffe .price-card:hover .pc-corner{
  opacity:1;
  border-color:rgba(255,201,60,.85);
}
.tariffe .price-card .pc-corner-tl{ top:14px; left:14px; border-right:0; border-bottom:0 }
.tariffe .price-card .pc-corner-tr{ top:14px; right:14px; border-left:0; border-bottom:0 }
.tariffe .price-card .pc-corner-bl{ bottom:14px; left:14px; border-right:0; border-top:0 }
.tariffe .price-card .pc-corner-br{ bottom:14px; right:14px; border-left:0; border-top:0 }

/* Card index stamp (top-right monospace) */
.tariffe .price-card .pc-index{
  position:absolute;
  top:20px; right:22px;
  font-family:'JetBrains Mono', monospace;
  font-size:9.5px;
  letter-spacing:.24em;
  color:rgba(255,255,255,.32);
  text-transform:uppercase;
  z-index:3;
  pointer-events:none;
}
.tariffe .price-card--featured .pc-index{ color:rgba(255,201,60,.55) }

/* PC head — refined hierarchy */
.tariffe .pc-head{
  display:flex; flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.tariffe .pc-head .pc-name{
  font-size:clamp(40px, 4.8vw, 58px) !important;
  text-shadow:0 4px 24px rgba(0,0,0,.4);
}

/* Featured ribbon — re-positioned with gradient bg shape */
.tariffe .featured-ribbon{
  position:absolute !important;
  top:-12px; right:24px;
  display:inline-flex !important;
  align-items:center; gap:6px;
  padding:7px 14px !important;
  border-radius:999px !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:9.5px !important;
  z-index:4;
}

/* Price tier — make the price feel like a stadium scoreboard */
.tariffe .pc-tier{
  position:relative;
  padding:22px 0 !important;
}
.tariffe .pc-tier-label{
  align-items:flex-start;
  gap:18px !important;
}
.tariffe .pc-tier-label .tier-num{
  font-size:54px !important;
  line-height:.9 !important;
  filter:drop-shadow(0 2px 16px rgba(255,201,60,.35));
}
.tariffe .pc-tier-label > span:last-child{
  display:block;
  padding-top:8px;
  font-family:'Inter Tight', sans-serif;
  font-size:12.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  font-weight:500;
}
.tariffe .pc-tier-price{
  position:relative;
  align-items:flex-start !important;
}
.tariffe .pc-tier-price .currency{
  font-size:20px !important;
  padding-top:14px;
  font-family:'Inter Tight', sans-serif;
}
.tariffe .pc-tier-price .amount{
  font-size:clamp(56px, 7vw, 84px) !important;
  letter-spacing:-.015em !important;
  font-weight:400;
  font-family:'Anton', Impact, sans-serif !important;
}

/* Yearly stamp - centered scoreboard label */
.tariffe .pc-yearly{
  position:relative;
  padding:14px 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  text-align:center;
  font-size:10px !important;
  letter-spacing:.28em !important;
}

/* Feature list — premium with icon background and gold accent */
.tariffe .pc-feats{
  margin:24px 0 30px !important;
  gap:16px !important;
}
.tariffe .pc-feats li{
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.tariffe .pc-feats li:last-child{ border-bottom:0 }
.tariffe .pc-feats li b{ font-size:14.5px }
.tariffe .pc-feats li span{ font-size:11.5px !important }

/* CTA button — bigger gold for featured */
.tariffe .price-card--featured .pc-cta.btn-primary{
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #C8951F) !important;
  color:#02112F !important;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow:
    0 18px 40px -8px rgba(255,201,60,.55),
    inset 0 1px 0 rgba(255,255,255,.4) !important;
}
.tariffe .price-card--featured .pc-cta.btn-primary:hover{
  box-shadow:
    0 24px 50px -8px rgba(255,201,60,.75),
    inset 0 1px 0 rgba(255,255,255,.45) !important;
}

/* ═══════════════════════════════════════════════════════════
   CURVA SUD CARD — Hero-level WOW treatment
   Stronger overlay, IN OMAGGIO hero, better contrast
   ═══════════════════════════════════════════════════════════ */
.tariffe .gift-banner--mini .gift-banner-overlay{
  background:
    linear-gradient(120deg, rgba(2,17,47,.96) 0%, rgba(3,23,74,.86) 40%, rgba(2,17,47,.98) 100%),
    radial-gradient(ellipse 500px 350px at 75% 25%, rgba(255,201,60,.20), transparent 65%) !important;
}

/* Add a gold accent stripe at the top of the card */
.tariffe .gift-banner--mini::before{
  content:""; position:absolute; left:36px; right:36px; top:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,201,60,.7), transparent);
  z-index:5;
  opacity:.7;
  pointer-events:none;
}

/* Corner brackets on the gift card */
.tariffe .gift-banner--mini .gift-banner-content::before,
.tariffe .gift-banner--mini .gift-banner-content::after{
  content:""; position:absolute;
  width:32px; height:32px;
  border:1px solid rgba(255,201,60,.45);
  pointer-events:none;
  z-index:4;
}
.tariffe .gift-banner--mini .gift-banner-content::before{
  top:24px; left:24px;
  border-right:0; border-bottom:0;
}
.tariffe .gift-banner--mini .gift-banner-content::after{
  bottom:24px; right:24px;
  border-left:0; border-top:0;
}

/* "IN OMAGGIO" hero treatment — add prominent stamp */
.tariffe .gift-banner--mini .gift-headline{
  font-size:clamp(56px, 9vw, 130px) !important;
  text-shadow:0 6px 40px rgba(0,0,0,.6);
}
.tariffe .gift-banner--mini .gift-line-1{
  font-size:.36em !important;
  font-family:'JetBrains Mono', monospace !important;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6) !important;
  margin-bottom:8px;
}
.tariffe .gift-banner--mini .gift-line-2{
  font-style:italic;
  letter-spacing:-.015em;
  line-height:.92 !important;
  text-shadow:0 8px 50px rgba(255,201,60,.25);
}
.tariffe .gift-banner--mini .gift-line-3{
  font-size:.6em !important;
  letter-spacing:-.008em;
  color:#fff !important;
  margin-top:4px;
}

/* "IN OMAGGIO" giant stamp behind text */
.tariffe .gift-banner--mini .gift-banner-content{
  position:relative;
  padding:80px 64px !important;
}
.tariffe .gift-banner--mini .gift-banner-content > *{ position:relative; z-index:2 }
.tariffe .gift-banner--mini::after{
  content:"IN OMAGGIO";
  position:absolute;
  right:-30px; bottom:-20px;
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(80px, 14vw, 200px);
  letter-spacing:.005em;
  line-height:.85;
  color:rgba(255,201,60,.08);
  -webkit-text-stroke:1px rgba(255,201,60,.18);
  text-stroke:1px rgba(255,201,60,.18);
  pointer-events:none;
  z-index:1;
  white-space:nowrap;
  transform:rotate(-2deg);
}

/* Improved sub copy contrast */
.tariffe .gift-banner--mini .gift-sub{
  color:rgba(255,255,255,.88) !important;
  font-size:17px !important;
  line-height:1.65 !important;
  max-width:54ch;
}
.tariffe .gift-banner--mini .gift-sub b{
  color:#fff !important;
  background:linear-gradient(180deg, #FFE176, #FFC93C);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  font-weight:700;
}

/* Meta cell — make "Omaggio" a real stamp */
.tariffe .gift-banner--mini .gift-meta{
  padding:20px 28px;
  border:1px solid rgba(255,201,60,.3);
  background:linear-gradient(135deg, rgba(255,201,60,.08), rgba(0,0,0,.2));
  box-shadow:0 0 30px -8px rgba(255,201,60,.2);
}
.tariffe .gift-banner--mini .gift-meta-cell:first-child .gift-meta-k{
  font-size:28px !important;
}

/* ═══════════════════════════════════════════════════════════
   SECTION BACKGROUND UNIFICATION
   Add subtle blue/gold ambient ribbon to lighter sections
   so the whole page feels like one continuous experience.
   (Hero, Lavora, Lead, Tariffe already on dark)
   ═══════════════════════════════════════════════════════════ */

/* Manifesto already cinematic — small unification */
.manifesto::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1; opacity:.4;
  background:
    radial-gradient(ellipse 800px 500px at 8% 8%, rgba(60,120,220,.15), transparent 60%),
    radial-gradient(ellipse 800px 500px at 92% 92%, rgba(255,201,60,.10), transparent 60%);
}

/* Categorie — add subtle blue/gold ambient if not already */
.cat{
  position:relative;
}
.cat::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.7;
  background:
    radial-gradient(ellipse 900px 600px at 10% 8%, rgba(60,120,220,.15), transparent 60%),
    radial-gradient(ellipse 1000px 700px at 92% 92%, rgba(255,201,60,.10), transparent 60%);
}
.cat > *{ position:relative; z-index:1 }

/* Powered partner section — same ambient family */
.powered::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.5;
  background:
    radial-gradient(ellipse 700px 400px at 50% 0%, rgba(255,201,60,.12), transparent 60%);
}

/* Famiglia section — add gold edge accent (it already has photo bg) */
.famiglia::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1; opacity:.35;
  background:
    radial-gradient(ellipse 1100px 600px at 50% 100%, rgba(255,201,60,.18), transparent 60%);
}

/* ═══════════════════════════════════════════════════════════
   MOBILE — Tariffe + Curva Sud refinement
   ═══════════════════════════════════════════════════════════ */
@media (max-width:760px){
  .tariffe .price-card{ padding:28px 22px !important }
  .tariffe .price-card .pc-corner{ width:16px; height:16px; opacity:.5 }
  .tariffe .price-card .pc-corner-tl,
  .tariffe .price-card .pc-corner-tr{ top:10px }
  .tariffe .price-card .pc-corner-bl,
  .tariffe .price-card .pc-corner-br{ bottom:10px }
  .tariffe .price-card .pc-index{ font-size:9px; top:14px; right:14px }
  .tariffe .featured-ribbon{ top:-10px; right:14px; font-size:9px !important; padding:6px 12px !important }
  .tariffe .pc-head .pc-name{ font-size:clamp(32px, 9vw, 42px) !important }
  .tariffe .pc-tier{ padding:18px 0 !important }
  .tariffe .pc-tier-label{ gap:14px !important }
  .tariffe .pc-tier-label .tier-num{ font-size:38px !important }
  .tariffe .pc-tier-label > span:last-child{ font-size:11px !important }
  .tariffe .pc-tier-price .amount{ font-size:clamp(44px, 12vw, 60px) !important }
  .tariffe .pc-tier-price .currency{ font-size:16px !important; padding-top:10px }
  .tariffe .pc-feats{ margin:18px 0 22px !important; gap:12px !important }

  /* Gift card mobile */
  .tariffe .gift-banner--mini .gift-banner-content{ padding:48px 24px !important }
  .tariffe .gift-banner--mini .gift-banner-content::before,
  .tariffe .gift-banner--mini .gift-banner-content::after{
    width:22px; height:22px;
  }
  .tariffe .gift-banner--mini .gift-banner-content::before{ top:16px; left:16px }
  .tariffe .gift-banner--mini .gift-banner-content::after{ bottom:16px; right:16px }
  .tariffe .gift-banner--mini .gift-headline{ font-size:clamp(44px, 13vw, 72px) !important }
  .tariffe .gift-banner--mini .gift-sub{ font-size:15px !important; line-height:1.6 !important }
  .tariffe .gift-banner--mini::after{
    font-size:clamp(60px, 22vw, 110px);
    right:-15px; bottom:-10px;
  }
  .tariffe .gift-banner--mini .gift-meta{
    width:100%;
    padding:14px 18px;
  }
  .tariffe .gift-banner--mini .gift-meta-cell:first-child .gift-meta-k{ font-size:20px !important }
}

@media (max-width:520px){
  .tariffe .price-card{ padding:26px 20px !important }
  .tariffe .pc-tier-label{ flex-direction:column; align-items:flex-start; gap:4px !important }
  .tariffe .pc-tier-label > span:last-child{ padding-top:2px }
  .tariffe .pc-tier{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .tariffe .pc-tier-price{ align-self:flex-end }
  .tariffe .gift-banner--mini .gift-banner-content{ padding:42px 22px !important }
}

/* Hide the embedded safeguarding section in case any cached state still mounts it */
.safe-cinema{ display:none !important }
.safe{ display:none !important }

/* ════════════════════════════════════════════════════════════════════
   PRICING CARDS v4 — ELITE MEMBERSHIP TREATMENT
   ════════════════════════════════════════════════════════════════════ */

/* Tariffe grid: feature card slightly bigger + scaled */
.tariffe .tariffe-grid{
  align-items:start !important;
  gap:36px !important;
}

/* Featured: scale slightly up to feel hero */
.tariffe .price-card--featured{
  transform:scale(1.02);
}
.tariffe .price-card--featured:hover{
  transform:scale(1.02) translateY(-6px) !important;
}

/* SPOTLIGHT — radial gold glow from top of featured card */
.tariffe .pc-spotlight{
  position:absolute;
  inset:-2px;
  border-radius:24px;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255,201,60,.45) 0%, rgba(255,201,60,.12) 25%, transparent 55%);
  opacity:.85;
  mix-blend-mode:screen;
}

/* GOLD SEAL — concentric stamp on featured card (top-left) */
.tariffe .pc-seal{
  position:absolute;
  top:-28px; left:-22px;
  width:96px; height:96px;
  z-index:5;
  pointer-events:none;
}
.tariffe .pc-seal-ring{
  position:absolute; inset:0;
  border-radius:50%;
  border:1px solid rgba(255,201,60,.45);
  background:
    radial-gradient(circle, rgba(2,17,47,.85) 0%, rgba(2,17,47,.4) 70%, transparent 100%);
  box-shadow:
    0 0 20px rgba(255,201,60,.3),
    inset 0 0 0 1px rgba(255,201,60,.18);
}
.tariffe .pc-seal-text{
  position:absolute; inset:0;
  font-family:'JetBrains Mono', monospace;
  font-size:8px;
  letter-spacing:.2em;
  color:rgba(255,201,60,.85);
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
  display:inline-block;
  animation:pcSealSpin 18s linear infinite;
  /* Curved text via SVG would be ideal; we fake with rotation */
}
.tariffe .pc-seal-text::before{
  content:"";
  display:block;
  width:100%; height:100%;
  background:conic-gradient(from 0deg, transparent 0%, rgba(255,201,60,.3) 50%, transparent 100%);
  border-radius:50%;
  opacity:.6;
}
@keyframes pcSealSpin{ to{ transform:rotate(360deg) } }
.tariffe .pc-seal-core{
  position:absolute;
  inset:18%;
  border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(160deg, #FFE176, #FFC93C 50%, #C8951F);
  color:#02112F;
  font-family:'Anton', Impact, sans-serif;
  font-size:22px;
  letter-spacing:.06em;
  box-shadow:
    0 6px 14px -4px rgba(255,201,60,.6),
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(0,0,0,.1);
  font-weight:400;
}

/* PRICE CARD — deeper layered glass with diagonal sheen */
.tariffe .price-card{
  background:
    linear-gradient(160deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 60%, rgba(255,255,255,.04) 100%),
    linear-gradient(180deg, rgba(2,17,47,.6) 0%, rgba(2,17,47,.3) 100%) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:24px !important;
  padding:42px 38px 34px !important;
  box-shadow:
    0 50px 120px -40px rgba(0,0,0,.75),
    0 0 0 1px rgba(255,255,255,.04) inset,
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* Diagonal sheen — appears on hover */
.tariffe .price-card > .pc-corner-tl::after{
  content:""; position:fixed; pointer-events:none;
  /* placeholder so we can target with a sibling — actual sheen drawn via card ::before */
}

/* Featured card — visible gold border with double layer */
.tariffe .price-card--featured{
  background:
    linear-gradient(160deg, rgba(255,201,60,.15) 0%, rgba(255,255,255,.03) 35%, rgba(60,120,220,.07) 100%),
    linear-gradient(180deg, rgba(2,17,47,.55) 0%, rgba(2,17,47,.2) 100%) !important;
  border:1px solid rgba(255,201,60,.5) !important;
  box-shadow:
    0 60px 140px -40px rgba(0,0,0,.85),
    0 0 0 1px rgba(255,201,60,.3) inset,
    0 0 0 2px rgba(255,201,60,.08),
    inset 0 1px 0 rgba(255,201,60,.18),
    0 0 140px -20px rgba(255,201,60,.4) !important;
}
.tariffe .price-card--featured:hover{
  border-color:rgba(255,201,60,.7) !important;
  box-shadow:
    0 70px 160px -40px rgba(0,0,0,.9),
    0 0 0 1px rgba(255,201,60,.55) inset,
    0 0 0 2px rgba(255,201,60,.15),
    inset 0 1px 0 rgba(255,201,60,.25),
    0 0 180px -20px rgba(255,201,60,.55) !important;
}

/* PC name — bolder on featured */
.tariffe .price-card--featured .pc-head .pc-name{
  background:linear-gradient(180deg, #FFE176 0%, #FFC93C 55%, #C8951F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 6px 28px rgba(255,201,60,.4));
  font-size:clamp(44px, 5.2vw, 64px) !important;
  letter-spacing:.005em;
}

/* PC tag refinement */
.tariffe .pc-head .pc-tag{
  display:inline-flex; align-items:center;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  font-size:10.5px !important;
  letter-spacing:.18em !important;
  margin-top:4px;
}
.tariffe .price-card--featured .pc-head .pc-tag{
  background:rgba(255,201,60,.1);
  border-color:rgba(255,201,60,.35);
  color:var(--gold, #FFC93C) !important;
}

/* Featured ribbon — reposition + premium look */
.tariffe .featured-ribbon{
  top:-14px !important; right:34px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #C8951F) !important;
  color:#02112F !important;
  letter-spacing:.2em !important;
  font-size:10px !important;
  font-weight:700;
  box-shadow:
    0 16px 36px -8px rgba(255,201,60,.65),
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(0,0,0,.15) !important;
  letter-spacing:.22em !important;
}

/* Tier row — clear segmentation */
.tariffe .pc-tier{
  position:relative;
  padding:20px 0 !important;
  border-radius:0;
}
.tariffe .pc-tier:not(:last-child){
  margin-bottom:4px;
}
.tariffe .pc-tier-divider{
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent) !important;
  margin:2px 0 !important;
}

/* Tier number — pill style */
.tariffe .pc-tier-label .tier-num{
  position:relative;
  display:inline-grid; place-items:center;
  width:64px; height:64px;
  border-radius:18px;
  background:
    linear-gradient(160deg, rgba(255,201,60,.18), rgba(255,201,60,.04));
  border:1px solid rgba(255,201,60,.35);
  font-family:'Anton', Impact, sans-serif !important;
  font-size:36px !important;
  line-height:1 !important;
  flex-shrink:0;
  filter:none !important;
  background-clip:padding-box !important;
  -webkit-text-fill-color:initial !important;
  color:var(--gold-hot, #FFE176) !important;
  background-image:none !important;
  box-shadow:
    0 0 24px -6px rgba(255,201,60,.45),
    inset 0 1px 0 rgba(255,201,60,.2);
}
.tariffe .price-card--featured .pc-tier-label .tier-num{
  background:linear-gradient(160deg, rgba(255,201,60,.3), rgba(255,201,60,.08)) !important;
  border-color:rgba(255,201,60,.55);
  color:#FFE176 !important;
}

/* Tier price — make currency + amount more cinematic */
.tariffe .pc-tier-price .amount{
  font-size:clamp(56px, 7.2vw, 88px) !important;
}

/* Yearly stamp — refined as scoreboard label */
.tariffe .pc-yearly{
  margin:8px 0 6px !important;
  padding:12px 0 !important;
  font-size:9.5px !important;
  letter-spacing:.32em !important;
  color:rgba(255,255,255,.42) !important;
}

/* CTA buttons — match new dark glass */
.tariffe .price-card .pc-cta{
  padding:18px 24px !important;
  font-size:14px !important;
  letter-spacing:.06em !important;
  font-weight:600 !important;
  border-radius:14px !important;
}
.tariffe .price-card--featured .pc-cta.btn-primary{
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #C8951F) !important;
  border:0 !important;
  color:#02112F !important;
  box-shadow:
    0 20px 50px -10px rgba(255,201,60,.65),
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(0,0,0,.1) !important;
}
.tariffe .price-card--featured .pc-cta.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:
    0 28px 60px -10px rgba(255,201,60,.85),
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(0,0,0,.1) !important;
}

/* ════════════════════════════════════════════════════════════════════
   GIFT TICKET — premium stadium season-pass
   ════════════════════════════════════════════════════════════════════ */

/* Kill old gift-banner styles for safety */
.tariffe .gift-banner--mini{ display:none !important }

.gift-ticket{
  position:relative;
  margin-top:32px;
  border-radius:24px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,201,60,.35);
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%);
  color:#fff;
  box-shadow:
    0 60px 140px -40px rgba(0,0,0,.8),
    0 0 0 1px rgba(255,201,60,.15) inset,
    inset 0 1px 0 rgba(255,201,60,.2),
    0 0 100px -20px rgba(255,201,60,.25);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease;
}
.gift-ticket:hover{
  transform:translateY(-4px);
  box-shadow:
    0 70px 160px -40px rgba(0,0,0,.9),
    0 0 0 1px rgba(255,201,60,.35) inset,
    inset 0 1px 0 rgba(255,201,60,.3),
    0 0 140px -20px rgba(255,201,60,.4);
}

/* Background imagery */
.gift-ticket-bg{
  position:absolute; inset:0; pointer-events:none; z-index:0;
}
.gtb-photo{
  position:absolute; inset:0;
  background:url('assets/curva-pielle.jpg') center 40%/cover no-repeat;
  filter:saturate(.95) brightness(.6);
}
.gtb-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(115deg, rgba(2,17,47,.96) 0%, rgba(2,17,47,.82) 35%, rgba(3,23,74,.92) 100%),
    radial-gradient(ellipse 600px 400px at 75% 25%, rgba(255,201,60,.2), transparent 65%);
}
.gtb-grain{
  position:absolute; inset:0; opacity:.07;
  background-image:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 71% 64%, rgba(255,255,255,.6) 0, transparent 1px);
  background-size:3px 3px, 5px 5px;
}
.gtb-watermark{
  position:absolute;
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(160px, 22vw, 320px);
  line-height:.85;
  bottom:-40px; right:-30px;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,201,60,.08);
  letter-spacing:-.01em;
  pointer-events:none;
  transform:rotate(-4deg);
}

/* Cinematic spotlights */
.gift-ticket .gt-spot{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  pointer-events:none;
  z-index:1;
}
.gift-ticket .gt-spot-1{
  width:400px; height:400px;
  top:-100px; right:-80px;
  background:radial-gradient(circle, rgba(255,201,60,.35), transparent 70%);
}
.gift-ticket .gt-spot-2{
  width:480px; height:480px;
  bottom:-160px; left:-100px;
  background:radial-gradient(circle, rgba(60,120,220,.3), transparent 70%);
}

/* Top boarding-pass strip */
.gt-strip{
  position:relative; z-index:3;
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 36px;
  border-bottom:1px dashed rgba(255,201,60,.22);
  background:rgba(2,17,47,.4);
  backdrop-filter:blur(10px);
}
.gt-strip-brand{
  display:flex; align-items:center; gap:14px;
}
.gt-medal{
  width:38px; height:38px; border-radius:50%;
  background:#fff;
  display:grid; place-items:center;
  box-shadow:0 4px 14px -4px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,201,60,.55);
}
.gt-medal img{ width:74%; height:74%; object-fit:contain }
.gt-brand-name{
  font-family:'Anton', Impact, sans-serif;
  font-size:14px;
  letter-spacing:.16em;
  line-height:1;
  color:#fff;
}
.gt-brand-sub{
  font-family:'JetBrains Mono', monospace;
  font-size:9px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,201,60,.85);
  margin-top:5px;
}
.gt-strip-meta{
  display:flex; flex-direction:column; align-items:flex-end; gap:3px;
}
.gt-strip-k{
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:.24em; text-transform:uppercase;
  color:rgba(255,255,255,.4);
}
.gt-strip-v{
  font-family:'Anton', Impact, sans-serif;
  font-size:18px;
  letter-spacing:.04em;
  background:linear-gradient(180deg, #FFE176, #FFC93C);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* BODY — main + perf + stub */
.gt-body{
  position:relative; z-index:3;
  display:grid;
  grid-template-columns:1fr auto 260px;
  gap:0;
  min-height:380px;
}

/* MAIN content */
.gt-main{
  padding:44px 48px;
  display:flex; flex-direction:column; gap:18px;
}
.gt-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  width:fit-content;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(255,201,60,.1);
  border:1px solid rgba(255,201,60,.32);
  color:var(--gold, #FFC93C);
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.gt-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 12px rgba(255,201,60,.7);
}

/* HERO — IN OMAGGIO + headline */
.gt-hero{
  position:relative;
  display:flex; flex-direction:column; gap:14px;
  padding-top:8px;
}
.gt-omaggio{
  position:relative;
  display:inline-block;
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:clamp(40px, 5.2vw, 72px);
  line-height:.9;
  letter-spacing:.005em;
  background:linear-gradient(180deg, #FFE176 0%, #FFC93C 55%, #C8951F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 8px 40px rgba(255,201,60,.4));
  text-shadow:0 4px 20px rgba(0,0,0,.5);
  width:fit-content;
}
.gt-omaggio::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,201,60,.7), transparent);
}

.gt-headline{
  display:flex; flex-direction:column; gap:0;
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  line-height:.9;
  margin:0;
}
.gt-h-1{
  font-size:clamp(20px, 2vw, 26px);
  letter-spacing:.16em;
  color:rgba(255,255,255,.65);
  font-family:'JetBrains Mono', monospace;
  font-weight:500;
  text-transform:uppercase;
  margin-bottom:6px;
}
.gt-h-2{
  font-size:clamp(40px, 6vw, 84px);
  letter-spacing:-.005em;
  color:#fff;
  font-style:italic;
  /* "CURVA SUD" — strong contrast with a deep navy plate behind for legibility */
  background:
    linear-gradient(180deg, #fff 0%, #DCE9F7 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 6px 28px rgba(0,0,0,.6));
  text-shadow:0 4px 24px rgba(2,17,47,.8);
  position:relative;
}
.gt-h-2::before{
  /* dark backplate behind CURVA SUD text for guaranteed contrast */
  content:""; position:absolute; left:-12px; right:-12px; top:6%; bottom:8%;
  background:
    radial-gradient(ellipse 70% 100% at 50% 50%, rgba(2,17,47,.7) 0%, transparent 80%);
  z-index:-1;
  filter:blur(8px);
}

/* SUB */
.gt-sub{
  font-size:15.5px;
  line-height:1.65;
  color:rgba(255,255,255,.82);
  margin:0;
  max-width:58ch;
}
.gt-sub b{
  color:#fff;
  font-weight:600;
}
.gt-sub b:nth-of-type(2){
  background:linear-gradient(180deg, #FFE176, #FFC93C);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  font-weight:700;
}

/* INFO GRID — ticket meta */
.gt-info{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin-top:14px;
  padding:18px 0 4px;
  border-top:1px solid rgba(255,255,255,.08);
}
.gt-info-cell{
  display:flex; flex-direction:column; gap:4px;
  padding:0 18px;
  border-right:1px solid rgba(255,255,255,.06);
}
.gt-info-cell:first-child{ padding-left:0 }
.gt-info-cell:last-child{ border-right:0; padding-right:0 }
.gt-info-k{
  font-family:'JetBrains Mono', monospace;
  font-size:9px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
}
.gt-info-v{
  font-family:'Anton', Impact, sans-serif;
  font-size:18px;
  line-height:1;
  letter-spacing:.005em;
  color:#fff;
}
.gt-info-cell:nth-child(4) .gt-info-v{
  background:linear-gradient(180deg, #FFE176, #FFC93C);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* PERFORATION line — between main and stub */
.gt-perf{
  position:relative;
  width:1px;
  margin:0 8px;
  display:flex; flex-direction:column;
  align-items:center;
}
.gt-perf-line{
  flex:1;
  width:1px;
  background-image:linear-gradient(180deg, rgba(255,201,60,.45) 50%, transparent 50%);
  background-size:1px 8px;
  background-repeat:repeat-y;
}
.gt-perf-notch{
  width:24px; height:24px; border-radius:50%;
  background:#02112F;
  border:1px solid rgba(255,201,60,.25);
  position:relative;
}
.gt-perf-notch-top{ margin-top:-12px }
.gt-perf-notch-bottom{ margin-bottom:-12px }

/* STUB — right portion */
.gt-stub{
  padding:36px 28px;
  display:flex; flex-direction:column;
  justify-content:space-between;
  background:
    linear-gradient(160deg, rgba(255,201,60,.05) 0%, rgba(255,255,255,.02) 100%);
  border-left:1px solid rgba(255,201,60,.15);
  position:relative;
  text-align:center;
  gap:24px;
}
.gt-stub-head{
  display:flex; flex-direction:column; gap:10px;
}
.gt-stub-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,201,60,.75);
}
.gt-stub-title{
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(34px, 4.6vw, 52px);
  line-height:.92;
  letter-spacing:.005em;
  font-style:italic;
  background:linear-gradient(180deg, #FFE176 0%, #FFC93C 55%, #C8951F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 18px rgba(255,201,60,.4));
}

/* Barcode (CSS-generated vertical stripes) */
.gt-stub-barcode{
  width:100%;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.gt-bc{
  width:100%; height:48px;
  background:
    repeating-linear-gradient(
      90deg,
      #fff 0px, #fff 2px,
      transparent 2px, transparent 4px,
      #fff 4px, #fff 5px,
      transparent 5px, transparent 8px,
      #fff 8px, #fff 11px,
      transparent 11px, transparent 13px,
      #fff 13px, #fff 14px,
      transparent 14px, transparent 17px,
      #fff 17px, #fff 19px,
      transparent 19px, transparent 22px
    );
  opacity:.92;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.15));
}

.gt-stub-foot{
  display:flex; flex-direction:column; gap:14px;
  align-items:center;
}
.gt-serial{
  display:flex; flex-direction:column; gap:3px;
}
.gt-serial-k{
  font-family:'JetBrains Mono', monospace;
  font-size:8.5px;
  letter-spacing:.28em;
  color:rgba(255,255,255,.38);
}
.gt-serial-v{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(255,255,255,.85);
  font-weight:500;
}
.gt-stub-seal{
  display:flex; flex-direction:column;
  width:72px; height:72px;
  border-radius:50%;
  border:1.5px dashed rgba(255,201,60,.5);
  align-items:center; justify-content:center;
  font-family:'Anton', Impact, sans-serif;
  font-size:11px;
  line-height:1.1;
  color:var(--gold, #FFC93C);
  letter-spacing:.06em;
  text-align:center;
  position:relative;
  background:radial-gradient(circle, rgba(255,201,60,.08), transparent 70%);
}
.gt-stub-seal::before{
  content:""; position:absolute; inset:6px; border-radius:50%;
  border:1px solid rgba(255,201,60,.25);
}

/* MICROPRINT — ticker tape at bottom */
.gt-microprint{
  position:relative; z-index:3;
  display:flex;
  padding:10px 0;
  border-top:1px dashed rgba(255,201,60,.22);
  background:rgba(2,17,47,.5);
  backdrop-filter:blur(10px);
  overflow:hidden;
  white-space:nowrap;
  font-family:'JetBrains Mono', monospace;
  font-size:8.5px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,201,60,.4);
}
.gt-microprint span{
  display:inline-block;
  padding-right:10px;
  animation:gtTicker 60s linear infinite;
}
@keyframes gtTicker{
  from{ transform:translateX(0) }
  to{ transform:translateX(-100%) }
}

/* ════════════════════════════════════════════════════════════════════
   MOBILE — Gift Ticket + Pricing cards
   ════════════════════════════════════════════════════════════════════ */
@media (max-width:900px){
  .gift-ticket .gt-body{
    grid-template-columns:1fr;
  }
  .gift-ticket .gt-perf{
    width:auto; height:1px;
    margin:0;
    flex-direction:row;
  }
  .gift-ticket .gt-perf-line{
    flex:1; width:auto; height:1px;
    background-image:linear-gradient(90deg, rgba(255,201,60,.45) 50%, transparent 50%);
    background-size:8px 1px;
    background-repeat:repeat-x;
  }
  .gift-ticket .gt-perf-notch{ width:20px; height:20px }
  .gift-ticket .gt-perf-notch-top{ margin-top:0; margin-left:-10px }
  .gift-ticket .gt-perf-notch-bottom{ margin-bottom:0; margin-right:-10px }
  .gift-ticket .gt-stub{
    border-left:0;
    border-top:1px solid rgba(255,201,60,.15);
    flex-direction:row;
    align-items:center;
    text-align:left;
    gap:18px;
    padding:24px 28px;
  }
  .gift-ticket .gt-stub-head{ flex:1 }
  .gift-ticket .gt-stub-barcode{ flex:1.2 }
  .gift-ticket .gt-stub-foot{ flex:0 0 auto; flex-direction:row; gap:12px }
  .gift-ticket .gt-stub-seal{ width:56px; height:56px; font-size:9px }
  .gift-ticket .gt-bc{ height:38px }
}

@media (max-width:640px){
  /* Featured card: no scale on mobile */
  .tariffe .price-card--featured{
    transform:none !important;
  }
  .tariffe .price-card--featured:hover{ transform:translateY(-4px) !important }
  .tariffe .pc-seal{
    width:72px; height:72px;
    top:-22px; left:-14px;
  }
  .tariffe .pc-seal-core{ font-size:18px }

  .tariffe .pc-tier-label .tier-num{
    width:52px; height:52px;
    border-radius:14px;
    font-size:28px !important;
  }

  /* Gift ticket mobile */
  .gift-ticket{ border-radius:18px }
  .gt-strip{ padding:16px 22px; gap:12px }
  .gt-medal{ width:32px; height:32px }
  .gt-brand-name{ font-size:12px }
  .gt-brand-sub{ font-size:8px; letter-spacing:.2em }
  .gt-strip-v{ font-size:16px }
  .gt-main{ padding:32px 24px; gap:14px }
  .gt-omaggio{
    font-size:clamp(44px, 14vw, 64px);
  }
  .gt-h-1{ font-size:13px; letter-spacing:.18em; margin-bottom:4px }
  .gt-h-2{ font-size:clamp(40px, 13vw, 60px) }
  .gt-sub{ font-size:14.5px; line-height:1.6 }
  .gt-info{
    grid-template-columns:1fr 1fr;
    gap:14px 0;
    padding:16px 0 2px;
  }
  .gt-info-cell{
    padding:0 12px;
    border-right:1px solid rgba(255,255,255,.06);
  }
  .gt-info-cell:nth-child(2n){ border-right:0 }
  .gt-info-cell:nth-child(3),
  .gt-info-cell:nth-child(4){
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.06);
  }
  .gt-info-v{ font-size:16px }
  .gt-stub{ padding:20px 22px; gap:14px }
  .gt-stub-title{ font-size:32px }
  .gt-microprint{ font-size:7.5px; letter-spacing:.2em }
}

@media (max-width:480px){
  .gt-stub{
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
  }
  .gt-stub-foot{
    width:100%;
    justify-content:space-between;
  }
  .gt-stub-barcode{ width:100% }
}

/* ════════════════════════════════════════════════════════════════════
   PRICING CARDS v5 — FORMULA-BASED LAYOUT (full redesign)
   Hide all the old .pc-tiers, .pc-feats, .pc-yearly remnants
   ════════════════════════════════════════════════════════════════════ */

/* Hide leftover legacy bits */
.tariffe .pc-tiers,
.tariffe .pc-yearly,
.tariffe .pc-feats{ display:none !important }

/* TARIFFE GRID — asymmetric (FULL has more content, gets more room)
   Equal-height cards via stretch */
.tariffe .tariffe-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:32px !important;
  align-items:stretch;
}
@media (max-width:980px){
  .tariffe .tariffe-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
}

/* Push the bottom block (Inclusi + CTA) to the bottom so card bases align */
.tariffe .price-card .pc-inclusi{
  margin-top:auto;
}
@media (max-width:900px){
  .tariffe .tariffe-grid{ grid-template-columns:1fr !important; gap:32px !important }
}

/* ── PRICE CARD shell — refined depth ── */
.tariffe .price-card{
  position:relative;
  isolation:isolate;
  display:flex; flex-direction:column;
  gap:28px;
  height:100%;
  align-self:stretch;
  padding:48px 42px 38px !important;
  border-radius:24px !important;
  background:
    linear-gradient(160deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 60%, rgba(255,255,255,.04) 100%),
    linear-gradient(180deg, rgba(2,17,47,.65) 0%, rgba(2,17,47,.35) 100%) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  backdrop-filter:blur(22px) saturate(1.3);
  box-shadow:
    0 60px 140px -40px rgba(0,0,0,.75),
    0 0 0 1px rgba(255,255,255,.04) inset,
    inset 0 1px 0 rgba(255,255,255,.07) !important;
  overflow:hidden;
}
.tariffe .price-card--featured{
  background:
    linear-gradient(160deg, rgba(255,201,60,.13) 0%, rgba(255,255,255,.03) 40%, rgba(60,120,220,.07) 100%),
    linear-gradient(180deg, rgba(2,17,47,.55) 0%, rgba(2,17,47,.2) 100%) !important;
  border:1px solid rgba(255,201,60,.45) !important;
  box-shadow:
    0 70px 160px -40px rgba(0,0,0,.85),
    0 0 0 1px rgba(255,201,60,.3) inset,
    0 0 0 2px rgba(255,201,60,.06),
    inset 0 1px 0 rgba(255,201,60,.2),
    0 0 160px -20px rgba(255,201,60,.4) !important;
}

/* PC HEAD — clean hierarchy */
.tariffe .price-card .pc-head{
  padding-bottom:24px !important;
  border-bottom:1px solid rgba(255,255,255,.1) !important;
  margin-bottom:0 !important;
  display:flex; flex-direction:column; gap:10px;
}
.tariffe .price-card .pc-head .pc-name{
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:clamp(40px, 5vw, 60px) !important;
  line-height:1;
  letter-spacing:.005em;
  color:#fff;
}
.tariffe .price-card--featured .pc-head .pc-name{
  background:linear-gradient(180deg, #FFE176 0%, #FFC93C 55%, #C8951F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 6px 28px rgba(255,201,60,.4));
}
.tariffe .price-card .pc-head .pc-tag{
  display:inline-flex; align-self:flex-start;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px !important;
  letter-spacing:.2em !important;
  text-transform:uppercase;
  color:rgba(255,255,255,.7) !important;
}
.tariffe .price-card--featured .pc-head .pc-tag{
  background:rgba(255,201,60,.1);
  border-color:rgba(255,201,60,.35);
  color:var(--gold, #FFC93C) !important;
}

/* ═══════════════════════════════════════════════════════════
   PRICE FORMULA — each frequency option
   ═══════════════════════════════════════════════════════════ */
.tariffe .pc-formulas{
  display:flex; flex-direction:column;
  gap:32px;
}
.tariffe .pc-formula-sep{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,201,60,.25), transparent);
}

.tariffe .pf{
  display:flex; flex-direction:column;
  gap:22px;
}

/* PF HEAD — frequency badge */
.tariffe .pf-head{
  display:flex; align-items:center; gap:18px;
}
.tariffe .pf-num{
  position:relative;
  width:72px; height:72px; flex-shrink:0;
  border-radius:20px;
  display:grid; place-items:center;
  font-family:'Anton', Impact, sans-serif;
  font-size:48px;
  line-height:1;
  background:
    linear-gradient(160deg, rgba(255,201,60,.22) 0%, rgba(255,201,60,.05) 100%);
  border:1px solid rgba(255,201,60,.4);
  color:var(--gold-hot, #FFE176);
  box-shadow:
    0 0 30px -8px rgba(255,201,60,.5),
    inset 0 1px 0 rgba(255,201,60,.25);
}
.tariffe .price-card--featured .pf-num{
  background:linear-gradient(160deg, rgba(255,201,60,.35) 0%, rgba(255,201,60,.1) 100%);
  border-color:rgba(255,201,60,.6);
}
.tariffe .pf-head-meta{
  display:flex; flex-direction:column; gap:4px;
}
.tariffe .pf-head-k{
  font-family:'Anton', Impact, sans-serif;
  font-weight:400;
  font-size:24px;
  line-height:1;
  letter-spacing:.01em;
  color:#fff;
  text-transform:uppercase;
}
.tariffe .pf-head-v{
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.tariffe .pf-head-cats{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:7px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold, #FFC93C);
  background:rgba(255,201,60,.1);
  border:1px solid rgba(255,201,60,.3);
  padding:4px 10px;
  border-radius:999px;
  white-space:nowrap;
}
.tariffe .pf-options{
  display:flex; flex-direction:column;
  gap:14px;
}

.tariffe .pf-opt{
  position:relative;
  padding:20px 22px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  transition:border-color .35s ease, background .35s ease, transform .35s ease;
}
.tariffe .pf-opt:hover{
  border-color:rgba(255,201,60,.3);
  background:linear-gradient(180deg, rgba(255,201,60,.04), rgba(255,255,255,.01));
}

.tariffe .pf-opt-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
  margin-bottom:8px;
}
.tariffe .pf-opt-dot{
  width:5px; height:5px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 8px rgba(255,201,60,.7);
}

/* Soluzione unica — hero price */
.tariffe .pf-opt-soluzione{
  border:1px solid rgba(255,201,60,.28);
  background:linear-gradient(160deg, rgba(255,201,60,.08), rgba(255,255,255,.01) 60%);
}
.tariffe .price-card--featured .pf-opt-soluzione{
  border-color:rgba(255,201,60,.45);
  background:linear-gradient(160deg, rgba(255,201,60,.12), rgba(255,255,255,.01) 60%);
  box-shadow:0 0 40px -10px rgba(255,201,60,.25), inset 0 0 0 1px rgba(255,201,60,.06);
}
.tariffe .pf-opt-soluzione .pf-opt-eyebrow{
  color:var(--gold, #FFC93C);
}
.tariffe .pf-price{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
}
.tariffe .pf-currency{
  font-family:'Inter Tight', sans-serif;
  font-size:24px;
  color:rgba(255,255,255,.6);
  align-self:flex-start;
  padding-top:14px;
}
.tariffe .pf-amount{
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(56px, 6.8vw, 82px);
  line-height:1;
  letter-spacing:-.015em;
  background:linear-gradient(180deg, #fff 0%, #DCE9F7 60%, #B4C8E1 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 24px rgba(0,0,0,.35));
}
.tariffe .price-card--featured .pf-amount{
  background:linear-gradient(180deg, #FFE176 0%, #FFC93C 55%, #C8951F 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 6px 28px rgba(255,201,60,.4));
}

/* OR divider */
.tariffe .pf-or{
  display:flex; align-items:center; gap:14px;
  padding:0 2px;
  margin:2px 0;
}
.tariffe .pf-or-line{
  flex:1; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}
.tariffe .pf-or-text{
  font-family:'JetBrains Mono', monospace;
  font-size:9.5px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
}

/* PF rates — vertical stacked rows for clarity & consistency across cards */
.tariffe .pf-rates{
  display:flex !important;
  flex-direction:column;
  gap:8px;
}
.tariffe .pf-rate{
  position:relative;
  display:flex !important;
  flex-direction:row;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(2,17,47,.45);
  border:1px solid rgba(255,255,255,.06);
  transition:border-color .25s ease, background .25s ease;
  min-height:auto;
}
.tariffe .pf-rate:hover{
  border-color:rgba(255,201,60,.3);
  background:rgba(255,201,60,.05);
}
.tariffe .pf-rate-num{
  width:28px;
  flex-shrink:0;
  font-family:'JetBrains Mono', monospace;
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,201,60,.85);
}
.tariffe .pf-rate-amt{
  flex:0 0 auto;
  font-family:'Anton', Impact, sans-serif;
  font-size:24px;
  line-height:1;
  letter-spacing:-.005em;
  color:#fff;
  margin-top:0;
}
.tariffe .pf-rate-note{
  flex:1;
  text-align:right;
  font-family:'JetBrains Mono', monospace;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-top:0;
}

/* ═══════════════════════════════════════════════════════════
   INCLUSI — perks block
   ═══════════════════════════════════════════════════════════ */
.tariffe .pc-inclusi{
  display:flex; flex-direction:column;
  gap:14px;
  padding-top:8px;
}
.tariffe .pc-inclusi-label{
  display:flex; align-items:center; gap:14px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,201,60,.85);
}
.tariffe .pc-inclusi-line{
  flex:1; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,201,60,.3), transparent);
}
.tariffe .pc-inclusi-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
@media (max-width:520px){
  .tariffe .pc-inclusi-grid{ grid-template-columns:1fr }
}
.tariffe .pc-perk{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  transition:border-color .25s ease;
}
.tariffe .pc-perk:hover{ border-color:rgba(255,201,60,.25) }
.tariffe .pc-perk-check{
  flex-shrink:0;
  width:24px; height:24px;
  border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(160deg, rgba(255,201,60,.22), rgba(255,201,60,.08));
  border:1px solid rgba(255,201,60,.4);
  color:var(--gold, #FFC93C);
  margin-top:2px;
  box-shadow:0 0 14px -4px rgba(255,201,60,.45);
}
.tariffe .pc-perk b{
  display:block;
  font-size:13.5px;
  color:#fff;
  font-weight:600;
  line-height:1.25;
  margin-bottom:2px;
}
.tariffe .pc-perk span{
  display:block;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.06em;
  color:rgba(255,255,255,.5);
}

/* CTA */
.tariffe .price-card .pc-cta{
  width:100%; justify-content:center;
  padding:18px 24px !important;
  font-size:14.5px !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  border-radius:14px !important;
  margin-top:6px;
}

/* ════════════════════════════════════════════════════════════════════
   UNIFIED CINEMATIC BACKGROUNDS
   Categorie / Tariffe / Contatti(Lead) / Lavora — same family
   ════════════════════════════════════════════════════════════════════ */

/* Shared base — keep each section distinct via different glow positions */
.cat,
.tariffe,
.lead-cinema,
.lavora{
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%) !important;
  color:#fff;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

/* Shared grain texture */
.cat::after,
.tariffe::after,
.lead-cinema::after,
.lavora::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.05;
  background-image:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 71% 64%, rgba(255,255,255,.6) 0, transparent 1px);
  background-size:3px 3px, 5px 5px;
}

/* Categorie — blue dominant, gold accent right */
.cat::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:1 !important;
  background:
    radial-gradient(ellipse 900px 600px at 5% 5%, rgba(60,120,220,.32), transparent 60%),
    radial-gradient(ellipse 700px 500px at 95% 100%, rgba(255,201,60,.16), transparent 60%) !important;
}

/* Tariffe — gold dominant top, blue bottom */
.tariffe::before{
  background:
    radial-gradient(ellipse 900px 600px at 88% 8%, rgba(255,201,60,.22), transparent 60%),
    radial-gradient(ellipse 1000px 700px at 12% 92%, rgba(60,120,220,.28), transparent 60%) !important;
}

/* Lead/Contatti — balanced, gold below */
.lead-cinema::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 900px 500px at 18% 18%, rgba(60,120,220,.28), transparent 60%),
    radial-gradient(ellipse 800px 500px at 85% 85%, rgba(255,201,60,.18), transparent 60%);
}

/* Lavora — opposite of Tariffe (blue top, gold bottom) */
.lavora::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 900px 600px at 12% 12%, rgba(60,120,220,.3), transparent 60%),
    radial-gradient(ellipse 1000px 700px at 88% 92%, rgba(255,201,60,.18), transparent 60%);
}

/* CATEGORIE — adapt to dark */
.cat .container{ position:relative; z-index:1 }
.cat .cat-head .section-label{ color:rgba(255,201,60,.85) !important }
.cat .cat-head h2{ color:#fff !important }
.cat .cat-head h2 .cat-accent{
  background:linear-gradient(180deg, #FFE176, #FFC93C 55%, #C8951F);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 24px rgba(255,201,60,.35));
}
.cat .cat-sub{ color:rgba(255,255,255,.7) !important }
.cat .cat-card{
  background:
    linear-gradient(160deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.01) 100%),
    linear-gradient(180deg, rgba(2,17,47,.4) 0%, rgba(2,17,47,.2) 100%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  backdrop-filter:blur(16px);
  box-shadow:
    0 40px 100px -40px rgba(0,0,0,.7),
    0 0 0 1px rgba(255,255,255,.04) inset,
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.cat .cat-card:hover{
  border-color:rgba(255,201,60,.3) !important;
  box-shadow:
    0 50px 120px -40px rgba(0,0,0,.85),
    0 0 0 1px rgba(255,201,60,.25) inset,
    inset 0 1px 0 rgba(255,201,60,.12),
    0 0 80px -10px rgba(255,201,60,.2) !important;
}

/* ════════════════════════════════════════════════════════════════════
   PRICING — Mobile pass
   ════════════════════════════════════════════════════════════════════ */
@media (max-width:760px){
  .tariffe .price-card{ padding:36px 26px 30px !important; gap:24px }
  .tariffe .price-card .pc-head .pc-name{ font-size:clamp(36px, 9vw, 46px) !important }
  .tariffe .pc-formulas{ gap:28px }
  .tariffe .pf-head{ gap:14px }
  .tariffe .pf-num{ width:58px; height:58px; font-size:38px; border-radius:16px }
  .tariffe .pf-head-k{ font-size:20px }
  .tariffe .pf-head-v{ font-size:9.5px }
  .tariffe .pf-opt{ padding:16px 18px }
  .tariffe .pf-amount{ font-size:clamp(48px, 13vw, 64px) }
  .tariffe .pf-currency{ font-size:20px; padding-top:10px }
  .tariffe .pf-rates{ gap:6px }
  .tariffe .pf-rate{ padding:11px 10px; min-height:72px }
  .tariffe .pf-rate-amt{ font-size:24px }
  .tariffe .pf-rate-num{ font-size:9px }
  .tariffe .pf-rate-note{ font-size:7.5px }
  .tariffe .pc-inclusi-grid{ grid-template-columns:1fr; gap:10px }
  .tariffe .pc-perk{ padding:10px 12px }
}

@media (max-width:520px){
  .tariffe .price-card{ padding:30px 20px 26px !important }
  .tariffe .pf-rates{
    grid-template-columns:1fr;
    gap:6px;
  }
  .tariffe .pf-rate{
    flex-direction:row; align-items:center;
    gap:12px;
    min-height:auto;
    padding:12px 14px;
  }
  .tariffe .pf-rate-num{ width:32px; flex-shrink:0 }
  .tariffe .pf-rate-amt{ flex:0 0 auto; font-size:22px }
  .tariffe .pf-rate-note{ flex:1; text-align:right }
}

/* ════════════════════════════════════════════════════════════════════
   PRICING CARD v6 — REFINED TOP AREA
   Removes the giant PY seal + repositions the badge inline
   ════════════════════════════════════════════════════════════════════ */

/* Kill legacy oversized top elements */
.tariffe .pc-seal,
.tariffe .pc-index,
.tariffe .featured-ribbon{ display:none !important }

/* Smaller, more elegant corner brackets */
.tariffe .price-card .pc-corner{
  width:14px !important; height:14px !important;
  top:18px !important;
  opacity:.4 !important;
  border-color:rgba(255,201,60,.3) !important;
  transition:opacity .35s ease, border-color .35s ease;
}
.tariffe .price-card .pc-corner-tr{ left:auto !important; right:18px !important }
.tariffe .price-card .pc-corner-bl{ top:auto !important; bottom:18px !important }
.tariffe .price-card .pc-corner-br{ top:auto !important; bottom:18px !important; left:auto !important; right:18px !important }
.tariffe .price-card:hover .pc-corner{
  opacity:.8 !important;
  border-color:rgba(255,201,60,.6) !important;
}
.tariffe .price-card--featured .pc-corner{
  opacity:.55 !important;
}

/* TOP META ROW — clean inline header */
.tariffe .price-card .pc-top{
  position:relative;
  display:flex; align-items:center; justify-content:space-between;
  gap:14px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,.07);
  margin-bottom:6px;
  min-height:24px;
}

/* Card identifier (left) */
.tariffe .pc-id{
  display:inline-flex; align-items:center; gap:9px;
  font-family:'JetBrains Mono', monospace;
  font-size:9.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
}
.tariffe .pc-id-dot{
  width:5px; height:5px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 8px rgba(255,201,60,.6);
}
.tariffe .price-card--featured .pc-id{
  color:rgba(255,201,60,.85);
}

/* "Scelta consigliata" pill — refined, integrated */
.tariffe .pc-pick{
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,201,60,.22), rgba(255,201,60,.08));
  border:1px solid rgba(255,201,60,.45);
  color:#fff;
  font-family:'JetBrains Mono', monospace;
  font-size:9.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:500;
  box-shadow:
    0 0 18px -4px rgba(255,201,60,.4),
    inset 0 1px 0 rgba(255,201,60,.18);
}
.tariffe .pc-pick svg{
  color:var(--gold-hot, #FFE176);
  filter:drop-shadow(0 0 4px rgba(255,201,60,.7));
}

/* Re-tune the card padding for the new clean top */
.tariffe .price-card{
  padding:36px 32px 32px !important;
}

/* PC HEAD — refined hierarchy, more air */
.tariffe .price-card .pc-head{
  padding-bottom:24px !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  gap:12px !important;
  margin-top:4px;
}
.tariffe .price-card .pc-head .pc-name{
  font-size:clamp(38px, 4.6vw, 52px) !important;
  letter-spacing:.005em;
}

/* No scale on featured anymore — looks cleaner */
.tariffe .price-card--featured{
  transform:none !important;
}
.tariffe .price-card--featured:hover{
  transform:translateY(-6px) !important;
}

/* Mobile refinement for top row */
@media (max-width:760px){
  .tariffe .price-card{ padding:32px 24px 28px !important }
  .tariffe .price-card .pc-corner{
    width:12px !important; height:12px !important;
    top:14px !important;
  }
  .tariffe .price-card .pc-corner-tr{ right:14px !important }
  .tariffe .price-card .pc-corner-bl{ bottom:14px !important }
  .tariffe .price-card .pc-corner-br{ bottom:14px !important; right:14px !important }
  .tariffe .price-card .pc-top{
    padding-bottom:18px;
    gap:10px;
  }
  .tariffe .pc-id{ font-size:9px; letter-spacing:.2em }
  .tariffe .pc-pick{
    padding:5px 10px;
    font-size:9px;
    letter-spacing:.2em;
  }
  .tariffe .pc-pick svg{ width:9px; height:9px }
}

@media (max-width:480px){
  .tariffe .price-card .pc-top{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
}

/* ════════════════════════════════════════════════════════════════════
   SECTIONS BACKGROUND — true cinematic unification
   Same gradients, same intensity, only position varies
   ════════════════════════════════════════════════════════════════════ */

/* Normalize: all 4 sections use the SAME base + SAME opacity glow palette */
.cat,
.tariffe,
.lead-cinema,
.lavora{
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%) !important;
}

/* Single shared glow recipe — same colors and intensity, only positions change */
.cat::before,
.tariffe::before,
.lead-cinema::before,
.lavora::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:1 !important;
}

/* Categorie — blue NW, gold SE */
.cat::before{
  background:
    radial-gradient(ellipse 900px 600px at 8% 8%, rgba(60,120,220,.28), transparent 60%),
    radial-gradient(ellipse 900px 600px at 92% 92%, rgba(255,201,60,.18), transparent 60%) !important;
}

/* Tariffe — gold NE, blue SW */
.tariffe::before{
  background:
    radial-gradient(ellipse 900px 600px at 92% 8%, rgba(255,201,60,.18), transparent 60%),
    radial-gradient(ellipse 900px 600px at 8% 92%, rgba(60,120,220,.28), transparent 60%) !important;
}

/* Lead/Contatti — blue NE, gold SW (rotated) */
.lead-cinema::before{
  background:
    radial-gradient(ellipse 900px 600px at 92% 12%, rgba(60,120,220,.28), transparent 60%),
    radial-gradient(ellipse 900px 600px at 8% 92%, rgba(255,201,60,.18), transparent 60%) !important;
}

/* Lavora — blue NW, gold SE (mirror of Categorie but flipped slightly) */
.lavora::before{
  background:
    radial-gradient(ellipse 900px 600px at 12% 8%, rgba(60,120,220,.28), transparent 60%),
    radial-gradient(ellipse 900px 600px at 88% 92%, rgba(255,201,60,.18), transparent 60%) !important;
}

/* Same grain texture for all */
.cat::after,
.tariffe::after,
.lead-cinema::after,
.lavora::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.05 !important;
  background-image:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 71% 64%, rgba(255,255,255,.6) 0, transparent 1px) !important;
  background-size:3px 3px, 5px 5px !important;
}

/* ════════════════════════════════════════════════════════════════════
   STRICT GLOBAL BACKGROUND SYSTEM
   All 4 sections (Categorie, Tariffe, Contatti, Lavora) share the
   IDENTICAL base + glow + grain. Zero variation.
   ════════════════════════════════════════════════════════════════════ */

/* IDENTICAL base */
.cat,
.tariffe,
.lead-cinema,
.lavora{
  background:linear-gradient(180deg, #03174A 0%, #02112F 100%) !important;
}

/* IDENTICAL ambient glow — same gradient, same positions, same opacity, everywhere */
.cat::before,
.tariffe::before,
.lead-cinema::before,
.lavora::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:1 !important;
  background:
    radial-gradient(ellipse 900px 600px at 12% 12%, rgba(60,120,220,.28), transparent 60%),
    radial-gradient(ellipse 900px 600px at 88% 88%, rgba(255,201,60,.18), transparent 60%) !important;
}

/* IDENTICAL grain — same texture, same opacity, same pattern */
.cat::after,
.tariffe::after,
.lead-cinema::after,
.lavora::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.05 !important;
  background-image:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 71% 64%, rgba(255,255,255,.6) 0, transparent 1px) !important;
  background-size:3px 3px, 5px 5px !important;
}

/* IDENTICAL section padding rhythm for visual continuity */
.cat,
.tariffe,
.lead-cinema,
.lavora{
  padding:120px 0 !important;
}

/* ════════════════════════════════════════════════════════════════════
   SECTION TITLES — softer hierarchy, less competing with Hero
   ════════════════════════════════════════════════════════════════════ */

/* Section eyebrow labels — uniform across all */
.cat .section-label,
.tariffe .tariffe-head .section-label,
.lead-cinema .lead-eyebrow,
.lavora .lavora-copy .section-label{
  font-size:11px !important;
  letter-spacing:.28em !important;
}

/* Section titles — drastic reduction */
.cat .cat-head h2{
  font-size:clamp(38px, 4.8vw, 64px) !important;
  line-height:.95 !important;
  letter-spacing:-.005em !important;
  margin-bottom:14px;
}
.tariffe .tariffe-head h2,
.lead-cinema .lead-title,
.lavora .lavora-title,
.famiglia .famiglia-title{
  font-size:clamp(40px, 5vw, 72px) !important;
  line-height:.95 !important;
  letter-spacing:-.005em !important;
}

/* Lead paragraphs — elegant, not loud */
.cat .cat-sub,
.tariffe .tariffe-head p,
.lead-cinema .lead-sub,
.lavora .lavora-lead{
  font-size:15.5px !important;
  line-height:1.65 !important;
}

/* More breathing room around section heads */
.cat .cat-head,
.tariffe .tariffe-head{
  margin-bottom:64px !important;
}
.lead-cinema .lead-cinema-head{ margin-bottom:64px !important }

/* Mobile titles */
@media (max-width:760px){
  .cat,
  .tariffe,
  .lead-cinema,
  .lavora{
    padding:80px 0 !important;
  }
  .cat .cat-head h2{
    font-size:clamp(22px, 6vw, 36px) !important;
    white-space:nowrap;
  }
  .tariffe .tariffe-head h2,
  .lead-cinema .lead-title,
  .lavora .lavora-title,
  .famiglia .famiglia-title{
    font-size:clamp(34px, 9vw, 52px) !important;
  }
  .cat .cat-head,
  .tariffe .tariffe-head,
  .lead-cinema .lead-cinema-head{
    margin-bottom:44px !important;
  }
  .cat .cat-sub,
  .tariffe .tariffe-head p,
  .lead-cinema .lead-sub,
  .lavora .lavora-lead{
    font-size:14.5px !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   FINAL UI FIXES
   ════════════════════════════════════════════════════════════════════ */

/* 1. Cat title — fix clipping of last letter (drop-shadow + gradient overflow) */
.cat .cat-head h2{
  padding:.06em .12em .12em !important;
  margin-left:-.12em !important;
  margin-right:-.12em !important;
  overflow:visible;
  white-space:nowrap;
  font-size:clamp(28px, 4.2vw, 56px) !important;
}
.cat .cat-head h2 .cat-accent{
  display:inline-block;
  padding-right:.08em;
  overflow:visible;
}
/* Ensure the centered cat-head allows the title to extend beyond its content box */
.cat .cat-head--centered{
  overflow:visible;
}
.cat-head--centered h2{ text-align:center }

/* 2. Tariffe background seam — smoother radial fade, no hard ring */
.cat::before,
.tariffe::before,
.lead-cinema::before,
.lavora::before{
  background:
    radial-gradient(ellipse 1100px 800px at 10% 8%, rgba(60,120,220,.26), transparent 75%),
    radial-gradient(ellipse 1100px 800px at 90% 92%, rgba(255,201,60,.16), transparent 75%) !important;
}

/* 3. Famiglia photo — more transparent so text reads cleanly */
.famiglia-photo{
  opacity:.55 !important;
  filter:contrast(1.02) saturate(.95) brightness(.7) !important;
}
.famiglia-photo-overlay{
  background:
    linear-gradient(180deg, rgba(2,17,47,.65) 0%, rgba(2,17,47,.35) 35%, rgba(2,17,47,.75) 100%),
    linear-gradient(95deg, rgba(2,17,47,.55) 0%, transparent 22%, transparent 78%, rgba(2,17,47,.55) 100%) !important;
}

/* 4. FULL card — formulas side by side, rates stacked vertically */
.tariffe .pc-formulas--row{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:16px;
  align-items:stretch;
  width:100%;
}
.tariffe .pc-formulas--row .pf{
  min-width:0;
  padding:22px 18px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.005));
  border:1px solid rgba(255,255,255,.06);
  gap:18px;
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
}
.tariffe .pc-formulas--row .pf::before{
  content:""; position:absolute; left:24px; right:24px; top:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,201,60,.25), transparent);
}
.tariffe .pc-formulas--row .pf-head{
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
}
.tariffe .pc-formulas--row .pf-num{
  width:56px; height:56px;
  font-size:36px;
  border-radius:14px;
}
.tariffe .pc-formulas--row .pf-head-meta{
  gap:2px;
  align-items:center;
  text-align:center;
}
.tariffe .pc-formulas--row .pf-head-k{
  font-size:16px;
  letter-spacing:.01em;
  white-space:nowrap;
}
.tariffe .pc-formulas--row .pf-head-v{
  font-size:9.5px;
  letter-spacing:.2em;
}
.tariffe .pc-formulas--row .pf-head-cats{
  align-self:center;
}
.tariffe .pc-formulas--row .pf-options{
  gap:12px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.tariffe .pc-formulas--row .pf-opt{
  padding:16px 18px;
}
.tariffe .pc-formulas--row .pf-opt-soluzione{
  display:flex; flex-direction:column;
  align-items:center;
  text-align:center;
}
.tariffe .pc-formulas--row .pf-opt-soluzione .pf-opt-eyebrow{
  justify-content:center;
}
.tariffe .pc-formulas--row .pf-opt-rate{
  display:flex;
  flex-direction:column;
  flex:1;
}
.tariffe .pc-formulas--row .pf-opt-rate .pf-opt-eyebrow{
  justify-content:center;
}
.tariffe .pc-formulas--row .pf-amount{
  font-size:clamp(44px, 5.5vw, 64px) !important;
}
.tariffe .pc-formulas--row .pf-currency{
  font-size:18px;
  padding-top:8px;
}
.tariffe .pc-formulas--row .pf-or{ margin:0 }
.tariffe .pc-formulas--row .pf-rates{
  grid-template-columns:1fr !important;
  gap:6px;
  flex:1;
  display:grid;
  align-content:start;
}
.tariffe .pc-formulas--row .pf-rate{
  flex-direction:row;
  align-items:center;
  gap:12px;
  min-height:auto;
  padding:11px 14px;
}
.tariffe .pc-formulas--row .pf-rate-num{
  width:28px;
  flex-shrink:0;
  font-size:10px;
}
.tariffe .pc-formulas--row .pf-rate-amt{
  flex:0 0 auto;
  font-size:22px;
  margin-top:0;
}
.tariffe .pc-formulas--row .pf-rate-note{
  flex:1;
  text-align:right;
  margin-top:0;
  font-size:8.5px;
}

/* Mobile: collapse formulas--row back to single column */
@media (max-width:760px){
  .tariffe .pc-formulas--row{
    grid-template-columns:1fr !important;
    gap:18px;
  }
  .tariffe .pc-formulas--row .pf{ padding:22px 20px }
  .tariffe .pc-formulas--row .pf-num{ width:50px; height:50px; font-size:30px }
  .tariffe .pc-formulas--row .pf-amount{ font-size:clamp(40px, 12vw, 54px) !important }
}

/* ════════════════════════════════════════════════════════════════════
   CONTINUOUS DARK CANVAS — Categorie → Footer share one surface
   Removes the per-section background "bands"
   ════════════════════════════════════════════════════════════════════ */

/* Apply the dark canvas to the body itself, behind everything */
body{
  background:linear-gradient(180deg, #03174A 0%, #02112F 60%, #02112F 100%) !important;
}

/* All sections from Categorie onwards: transparent — body shows through */
.cat,
.tariffe,
.lead-cinema,
.lead-wrap,
.lavora,
.footer{
  background:transparent !important;
}

/* Kill inner background layer divs that add per-section ambient
   (lead-bg / lavora-bg contain gradient + grid + glow overlays) */
.lavora .lavora-bg,
.lead-cinema .lead-bg,
.lead-wrap .lead-bg{
  display:none !important;
}

/* Kill per-section ambient overlays that created the visible halos/bands */
.cat::before,
.tariffe::before,
.lead-cinema::before,
.lead-wrap::before,
.lavora::before,
.cat::after,
.tariffe::after,
.lead-cinema::after,
.lead-wrap::after,
.lavora::after{
  display:none !important;
}

/* One global ambient atmosphere — fixed, so it doesn't move with scroll
   and creates a continuous cinematic mood across all the dark sections */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 1200px 800px at 12% 30%, rgba(60,120,220,.18), transparent 70%),
    radial-gradient(ellipse 1200px 800px at 88% 70%, rgba(255,201,60,.10), transparent 70%);
  opacity:1;
}
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.04;
  background-image:
    radial-gradient(circle at 22% 32%, rgba(255,255,255,.7) 0, transparent 1px),
    radial-gradient(circle at 71% 64%, rgba(255,255,255,.6) 0, transparent 1px);
  background-size:3px 3px, 5px 5px;
}

/* Content stays above body-level ambient layers */
#root{ position:relative; z-index:1 }

/* ════════════════════════════════════════════════════════════════════
   LAVORA CON NOI — title on top, full-width horizontal form
   ════════════════════════════════════════════════════════════════════ */

.lavora .container{ max-width:1100px; position:relative; z-index:1 }

/* Centered top head — replaces the old 2-col grid */
.lavora .lavora-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 56px;
  display:flex; flex-direction:column;
  align-items:center;
  gap:18px;
}
.lavora .lavora-head .section-label{
  margin:0 !important;
  color:rgba(255,255,255,.7) !important;
}
.lavora .lavora-head .lavora-title{
  text-align:center;
  margin:0 !important;
  text-wrap:balance;
}
.lavora .lavora-head .lavora-lead{
  margin:0 auto !important;
  max-width:58ch !important;
  text-align:center;
  color:rgba(255,255,255,.78) !important;
}
.lavora .lavora-head .lavora-badges{
  justify-content:center;
  margin-top:6px;
}

/* Full-width card */
.lavora-card.lavora-card--wide{
  max-width:none;
  width:100%;
}
.lavora-card.lavora-card--wide .lavora-card-inner{
  padding:36px 36px 30px !important;
}

/* JOB FORM — horizontal grid layout on desktop */
.lavora .job-form{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:22px 24px;
}
/* Full-width rows */
.lavora .job-form > .jf-row-2,
.lavora .job-form > .jf-select,
.lavora .job-form > .jf-consent,
.lavora .job-form > .jf-error,
.lavora .job-form > .jf-submit{
  grid-column:1 / -1;
}
/* Email field alone on its row */
.lavora .job-form > .jf-field:not(.jf-select):not(.jf-textarea){
  grid-column:1 / -1;
}
/* Presentazione + Esperienza side by side */
.lavora .job-form > .jf-textarea{
  grid-column:span 1;
}

/* MOBILE — collapse to single column */
@media (max-width:760px){
  .lavora .container{ padding-left:18px !important; padding-right:18px !important }
  .lavora .lavora-head{ margin-bottom:40px; gap:14px }
  .lavora .job-form{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .lavora .job-form > .jf-textarea{
    grid-column:1 / -1 !important;
  }
  .lavora-card.lavora-card--wide .lavora-card-inner{
    padding:26px 22px 24px !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   UNIFIED SECTION EYEBROW — same pill chip as Famiglia, all sections
   ════════════════════════════════════════════════════════════════════ */
.section-pill-eyebrow{
  display:inline-flex !important;
  align-items:center;
  gap:14px;
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold, #FFC93C);
  background:rgba(255,201,60,.08);
  border:1px solid rgba(255,201,60,.28);
  padding:10px 18px;
  border-radius:999px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  margin:0 0 28px !important;
  width:fit-content;
  align-self:flex-start;
}
.section-pill-eyebrow .dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--gold, #FFC93C);
  box-shadow:0 0 12px var(--gold, #FFC93C);
  animation:pulse 1.6s infinite;
  flex:none;
}
.section-pill-eyebrow .sep{
  color:rgba(255,255,255,.3);
  margin:0 -4px;
}
.section-pill-eyebrow .dim{
  color:rgba(255,255,255,.6);
  letter-spacing:.18em;
}

/* ─── CATEGORIE — left-aligned head with new title ─── */
.cat .cat-head.cat-head--left{
  align-items:flex-start !important;
  text-align:left !important;
  max-width:none !important;
  margin-bottom:64px !important;
  display:flex;
  flex-direction:column;
}
.cat .cat-head--left .cat-title{
  font-family:'Anton', Impact, sans-serif !important;
  font-weight:400 !important;
  text-transform:uppercase;
  color:#fff !important;
  text-align:left !important;
  margin:0 !important;
  padding:0 !important;
  font-size:clamp(56px, 9vw, 148px) !important;
  line-height:.9 !important;
  letter-spacing:-.012em !important;
  white-space:normal !important;
  overflow:visible !important;
  text-wrap:balance;
  max-width:14ch;
}
.cat .cat-head--left .cat-title .ct-line{
  display:block;
}
.cat .cat-head--left .cat-title .ct-line-accent{
  background:linear-gradient(180deg, #FFE17A 0%, #FFC93C 55%, #C8951F 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  filter:drop-shadow(0 4px 24px rgba(255,201,60,.28));
  padding:0 .04em .08em 0;
}
.cat .cat-head--left .cat-sub{
  text-align:left !important;
  margin:22px 0 0 !important;
  max-width:58ch !important;
}

/* Neutralize previous broken cat-accent rules when using new title */
.cat .cat-head--left .cat-title,
.cat .cat-head--left .cat-title *{
  white-space:normal !important;
}

@media (max-width:760px){
  .cat .cat-head--left .cat-title{
    font-size:clamp(40px, 12vw, 72px) !important;
    line-height:.92 !important;
    max-width:none;
  }
  .cat .cat-head--left{ margin-bottom:40px !important }
}

/* ─── TARIFFE — left-aligned head ─── */
.tariffe .tariffe-head.tariffe-head--left{
  text-align:left !important;
  margin-bottom:56px !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.tariffe .tariffe-head--left h2{
  text-align:left !important;
  margin:0 !important;
  font-family:'Anton', Impact, sans-serif !important;
  font-weight:400 !important;
  text-transform:uppercase;
  color:#fff !important;
  font-size:clamp(56px, 8.4vw, 132px) !important;
  line-height:.9 !important;
  letter-spacing:-.012em !important;
}
.tariffe .tariffe-head--left .accent-word{
  background:linear-gradient(180deg, #FFE17A 0%, #FFC93C 55%, #C8951F 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  filter:drop-shadow(0 4px 24px rgba(255,201,60,.28));
}
.tariffe .tariffe-head--left .cat-sub{
  text-align:left !important;
  margin:22px 0 0 !important;
  max-width:58ch !important;
}
@media (max-width:760px){
  .tariffe .tariffe-head--left h2{
    font-size:clamp(40px, 11vw, 72px) !important;
  }
}

/* ─── LAVORA — left-aligned head ─── */
.lavora .lavora-head.lavora-head--left{
  text-align:left !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  align-items:flex-start !important;
}
.lavora .lavora-head--left .lavora-title{
  text-align:left !important;
  margin:0 !important;
}
.lavora .lavora-head--left .lavora-lead{
  text-align:left !important;
  margin:14px 0 0 !important;
  max-width:62ch !important;
}
.lavora .lavora-head--left .lavora-badges{
  justify-content:flex-start !important;
}

/* ════════════════════════════════════════════════════════════════════
   UNIFIED SECTION TITLE SIZE — all section H2s match Famiglia title
   ════════════════════════════════════════════════════════════════════ */
.famiglia .famiglia-title,
.cat .cat-head--left .cat-title,
.tariffe .tariffe-head--left h2,
.lead-cinema .lead-title,
.lavora .lavora-head--left .lavora-title{
  font-family:'Anton', Impact, sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(48px, 7vw, 112px) !important;
  line-height:.92 !important;
  letter-spacing:-.012em !important;
  text-transform:uppercase;
}
@media (max-width:760px){
  .famiglia .famiglia-title,
  .cat .cat-head--left .cat-title,
  .tariffe .tariffe-head--left h2,
  .lead-cinema .lead-title,
  .lavora .lavora-head--left .lavora-title{
    font-size:clamp(38px, 10vw, 64px) !important;
    line-height:.94 !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   FAMIGLIA — full-width copy + softer photo + seamless seam → Categorie
   ════════════════════════════════════════════════════════════════════ */

/* 1. Softer photo behind text (slightly more transparent) */
.famiglia-photo{
  opacity:.42 !important;
  filter:contrast(1.02) saturate(.92) brightness(.72) !important;
}
/* Lighter overlay — keep text legible without crushing the image */
.famiglia-photo-overlay{
  background:
    linear-gradient(180deg, rgba(2,17,47,.55) 0%, rgba(2,17,47,.28) 38%, rgba(2,17,47,.72) 100%),
    linear-gradient(95deg, rgba(2,17,47,.45) 0%, transparent 22%, transparent 78%, rgba(2,17,47,.45) 100%) !important;
}

/* 2. Text takes full page — break the container max-width */
.famiglia .container.famiglia-wrap{
  max-width:none !important;
  padding-left:clamp(24px, 6vw, 96px) !important;
  padding-right:clamp(24px, 6vw, 96px) !important;
}
.famiglia .famiglia-manifesto-copy{
  max-width:none !important;
}
.famiglia .famiglia-title{
  max-width:none !important;
}
.famiglia .famiglia-para{
  max-width:78ch !important;
}

/* 3. Seamless continuity Famiglia → Categorie (without touching Categorie bg) */
.famiglia{
  margin-bottom:0 !important;
  padding-bottom:clamp(120px, 14vh, 200px) !important;
}
/* Bottom fade overlay — photo dissolves into Categorie's #02112F */
.famiglia .famiglia-bg::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:38%;
  background:linear-gradient(180deg,
    rgba(2,17,47,0) 0%,
    rgba(2,17,47,.6) 45%,
    rgba(2,17,47,.95) 80%,
    #02112F 100%);
  pointer-events:none;
  z-index:3;
}
/* Categorie sits flush against famiglia (no top padding bump that would break the flow) */
.famiglia + .cat{
  margin-top:0 !important;
}
