/* =====================================================
   Gabriele Roych — Consulente per la crescita aziendale
   Sistema "Liquid Glass" — palette NERO + ORO premium
   Display: Fraunces (editoriale) · Body/UI: Geist
   ===================================================== */
:root{
  /* Neri caldi / superfici */
  --ink:#0B0D10;            /* fondo base, near-black grafite */
  --ink-2:#0F1318;          /* alternanza sezioni */
  --surface:#14181F;        /* card scure */
  --surface-2:#1A1F27;      /* card elevate */
  --hairline:rgba(233,224,202,.10);
  --hairline-2:rgba(233,224,202,.18);

  /* Testo */
  --cream:#F4EFE3;          /* off-white caldo, titoli/testo principale */
  --cream-dim:rgba(244,239,227,.70);
  --cream-mute:rgba(244,239,227,.46);

  /* Oro */
  --gold:#C9A227;           /* accento primario */
  --gold-light:#E6C868;     /* highlight, hover chiaro */
  --gold-deep:#9A7B1A;      /* ombre/gradiente */
  --gold-soft:rgba(201,162,39,.14);
  --gold-line:rgba(201,162,39,.30);

  /* Verde "crescita" — solo metriche positive, usato con parsimonia */
  --pos:#5FC98B;

  /* Glass su scuro */
  --glass-bg:rgba(244,239,227,.045);
  --glass-bg-strong:rgba(244,239,227,.085);
  --glass-border:rgba(244,239,227,.12);
  --glass-inset:inset 0 1px 0 rgba(244,239,227,.10);

  --shadow-sm:0 10px 24px rgba(0,0,0,.30);
  --shadow-md:0 18px 44px rgba(0,0,0,.40);
  --shadow-lg:0 30px 70px rgba(0,0,0,.50);
  --shadow-xl:0 50px 110px rgba(0,0,0,.55);
  --glow-gold:0 0 60px rgba(201,162,39,.28);

  --r-sm:14px; --r-md:20px; --r-lg:26px; --r-xl:34px; --r-pill:999px;
  --f-display:'Fraunces','Georgia',serif;
  --f-body:'Geist','Inter',system-ui,sans-serif;
  --ease-soft:cubic-bezier(.16,1,.3,1);
  --ease-elastic:cubic-bezier(.34,1.56,.64,1);
  --container:1280px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--ink);overflow-x:hidden;scroll-behavior:smooth}
body{font-family:var(--f-body);color:var(--cream);background:transparent;line-height:1.6;font-weight:400;min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
::selection{background:var(--gold);color:var(--ink)}

/* ===== Background: gold blobs + grain ===== */
.bg-canvas{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  background:radial-gradient(120% 90% at 50% -10%,#10141A 0%,var(--ink) 55%,#070809 100%)}
main,.footer{position:relative;z-index:1}
.blob{position:absolute;border-radius:50%;filter:blur(130px);opacity:.20;will-change:transform}
.blob--1{width:58vw;height:58vw;background:radial-gradient(circle,var(--gold) 0%,transparent 70%);top:-14%;left:-12%;animation:blobFloat1 30s ease-in-out infinite}
.blob--2{width:46vw;height:46vw;background:radial-gradient(circle,#3a5d8f 0%,transparent 70%);top:34%;right:-16%;opacity:.16;animation:blobFloat2 34s ease-in-out infinite}
.blob--3{width:50vw;height:50vw;background:radial-gradient(circle,var(--gold-deep) 0%,transparent 70%);bottom:-18%;left:18%;opacity:.14;animation:blobFloat3 38s ease-in-out infinite}
@keyframes blobFloat1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(7vw,11vh) scale(1.1)}66%{transform:translate(-4vw,7vh) scale(.95)}}
@keyframes blobFloat2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-9vw,-9vh) scale(1.15)}}
@keyframes blobFloat3{0%,100%{transform:translate(0,0) scale(1)}40%{transform:translate(9vw,-5vh) scale(.9)}80%{transform:translate(-7vw,4vh) scale(1.05)}}
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== Typography ===== */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;line-height:1.04;letter-spacing:-.02em;color:var(--cream);overflow-wrap:break-word}
h1{font-size:clamp(2.15rem,8.5vw,5.2rem);letter-spacing:-.025em;font-weight:400}
h2{font-size:clamp(1.85rem,5.4vw,3.5rem);letter-spacing:-.02em}
h3{font-size:clamp(1.3rem,2.1vw,1.65rem);letter-spacing:-.01em}
h4{font-size:clamp(1.02rem,1.4vw,1.18rem);font-family:var(--f-body);font-weight:600;letter-spacing:0}
em{font-style:italic;color:var(--gold-light)}
p{font-size:clamp(1rem,1.05vw,1.08rem);color:var(--cream-dim);line-height:1.7;max-width:64ch}
strong{font-weight:600;color:var(--cream)}
.lead{font-size:clamp(1.1rem,1.4vw,1.3rem);color:var(--cream-dim);line-height:1.6}
.eyebrow{font-family:var(--f-body);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--gold);display:inline-flex;align-items:center;gap:11px}
.eyebrow::before{content:'';width:30px;height:1px;background:var(--gold);opacity:.7}
.eyebrow.center{justify-content:center}
.gold{color:var(--gold-light)}

