/* ============================================================
   HUMAN COATED — LANDING PAGE
   Light editorial canvas. Brand colors + fonts only.
   ============================================================ */

:root{
  --paper:#ffffff;
  --paper-2:#e9e6df;
  --lp-ink:#141312;
  --lp-ink-2:#54514c;
  --line:rgba(20,19,18,.14);
}

/* page runs on a light canvas */
body.hc{background:var(--paper);color:var(--lp-ink);}
.lp-wrap{max-width:1280px;margin:0 auto;padding:0 56px;}

/* shared type ----------------------------------------------- */
.lp-eyebrow{
  font-family:var(--text);text-transform:uppercase;letter-spacing:.32em;
  font-size:12.5px;color:var(--red);display:inline-flex;align-items:center;gap:14px;
}
.lp-eyebrow::before{content:"";width:30px;height:2px;background:var(--red);display:inline-block;}
.lp-eyebrow.no-rule::before{display:none;}

.lp-display{
  font-family:var(--head);font-weight:800;letter-spacing:-.03em;line-height:.96;
  font-size:clamp(46px,7.6vw,124px);text-wrap:balance;
}
.lp-h2{
  font-family:var(--head);font-weight:800;letter-spacing:-.025em;line-height:1.02;
  font-size:clamp(34px,4.8vw,72px);text-wrap:balance;
}
.lp-lead{
  font-family:var(--text);font-size:clamp(17px,1.25vw,20px);line-height:1.6;
  color:var(--lp-ink-2);text-wrap:pretty;
}

/* ============ HERO — cinematic full-bleed ============ */
.lp-hero{
  position:relative;min-height:100vh;background:#000;overflow:hidden;
  display:flex;align-items:flex-end;padding-bottom:96px;
}
.lp-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.lp-hero-bg img{position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;animation:lpZoom 22s ease-out forwards;}
@keyframes lpZoom{from{transform:scale(1);}to{transform:scale(1.12);}}
.lp-hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 38%,rgba(0,0,0,.30) 64%,rgba(0,0,0,.88) 100%);}
.lp-hero-text{
  position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:0 56px;
}
.lp-hero .lp-eyebrow{color:var(--red);}
.lp-hero h1{
  font-family:var(--head);font-weight:800;letter-spacing:-.025em;line-height:1.04;
  font-size:clamp(40px,6.1vw,98px);color:#fff;margin-top:34px;text-wrap:balance;max-width:14ch;
}
.lp-hero h1 em{font-style:normal;color:#fff;}
.lp-scroll{
  display:flex;align-items:center;gap:16px;margin-top:54px;
  font-family:var(--text);text-transform:uppercase;letter-spacing:.28em;font-size:12px;
  color:rgba(255,255,255,.6);
}
.lp-scroll .ln{width:54px;height:1px;background:rgba(255,255,255,.5);position:relative;overflow:hidden;}
.lp-scroll .ln::after{content:"";position:absolute;inset:0;background:var(--red);
  transform:translateX(-100%);animation:lpSweep 2.6s ease-in-out infinite;}
@keyframes lpSweep{0%{transform:translateX(-100%);}55%{transform:translateX(0);}100%{transform:translateX(100%);}}

/* ============ DEFINIZIONE — cinematic scenes ============ */
.hc-eyebrow{
  font-family:var(--text);text-transform:uppercase;
  font-size:14px;letter-spacing:.36em;color:var(--red);margin-bottom:34px;
}
.hc-frag{
  font-family:var(--head);font-weight:800;
  font-size:clamp(32px,4.7vw,68px);line-height:1.08;letter-spacing:-.022em;
  color:var(--lp-ink);text-wrap:balance;
}
.hc-lead{
  font-family:var(--text);font-size:17px;line-height:1.62;
  color:var(--lp-ink-2);max-width:34em;margin-top:30px;
}
.hc-scene{
  position:relative;min-height:100vh;display:flex;align-items:center;
  padding:140px 0;overflow:hidden;background:var(--paper);
}
.hc-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;}
.hc-split.media-left .hc-col-text{order:2;}
.hc-split.media-left .hc-col-media{order:1;}
.hc-media{position:relative;aspect-ratio:4/5;width:100%;}
.hc-media img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;}
.hc-bleed{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--paper);}
.hc-bleed .bg{position:absolute;inset:0;z-index:0;}
.hc-bleed .bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(1.55) contrast(.92);}
.hc-bleed::after{content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(125% 125% at 50% 45%,rgba(255,255,255,.74),rgba(255,255,255,.94));}
.hc-bleed .wrap{position:relative;z-index:2;text-align:center;}
.hc-bleed .hc-frag{max-width:18ch;margin:0 auto;}
.hc-rise{opacity:0;transform:translateY(40px);
  transition:opacity 1.15s cubic-bezier(.16,.7,.2,1),transform 1.15s cubic-bezier(.16,.7,.2,1);}
