/*
Theme Name: Coppia Evolutiva
Theme URI: https://coppiaevolutiva.it
Author: Sahra Rossi & Alessandro Cicognani
Description: Tema custom per il sito Coppia Evolutiva.
Version: 1.0
Text Domain: coppia-evolutiva
*/


  :root{
    --petrol:#1B3A46;
    --petrol-deep:#122831;
    --gold:#B8863E;
    --gold-soft:#CDA05E;
    --ivory:#FBF8F1;
    --sand:#EFE6D3;
    --warmwhite:#FFFEFB;
    --ink:#1C2B2F;
    --line: rgba(184,134,62,0.4);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  ::selection{ background:var(--gold); color:var(--warmwhite); }
  ::-webkit-scrollbar{ width:9px; }
  ::-webkit-scrollbar-track{ background:var(--ivory); }
  ::-webkit-scrollbar-thumb{ background:var(--gold); border-radius:0; }
  ::-webkit-scrollbar-thumb:hover{ background:var(--petrol); }
  html{ scrollbar-color:var(--gold) var(--ivory); scrollbar-width:thin; }
  body{
    font-family:'Public Sans', sans-serif;
    background:var(--warmwhite);
    color:var(--ink);
    line-height:1.7;
    font-weight:300;
    overflow-x:hidden;
  }
  h1,h2,h3{ font-family:'Fraunces', serif; font-weight:400; letter-spacing:-0.01em; }
  .nav-serif{ font-family:'Cormorant Garamond', serif; font-style:italic; }
  .eyebrow{
    font-family:'Public Sans', sans-serif; text-transform:uppercase;
    letter-spacing:0.18em; font-size:0.98rem; font-weight:600;
    color:var(--gold); margin-bottom:1.3rem; display:block;
    position:relative; padding-left:2.4rem;
  }
  .eyebrow::before{
    content:''; position:absolute; left:0; top:50%; width:1.7rem; height:1px;
    background:var(--gold); transform:translateY(-50%);
  }
  .center .eyebrow, .manifesto .eyebrow, .energia .eyebrow, .contatti .eyebrow{ padding-left:0; }
  .center .eyebrow::before, .manifesto .eyebrow::before, .energia .eyebrow::before, .contatti .eyebrow::before{ display:none; }
  section{ position:relative; }
  .pad{ padding:7rem 7vw; }
  @media(max-width:700px){ .pad{padding:5rem 6vw;} }
  .wrap{ max-width:760px; margin:0 auto; }
  .wrap.wide{ max-width:1240px; }
  .center{ text-align:center; margin-left:auto; margin-right:auto; }

  /* HEADER */
  header{
    position:fixed; top:0; left:0; right:0; z-index:60;
    display:flex; align-items:center; justify-content:space-between;
    padding:1.7rem 7vw;
  }
  header.solid{ background:rgba(251,248,241,0.86); backdrop-filter:blur(10px); box-shadow:0 1px 0 rgba(27,58,70,0.08); }
  header .brand{ display:flex; align-items:center; gap:0.85rem; text-decoration:none; }
  header .brand img{ height:56px; width:auto; }
  header .brand span{
    font-family:'Jost', sans-serif; font-weight:400; font-size:1.25rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--gold);
  }
  /* wordmark stays gold in both header states for legibility */
  nav{ display:none; gap:2.6rem; font-size:1rem; }
  nav a{ position:relative; color:inherit; text-decoration:none; opacity:0.78; transition:opacity 0.3s ease; padding-bottom:2px; }
  nav a:not(.cta-btn)::after{
    content:''; position:absolute; left:50%; right:50%; bottom:-2px; height:1px;
    background:currentColor; transition:left 0.35s cubic-bezier(0.16,1,0.3,1), right 0.35s cubic-bezier(0.16,1,0.3,1);
  }
  nav a:not(.cta-btn):hover::after{ left:0; right:0; }
  nav a:hover{ opacity:1; }
  @media(min-width:1150px){ nav{display:flex; align-items:center;} }

  /* MOBILE MENU — hamburger + slide-down panel */
  .menu-toggle{
    display:flex; flex-direction:column; justify-content:center; gap:5px;
    width:34px; height:28px; background:none; border:none; cursor:pointer; padding:0; z-index:70;
  }
  @media(min-width:1150px){ .menu-toggle{ display:none; } }
  .menu-toggle span{ display:block; height:2px; width:100%; background:var(--gold); transition:all 0.35s cubic-bezier(0.16,1,0.3,1); }
  .menu-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .menu-toggle.open span:nth-child(2){ opacity:0; }
  .menu-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .mobile-nav{
    position:fixed; top:0; left:0; right:0; z-index:65;
    background:var(--petrol-deep); color:var(--warmwhite);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2.2rem;
    padding:0 2rem; height:0; overflow:hidden;
    transition:height 0.5s cubic-bezier(0.16,1,0.3,1), padding 0.5s cubic-bezier(0.16,1,0.3,1);
    visibility:hidden;
  }
  .mobile-nav.open{ height:100vh; padding:6rem 2rem 3rem; visibility:visible; }
  .mobile-nav-close{
    position:absolute; top:1.6rem; right:1.6rem; width:44px; height:44px;
    background:none; border:none; color:var(--warmwhite); font-size:2.2rem; line-height:1;
    cursor:pointer; opacity:0.85; transition:opacity 0.25s ease, transform 0.25s ease;
  }
  .mobile-nav-close:hover{ opacity:1; transform:rotate(90deg); }
  .mobile-nav a{
    font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.6rem;
    color:var(--warmwhite); text-decoration:none; opacity:0.9;
  }
  .mobile-nav a.cta-btn{ font-family:'Public Sans',sans-serif; font-style:normal; font-size:0.8rem; margin-top:1rem; }
  @media(min-width:1150px){ .mobile-nav{ display:none; } }
  .cta-btn{
    position:relative; overflow:hidden;
    border:1px solid currentColor; padding:0.85rem 2.1rem;
    font-family:'Public Sans',sans-serif; font-size:0.74rem; font-weight:500;
    letter-spacing:0.14em; text-transform:uppercase; text-decoration:none; white-space:nowrap;
    transition:all 0.4s cubic-bezier(0.16,1,0.3,1), transform 0.35s cubic-bezier(0.16,1,0.3,1), box-shadow 0.35s ease;
    display:inline-block;
  }
  .cta-btn::before{
    content:''; position:absolute; top:0; left:-60%; width:40%; height:100%;
    background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.35) 50%, transparent 100%);
    transform:skewX(-18deg); transition:left 0.7s cubic-bezier(0.16,1,0.3,1); pointer-events:none;
  }
  .cta-btn:hover::before{ left:130%; }
  .cta-btn:hover{ background:currentColor; letter-spacing:0.18em; transform:translateY(-2px); box-shadow:0 10px 24px rgba(18,40,49,0.18); }
  header.on-dark .cta-btn:hover{ color:var(--petrol-deep); }
  header.solid .cta-btn:hover{ color:var(--warmwhite); }
  .cta-btn.filled{ background:var(--petrol); color:var(--warmwhite); border-color:var(--petrol); }
  .cta-btn.filled:hover{ background:var(--petrol-deep); border-color:var(--petrol-deep); }
  .cta-btn.bright-blue{ background:#2F6FED; color:#ffffff; border-color:#2F6FED; }
  .cta-btn.bright-blue:hover{ background:#1E56C7; border-color:#1E56C7; }
  @media (prefers-reduced-motion: reduce){ .cta-btn:hover{ transform:none; } .cta-btn::before{ display:none; } }

  /* ROAD */
  .road-track{ position:fixed; right:4vw; top:0; height:100%; width:360px; pointer-events:none; z-index:5; }
  @media(max-width:900px){ .road-track{width:160px; right:1.5vw;} }
  .road-track svg{ height:100%; width:100%; }
  #roadPath{ fill:none; stroke:url(#roadGrad); stroke-width:15; stroke-linecap:round; }
  .star-mark{ opacity:0; transition:opacity 1.4s ease; }
  .star-mark.lit{ opacity:1; }

  /* HERO — gentle reveal, no scroll-linked parallax */
  .hero{ height:100vh; min-height:640px; display:flex; align-items:flex-end; overflow:hidden; }
  .hero .reveal-img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center 22%;
    transform:scale(1.08); opacity:0;
    transition:transform 3.2s cubic-bezier(0.19,1,0.22,1), opacity 2s ease;
  }
  @media(max-width:700px){
    .hero .reveal-img{ transform:scale(1.02); object-position:center 15%; }
    .hero .reveal-img.in{ transform:scale(1); }
  }
  .hero .reveal-img.in{ transform:scale(1); opacity:1; }
  .hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,40,49,0.32) 0%, rgba(18,40,49,0.4) 40%, rgba(18,40,49,0.82) 100%); }
  .hero-content{ position:relative; z-index:2; color:var(--warmwhite); padding:0 7vw 8rem; max-width:1180px; }
  .hero-content h1{ font-size:clamp(2rem,4.8vw,3.7rem); line-height:1.25; font-weight:300; font-style:italic; margin-bottom:1.6rem; max-width:40ch; }
  @media(max-width:700px){
    .hero{ padding-top:6.5rem; }
    .hero-content{ padding-bottom:3rem; }
    .hero-content h1{ font-size:clamp(1.9rem,7vw,2.6rem); max-width:none; text-shadow:0 2px 20px rgba(0,0,0,0.55), 0 1px 4px rgba(0,0,0,0.6); }
    .hero-content p.sub{ text-shadow:0 2px 16px rgba(0,0,0,0.6), 0 1px 4px rgba(0,0,0,0.65); }
  }
  .hero-content p.sub{ font-size:1.1rem; max-width:58ch; opacity:0.95; margin-bottom:2.8rem; font-weight:300; line-height:1.6; }
  .hero-content .ctas{ display:flex; flex-wrap:wrap; gap:2rem; align-items:center; }
  .hero-content .secondary{ color:var(--warmwhite); opacity:0.75; font-size:0.74rem; text-transform:uppercase; letter-spacing:0.1em; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.4); padding-bottom:0.3rem; }

  .hero-glow{
    position:absolute; width:700px; height:700px; border-radius:50%; z-index:1; pointer-events:none;
    background:radial-gradient(circle, rgba(205,160,94,0.42) 0%, rgba(205,160,94,0.12) 45%, rgba(205,160,94,0) 72%);
    mix-blend-mode:screen;
    transform:translate(-50%,-50%); opacity:0; transition:opacity 0.6s ease;
    left:50%; top:50%;
  }
  .hero:hover .hero-glow{ opacity:1; }
  @media (hover:none){ .hero-glow{ display:none; } }

  /* SIAMO NOI */
  .siamonoi{ background:var(--warmwhite); }
  .loop{ font-family:'Fraunces',serif; font-style:italic; font-weight:300; font-size:clamp(1.6rem,3.4vw,2.4rem); color:var(--petrol); }
  .loop-line{ opacity:0; transform:translateY(10px); transition:opacity 0.8s ease, transform 0.8s ease; margin-bottom:1.2rem; }
  .loop-line.show{ opacity:1; transform:translateY(0); }
  .loop-line.final{ color:var(--gold); margin-top:2.8rem; font-style:normal; font-size:clamp(1.15rem,2vw,1.4rem); }

  .ticker{ position:relative; height:8rem; margin-bottom:0.5rem; }
  @media(max-width:700px){ .ticker{ height:9.5rem; } }
  .ticker-line{
    font-family:'Fraunces',serif; font-style:italic; font-weight:300; font-size:clamp(1.6rem,3.4vw,2.4rem); color:var(--petrol);
    position:absolute; top:0; left:0; right:0;
    opacity:0; transform:translateY(14px);
    transition:opacity 0.8s ease, transform 0.8s ease;
  }
  .ticker-line.active{ opacity:1; transform:translateY(0); }

  /* FULL BLEED PHOTO SECTIONS — soft fade + gentle scale reveal, no scroll-linked motion */
  .photo-parallax{ height:78vh; overflow:hidden; position:relative; }
  @media(max-width:700px){ .photo-parallax{height:56vh;} }
  .photo-parallax::after{
    content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(0deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.28) 22%, rgba(0,0,0,0) 48%);
  }
  .photo-parallax img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; transform:scale(1.1); opacity:0;
    transition:transform 3s cubic-bezier(0.19,1,0.22,1), opacity 1.8s ease;
  }
  .photo-parallax img.in{ transform:scale(1); opacity:1; }
  @media (hover:hover){
    .photo-parallax:hover img.in{ transform:scale(1.045); transition:transform 6s cubic-bezier(0.19,1,0.22,1); }
  }
  .photo-parallax .caption{
    position:absolute; bottom:3rem; left:7vw; z-index:2; color:var(--warmwhite);
    font-family:'Fraunces',serif; font-style:italic; font-weight:300; font-size:clamp(1.25rem,2.2vw,1.7rem);
    opacity:0; transform:translateY(10px);
    transition:opacity 1.4s ease 0.6s, transform 1.4s ease 0.6s;
    max-width:38ch; text-shadow:0 2px 10px rgba(0,0,0,0.8), 0 1px 3px rgba(0,0,0,0.9); line-height:1.4;
  }
  .photo-parallax .caption.in{ opacity:1; transform:translateY(0); }

  /* OVERLAP DUO — large image + smaller overlapping image with offset frame */
  .overlap-duo{
    position:relative; max-width:1400px; margin:0 auto; padding:3rem 5vw 9rem;
  }
  .od-big{
    width:100%; height:85vh; min-height:520px; overflow:hidden; background:var(--sand);
  }
  .od-big img{
    width:100%; height:100%; object-fit:cover;
    transform:scale(1.08); opacity:0; transition:transform 2.6s cubic-bezier(0.19,1,0.22,1), opacity 1.6s ease;
  }
  .od-big img.in{ transform:scale(1); opacity:1; }
  .od-small{
    position:absolute; width:34%; max-width:460px; aspect-ratio:4/5;
    right:5vw; bottom:-4rem; overflow:hidden;
    border:10px solid var(--warmwhite); box-shadow:0 30px 70px rgba(18,40,49,0.3);
    opacity:0; transform:translateY(24px); transition:opacity 1s ease 0.5s, transform 1s cubic-bezier(0.19,1,0.22,1) 0.5s;
  }
  .od-small.in{ opacity:1; transform:translateY(0); }
  .od-small img{ width:100%; height:100%; object-fit:cover; }
  .overlap-duo.left .od-small{ right:auto; left:5vw; }
  @media(max-width:800px){
    .od-big{ height:60vh; min-height:380px; }
    .od-small{ width:52%; right:4vw; bottom:-2.5rem; }
    .overlap-duo.left .od-small{ left:4vw; }
    .overlap-duo{ padding-bottom:7rem; }
  }
  .overlap-duo .od-caption{
    margin-top:5rem; font-family:'Fraunces',serif; font-style:italic; font-weight:300;
    font-size:1.25rem; color:var(--petrol); opacity:0.75; max-width:40ch; padding:0 2vw;
  }

  /* FILMSTRIP — large-format horizontal gallery, real impact */
  .filmstrip-wrap{ padding:6rem 0 7rem; background:var(--ivory); }
  .filmstrip-head{ padding:0 7vw; margin-bottom:2.6rem; }
  .filmstrip{
    display:flex; gap:2rem; overflow-x:auto; scroll-snap-type:x proximity;
    padding:0 7vw 1.5rem; -webkit-overflow-scrolling:touch;
  }
  .filmstrip::-webkit-scrollbar{ height:6px; }
  .filmstrip::-webkit-scrollbar-thumb{ background:var(--line); }
  .fs-item{
    flex:0 0 auto; scroll-snap-align:start; overflow:hidden; background:var(--sand);
    opacity:0; transform:translateY(30px) scale(0.97);
    transition:opacity 1s cubic-bezier(0.19,1,0.22,1), transform 1s cubic-bezier(0.19,1,0.22,1);
  }
  .fs-item.in{ opacity:1; transform:translateY(0) scale(1); }
  .fs-item img{ width:100%; height:100%; object-fit:cover; display:block; }
  .fs-item.size-l{ width:680px; height:82vh; max-height:820px; }
  .fs-item.size-m{ width:520px; height:70vh; max-height:680px; align-self:flex-end; }
  @media(max-width:900px){
    .fs-item.size-l{ width:78vw; height:62vh; }
    .fs-item.size-m{ width:62vw; height:52vh; }
  }

  /* CINEMATIC FULL-SCREEN BREAK — second hero-scale moment */
  .cinematic-break{
    height:100vh; min-height:640px; position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:center; text-align:center;
  }
  .cinematic-break img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transform:scale(1.12); opacity:0; transition:transform 3.5s cubic-bezier(0.19,1,0.22,1), opacity 2.2s ease;
  }
  .cinematic-break img.in{ transform:scale(1); opacity:1; }
  .cinematic-break::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,40,49,0.2) 0%, rgba(18,40,49,0.68) 100%); }
  .cinematic-break .cb-content{ position:relative; z-index:2; color:var(--warmwhite); max-width:720px; padding:0 7vw; }
  .cinematic-break .cb-content p{
    font-family:'Fraunces',serif; font-style:italic; font-weight:300;
    font-size:clamp(1.6rem,3.6vw,2.6rem); line-height:1.4;
    opacity:0; transform:translateY(16px); transition:opacity 1.2s ease 0.8s, transform 1.2s ease 0.8s;
  }
  .cinematic-break .cb-content p.in{ opacity:1; transform:translateY(0); }

  /* TRUE FIXED-BACKGROUND PARALLAX */
  .parallax-fixed{
    background-size:cover; background-position:center; background-attachment:fixed;
    min-height:80vh; display:flex; align-items:center; justify-content:center;
    position:relative; text-align:center;
  }
  .parallax-fixed::after{ content:''; position:absolute; inset:0; background:rgba(18,40,49,0.62); }
  .parallax-fixed .pf-content{ position:relative; z-index:2; color:var(--warmwhite); max-width:640px; padding:0 7vw; }
  @media(max-width:800px){ .parallax-fixed{ background-attachment:scroll; } }

  .text-block{ padding:6rem 7vw; position:relative; overflow:hidden; }
  .text-block.symbol-bg::after{
    content:''; position:absolute; top:50%; right:8%; width:32%; max-width:380px; aspect-ratio:1/1;
    background-image:url('assets/img/logo-simbolo.png');
    background-size:contain; background-repeat:no-repeat; background-position:center;
    transform:translateY(-50%) scale(0.92); opacity:0; pointer-events:none; z-index:0;
    transition:opacity 1.6s ease, transform 1.6s cubic-bezier(0.19,1,0.22,1);
  }
  .text-block.symbol-bg.in::after{ opacity:0.22; transform:translateY(-50%) scale(1); }
  .text-block.symbol-bg .wrap{ position:relative; z-index:1; }
  @media(max-width:800px){ .text-block.symbol-bg::after{ width:52%; right:4%; opacity:0; } .text-block.symbol-bg.in::after{ opacity:0.16; } }
  .text-block .wrap{ max-width:820px; }
  .text-block h2{ font-size:clamp(2.1rem,4.4vw,3.2rem); font-weight:300; font-style:italic; max-width:18ch; margin-bottom:1.3rem; color:var(--petrol-deep); line-height:1.22; }
  .text-block p{ max-width:56ch; opacity:0.72; font-size:1.08rem; line-height:1.75; }
  .text-block.on-sand{ background-color:var(--sand); background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiIGhlaWdodD0iNDIwIiB2aWV3Qm94PSIwIDAgNDIwIDQyMCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTUsNjUpIHJvdGF0ZSgxMikiIG9wYWNpdHk9IjAuNTUiPjxwYXRoIGQ9Ik0gMC4wMCwtOS4wMCBRIDAuMzgsLTAuOTEgMS43MiwtMS43MiBRIDAuOTEsLTAuMzggOS4wMCwtMC4wMCBRIDAuOTEsMC4zOCAxLjcyLDEuNzIgUSAwLjM4LDAuOTEgMC4wMCw5LjAwIFEgLTAuMzgsMC45MSAtMS43MiwxLjcyIFEgLTAuOTEsMC4zOCAtOS4wMCwwLjAwIFEgLTAuOTEsLTAuMzggLTEuNzIsLTEuNzIgUSAtMC4zOCwtMC45MSAwLjAwLC05LjAwIFoiIGZpbGw9IiNCODg2M0UiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLDM1KSByb3RhdGUoLTgpIiBvcGFjaXR5PSIwLjQiPjxwYXRoIGQ9Ik0gMC4wMCwtNS4wMCBRIDAuMjEsLTAuNTEgMC45NSwtMC45NSBRIDAuNTEsLTAuMjEgNS4wMCwtMC4wMCBRIDAuNTEsMC4yMSAwLjk1LDAuOTUgUSAwLjIxLDAuNTEgMC4wMCw1LjAwIFEgLTAuMjEsMC41MSAtMC45NSwwLjk1IFEgLTAuNTEsMC4yMSAtNS4wMCwwLjAwIFEgLTAuNTEsLTAuMjEgLTAuOTUsLTAuOTUgUSAtMC4yMSwtMC41MSAwLjAwLC01LjAwIFoiIGZpbGw9IiNCODg2M0UiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcwLDE0MCkgcm90YXRlKDMwKSIgb3BhY2l0eT0iMC4yOCI+PHBhdGggZD0iTSAwLjAwLC00LjAwIFEgMC4xNywtMC40MSAwLjc2LC0wLjc2IFEgMC40MSwtMC4xNyA0LjAwLC0wLjAwIFEgMC40MSwwLjE3IDAuNzYsMC43NiBRIDAuMTcsMC40MSAwLjAwLDQuMDAgUSAtMC4xNywwLjQxIC0wLjc2LDAuNzYgUSAtMC40MSwwLjE3IC00LjAwLDAuMDAgUSAtMC40MSwtMC4xNyAtMC43NiwtMC43NiBRIC0wLjE3LC0wLjQxIDAuMDAsLTQuMDAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjUsMjEwKSByb3RhdGUoNSkiIG9wYWNpdHk9IjAuNDIiPjxwYXRoIGQ9Ik0gMC4wMCwtNy41MCBRIDAuMzIsLTAuNzYgMS40MywtMS40MyBRIDAuNzYsLTAuMzIgNy41MCwtMC4wMCBRIDAuNzYsMC4zMiAxLjQzLDEuNDMgUSAwLjMyLDAuNzYgMC4wMCw3LjUwIFEgLTAuMzIsMC43NiAtMS40MywxLjQzIFEgLTAuNzYsMC4zMiAtNy41MCwwLjAwIFEgLTAuNzYsLTAuMzIgLTEuNDMsLTEuNDMgUSAtMC4zMiwtMC43NiAwLjAwLC03LjUwIFoiIGZpbGw9IiNCODg2M0UiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODUsMjcwKSByb3RhdGUoLTE1KSIgb3BhY2l0eT0iMC4zMiI+PHBhdGggZD0iTSAwLjAwLC02LjAwIFEgMC4yNSwtMC42MSAxLjE1LC0xLjE1IFEgMC42MSwtMC4yNSA2LjAwLC0wLjAwIFEgMC42MSwwLjI1IDEuMTUsMS4xNSBRIDAuMjUsMC42MSAwLjAwLDYuMDAgUSAtMC4yNSwwLjYxIC0xLjE1LDEuMTUgUSAtMC42MSwwLjI1IC02LjAwLDAuMDAgUSAtMC42MSwtMC4yNSAtMS4xNSwtMS4xNSBRIC0wLjI1LC0wLjYxIDAuMDAsLTYuMDAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTAsMzM1KSByb3RhdGUoMjApIiBvcGFjaXR5PSIwLjUiPjxwYXRoIGQ9Ik0gMC4wMCwtMTAuMDAgUSAwLjQyLC0xLjAyIDEuOTEsLTEuOTEgUSAxLjAyLC0wLjQyIDEwLjAwLC0wLjAwIFEgMS4wMiwwLjQyIDEuOTEsMS45MSBRIDAuNDIsMS4wMiAwLjAwLDEwLjAwIFEgLTAuNDIsMS4wMiAtMS45MSwxLjkxIFEgLTEuMDIsMC40MiAtMTAuMDAsMC4wMCBRIC0xLjAyLC0wLjQyIC0xLjkxLC0xLjkxIFEgLTAuNDIsLTEuMDIgMC4wMCwtMTAuMDAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNSwzODUpIHJvdGF0ZSgwKSIgb3BhY2l0eT0iMC4zIj48cGF0aCBkPSJNIDAuMDAsLTQuNTAgUSAwLjE5LC0wLjQ2IDAuODYsLTAuODYgUSAwLjQ2LC0wLjE5IDQuNTAsLTAuMDAgUSAwLjQ2LDAuMTkgMC44NiwwLjg2IFEgMC4xOSwwLjQ2IDAuMDAsNC41MCBRIC0wLjE5LDAuNDYgLTAuODYsMC44NiBRIC0wLjQ2LDAuMTkgLTQuNTAsMC4wMCBRIC0wLjQ2LC0wLjE5IC0wLjg2LC0wLjg2IFEgLTAuMTksLTAuNDYgMC4wMCwtNC41MCBaIiBmaWxsPSIjQjg4NjNFIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5MCwzNzUpIHJvdGF0ZSgtMjUpIiBvcGFjaXR5PSIwLjM4Ij48cGF0aCBkPSJNIDAuMDAsLTYuMDAgUSAwLjI1LC0wLjYxIDEuMTUsLTEuMTUgUSAwLjYxLC0wLjI1IDYuMDAsLTAuMDAgUSAwLjYxLDAuMjUgMS4xNSwxLjE1IFEgMC4yNSwwLjYxIDAuMDAsNi4wMCBRIC0wLjI1LDAuNjEgLTEuMTUsMS4xNSBRIC0wLjYxLDAuMjUgLTYuMDAsMC4wMCBRIC0wLjYxLC0wLjI1IC0xLjE1LC0xLjE1IFEgLTAuMjUsLTAuNjEgMC4wMCwtNi4wMCBaIiBmaWxsPSIjQjg4NjNFIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMCw2MCkgcm90YXRlKDEwKSIgb3BhY2l0eT0iMC4yMiI+PHBhdGggZD0iTSAwLjAwLC0zLjUwIFEgMC4xNSwtMC4zNiAwLjY3LC0wLjY3IFEgMC4zNiwtMC4xNSAzLjUwLC0wLjAwIFEgMC4zNiwwLjE1IDAuNjcsMC42NyBRIDAuMTUsMC4zNiAwLjAwLDMuNTAgUSAtMC4xNSwwLjM2IC0wLjY3LDAuNjcgUSAtMC4zNiwwLjE1IC0zLjUwLDAuMDAgUSAtMC4zNiwtMC4xNSAtMC42NywtMC42NyBRIC0wLjE1LC0wLjM2IDAuMDAsLTMuNTAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzAsMjMwKSByb3RhdGUoLTEwKSIgb3BhY2l0eT0iMC4zIj48cGF0aCBkPSJNIDAuMDAsLTUuMDAgUSAwLjIxLC0wLjUxIDAuOTUsLTAuOTUgUSAwLjUxLC0wLjIxIDUuMDAsLTAuMDAgUSAwLjUxLDAuMjEgMC45NSwwLjk1IFEgMC4yMSwwLjUxIDAuMDAsNS4wMCBRIC0wLjIxLDAuNTEgLTAuOTUsMC45NSBRIC0wLjUxLDAuMjEgLTUuMDAsMC4wMCBRIC0wLjUxLC0wLjIxIC0wLjk1LC0wLjk1IFEgLTAuMjEsLTAuNTEgMC4wMCwtNS4wMCBaIiBmaWxsPSIjQjg4NjNFIi8+PC9nPjwvc3ZnPg=='); background-size:420px 420px; }

  /* DIFFERENTIATOR — given visual prominence per funnel request */
  .differentiator{
    background-color:var(--petrol-deep); background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiIGhlaWdodD0iNDIwIiB2aWV3Qm94PSIwIDAgNDIwIDQyMCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTUsNjUpIHJvdGF0ZSgxMikiIG9wYWNpdHk9IjAuNTUiPjxwYXRoIGQ9Ik0gMC4wMCwtOS4wMCBRIDAuMzgsLTAuOTEgMS43MiwtMS43MiBRIDAuOTEsLTAuMzggOS4wMCwtMC4wMCBRIDAuOTEsMC4zOCAxLjcyLDEuNzIgUSAwLjM4LDAuOTEgMC4wMCw5LjAwIFEgLTAuMzgsMC45MSAtMS43MiwxLjcyIFEgLTAuOTEsMC4zOCAtOS4wMCwwLjAwIFEgLTAuOTEsLTAuMzggLTEuNzIsLTEuNzIgUSAtMC4zOCwtMC45MSAwLjAwLC05LjAwIFoiIGZpbGw9IiNDREEwNUUiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLDM1KSByb3RhdGUoLTgpIiBvcGFjaXR5PSIwLjQiPjxwYXRoIGQ9Ik0gMC4wMCwtNS4wMCBRIDAuMjEsLTAuNTEgMC45NSwtMC45NSBRIDAuNTEsLTAuMjEgNS4wMCwtMC4wMCBRIDAuNTEsMC4yMSAwLjk1LDAuOTUgUSAwLjIxLDAuNTEgMC4wMCw1LjAwIFEgLTAuMjEsMC41MSAtMC45NSwwLjk1IFEgLTAuNTEsMC4yMSAtNS4wMCwwLjAwIFEgLTAuNTEsLTAuMjEgLTAuOTUsLTAuOTUgUSAtMC4yMSwtMC41MSAwLjAwLC01LjAwIFoiIGZpbGw9IiNDREEwNUUiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcwLDE0MCkgcm90YXRlKDMwKSIgb3BhY2l0eT0iMC4yOCI+PHBhdGggZD0iTSAwLjAwLC00LjAwIFEgMC4xNywtMC40MSAwLjc2LC0wLjc2IFEgMC40MSwtMC4xNyA0LjAwLC0wLjAwIFEgMC40MSwwLjE3IDAuNzYsMC43NiBRIDAuMTcsMC40MSAwLjAwLDQuMDAgUSAtMC4xNywwLjQxIC0wLjc2LDAuNzYgUSAtMC40MSwwLjE3IC00LjAwLDAuMDAgUSAtMC40MSwtMC4xNyAtMC43NiwtMC43NiBRIC0wLjE3LC0wLjQxIDAuMDAsLTQuMDAgWiIgZmlsbD0iI0NEQTA1RSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjUsMjEwKSByb3RhdGUoNSkiIG9wYWNpdHk9IjAuNDIiPjxwYXRoIGQ9Ik0gMC4wMCwtNy41MCBRIDAuMzIsLTAuNzYgMS40MywtMS40MyBRIDAuNzYsLTAuMzIgNy41MCwtMC4wMCBRIDAuNzYsMC4zMiAxLjQzLDEuNDMgUSAwLjMyLDAuNzYgMC4wMCw3LjUwIFEgLTAuMzIsMC43NiAtMS40MywxLjQzIFEgLTAuNzYsMC4zMiAtNy41MCwwLjAwIFEgLTAuNzYsLTAuMzIgLTEuNDMsLTEuNDMgUSAtMC4zMiwtMC43NiAwLjAwLC03LjUwIFoiIGZpbGw9IiNDREEwNUUiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODUsMjcwKSByb3RhdGUoLTE1KSIgb3BhY2l0eT0iMC4zMiI+PHBhdGggZD0iTSAwLjAwLC02LjAwIFEgMC4yNSwtMC42MSAxLjE1LC0xLjE1IFEgMC42MSwtMC4yNSA2LjAwLC0wLjAwIFEgMC42MSwwLjI1IDEuMTUsMS4xNSBRIDAuMjUsMC42MSAwLjAwLDYuMDAgUSAtMC4yNSwwLjYxIC0xLjE1LDEuMTUgUSAtMC42MSwwLjI1IC02LjAwLDAuMDAgUSAtMC42MSwtMC4yNSAtMS4xNSwtMS4xNSBRIC0wLjI1LC0wLjYxIDAuMDAsLTYuMDAgWiIgZmlsbD0iI0NEQTA1RSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTAsMzM1KSByb3RhdGUoMjApIiBvcGFjaXR5PSIwLjUiPjxwYXRoIGQ9Ik0gMC4wMCwtMTAuMDAgUSAwLjQyLC0xLjAyIDEuOTEsLTEuOTEgUSAxLjAyLC0wLjQyIDEwLjAwLC0wLjAwIFEgMS4wMiwwLjQyIDEuOTEsMS45MSBRIDAuNDIsMS4wMiAwLjAwLDEwLjAwIFEgLTAuNDIsMS4wMiAtMS45MSwxLjkxIFEgLTEuMDIsMC40MiAtMTAuMDAsMC4wMCBRIC0xLjAyLC0wLjQyIC0xLjkxLC0xLjkxIFEgLTAuNDIsLTEuMDIgMC4wMCwtMTAuMDAgWiIgZmlsbD0iI0NEQTA1RSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNSwzODUpIHJvdGF0ZSgwKSIgb3BhY2l0eT0iMC4zIj48cGF0aCBkPSJNIDAuMDAsLTQuNTAgUSAwLjE5LC0wLjQ2IDAuODYsLTAuODYgUSAwLjQ2LC0wLjE5IDQuNTAsLTAuMDAgUSAwLjQ2LDAuMTkgMC44NiwwLjg2IFEgMC4xOSwwLjQ2IDAuMDAsNC41MCBRIC0wLjE5LDAuNDYgLTAuODYsMC44NiBRIC0wLjQ2LDAuMTkgLTQuNTAsMC4wMCBRIC0wLjQ2LC0wLjE5IC0wLjg2LC0wLjg2IFEgLTAuMTksLTAuNDYgMC4wMCwtNC41MCBaIiBmaWxsPSIjQ0RBMDVFIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5MCwzNzUpIHJvdGF0ZSgtMjUpIiBvcGFjaXR5PSIwLjM4Ij48cGF0aCBkPSJNIDAuMDAsLTYuMDAgUSAwLjI1LC0wLjYxIDEuMTUsLTEuMTUgUSAwLjYxLC0wLjI1IDYuMDAsLTAuMDAgUSAwLjYxLDAuMjUgMS4xNSwxLjE1IFEgMC4yNSwwLjYxIDAuMDAsNi4wMCBRIC0wLjI1LDAuNjEgLTEuMTUsMS4xNSBRIC0wLjYxLDAuMjUgLTYuMDAsMC4wMCBRIC0wLjYxLC0wLjI1IC0xLjE1LC0xLjE1IFEgLTAuMjUsLTAuNjEgMC4wMCwtNi4wMCBaIiBmaWxsPSIjQ0RBMDVFIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMCw2MCkgcm90YXRlKDEwKSIgb3BhY2l0eT0iMC4yMiI+PHBhdGggZD0iTSAwLjAwLC0zLjUwIFEgMC4xNSwtMC4zNiAwLjY3LC0wLjY3IFEgMC4zNiwtMC4xNSAzLjUwLC0wLjAwIFEgMC4zNiwwLjE1IDAuNjcsMC42NyBRIDAuMTUsMC4zNiAwLjAwLDMuNTAgUSAtMC4xNSwwLjM2IC0wLjY3LDAuNjcgUSAtMC4zNiwwLjE1IC0zLjUwLDAuMDAgUSAtMC4zNiwtMC4xNSAtMC42NywtMC42NyBRIC0wLjE1LC0wLjM2IDAuMDAsLTMuNTAgWiIgZmlsbD0iI0NEQTA1RSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzAsMjMwKSByb3RhdGUoLTEwKSIgb3BhY2l0eT0iMC4zIj48cGF0aCBkPSJNIDAuMDAsLTUuMDAgUSAwLjIxLC0wLjUxIDAuOTUsLTAuOTUgUSAwLjUxLC0wLjIxIDUuMDAsLTAuMDAgUSAwLjUxLDAuMjEgMC45NSwwLjk1IFEgMC4yMSwwLjUxIDAuMDAsNS4wMCBRIC0wLjIxLDAuNTEgLTAuOTUsMC45NSBRIC0wLjUxLDAuMjEgLTUuMDAsMC4wMCBRIC0wLjUxLC0wLjIxIC0wLjk1LC0wLjk1IFEgLTAuMjEsLTAuNTEgMC4wMCwtNS4wMCBaIiBmaWxsPSIjQ0RBMDVFIi8+PC9nPjwvc3ZnPg=='); background-size:420px 420px;
    color:var(--warmwhite); border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);
  }
  .differentiator .wrap{ max-width:820px; }
  .diff-badge{
    display:inline-block; background:var(--gold); color:var(--petrol-deep);
    font-family:'Public Sans',sans-serif; font-weight:700; font-size:0.78rem;
    text-transform:uppercase; letter-spacing:0.14em; padding:0.5rem 1.1rem; margin-bottom:1.6rem;
  }
  .differentiator h2{ font-size:clamp(2rem,4vw,2.9rem); font-weight:300; font-style:italic; color:var(--warmwhite); margin-bottom:1.3rem; max-width:18ch; }
  .differentiator p{ opacity:0.82; font-size:1.1rem; line-height:1.75; max-width:60ch; }
  .differentiator .key-line{ font-family:'Fraunces',serif; font-style:italic; color:var(--gold-soft); font-size:1.35rem; margin-top:1.8rem; }
  .text-block .key-line{ font-family:'Fraunces',serif; font-style:italic; color:var(--gold); font-size:1.35rem; margin-top:1.7rem; }

  /* IPNOSI */
  .ipnosi{ background:var(--petrol-deep); color:var(--warmwhite); }
  .ipnosi .before{ opacity:0.4; font-style:italic; font-family:'Fraunces',serif; font-weight:300; font-size:1.2rem; max-width:26ch; margin-bottom:2.2rem; }
  .ipnosi .after{ font-family:'Fraunces',serif; font-weight:300; font-size:clamp(1.7rem,3.6vw,2.5rem); max-width:24ch; font-style:italic; }
  .ipnosi .after .gold-word{ color:var(--gold-soft); font-style:normal; margin:0 0.12em; display:inline-block; }

  /* MANIFESTO */
  .manifesto{ background-color:var(--ivory); background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiIGhlaWdodD0iNDIwIiB2aWV3Qm94PSIwIDAgNDIwIDQyMCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTUsNjUpIHJvdGF0ZSgxMikiIG9wYWNpdHk9IjAuNTUiPjxwYXRoIGQ9Ik0gMC4wMCwtOS4wMCBRIDAuMzgsLTAuOTEgMS43MiwtMS43MiBRIDAuOTEsLTAuMzggOS4wMCwtMC4wMCBRIDAuOTEsMC4zOCAxLjcyLDEuNzIgUSAwLjM4LDAuOTEgMC4wMCw5LjAwIFEgLTAuMzgsMC45MSAtMS43MiwxLjcyIFEgLTAuOTEsMC4zOCAtOS4wMCwwLjAwIFEgLTAuOTEsLTAuMzggLTEuNzIsLTEuNzIgUSAtMC4zOCwtMC45MSAwLjAwLC05LjAwIFoiIGZpbGw9IiNCODg2M0UiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAwLDM1KSByb3RhdGUoLTgpIiBvcGFjaXR5PSIwLjQiPjxwYXRoIGQ9Ik0gMC4wMCwtNS4wMCBRIDAuMjEsLTAuNTEgMC45NSwtMC45NSBRIDAuNTEsLTAuMjEgNS4wMCwtMC4wMCBRIDAuNTEsMC4yMSAwLjk1LDAuOTUgUSAwLjIxLDAuNTEgMC4wMCw1LjAwIFEgLTAuMjEsMC41MSAtMC45NSwwLjk1IFEgLTAuNTEsMC4yMSAtNS4wMCwwLjAwIFEgLTAuNTEsLTAuMjEgLTAuOTUsLTAuOTUgUSAtMC4yMSwtMC41MSAwLjAwLC01LjAwIFoiIGZpbGw9IiNCODg2M0UiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcwLDE0MCkgcm90YXRlKDMwKSIgb3BhY2l0eT0iMC4yOCI+PHBhdGggZD0iTSAwLjAwLC00LjAwIFEgMC4xNywtMC40MSAwLjc2LC0wLjc2IFEgMC40MSwtMC4xNyA0LjAwLC0wLjAwIFEgMC40MSwwLjE3IDAuNzYsMC43NiBRIDAuMTcsMC40MSAwLjAwLDQuMDAgUSAtMC4xNywwLjQxIC0wLjc2LDAuNzYgUSAtMC40MSwwLjE3IC00LjAwLDAuMDAgUSAtMC40MSwtMC4xNyAtMC43NiwtMC43NiBRIC0wLjE3LC0wLjQxIDAuMDAsLTQuMDAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjUsMjEwKSByb3RhdGUoNSkiIG9wYWNpdHk9IjAuNDIiPjxwYXRoIGQ9Ik0gMC4wMCwtNy41MCBRIDAuMzIsLTAuNzYgMS40MywtMS40MyBRIDAuNzYsLTAuMzIgNy41MCwtMC4wMCBRIDAuNzYsMC4zMiAxLjQzLDEuNDMgUSAwLjMyLDAuNzYgMC4wMCw3LjUwIFEgLTAuMzIsMC43NiAtMS40MywxLjQzIFEgLTAuNzYsMC4zMiAtNy41MCwwLjAwIFEgLTAuNzYsLTAuMzIgLTEuNDMsLTEuNDMgUSAtMC4zMiwtMC43NiAwLjAwLC03LjUwIFoiIGZpbGw9IiNCODg2M0UiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODUsMjcwKSByb3RhdGUoLTE1KSIgb3BhY2l0eT0iMC4zMiI+PHBhdGggZD0iTSAwLjAwLC02LjAwIFEgMC4yNSwtMC42MSAxLjE1LC0xLjE1IFEgMC42MSwtMC4yNSA2LjAwLC0wLjAwIFEgMC42MSwwLjI1IDEuMTUsMS4xNSBRIDAuMjUsMC42MSAwLjAwLDYuMDAgUSAtMC4yNSwwLjYxIC0xLjE1LDEuMTUgUSAtMC42MSwwLjI1IC02LjAwLDAuMDAgUSAtMC42MSwtMC4yNSAtMS4xNSwtMS4xNSBRIC0wLjI1LC0wLjYxIDAuMDAsLTYuMDAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTAsMzM1KSByb3RhdGUoMjApIiBvcGFjaXR5PSIwLjUiPjxwYXRoIGQ9Ik0gMC4wMCwtMTAuMDAgUSAwLjQyLC0xLjAyIDEuOTEsLTEuOTEgUSAxLjAyLC0wLjQyIDEwLjAwLC0wLjAwIFEgMS4wMiwwLjQyIDEuOTEsMS45MSBRIDAuNDIsMS4wMiAwLjAwLDEwLjAwIFEgLTAuNDIsMS4wMiAtMS45MSwxLjkxIFEgLTEuMDIsMC40MiAtMTAuMDAsMC4wMCBRIC0xLjAyLC0wLjQyIC0xLjkxLC0xLjkxIFEgLTAuNDIsLTEuMDIgMC4wMCwtMTAuMDAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNSwzODUpIHJvdGF0ZSgwKSIgb3BhY2l0eT0iMC4zIj48cGF0aCBkPSJNIDAuMDAsLTQuNTAgUSAwLjE5LC0wLjQ2IDAuODYsLTAuODYgUSAwLjQ2LC0wLjE5IDQuNTAsLTAuMDAgUSAwLjQ2LDAuMTkgMC44NiwwLjg2IFEgMC4xOSwwLjQ2IDAuMDAsNC41MCBRIC0wLjE5LDAuNDYgLTAuODYsMC44NiBRIC0wLjQ2LDAuMTkgLTQuNTAsMC4wMCBRIC0wLjQ2LC0wLjE5IC0wLjg2LC0wLjg2IFEgLTAuMTksLTAuNDYgMC4wMCwtNC41MCBaIiBmaWxsPSIjQjg4NjNFIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM5MCwzNzUpIHJvdGF0ZSgtMjUpIiBvcGFjaXR5PSIwLjM4Ij48cGF0aCBkPSJNIDAuMDAsLTYuMDAgUSAwLjI1LC0wLjYxIDEuMTUsLTEuMTUgUSAwLjYxLC0wLjI1IDYuMDAsLTAuMDAgUSAwLjYxLDAuMjUgMS4xNSwxLjE1IFEgMC4yNSwwLjYxIDAuMDAsNi4wMCBRIC0wLjI1LDAuNjEgLTEuMTUsMS4xNSBRIC0wLjYxLDAuMjUgLTYuMDAsMC4wMCBRIC0wLjYxLC0wLjI1IC0xLjE1LC0xLjE1IFEgLTAuMjUsLTAuNjEgMC4wMCwtNi4wMCBaIiBmaWxsPSIjQjg4NjNFIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMCw2MCkgcm90YXRlKDEwKSIgb3BhY2l0eT0iMC4yMiI+PHBhdGggZD0iTSAwLjAwLC0zLjUwIFEgMC4xNSwtMC4zNiAwLjY3LC0wLjY3IFEgMC4zNiwtMC4xNSAzLjUwLC0wLjAwIFEgMC4zNiwwLjE1IDAuNjcsMC42NyBRIDAuMTUsMC4zNiAwLjAwLDMuNTAgUSAtMC4xNSwwLjM2IC0wLjY3LDAuNjcgUSAtMC4zNiwwLjE1IC0zLjUwLDAuMDAgUSAtMC4zNiwtMC4xNSAtMC42NywtMC42NyBRIC0wLjE1LC0wLjM2IDAuMDAsLTMuNTAgWiIgZmlsbD0iI0I4ODYzRSIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzAsMjMwKSByb3RhdGUoLTEwKSIgb3BhY2l0eT0iMC4zIj48cGF0aCBkPSJNIDAuMDAsLTUuMDAgUSAwLjIxLC0wLjUxIDAuOTUsLTAuOTUgUSAwLjUxLC0wLjIxIDUuMDAsLTAuMDAgUSAwLjUxLDAuMjEgMC45NSwwLjk1IFEgMC4yMSwwLjUxIDAuMDAsNS4wMCBRIC0wLjIxLDAuNTEgLTAuOTUsMC45NSBRIC0wLjUxLDAuMjEgLTUuMDAsMC4wMCBRIC0wLjUxLC0wLjIxIC0wLjk1LC0wLjk1IFEgLTAuMjEsLTAuNTEgMC4wMCwtNS4wMCBaIiBmaWxsPSIjQjg4NjNFIi8+PC9nPjwvc3ZnPg=='); background-size:420px 420px; text-align:center; }
  .manifesto .not-line{ opacity:0.55; font-size:1rem; margin-bottom:0.5rem; }
  .manifesto h2{ font-size:clamp(2rem,4.2vw,3rem); margin:1.1rem auto 0; font-style:italic; font-weight:300; color:var(--petrol-deep); max-width:22ch; line-height:1.3; }
  .manifesto-link{
    display:inline-block; margin-top:2.2rem; font-family:'Public Sans',sans-serif; font-size:0.8rem;
    font-weight:600; letter-spacing:0.06em; color:var(--gold); text-decoration:none;
    border-bottom:1px solid var(--gold); padding-bottom:0.25rem; transition:opacity 0.3s ease;
  }
  .manifesto-link:hover{ opacity:0.7; }

  /* ENERGIA — carries Erika's thesis explicitly */
  .energia{ background:var(--petrol); color:var(--warmwhite); text-align:center; }
  .energia h2{ font-size:clamp(1.9rem,4vw,2.9rem); max-width:24ch; margin:0 auto; font-style:italic; font-weight:300; line-height:1.35; }
  .energia .thesis{
    font-family:'Public Sans',sans-serif; font-weight:400; font-size:1rem; letter-spacing:0.02em;
    max-width:44ch; margin:2.2rem auto 0; opacity:0.82; line-height:1.75;
  }
  .energia .star-inline{ color:var(--gold-soft); font-size:1.5rem; margin-top:2.2rem; }

  /* PERCORSO — open-ended, no fixed number of stages */
  .percorso{ background:var(--warmwhite); text-align:center; }

  /* PRODUCT SECTION — Il percorso, Direction A style */
  .product-section{ background:var(--sand); }
  .product-card{
    max-width:920px; margin:0 auto; background:var(--warmwhite); border:1px solid rgba(184,134,62,0.35);
    padding:4.5rem 3.5rem; text-align:center;
  }
  @media(max-width:700px){ .product-card{ padding:3rem 1.5rem; } }
  .product-card h2{ font-family:'Fraunces',serif; font-weight:300; font-style:italic; font-size:clamp(1.7rem,3.2vw,2.4rem); color:var(--petrol-deep); margin-bottom:1.3rem; max-width:24ch; margin-left:auto; margin-right:auto; }
  .product-card p.lead{ opacity:0.72; font-size:1.05rem; line-height:1.75; margin-bottom:2.8rem; max-width:60ch; margin-left:auto; margin-right:auto; }
  .package-list{ text-align:left; margin-bottom:3rem; }
  .package-item{ border-top:1px solid rgba(184,134,62,0.3); padding:2.2rem 0; }
  .package-item:first-child{ border-top:none; padding-top:0; }
  .package-head{ display:flex; align-items:baseline; gap:1rem; margin-bottom:0.5rem; }
  .pkg-num{ font-family:'Fraunces',serif; font-style:italic; color:var(--gold); font-size:1.2rem; }
  .package-head h4{ font-family:'Fraunces',serif; font-weight:400; font-style:italic; font-size:1.3rem; color:var(--petrol-deep); }
  .pkg-result{ opacity:0.65; font-size:0.95rem; margin-bottom:1.2rem; font-style:italic; }
  .pkg-split{ display:grid; gap:1.2rem; }
  @media(min-width:650px){ .pkg-split{ grid-template-columns:1fr 1fr; } }
  .pkg-split .pkg-label{ display:block; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--gold); margin-bottom:0.35rem; }
  .pkg-split p{ font-size:0.92rem; opacity:0.75; line-height:1.6; }
  .percorso p.lead{ font-family:'Fraunces',serif; font-style:italic; font-weight:300; font-size:clamp(1.3rem,2.4vw,1.7rem); color:var(--petrol); max-width:32ch; margin:0 auto 3rem; }
  .flow-line{ max-width:640px; margin:0 auto; height:2px; background:linear-gradient(90deg, var(--petrol) 0%, var(--gold) 100%); position:relative; opacity:0.35; }
  .flow-words{ display:flex; justify-content:space-between; max-width:640px; margin:1.6rem auto 0; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.5; }

  /* FONDATORI */
  .fondatori-text{ padding:7rem 7vw 6rem; }
  .fondatori-text .wrap{ max-width:820px; }
  .fondatori-text h2{ font-size:clamp(1.7rem,3.2vw,2.3rem); font-weight:300; font-style:italic; margin-bottom:1.4rem; }
  .fondatori-text p{ max-width:64ch; opacity:0.75; font-size:1.1rem; }
  .placeholder-note{ font-size:0.8rem; opacity:0.55; font-style:italic; margin-top:1.4rem; border-left:2px solid var(--gold); padding-left:0.9rem; }
  .founder-grid{ display:grid; gap:2.4rem; margin-top:2.6rem; }
  @media(min-width:700px){ .founder-grid{ grid-template-columns:1fr 1fr; } }
  .founder-card h3{ font-size:1.25rem; font-weight:400; font-style:italic; color:var(--petrol-deep); margin-bottom:0.3rem; }
  .founder-role{ display:block; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.12em; color:var(--gold); margin-bottom:0.9rem; }
  .founder-card p{ font-size:1rem; opacity:0.75; max-width:44ch; }

  /* CONTATTI (replaces test) */
  .contatti{ background:var(--sand); text-align:center; }
  .contatti h2{ font-size:clamp(1.9rem,3.8vw,2.6rem); max-width:20ch; margin:0 auto 1.2rem; font-style:italic; font-weight:300; color:var(--petrol-deep); }
  .contatti p.sub{ opacity:0.72; max-width:46ch; margin:0 auto 2.4rem; }
  .contact-form{ max-width:560px; margin:0 auto; text-align:left; }
  .ff-row{ display:grid; gap:1.2rem; margin-bottom:1.2rem; }
  @media(min-width:600px){ .ff-row{ grid-template-columns:1fr 1fr; } }
  .ff{ margin-bottom:1.2rem; }
  .ff label{ display:block; font-size:0.78rem; letter-spacing:0.04em; opacity:0.7; margin-bottom:0.5rem; }
  .ff label .opt{ opacity:0.6; font-style:italic; }
  .ff input, .ff textarea{
    width:100%; border:none; border-bottom:1px solid rgba(27,58,70,0.3);
    background:transparent; padding:0.6rem 0.1rem; font-family:'Public Sans',sans-serif;
    font-size:0.98rem; color:var(--ink); font-weight:300;
  }
  .ff input:focus, .ff textarea:focus{ outline:none; border-bottom-color:var(--gold); }
  .ff-check{ font-size:0.85rem; opacity:0.75; margin-bottom:1.8rem; display:flex; align-items:center; gap:0.5rem; }
  .ff-check label{ display:flex; align-items:center; gap:0.5rem; }

  /* CHIUSURA */
  .chiusura{ background:var(--petrol-deep); color:var(--warmwhite); text-align:center; }
  .chiusura p.pre{ font-family:'Fraunces',serif; font-style:italic; font-weight:300; font-size:1.3rem; opacity:0.78; max-width:36ch; margin:0 auto 1.4rem; line-height:1.5; }
  .chiusura h2{ font-size:clamp(1.8rem,3.6vw,2.4rem); max-width:22ch; margin:0 auto 2.2rem; font-style:italic; font-weight:300; line-height:1.35; }

  footer{ background:var(--petrol-deep); color:var(--warmwhite); opacity:0.65; text-align:center; padding:3.2rem 1.5rem; font-size:0.82rem; }
  footer a{ color:var(--warmwhite); }
  footer .copyright{ margin-top:0.9rem; font-size:0.74rem; opacity:0.75; letter-spacing:0.02em; }
  .direct-contacts{
    display:flex; justify-content:center; gap:2.5rem; flex-wrap:wrap;
    margin-bottom:2.6rem; font-size:0.95rem; opacity:0.8;
  }
  .direct-contacts span{ display:block; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--gold); margin-bottom:0.3rem; }

  @media (prefers-reduced-motion: reduce){ *{ transition:none !important; scroll-behavior:auto !important; } .parallax-img, .photo-parallax img{ transform:none !important; } }