/* ===== Layout ===== */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,56px);position:relative;z-index:1}
.container--narrow{max-width:880px}
section{padding:clamp(70px,9vw,140px) 0;position:relative}
.section--alt{background:linear-gradient(180deg,transparent,var(--ink-2) 12%,var(--ink-2) 88%,transparent)}

/* ===== Nav ===== */
.nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;width:calc(100% - 28px);max-width:1240px;
  padding:10px 12px 10px 24px;background:rgba(13,16,20,.55);backdrop-filter:blur(36px) saturate(160%);-webkit-backdrop-filter:blur(36px) saturate(160%);
  border:1px solid var(--glass-border);border-radius:var(--r-pill);box-shadow:var(--shadow-md),var(--glass-inset);
  display:flex;align-items:center;justify-content:space-between;gap:22px;transition:top .35s var(--ease-soft),box-shadow .35s}
.nav.is-scrolled{box-shadow:var(--shadow-lg),var(--glass-inset)}
.nav__brand{display:flex;align-items:center;gap:11px;font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.01em;color:var(--cream)}
.nav__mark{width:36px;height:36px;border-radius:9px;flex:none;display:block;box-shadow:0 4px 14px rgba(201,162,39,.22)}
.nav__brand b{font-weight:400}
.nav__links{display:flex;align-items:center;gap:2px}
.nav__link{font-family:var(--f-body);font-size:.92rem;color:var(--cream-dim);padding:9px 15px;border-radius:var(--r-pill);transition:background .3s,color .3s;font-weight:500}
.nav__link:hover{background:var(--glass-bg-strong);color:var(--cream)}
.nav__link.is-active{color:var(--cream);background:var(--gold-soft)}
.nav__cta{margin-left:6px}
.nav__menu-toggle{display:none;width:42px;height:42px;border-radius:50%;background:var(--glass-bg-strong);color:var(--cream);align-items:center;justify-content:center;border:1px solid var(--glass-border);cursor:pointer;font-size:1.15rem}
.nav__mobile{position:fixed;top:78px;left:14px;right:14px;z-index:99;background:rgba(13,16,20,.92);backdrop-filter:blur(36px) saturate(160%);-webkit-backdrop-filter:blur(36px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:16px;display:none;flex-direction:column;gap:2px}
.nav__mobile.is-open{display:flex}
.nav__mobile a{padding:14px 16px;border-radius:var(--r-md);color:var(--cream-dim);font-size:1.02rem;font-weight:500}
.nav__mobile a:hover,.nav__mobile a.is-active{background:var(--glass-bg-strong);color:var(--cream)}
.nav__mobile .btn{margin-top:8px;justify-content:center}
@media (max-width:920px){.nav__links{display:none}.nav__menu-toggle{display:flex}.nav__cta{display:none}}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:var(--r-pill);font-family:var(--f-body);font-weight:600;font-size:.95rem;cursor:pointer;border:none;position:relative;transition:transform .3s var(--ease-soft),box-shadow .3s,background .3s,color .3s;white-space:nowrap;letter-spacing:-.005em}
.btn--primary{background:linear-gradient(150deg,var(--gold-light),var(--gold) 60%,var(--gold-deep));color:var(--ink);box-shadow:0 14px 32px rgba(201,162,39,.32),inset 0 1px 0 rgba(255,255,255,.45)}
.btn--primary:hover{box-shadow:0 20px 46px rgba(201,162,39,.5),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--ghost{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);color:var(--cream)}
.btn--ghost:hover{background:var(--glass-bg-strong);border-color:var(--gold-line)}
.btn--wa{background:#1FA855;color:#fff;box-shadow:0 14px 32px rgba(31,168,85,.32),inset 0 1px 0 rgba(255,255,255,.25)}
.btn--wa:hover{background:#179248;box-shadow:0 20px 46px rgba(31,168,85,.45)}
.btn--small{padding:10px 18px;font-size:.86rem}
.btn--lg{padding:17px 32px;font-size:1.05rem}
.btn__arrow{display:inline-block;transition:transform .3s var(--ease-soft)}
.btn:hover .btn__arrow{transform:translateX(4px)}
.btn--wa svg,.btn svg{width:18px;height:18px;flex:none}

/* ===== Pill / badge ===== */
.pill{display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 12px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--r-pill);font-size:.82rem;font-weight:500;color:var(--cream-dim)}
.pill__dot{width:7px;height:7px;border-radius:50%;background:var(--pos);box-shadow:0 0 10px var(--pos);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}
.tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-body);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);padding:6px 13px;border:1px solid var(--gold-line);border-radius:var(--r-pill);background:var(--gold-soft)}