.hc-rise.in{opacity:1;transform:none;}
.hc-rise.d1{transition-delay:.12s;} .hc-rise.d2{transition-delay:.24s;} .hc-rise.d3{transition-delay:.36s;}
@media (prefers-reduced-motion:reduce){.hc-rise{opacity:1;transform:none;transition:none;}}
@media (max-width:980px){
  .hc-split{grid-template-columns:1fr;gap:44px;min-height:auto;}
  .hc-split.media-left .hc-col-text,.hc-split.media-left .hc-col-media{order:initial;}
  .hc-scene{padding:96px 0;min-height:auto;}
  .hc-media{aspect-ratio:4/3;}
  .hc-bleed{min-height:80vh;}
}

/* ============ NAME REVEAL — black punctuation ============ */
.lp-reveal{
  background:var(--lp-ink);color:#fff;text-align:center;
  padding:clamp(110px,16vw,200px) 0;
}
.lp-reveal .lead-in{
  font-family:var(--head);font-weight:800;letter-spacing:-.02em;line-height:1.08;
  font-size:clamp(26px,3.4vw,48px);color:#fff;max-width:18ch;margin:0 auto;text-wrap:balance;
}
.lp-reveal .lead-in .accent{color:var(--red);}
.lp-reveal .pre{
  display:block;font-family:var(--text);text-transform:uppercase;letter-spacing:.3em;
  font-size:13px;color:rgba(255,255,255,.55);margin:84px 0 22px;
}
.lp-reveal .big{
  display:block;font-family:var(--head);font-weight:800;line-height:.92;letter-spacing:-.04em;
  font-size:clamp(58px,13vw,210px);color:#fff;
}
.lp-reveal .big .red{color:var(--red);}