/* ===== Glass card ===== */
.glass{background:var(--glass-bg);backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--shadow-md),var(--glass-inset);position:relative;overflow:hidden}
.glass::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 80% at 0% 0%,rgba(244,239,227,.06) 0%,transparent 50%);pointer-events:none}
.card{padding:clamp(24px,2.6vw,38px);transition:transform .55s var(--ease-soft),box-shadow .55s var(--ease-soft),border-color .4s;will-change:transform}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg),var(--glass-inset);border-color:var(--gold-line)}

/* ===== Hero ===== */
.hero{padding-top:clamp(128px,16vw,184px);padding-bottom:clamp(70px,8vw,110px);position:relative;min-height:92vh;display:flex;align-items:center}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,76px);align-items:center;width:100%}
.hero__copy{display:flex;flex-direction:column;gap:24px}
.hero__title{margin-top:2px}
.hero__sub{font-size:clamp(1.08rem,1.25vw,1.24rem);max-width:48ch;color:var(--cream-dim)}
.hero__actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:6px}
.hero__micro{font-size:.9rem;color:var(--cream-mute);margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hero__micro b{color:var(--gold-light);font-weight:600}

/* ===== Hero dashboard visual ===== */
.dash{position:relative;aspect-ratio:1/1.04;max-height:580px;width:100%}
.dash__panel{position:absolute;inset:0;padding:26px 26px 22px;display:flex;flex-direction:column;gap:18px;
  background:linear-gradient(160deg,rgba(26,31,39,.92),rgba(15,19,24,.92));border:1px solid var(--glass-border);
  border-radius:var(--r-xl);box-shadow:var(--shadow-xl),var(--glass-inset);overflow:hidden}
.dash__panel::before{content:'';position:absolute;inset:0;background:radial-gradient(110% 70% at 80% -10%,rgba(201,162,39,.16),transparent 55%);pointer-events:none}
.dash__head{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.dash__head h4{font-family:var(--f-body);font-weight:600;font-size:.95rem;color:var(--cream)}
.dash__head span{font-size:.74rem;color:var(--cream-mute)}
.dash__big{display:flex;align-items:baseline;gap:12px;position:relative;z-index:1}
.dash__big .num{font-family:var(--f-display);font-size:clamp(2.2rem,4vw,3rem);color:var(--cream);line-height:1}
.dash__delta{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;font-weight:600;color:var(--pos);background:rgba(95,201,139,.12);padding:5px 11px;border-radius:var(--r-pill)}
.dash__chart{position:relative;z-index:1;flex:1;min-height:140px;display:flex;align-items:flex-end}
.dash__chart svg{width:100%;height:100%;overflow:visible}
.spark{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:600;stroke-dashoffset:600;animation:draw 2.2s var(--ease-soft) .4s forwards;filter:drop-shadow(0 6px 14px rgba(201,162,39,.5))}
.spark-fill{fill:url(#goldfade);opacity:0;animation:fadein 1.4s ease 1.4s forwards}
.dot{fill:var(--gold-light);opacity:0;animation:fadein .5s ease 2.4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:1}}
.dash__bars{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;align-items:end;height:78px;position:relative;z-index:1}
.dash__bars i{display:block;background:linear-gradient(180deg,var(--gold-line),rgba(201,162,39,.06));border-radius:5px 5px 0 0;border-top:2px solid var(--gold);transform-origin:bottom;transform:scaleY(0);animation:grow .7s var(--ease-soft) forwards}
.dash__bars i:nth-child(1){animation-delay:.5s}.dash__bars i:nth-child(2){animation-delay:.62s}.dash__bars i:nth-child(3){animation-delay:.74s}.dash__bars i:nth-child(4){animation-delay:.86s}.dash__bars i:nth-child(5){animation-delay:.98s}.dash__bars i:nth-child(6){animation-delay:1.1s}
@keyframes grow{to{transform:scaleY(1)}}
.dash__float{position:absolute;z-index:3;padding:13px 16px;display:flex;align-items:center;gap:12px;border-radius:var(--r-md);font-size:.84rem;background:rgba(20,24,31,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}
.dash__float--1{top:14px;left:-26px;animation:floatY 6s ease-in-out infinite}
.dash__float--2{bottom:30px;right:-24px;animation:floatY 7s ease-in-out infinite reverse}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.dash__fc-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:1rem;font-weight:700;font-family:var(--f-display);
  background:linear-gradient(150deg,var(--gold-light),var(--gold-deep));color:var(--ink)}
.dash__fc-label{font-weight:600;color:var(--cream);font-size:.9rem}
.dash__fc-sub{font-size:.74rem;color:var(--cream-mute);display:block;margin-top:1px}
@media (max-width:1024px){.hero__grid{grid-template-columns:1fr}.dash{max-height:460px;max-width:520px;margin:8px auto 0}.dash__float--1{left:0}.dash__float--2{right:0}}

/* ===== Stats strip ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:left}
.stat{padding:26px 24px}
.stat__num{font-family:var(--f-display);font-size:clamp(2rem,3.4vw,2.8rem);color:var(--gold-light);line-height:1;letter-spacing:-.02em}
.stat__label{font-size:.92rem;color:var(--cream-dim);margin-top:10px;line-height:1.4}
@media (max-width:780px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ===== Section head ===== */
.section-head{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(28px,5vw,76px);align-items:end;margin-bottom:clamp(40px,6vw,68px)}
.section-head__title{max-width:18ch}
.section-head__intro{max-width:52ch}
.section-head.center{grid-template-columns:1fr;text-align:center;justify-items:center}
.section-head.center .section-head__title{max-width:22ch;margin-inline:auto}
.section-head.center .section-head__intro{margin-inline:auto}
@media (max-width:820px){.section-head{grid-template-columns:1fr;gap:16px}}

/* ===== Feature / service grid ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media (max-width:920px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
.feature{display:flex;flex-direction:column;gap:16px;min-height:280px}
.feature__ico{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--gold-line);color:var(--gold-light);font-size:1.45rem}
.feature__ico svg{width:26px;height:26px}
.feature h3{margin-top:2px}
.feature p{font-size:.98rem}
.feature__list{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:auto;padding-top:8px}
.feature__list li{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:var(--cream-dim)}
.feature__list li::before{content:'';flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--gold)}

/* ===== Steps / method ===== */
.steps{display:flex;flex-direction:column;gap:0}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,44px);padding:clamp(28px,3.4vw,42px) 0;border-top:1px solid var(--hairline);position:relative}
.step:last-child{border-bottom:1px solid var(--hairline)}
.step__num{font-family:var(--f-display);font-size:clamp(2.4rem,4vw,3.4rem);color:var(--gold);line-height:.9;opacity:.85;min-width:2.4ch}
.step__body{display:flex;flex-direction:column;gap:12px;max-width:60ch}
.step__body h3{font-size:clamp(1.35rem,2.2vw,1.8rem)}
.step__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.step__tags span{font-size:.78rem;color:var(--cream-dim);padding:5px 12px;border:1px solid var(--hairline-2);border-radius:var(--r-pill)}
@media (max-width:680px){.step{grid-template-columns:1fr;gap:10px}}

/* ===== Result / metric cards ===== */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.metric{padding:30px 28px;display:flex;flex-direction:column;gap:8px}
.metric__num{font-family:var(--f-display);font-size:clamp(2.4rem,4vw,3.2rem);color:var(--cream);line-height:1;display:flex;align-items:baseline;gap:8px}
.metric__num small{font-size:1rem;color:var(--pos);font-family:var(--f-body);font-weight:600}
.metric__label{font-size:.95rem;color:var(--cream-dim)}
@media (max-width:820px){.metrics{grid-template-columns:1fr}}

/* ===== Quote / philosophy ===== */
.quote{max-width:24ch;font-family:var(--f-display);font-size:clamp(1.8rem,3.4vw,2.9rem);line-height:1.18;letter-spacing:-.02em;color:var(--cream)}
.quote em{color:var(--gold-light)}

/* ===== Pricing / tariffa ===== */
.tariffa{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:center}
.tariffa__card{padding:clamp(34px,4vw,52px);text-align:center;position:relative;
  background:linear-gradient(165deg,rgba(26,31,39,.95),rgba(13,16,20,.95));border:1px solid var(--gold-line);box-shadow:var(--shadow-xl),var(--glow-gold)}
.tariffa__price{font-family:var(--f-display);font-size:clamp(3.4rem,7vw,5rem);color:var(--gold-light);line-height:1;letter-spacing:-.03em}
.tariffa__price sup{font-size:.4em;vertical-align:super;color:var(--gold)}
.tariffa__per{font-size:1.05rem;color:var(--cream-dim);margin-top:6px}
.tariffa__list{list-style:none;text-align:left;display:flex;flex-direction:column;gap:13px;margin:28px 0 30px}
.tariffa__list li{display:flex;align-items:flex-start;gap:12px;font-size:.98rem;color:var(--cream-dim)}
.tariffa__list svg{width:20px;height:20px;flex:none;margin-top:1px;color:var(--gold)}
@media (max-width:820px){.tariffa{grid-template-columns:1fr}}

/* ===== FAQ accordion ===== */
.faq{display:flex;flex-direction:column;gap:0;max-width:880px;margin:0 auto}
.faq__item{border-top:1px solid var(--hairline)}
.faq__item:last-child{border-bottom:1px solid var(--hairline)}
.faq__q{width:100%;text-align:left;background:none;border:none;cursor:pointer;color:var(--cream);font-family:var(--f-display);font-size:clamp(1.1rem,1.8vw,1.4rem);padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.faq__q:hover{color:var(--gold-light)}
.faq__icon{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--gold-line);display:grid;place-items:center;color:var(--gold);transition:transform .35s var(--ease-soft);font-size:1.1rem}
.faq__item.is-open .faq__icon{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease-soft)}
.faq__a p{padding-bottom:26px;max-width:70ch}