/* ============ REASON WHY — full-bleed, red gradient ============ */
.lp-reason{position:relative;min-height:auto;display:flex;align-items:center;justify-content:center;
  overflow:hidden;color:#fff;padding:clamp(110px,14vw,160px) 0;}
.lp-reason .bg{position:absolute;inset:0;z-index:0;}
.lp-reason .bg img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) contrast(.95);}
.lp-reason::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(237,28,36,.93) 0%,rgba(190,20,25,.95) 48%,rgba(120,12,16,.96) 100%);}
.lp-reason .lp-wrap{position:relative;z-index:2;max-width:1020px;text-align:center;}
.lp-reason .lp-eyebrow{color:#fff;justify-content:center;font-size:14px;letter-spacing:.36em;margin-bottom:38px;}
.lp-reason .lp-eyebrow::before{display:none;}
.lp-reason p:not(.lp-eyebrow){
  font-family:var(--text);font-weight:400;letter-spacing:0;line-height:1.62;
  font-size:17px;color:#fff;max-width:46em;margin:0 auto;text-wrap:pretty;}
.lp-reason p .out{color:#fff;font-weight:700;}

/* ============ LEVELS — light card grid ============ */
.lp-levels{padding:clamp(96px,12vw,150px) 0;}
.lp-levels-head{max-width:none;margin-bottom:72px;}
.lp-levels-head .lp-h2{margin-top:30px;max-width:16ch;font-size:clamp(40px,6vw,92px);}
.lp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);}
.lp-card{
  position:relative;padding:46px 44px 52px;border-bottom:1px solid var(--line);
}
.lp-card:nth-child(odd){border-right:1px solid var(--line);}
.lp-card .num{
  font-family:var(--head);font-weight:800;font-size:clamp(48px,5vw,82px);line-height:1;
  color:var(--paper-2);-webkit-text-stroke:1.5px rgba(20,19,18,.22);letter-spacing:-.04em;
}
.lp-card.on .num{color:var(--red);-webkit-text-stroke:0;}
.lp-card h3{
  font-family:var(--head);font-weight:800;letter-spacing:-.01em;
  font-size:clamp(26px,2.4vw,38px);color:var(--lp-ink);margin:24px 0 16px;
}
.lp-card p{margin:0;max-width:30em;}
.lp-card .bar{position:absolute;left:0;top:-1px;width:0;height:4px;background:var(--red);transition:width .6s cubic-bezier(.16,.7,.2,1);}
.lp-card.on .bar{width:64px;}

/* ============ COURAGE + MOODBOARD ============ */
.lp-courage{background:var(--lp-ink);color:#fff;padding:clamp(96px,12vw,150px) 0 0;}
.lp-courage .lp-eyebrow{color:var(--red);}
.lp-courage .lp-h2{color:#fff;max-width:16ch;margin-top:30px;}
.lp-courage .lp-lead{color:rgba(255,255,255,.74);max-width:52em;margin-top:34px;}

.lp-mood{
  display:grid;gap:12px;margin-top:90px;padding:0 56px clamp(96px,12vw,150px);
  grid-template-columns:repeat(6,1fr);grid-auto-rows:13vw;grid-auto-flow:dense;
}
.lp-mood .mt{position:relative;overflow:hidden;background:#0c0c0c;margin:0;}
.lp-mood .mt img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,.7,.2,1);}
.lp-mood .mt:hover img{transform:scale(1.06);}
.lp-mood .mt.mt-zoom img{transform:scale(1.14);}
.lp-mood .mt.mt-zoom:hover img{transform:scale(1.2);}
.lp-mood .mt figcaption{
  position:absolute;left:18px;bottom:15px;z-index:2;
  font-family:var(--text);text-transform:uppercase;letter-spacing:.2em;font-size:11.5px;color:#fff;
  opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease;
  text-shadow:0 1px 12px rgba(0,0,0,.7);
}
.lp-mood .mt::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.62));opacity:0;transition:opacity .5s ease;}
.lp-mood .mt:hover::after{opacity:1;}
.lp-mood .mt:hover figcaption{opacity:1;transform:none;}
.mt-a{grid-column:span 3;grid-row:span 3;}
.mt-b{grid-column:span 2;grid-row:span 2;}
.mt-c{grid-column:span 1;grid-row:span 2;}
.mt-d{grid-column:span 2;grid-row:span 2;}
.mt-e{grid-column:span 1;grid-row:span 2;}
.mt-f{grid-column:span 2;grid-row:span 3;}
.mt-g{grid-column:span 2;grid-row:span 2;}
.mt-h{grid-column:span 2;grid-row:span 2;}
.mt-i{grid-column:span 2;grid-row:span 2;}
.mt-fill{grid-column:span 1;grid-row:span 1;}
.mt-j,.mt-k{grid-column:span 2;grid-row:span 2;}
.lp-mood-note{font-family:var(--text);font-size:13.5px;color:rgba(255,255,255,.45);
  margin:36px 56px 0;letter-spacing:.02em;}

/* ============ CLOSE — reels + roads (light) ============ */
.lp-close{padding:clamp(96px,12vw,150px) 0;}
.lp-close .sig{font-family:var(--text);text-transform:uppercase;letter-spacing:.3em;font-size:13px;color:var(--red);}
.lp-close .lp-h2{margin:34px 0 30px;max-width:20ch;}
.lp-close .lp-lead{max-width:46em;}

.lp-reel-block{margin-top:80px;}
.lp-reel-label{font-family:var(--text);text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--lp-ink-2);margin-bottom:28px;}
.lp-reel-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:920px;}
.lp-reel{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;background:#0c0c0c;text-decoration:none;}
.lp-reel img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,.7,.2,1);}
.lp-reel:hover img{transform:scale(1.05);}
.lp-reel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,0) 36%,rgba(0,0,0,.78) 100%);}
.lp-reel .play{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:3;pointer-events:none;
  width:70px;height:70px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 40px rgba(237,28,36,.4);transition:transform .3s ease,background .3s ease;}