/* ===== CTA band ===== */
.cta-band{position:relative;overflow:hidden;text-align:center;padding:clamp(48px,6vw,80px) clamp(24px,5vw,72px);
  background:linear-gradient(160deg,rgba(26,31,39,.9),rgba(13,16,20,.95));border:1px solid var(--gold-line);box-shadow:var(--shadow-xl)}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(80% 120% at 50% 0%,rgba(201,162,39,.18),transparent 60%);pointer-events:none}
.cta-band__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px}
.cta-band h2{max-width:18ch}
.cta-band p{max-width:52ch;margin:0 auto}
.cta-band .hero__actions{justify-content:center}

/* ===== Page hero (subpages) ===== */
.page-hero{padding-top:clamp(140px,15vw,180px);padding-bottom:clamp(20px,4vw,40px)}
.page-hero__inner{max-width:760px}
.page-hero h1{font-size:clamp(2.4rem,5.2vw,4.2rem)}
.page-hero p{font-size:clamp(1.08rem,1.4vw,1.28rem);margin-top:20px;color:var(--cream-dim)}

/* ===== Prose (legal) ===== */
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:42px 0 14px}
.prose h3{font-size:1.2rem;margin:28px 0 10px}
.prose p,.prose li{color:var(--cream-dim);font-size:1rem;line-height:1.75}
.prose ul{padding-left:22px;margin:12px 0;display:flex;flex-direction:column;gap:8px}
.prose a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--cream)}
.prose .muted{color:var(--cream-mute);font-size:.9rem}