.lp-reel:hover .play{transform:translate(-50%,-50%) scale(1.08);background:#ff2730;}
.lp-reel .play svg{width:26px;height:26px;margin-left:5px;}
.lp-reel .meta{position:absolute;left:20px;right:20px;bottom:20px;z-index:3;display:flex;flex-direction:column;gap:5px;pointer-events:none;}
.lp-reel .meta .nm{font-family:var(--head);font-weight:700;font-size:21px;color:#fff;}
.lp-reel .meta .rl{font-family:var(--text);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:rgba(255,255,255,.8);}

.lp-roads{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:96px;border-top:1px solid var(--line);}
.lp-road{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:36px 6px;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .35s ease;}
.lp-road:not(:nth-child(3n)){border-right:1px solid var(--line);padding-right:30px;}
.lp-road:hover{padding-left:16px;}
.lp-road .rl{font-family:var(--head);font-weight:700;font-size:clamp(18px,1.4vw,23px);color:var(--lp-ink);line-height:1.12;letter-spacing:-.01em;max-width:12ch;}
.lp-road .circle{width:50px;height:50px;border-radius:50%;background:var(--red);flex:none;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background .3s ease;}
.lp-road:hover .circle{transform:translateX(5px);background:#ff2730;}
.lp-road .circle svg{width:21px;height:21px;}

/* ============ FLOATING CTA ============ */
.lp-fab{
  position:fixed;right:26px;bottom:26px;z-index:80;
  display:inline-flex;align-items:center;gap:12px;
  background:var(--red);color:#fff;font-family:var(--text);font-size:16px;
  padding:14px 26px;border-radius:40px;text-decoration:none;
  box-shadow:0 14px 40px rgba(237,28,36,.36);
  opacity:0;transform:translateY(20px);pointer-events:none;
  transition:opacity .45s ease,transform .45s ease,background .25s ease;
}
.lp-fab.show{opacity:1;transform:none;pointer-events:auto;}
.lp-fab:hover{background:#ff2730;}
.lp-fab svg{width:18px;height:18px;}

/* reveal on scroll */
.lp-rise{opacity:0;transform:translateY(34px);
  transition:opacity 1s cubic-bezier(.16,.7,.2,1),transform 1s cubic-bezier(.16,.7,.2,1);}
.lp-rise.in{opacity:1;transform:none;}
.lp-rise.d1{transition-delay:.1s;} .lp-rise.d2{transition-delay:.2s;} .lp-rise.d3{transition-delay:.3s;}
@media (prefers-reduced-motion:reduce){
  .lp-rise{opacity:1;transform:none;transition:none;}
  .lp-hero-bg img{animation:none;}
  .lp-scroll .ln::after{animation:none;}
}

/* responsive */
@media (max-width:980px){
  .lp-wrap{padding:0 30px;}
  .lp-hero{padding-bottom:64px;}
  .lp-hero-text{padding:0 30px;}
  .lp-grid{grid-template-columns:1fr;}
  .lp-card{border-right:none !important;padding:38px 0;}
  .lp-mood{grid-auto-rows:24vw;padding:0 30px clamp(80px,12vw,120px);}
  .mt-a{grid-column:span 4;grid-row:span 2;}
  .mt-b,.mt-d,.mt-f,.mt-g,.mt-h,.mt-i,.mt-j,.mt-k{grid-column:span 3;grid-row:span 2;}
  .mt-c,.mt-e{grid-column:span 3;grid-row:span 2;}
  .lp-mood-note{margin:30px 30px 0;}
  .lp-roads{grid-template-columns:1fr;}
  .lp-road{border-right:none !important;padding-right:6px;}
}
@media (max-width:560px){
  .lp-mood{grid-template-columns:1fr;grid-auto-rows:62vw;}
  .lp-mood .mt{grid-column:span 1 !important;grid-row:span 1 !important;}
  .lp-mood .mt figcaption{opacity:1;transform:none;}
  .lp-reel-row{grid-template-columns:1fr;max-width:360px;gap:22px;}
  .lp-fab{right:16px;bottom:16px;font-size:15px;padding:12px 20px;}
}