/* ===== Contact ===== */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:stretch}
.contact__card{padding:clamp(30px,3.4vw,46px);display:flex;flex-direction:column;gap:18px}
.contact__row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--hairline)}
.contact__row:first-of-type{border-top:none}
.contact__ico{width:46px;height:46px;border-radius:13px;flex:none;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--gold-line);color:var(--gold-light)}
.contact__ico svg{width:22px;height:22px}
.contact__row b{display:block;color:var(--cream);font-size:1rem}
.contact__row span{font-size:.9rem;color:var(--cream-mute)}
.contact__wa{display:flex;flex-direction:column;justify-content:center;gap:18px;text-align:center;
  background:linear-gradient(160deg,rgba(31,168,85,.16),rgba(13,16,20,.9));border:1px solid rgba(31,168,85,.3)}
.contact__wa .wa-glyph{width:64px;height:64px;margin:0 auto;border-radius:50%;background:#1FA855;display:grid;place-items:center;box-shadow:0 14px 34px rgba(31,168,85,.4)}
.contact__wa .wa-glyph svg{width:34px;height:34px;color:#fff}
@media (max-width:820px){.contact{grid-template-columns:1fr}}

/* ===== Portrait (chi sono) ===== */
.portrait{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-xl)}
.portrait__img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.portrait::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,transparent 55%,rgba(11,13,16,.78) 100%);box-shadow:inset 0 0 0 1px var(--gold-line)}
.portrait__fallback{display:none;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(165deg,rgba(26,31,39,.96),rgba(13,16,20,.96))}
.portrait__tag{position:absolute;left:20px;bottom:18px;z-index:2;font-family:var(--f-body);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light)}

/* ===== Footer ===== */
.footer{border-top:1px solid var(--hairline);padding:clamp(54px,6vw,80px) 0 32px;margin-top:40px;background:linear-gradient(180deg,transparent,rgba(7,8,9,.6))}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(28px,4vw,64px);margin-bottom:48px}
.footer__brand{display:flex;flex-direction:column;gap:16px;max-width:36ch}
.footer__brand p{font-size:.95rem;color:var(--cream-mute)}
.footer__col h4{font-family:var(--f-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin-bottom:16px}
.footer__col a{display:block;color:var(--cream-dim);font-size:.95rem;padding:7px 0;transition:color .3s}
.footer__col a:hover{color:var(--gold-light)}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:26px;border-top:1px solid var(--hairline);flex-wrap:wrap}
.footer__bottom p{font-size:.84rem;color:var(--cream-mute);max-width:none}
.footer__bottom a{color:var(--cream-mute)}
.footer__bottom a:hover{color:var(--gold-light)}

/* ===== Floating WhatsApp FAB ===== */
.wa-fab{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:0;overflow:hidden;
  height:60px;border-radius:var(--r-pill);background:#1FA855;color:#fff;box-shadow:0 16px 38px rgba(31,168,85,.45),inset 0 1px 0 rgba(255,255,255,.25);
  transition:gap .4s var(--ease-soft),padding .4s var(--ease-soft),box-shadow .3s;padding:0}
.wa-fab__ico{width:60px;height:60px;flex:none;display:grid;place-items:center}
.wa-fab__ico svg{width:30px;height:30px}
.wa-fab__label{font-weight:600;font-size:.95rem;white-space:nowrap;max-width:0;opacity:0;transition:max-width .4s var(--ease-soft),opacity .3s,padding .4s}
.wa-fab:hover{box-shadow:0 22px 50px rgba(31,168,85,.6)}
.wa-fab:hover .wa-fab__label{max-width:220px;opacity:1;padding-right:22px}
.wa-fab::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(31,168,85,.55);animation:waPulse 2.8s ease-out infinite}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(31,168,85,.5)}70%{box-shadow:0 0 0 16px rgba(31,168,85,0)}100%{box-shadow:0 0 0 0 rgba(31,168,85,0)}}
@media (max-width:600px){.wa-fab__label{display:none}.wa-fab{right:16px;bottom:16px}}

/* ===== Reveal on scroll (nascosto solo se il JS è attivo) ===== */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-soft),transform .8s var(--ease-soft)}
.reveal.is-in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}

/* ===== Load fade-up ===== */
.fade-up{opacity:0;transform:translateY(20px);animation:fadeUp .9s var(--ease-soft) forwards}
.fade-up.d1{animation-delay:.08s}.fade-up.d2{animation-delay:.18s}.fade-up.d3{animation-delay:.28s}.fade-up.d4{animation-delay:.38s}.fade-up.d5{animation-delay:.48s}
@keyframes fadeUp{to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .fade-up{opacity:1;transform:none}
  .spark{stroke-dashoffset:0}.spark-fill,.dot{opacity:1}.dash__bars i{transform:scaleY(1)}
  html{scroll-behavior:auto}
}
