/* =====================================================================
   MedBridge — homepage
   Palette brand: #FFFFFF · #1873B9 oceano (accenti, CTA) · #0B3C6F ammiraglio
   Montserrat ovunque · Bai Jamjuree solo per micro-etichette
   ===================================================================== */

@font-face{font-family:"Montserrat";src:url(../fonts/montserrat-latin-wght.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Bai Jamjuree";src:url(../fonts/bai-jamjuree-latin-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --navy:#0B3C6F;
  --navy-deep:#082D54;           /* ammiraglio scurito, solo per profondità dei fondi */
  --ocean:#1873B9;
  --ocean-hover:#1466A5;
  --white:#FFFFFF;

  --ink:var(--navy);
  --ink-2:rgba(11,60,111,.74);   /* ≈5.3:1 su bianco */
  --ink-3:rgba(11,60,111,.56);   /* solo per testo ≥ 18px o decorativo */
  --line:rgba(11,60,111,.12);
  --line-2:rgba(11,60,111,.2);
  --tint:rgba(24,115,185,.055);
  --tint-2:rgba(24,115,185,.1);
  --on-dark:rgba(255,255,255,.8);
  --on-dark-2:rgba(255,255,255,.62);
  --line-dark:rgba(255,255,255,.14);

  --e1:0 1px 2px rgba(11,60,111,.05),0 0 0 1px var(--line);
  --e2:0 2px 4px rgba(11,60,111,.04),0 12px 32px -12px rgba(11,60,111,.18),0 0 0 1px var(--line);
  --e3:0 4px 8px rgba(11,60,111,.04),0 48px 96px -40px rgba(11,60,111,.45),0 0 0 1px var(--line);

  --r-sm:12px;--r:20px;--r-lg:28px;--r-xl:40px;
  --gutter:20px;
  --maxw:1240px;
  --section:clamp(64px,7.5vw,112px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:"Montserrat",system-ui,sans-serif;font-weight:400;font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga"}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote,fieldset{margin:0}
fieldset{border:0;padding:0;min-width:0}
ul[role=list],ol[role=list]{list-style:none;padding:0}
img,video,canvas{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
/* Safari su iPhone: niente riquadro grigio al tocco, campi e menu a tendina disegnati come altrove */
html{-webkit-tap-highlight-color:transparent}
input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{-webkit-appearance:none;appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230B3C6F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;padding-right:38px!important}
svg{flex:none}
::selection{background:var(--ocean);color:#fff}
:focus-visible{outline:3px solid var(--ocean);outline-offset:3px;border-radius:8px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-80px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;z-index:200;text-decoration:none;font-weight:600}
.skip:focus{top:12px}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section) 0}

/* ---------- tipografia ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"Bai Jamjuree",sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean)}
.eyebrow .idx{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:999px;border:1px solid currentColor;font-size:.64rem;letter-spacing:.06em}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--ocean);box-shadow:0 0 0 4px var(--tint-2)}
.eyebrow.on-dark{color:var(--on-dark)}
.h2{font-weight:600;font-size:clamp(2.1rem,4.8vw,3.9rem);line-height:1.04;letter-spacing:-.035em;margin-top:20px;max-width:18ch;text-wrap:balance}
.h2.on-dark{color:#fff}
.intro{color:var(--ink-2);font-size:1.1rem;line-height:1.6;max-width:48ch;text-wrap:pretty}
.intro.on-dark{color:var(--on-dark)}
.head{margin-bottom:clamp(56px,7vw,96px)}
.head.split{display:grid;gap:24px;align-items:end}
.head.center{text-align:center;display:grid;justify-items:center}
.head.center .h2{margin-inline:auto}

/* segnaposto da confermare — visibili apposta, da rimuovere prima del lancio */
.todo{outline:2px dashed var(--ocean);outline-offset:4px;border-radius:6px;position:relative}
.todo::after{content:"DA CONFERMARE";position:absolute;top:-13px;right:-6px;font:500 .58rem/1.7 "Bai Jamjuree",sans-serif;letter-spacing:.12em;background:var(--ocean);color:#fff;padding:1px 7px;border-radius:999px;pointer-events:none;white-space:nowrap;z-index:2}
.on-dark .todo,.selection .todo,.on-dark-todo{outline-color:#fff}

/* ---------- pulsanti ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;line-height:1.2;letter-spacing:-.005em;border:0;cursor:pointer;white-space:nowrap;transition:transform .35s var(--ease-out),background-color .25s,box-shadow .35s var(--ease-out),color .25s}
.btn svg{width:19px;height:19px}
.btn-lg{min-height:56px;padding:0 28px;font-size:1rem}
.btn-primary{background:var(--ocean);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(11,60,111,.2),0 12px 28px -12px rgba(24,115,185,.9)}
.btn-primary:hover{background:var(--ocean-hover);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(11,60,111,.2),0 18px 36px -14px rgba(24,115,185,.95)}
.btn-primary:active{transform:translateY(0)}
.btn-outline{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-outline:hover{box-shadow:inset 0 0 0 1px var(--ocean);color:var(--ocean)}
.btn-light{background:#fff;color:var(--navy);box-shadow:0 12px 28px -14px rgba(0,0,0,.5)}
.btn-light:hover{transform:translateY(-2px)}
.btn-link{padding:0 6px;color:var(--navy);min-height:48px}
.btn-link svg{transition:transform .35s var(--ease-out)}
.btn-link:hover{color:var(--ocean)}
.btn-link:hover svg{transform:translateX(4px)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;transition:background-color .4s,box-shadow .4s,backdrop-filter .4s}
.site-header.scrolled{background:rgba(255,255,255,.78);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 1px 0 var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:1.14rem;letter-spacing:-.02em;text-decoration:none;color:var(--navy)}
.logo-mark{width:28px;height:28px;color:var(--ocean)}
.nav{display:none}
.nav ul{display:flex;gap:4px}
.nav a:not(.btn){display:block;white-space:nowrap;padding:8px 14px;border-radius:999px;text-decoration:none;font-size:.92rem;transition:background-color .25s,color .25s}
.nav a:not(.btn):hover{background:var(--tint);color:var(--ocean)}
.nav a.is-current{color:var(--ocean)}
.nav-cta{display:none}
.header-cta{display:none;min-height:44px;padding:0 20px;font-size:.9rem}
.menu-btn{display:grid;place-content:center;gap:6px;width:48px;height:48px;border-radius:50%;border:0;background:var(--tint);cursor:pointer}
.menu-btn i{display:block;width:18px;height:1.8px;background:var(--navy);border-radius:2px;transition:transform .35s var(--ease-out)}
.menu-btn[aria-expanded="true"] i:first-of-type{transform:translateY(3.9px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i:last-of-type{transform:translateY(-3.9px) rotate(-45deg)}
/* menu mobile */
@media (max-width:1023px){
  .nav{display:flex;flex-direction:column;justify-content:space-between;position:fixed;inset:76px 0 0;background:#fff;padding:24px var(--gutter) calc(24px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),visibility .35s}
  .nav.open{opacity:1;visibility:visible;transform:none}
  .nav ul{flex-direction:column;gap:0}
  .nav a:not(.btn){font-size:1.6rem;font-weight:600;letter-spacing:-.02em;padding:16px 0;border-radius:0;border-bottom:1px solid var(--line)}
  .nav a:not(.btn):hover{background:none}
  .nav-cta{display:inline-flex;width:100%;min-height:56px}
  body.menu-open{overflow:hidden}
  .site-header:has(.nav.open){background:#fff}
}

/* ---------- hero ---------- */
.hero{position:relative;padding:32px 0 clamp(80px,9vw,128px);overflow:hidden;isolation:isolate}
.hero-grid-bg{position:absolute;inset:-76px 0 0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(60% 55% at 78% 40%,#000 0%,transparent 100%);mask-image:radial-gradient(60% 55% at 78% 40%,#000 0%,transparent 100%);opacity:.7}
.hero::after{content:"";position:absolute;z-index:-1;right:-15%;top:-10%;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(24,115,185,.13),rgba(24,115,185,0));pointer-events:none}
.hero-inner{display:grid;gap:72px}
.hero h1{font-weight:600;font-size:clamp(2.55rem,6.4vw,5.4rem);line-height:1.01;letter-spacing:-.045em;margin-top:24px;max-width:13ch;text-wrap:balance}
.hero h1 .soft{color:var(--ocean)}
.hero .lead{color:var(--ink-2);margin-top:28px;max-width:44ch;font-size:1.12rem;line-height:1.62;text-wrap:pretty}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:40px}
.ctas .btn-primary{flex:1 1 100%}
.micro{font-size:.84rem;color:var(--ink-2);margin-top:16px}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line)}
.hero-facts div{padding:20px 12px 0 0}
.hero-facts div+div{padding-left:14px;border-left:1px solid var(--line)}
.hero-facts dt{font-size:.74rem;line-height:1.35;color:var(--ink-2);order:2}
.hero-facts dd{white-space:nowrap;font-weight:600;font-size:clamp(1.15rem,2.4vw,1.6rem);letter-spacing:-.03em;margin-bottom:4px;font-variant-numeric:tabular-nums}
.hero-facts div{display:flex;flex-direction:column-reverse;justify-content:flex-end}

/* documento */
.hero-visual{position:relative;padding:28px 12px 56px;max-width:560px;width:100%;justify-self:center}
.doc-back{position:absolute;inset:8px 34px 40px 40px;border-radius:var(--r-lg);background:linear-gradient(160deg,var(--tint-2),rgba(24,115,185,.02));transform:rotate(-4deg);box-shadow:0 0 0 1px var(--line)}
.doc{position:relative;background:#fff;border-radius:var(--r-lg);padding:26px 24px 22px;box-shadow:var(--e3)}
.doc header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.doc-kicker{display:block;font-family:"Bai Jamjuree";font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.doc-title{display:block;font-weight:600;font-size:1.12rem;letter-spacing:-.02em;margin-top:4px}
.chip{font-family:"Bai Jamjuree";font-weight:500;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ocean);background:var(--tint);box-shadow:inset 0 0 0 1px rgba(24,115,185,.3);padding:5px 10px;border-radius:999px;white-space:nowrap}
.doc .row{display:grid;grid-template-columns:1fr 22px;gap:2px 12px;padding:14px 0;border-bottom:1px dashed var(--line);align-items:center}
.doc .row:last-child{border-bottom:0}
.doc dt{grid-column:1;font-size:.74rem;color:var(--ink-2)}
.doc dd{grid-column:1;font-weight:600;font-size:.95rem;letter-spacing:-.01em}
.doc dd em{font-style:normal;color:var(--ocean)}
.tick{grid-column:2;grid-row:1/3;width:22px;height:22px;padding:3px;border-radius:50%;color:#fff;background:var(--ocean);transform:scale(.4);opacity:0;transition:transform .5s var(--ease-out),opacity .3s}
.doc.is-checked .tick{transform:none;opacity:1}
.doc footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:14px;border-top:1px solid var(--line);font-size:.76rem;color:var(--ink-2)}
.sig{width:84px;height:26px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 26'%3E%3Cpath d='M2 18c6-10 10-12 12-6s-2 10 3 6 6-14 10-10-4 16 2 10 8-8 12-6 2 8 8 4 10-6 14-4 6 4 16-2' fill='none' stroke='%231873B9' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");opacity:.8}
.float{position:absolute;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.82);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-radius:18px;padding:12px 16px;box-shadow:var(--e2)}
.float b{display:block;font-weight:600;font-size:.86rem;letter-spacing:-.01em}
.float small{display:block;font-size:.72rem;color:var(--ink-2);line-height:1.35}
.f-license{left:-4px;top:4px}
.fi{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--ocean);color:#fff}
.fi svg{width:18px;height:18px}
.f-price{right:-4px;bottom:0;display:block;padding:14px 18px}
.f-price b{font-size:1.7rem;letter-spacing:-.04em;line-height:1.1;margin:2px 0}

/* ---------- rotta ---------- */
.route{border-block:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--tint))}
.route-inner{display:grid;gap:28px;padding-block:40px}
.route-art{width:100%;max-width:520px;height:auto;color:var(--ocean);justify-self:center;overflow:visible}
.route-art .pt{fill:var(--ocean)}
.route-art .halo{fill:none;stroke:var(--ocean);stroke-opacity:.25}
.route-art text{font:500 10px "Bai Jamjuree",sans-serif;letter-spacing:.16em;fill:var(--navy)}
.route-art .plane{offset-path:path("M40 92 C 180 -10, 420 -10, 560 92");offset-rotate:auto;animation:fly 9s var(--ease) infinite}
@keyframes fly{0%{offset-distance:0%;opacity:0}8%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
.route-facts{display:grid;gap:18px}
.route-facts li{display:grid;gap:2px}
.route-facts b{font-weight:600;font-size:1.05rem;letter-spacing:-.015em}
.route-facts span{font-size:.9rem;color:var(--ink-2)}

/* ---------- selezione (scroll) ---------- */
.selection{position:relative;background:var(--navy);color:#fff;isolation:isolate}
.selection::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 50% at 85% 20%,rgba(24,115,185,.5),transparent 70%),radial-gradient(50% 50% at 0% 100%,rgba(24,115,185,.25),transparent 70%),linear-gradient(180deg,var(--navy),var(--navy-deep))}
.selection::after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--noise);opacity:.05;mix-blend-mode:overlay;pointer-events:none}
.sel-track{height:340vh}
.sel-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.sel-grid{display:grid;grid-template-rows:auto 1fr;gap:24px;height:100%;padding-block:96px 32px}
.sel-copy .h2{font-size:clamp(1.8rem,4.2vw,3.4rem);max-width:16ch}
.stages{margin-top:28px;display:grid;gap:4px}
.stage{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:10px 0;opacity:.42;transition:opacity .5s var(--ease)}
.stage.is-active,.stage.is-done{opacity:1}
.stage.is-done{opacity:.7}
.stage .sn{font:500 .7rem/1.9 "Bai Jamjuree",sans-serif;letter-spacing:.1em;color:var(--on-dark-2)}
.stage.is-active .sn{color:#fff}
.stage b{font-weight:600;font-size:1rem}
.stage p{font-size:.9rem;color:var(--on-dark);margin-top:2px;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .5s var(--ease)}
.stage.is-active p{max-height:80px;opacity:1}
.sel-viz{position:relative;min-height:0;display:grid;grid-template-rows:1fr auto;gap:12px}
.sel-viz canvas{width:100%;height:100%;min-height:0}
.sel-viz figcaption{display:flex;align-items:baseline;gap:12px;color:var(--on-dark)}
.counter{font-weight:200;font-size:clamp(2.6rem,6vw,4.8rem);letter-spacing:-.05em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
#sel-caption{font-size:.9rem;max-width:22ch;line-height:1.35}

/* ---------- come funziona ---------- */
.how-grid{display:grid;gap:0}
.how-stage{display:none}
.steps{position:relative;display:grid;gap:0}
.step{display:grid;grid-template-columns:48px 1fr;gap:4px 16px;padding:36px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step-n{font:500 .78rem/2.2 "Bai Jamjuree",sans-serif;letter-spacing:.1em;color:var(--ocean)}
.step h3{font-weight:600;font-size:1.35rem;letter-spacing:-.025em;line-height:1.25}
.step-body p{color:var(--ink-2);margin-top:10px;max-width:46ch}
.step-visual{grid-column:1/-1;margin-top:24px}

/* pannelli illustrativi */
.panel{position:relative;background:#fff;border-radius:var(--r-lg);padding:24px;box-shadow:var(--e2);overflow:hidden}
.panel-label{font-family:"Bai Jamjuree";font-weight:500;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:18px}
.chat{display:grid;gap:10px;background:linear-gradient(180deg,#fff,var(--tint))}
.bubble{max-width:86%;padding:12px 16px;border-radius:18px;font-size:.9rem;line-height:1.5}
.bubble.me{justify-self:end;background:var(--ocean);color:#fff;border-bottom-right-radius:6px}
.bubble.mb{background:#fff;box-shadow:var(--e1);border-bottom-left-radius:6px}
.typing{display:flex;gap:4px;padding:12px 14px;background:#fff;box-shadow:var(--e1);border-radius:18px;width:max-content}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:blink 1.4s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.list ul{display:grid;gap:0}
.list li{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:.92rem;font-weight:600}
.list li svg{width:22px;height:22px;padding:3px;border-radius:50%;background:var(--tint-2);color:var(--ocean)}
.list em,.trip em,.follow em{font-style:normal;font-weight:400;font-size:.76rem;color:var(--ink-2);text-align:right}
.meter{height:6px;border-radius:99px;background:var(--tint-2);margin-top:20px;overflow:hidden}
.meter span{display:block;height:100%;width:var(--v);background:var(--ocean);border-radius:inherit}
.quote-mini dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quote-mini dl div{padding:14px;border-radius:14px;background:var(--tint)}
.quote-mini dt{font-size:.72rem;color:var(--ink-2)}
.quote-mini dd{font-weight:600;font-size:.92rem;margin-top:2px}
.trip .leg{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;border-radius:16px;background:var(--navy);color:#fff;font-weight:600;letter-spacing:-.01em}
.trip .line{position:relative;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.6) 0 4px,transparent 4px 9px);display:grid;place-items:center}
.trip .line svg{width:18px;height:18px;background:var(--navy);padding:0 2px}
.trip ul,.follow ul{margin-top:12px}
.trip li,.follow li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);font-size:.9rem;font-weight:600}
.trip li:last-child,.follow li:last-child{border-bottom:0}
.stay-row{display:flex;gap:14px;align-items:center;padding:16px;border-radius:16px;background:var(--tint)}
.stay-row b{display:block;font-weight:600;font-size:.95rem}
.stay-row small{font-size:.8rem;color:var(--ink-2)}
.av{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font-weight:600;font-size:.8rem}
.stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.stay-grid span{padding:14px 12px;border-radius:14px;box-shadow:var(--e1);font-size:.8rem;font-weight:600;line-height:1.35}
.stay-grid small{display:block;font-weight:400;color:var(--ink-2);margin-top:4px}
/* telefono: le tre voci una sotto l'altra, così nessuna parola lunga esce dal riquadro */
@media (max-width:520px){.stay-grid{grid-template-columns:1fr;gap:6px}.stay-grid span{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px}.stay-grid small{margin-top:0;flex:none}}
.timeline{position:relative;height:56px;margin:8px 0 6px}
.timeline::before{content:"";position:absolute;left:0;right:0;top:12px;height:4px;border-radius:4px;background:var(--tint-2)}
.timeline i{position:absolute;left:0;top:12px;height:4px;border-radius:4px}
.timeline .t60{width:100%;background:rgba(24,115,185,.35)}
.timeline .t30{width:50%;background:var(--ocean);z-index:1}
.timeline span{position:absolute;top:28px;font-family:"Bai Jamjuree";font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.timeline .m0{left:0}.timeline .m30{left:50%;transform:translateX(-50%)}.timeline .m60{right:0}

/* ---------- trattamenti (bento) ---------- */
.bento{display:grid;gap:14px}
.tile{position:relative;padding:32px 28px;border-radius:var(--r-lg);background:#fff;box-shadow:var(--e1);transition:box-shadow .5s var(--ease-out),transform .5s var(--ease-out);overflow:hidden}
.tile:hover{box-shadow:var(--e3);transform:translateY(-3px)}
.tile-k{font-family:"Bai Jamjuree";font-weight:500;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean)}
.tile h3{font-weight:600;font-size:1.3rem;letter-spacing:-.025em;line-height:1.2;margin-top:14px}
.tile p:not(.tile-k){color:var(--ink-2);margin-top:10px;font-size:.98rem}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tags li{font-size:.8rem;font-weight:600;padding:7px 13px;border-radius:999px;background:var(--tint);color:var(--navy)}
.tile-hero{display:grid;gap:12px;background:linear-gradient(160deg,#fff 40%,var(--tint));}
.tile-hero h3{font-size:clamp(1.5rem,2.6vw,2.1rem);max-width:16ch}
.blueprint{width:100%;max-width:260px;justify-self:center;color:var(--navy);overflow:visible}
.blueprint .dim{color:var(--ocean);opacity:.55}
.blueprint text{font:500 7.5px "Bai Jamjuree",sans-serif;letter-spacing:.14em;fill:var(--ocean)}
.blueprint path{stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2.4s var(--ease)}
.tile-hero.in .blueprint path,.no-io .blueprint path{stroke-dashoffset:0}
.tile-cta{background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:flex-start;isolation:isolate}
.tile-cta::before{content:"";position:absolute;inset:auto -30% -60% auto;width:120%;aspect-ratio:1;z-index:-1;background:radial-gradient(closest-side,rgba(24,115,185,.6),transparent)}
.tile-cta h3{margin-top:0}
.tile-cta p:not(.tile-k){color:var(--on-dark);margin-bottom:24px}
.tile-cta .btn{margin-top:auto}
.tile-cta :focus-visible{outline-color:#fff}

/* ---------- verifica ---------- */
.verify-wrap{background:linear-gradient(180deg,var(--tint),rgba(24,115,185,0))}
.verify{display:grid;gap:14px}
.vcard{padding:32px 28px;border-radius:var(--r-lg);background:#fff;box-shadow:var(--e1);transition:box-shadow .5s var(--ease-out)}
.vcard:hover{box-shadow:var(--e2)}
.vicon{width:44px;height:44px;fill:none;stroke:var(--ocean);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:28px}
.vcard .k{font-family:"Bai Jamjuree";font-weight:500;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.vcard h3{font-weight:600;font-size:1.18rem;letter-spacing:-.02em;line-height:1.3;margin-top:8px}
.vcard p:not(.k){color:var(--ink-2);margin-top:10px;font-size:.95rem}

/* ---------- prezzi ---------- */
.formula{display:grid;gap:12px;margin:0 auto 64px;max-width:980px}
.fx{padding:26px 28px;border-radius:var(--r);background:#fff;box-shadow:var(--e1)}
.fx-k{font-family:"Bai Jamjuree";font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean)}
.fx b{display:block;font-weight:600;font-size:1.12rem;letter-spacing:-.015em;margin-top:6px}
.fx p{color:var(--ink-2);margin-top:6px;font-size:.94rem}
.op{display:grid;place-items:center;width:44px;height:44px;margin:-4px auto;border-radius:50%;background:var(--ocean);color:#fff;font-weight:600;font-size:1.4rem;box-shadow:0 0 0 8px #fff}
.plans{display:grid;gap:16px;align-items:start}
.plan{display:flex;flex-direction:column;padding:36px 28px 32px;border-radius:var(--r-lg);background:#fff;box-shadow:var(--e1);transition:box-shadow .5s var(--ease-out)}
.plan:hover{box-shadow:var(--e2)}
.plan h3{font-weight:600;font-size:1.3rem;letter-spacing:-.02em}
.plan .sub{color:var(--ink-2);font-size:.92rem;margin-top:2px}
.price{display:flex;align-items:flex-start;gap:4px;font-weight:600;font-size:3.6rem;line-height:1;letter-spacing:-.05em;margin:28px 0 14px;font-variant-numeric:tabular-nums}
.price .cur{font-size:1.4rem;letter-spacing:0;margin-top:6px;color:var(--ink-2)}
.for{font-size:.92rem;color:var(--ink-2);min-height:3.2em}
.plan .btn{margin-top:24px;width:100%}
.plan ul{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:13px}
.plan li{display:grid;grid-template-columns:20px 1fr;gap:12px;font-size:.93rem;line-height:1.45}
.plan li svg{width:20px;height:20px;color:var(--ocean);margin-top:1px}
.plan li.inherit{display:block;font-weight:600;font-size:.86rem;color:var(--navy)}
.plan-mid{box-shadow:var(--e3);position:relative}
.plan-mid::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(160deg,var(--ocean),rgba(24,115,185,.1) 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

.compare{margin-top:40px;border-radius:var(--r-lg);box-shadow:var(--e1);background:#fff;overflow:hidden}
.compare summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;font-weight:600}
.compare summary::-webkit-details-marker{display:none}
.compare summary svg{width:20px;height:20px;color:var(--ocean);transform:rotate(90deg);transition:transform .35s var(--ease-out)}
.compare[open] summary svg{transform:rotate(-90deg)}
.compare summary:hover{color:var(--ocean)}
.table-wrap{overflow-x:auto;padding:0 12px 16px}
.compare table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}
.compare th,.compare td{padding:13px 12px;text-align:left;border-top:1px solid var(--line);vertical-align:middle}
.compare thead th{font-family:"Bai Jamjuree";font-weight:500;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);border-top:0}
.compare tbody th{font-weight:400}
.compare td{text-align:center;width:16%;font-weight:600;color:var(--navy)}
.compare thead th:not(:first-child){text-align:center}
.compare td[data-y],.compare td[data-n]{font-size:0}
.compare td[data-y]::before{content:"";display:inline-block;width:20px;height:20px;border-radius:50%;background:var(--ocean) no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.compare td[data-n]::before{content:"";display:inline-block;width:12px;height:1.5px;background:var(--line-2);vertical-align:middle}
.compare .grp th{font-family:"Bai Jamjuree";font-weight:500;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ocean);padding-top:26px;background:none}
.note{font-size:.86rem;color:var(--ink-2);margin:36px auto 0;max-width:78ch;text-align:center}

/* ---------- testimonianza ---------- */
.avatar{width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:var(--e1);display:grid;place-items:center;font-weight:600;color:var(--ocean);flex:none}
.verified{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.84rem;color:var(--ink-2)}

/* ---------- tirana ---------- */
.place{display:grid;gap:14px}
.slot{border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(150deg,rgba(24,115,185,.08),rgba(11,60,111,.16));position:relative;aspect-ratio:4/5}
.slot::after{content:"";position:absolute;inset:0;background-image:var(--noise);opacity:.25;mix-blend-mode:soft-light}
.slot.s1{aspect-ratio:16/11}
.slot-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;font-weight:600;font-size:.95rem;color:var(--navy);z-index:1}
.slot-in span{font-family:"Bai Jamjuree";font-weight:500;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean);margin-bottom:6px}
.slot-in small{font-weight:400;font-size:.8rem;color:var(--ink-2)}

/* ---------- faq ---------- */
.faq-grid{display:grid;gap:48px}
.faq-side .btn-link{margin-top:24px;margin-left:-6px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-weight:600;font-size:1.08rem;letter-spacing:-.015em;transition:color .25s}
.faq summary:hover{color:var(--ocean)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:32px;height:32px;border-radius:50%;background:var(--tint) no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%231873B9' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");transition:transform .4s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq details > div{overflow:hidden}
.faq details p{color:var(--ink-2);padding:0 48px 28px 0;max-width:64ch}

/* ---------- contatto ---------- */
.contact-wrap{padding-top:0}
.contact{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;border-radius:var(--r-xl);padding:clamp(40px,6vw,96px) clamp(22px,5vw,88px);display:grid;gap:48px}
.contact::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(60% 70% at 100% 0%,rgba(24,115,185,.6),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(24,115,185,.25),transparent 70%)}
.contact::after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--noise);opacity:.05;mix-blend-mode:overlay}
.contact .intro{margin-top:22px}
.contact :focus-visible{outline-color:#fff}
.direct{margin-top:36px;display:grid;gap:18px;justify-items:start}
.form{background:#fff;color:var(--navy);border-radius:var(--r-lg);padding:28px 22px;display:grid;gap:20px;box-shadow:0 48px 96px -36px rgba(0,0,0,.55)}
.form :focus-visible{outline-color:var(--ocean)}
.form-title{font-weight:600;font-size:1.15rem;letter-spacing:-.02em}
.field{display:grid;gap:8px}
.field label,.field legend{font-size:.86rem;font-weight:600;padding:0}
.field legend{margin-bottom:8px}
.field input:not([type=radio]){min-height:54px;padding:0 16px;border-radius:14px;border:1px solid var(--line-2);background:#fff;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.field input:not([type=radio]):focus{border-color:var(--ocean);box-shadow:0 0 0 4px rgba(24,115,185,.18);outline:none}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{position:relative;cursor:pointer}
.choices input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choices span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:.88rem;font-weight:500;transition:background-color .2s,color .2s,box-shadow .2s}
.choices label:hover span{box-shadow:inset 0 0 0 1px var(--ocean)}
.choices input:checked + span{background:var(--navy);color:#fff;box-shadow:none}
.choices input:focus-visible + span{outline:3px solid var(--ocean);outline-offset:2px}
.check{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:.86rem;line-height:1.5;color:var(--ink-2);cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ocean)}
.check a{color:var(--ocean)}
.privacy{display:flex;gap:10px;font-size:.8rem;color:var(--ink-2);line-height:1.5;padding:14px;border-radius:14px;background:var(--tint)}
.privacy svg{width:18px;height:18px;color:var(--ocean);margin-top:1px}
.form .btn{width:100%}
.form-error{color:#B3261E;font-size:.86rem;min-height:0;margin:-8px 0}
.form-error:empty{display:none}

/* ---------- footer ---------- */
.site-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:var(--on-dark);margin-top:var(--section);padding:88px 0 calc(110px + env(safe-area-inset-bottom));font-size:.9rem}
.site-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 90% 0%,rgba(24,115,185,.35),transparent 70%)}
.site-footer :focus-visible{outline-color:#fff}
.foot-top{display:grid;gap:48px}
.foot-claim{font-weight:600;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.03em;line-height:1.2;color:#fff;max-width:22ch;margin-bottom:28px}
.site-footer nav{display:flex;gap:56px}
.site-footer nav ul{display:grid;gap:12px}
.site-footer a:not(.btn){text-decoration:none}
.site-footer a:not(.btn):hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.wordmark{font-weight:600;font-size:clamp(3.5rem,16vw,15rem);line-height:.8;letter-spacing:-.06em;margin:72px 0 40px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.02));-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;white-space:nowrap}
.legal{border-top:1px solid var(--line-dark);padding-top:28px;display:grid;gap:10px;font-size:.82rem;color:var(--on-dark-2);max-width:90ch}

/* ---------- barra WhatsApp mobile ---------- */
.mobile-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:90;transform:translateY(160%);transition:transform .5s var(--ease-out)}
.mobile-bar.show{transform:none}
.mobile-bar .btn{width:100%;box-shadow:0 20px 44px -12px rgba(11,60,111,.65)}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* ============================ breakpoint ============================ */
@media (min-width:640px){
  :root{--gutter:32px}
  .ctas .btn-primary{flex:0 0 auto}
  .route-facts{grid-template-columns:repeat(3,1fr);gap:24px}
  .verify{grid-template-columns:1fr 1fr}
  .bento{grid-template-columns:1fr 1fr}
  .tile-hero{grid-column:1/-1;grid-template-columns:1.2fr 1fr;align-items:center}
  .place{grid-template-columns:1fr 1fr}
  .place .s1{grid-column:1/-1}
  .doc{padding:30px 32px 24px}
  .hero-visual{padding:36px 28px 64px}
}
@media (min-width:1024px){
  :root{--gutter:48px}
  .nav{display:block}
  .nav ul{align-items:center}
  .menu-btn{display:none}
  .header-cta{display:inline-flex}
  .head.split{grid-template-columns:1.25fr 1fr;gap:64px}
  .head.split .intro{justify-self:end}

  .hero{padding-top:72px}
  .hero-inner{grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}
  .hero-visual{justify-self:end}
  .f-license{left:-36px;top:8px}
  .f-price{right:-24px}

  .route-inner{grid-template-columns:1fr 1.3fr;align-items:center;gap:64px;padding-block:48px}

  .sel-grid{grid-template-rows:none;grid-template-columns:1fr 1.15fr;align-items:center;gap:80px;padding-block:120px 64px}
  .sel-viz{height:min(70vh,640px)}
  .stages{margin-top:40px;gap:8px}
  .stage{padding:14px 0}
  .stage b{font-size:1.1rem}
  .stage p{font-size:.96rem}

  .how-grid{grid-template-columns:1fr 1fr;gap:96px;align-items:start}
  .how-stage{display:block;position:sticky;top:140px;height:min(60vh,480px)}
  .how-stage-inner{position:relative;height:100%}
  .how-stage-inner > .panel{position:absolute;inset:auto 0;top:50%;transform:translateY(-44%) scale(.97);opacity:0;visibility:hidden;transition:opacity .6s var(--ease-out),transform .8s var(--ease-out),visibility .6s}
  .how-stage-inner > .panel.on{opacity:1;visibility:visible;transform:translateY(-50%)}
  .how-progress{position:absolute;left:-40px;top:0;bottom:0;width:2px;background:var(--line);border-radius:2px}
  .how-progress i{display:block;width:100%;height:var(--p,0%);background:var(--ocean);border-radius:inherit;transition:height .6s var(--ease-out)}
  .step{min-height:46vh;align-content:center;border-top:0;padding:48px 0;opacity:.32;transition:opacity .5s var(--ease)}
  .step:last-child{border-bottom:0}
  .step.is-active{opacity:1}
  .step h3{font-size:1.75rem}
  .step-body p{font-size:1.08rem}
  .step-visual{display:none}

  .bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(240px,auto)}
  .tile-hero{grid-column:span 2;grid-row:span 2;grid-template-columns:1fr;align-content:space-between;padding:44px 40px}
  .tile-hero .blueprint{max-width:300px;justify-self:end;margin-top:-20px}
  .tile-cta{grid-column:span 2}

  .verify{grid-template-columns:repeat(4,1fr)}

  .formula{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0}
  .formula .op{align-self:center}
  .op{margin:0 -10px;position:relative;z-index:1}
  .plans{grid-template-columns:repeat(3,1fr)}
  .plan{padding:44px 36px 40px}

  .place{grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr}
  .place .s1{grid-column:auto;grid-row:span 2;aspect-ratio:auto}
  .place .s2,.place .s3{aspect-ratio:16/11}

  .faq-grid{grid-template-columns:1fr 1.5fr;gap:96px;align-items:start}
  .faq-side{position:sticky;top:140px}

  .contact{grid-template-columns:1fr 1fr;align-items:center;gap:72px}
  .form{padding:36px 32px}

  .foot-top{grid-template-columns:1fr auto;align-items:end}
  .site-footer{padding-bottom:48px}
  .mobile-bar{display:none}
}
@media (min-width:1280px){
  .hero h1{font-size:5.6rem}
}

/* ---------- movimento ridotto ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
  .route-art .plane{animation:none;offset-distance:50%}
  .typing i{animation:none}
  .blueprint path{stroke-dashoffset:0;transition:none}
  .tick{transform:none;opacity:1;transition:none}
  .sel-track{height:auto}
  .sel-sticky{position:relative;height:auto;min-height:100vh}
  .stage{opacity:1}.stage p{max-height:none;opacity:1}
  *,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important}
}

/* =====================================================================
   v3 — logo ufficiale, manifesto, ologramma, film di Tirana, galleria
   ===================================================================== */
.logo img{display:block;height:46px;width:auto}
.ai-note{position:absolute;right:12px;bottom:12px;z-index:3;font:500 .6rem/1.4 "Bai Jamjuree",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(11,60,111,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:5px 9px;border-radius:999px;max-width:calc(100% - 24px)}

/* manifesto */
.manifest{background:#fff}
.manifest-track{height:220vh}
.manifest-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.manifest-frame{position:absolute;inset:0;margin:0;clip-path:inset(calc(var(--mi,1) * 18%) calc(var(--mi,1) * 8%) round calc(var(--mi,1) * 40px));will-change:clip-path}
.manifest-frame img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.18 - var(--mp,0) * .18))}
.manifest-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,45,84,.25),rgba(8,45,84,.72))}
.manifest-copy{position:relative;z-index:2;color:#fff;text-align:center;display:grid;justify-items:center;opacity:var(--mo,0);transform:translateY(calc((1 - var(--mo,0)) * 30px))}
.manifest-title{font-weight:600;font-size:clamp(2.6rem,8vw,7.2rem);line-height:.98;letter-spacing:-.05em;margin-top:22px;text-wrap:balance}
.manifest-title span{display:inline-block}
.manifest-title span:last-child{color:rgba(255,255,255,.72)}
.manifest-sub{max-width:52ch;margin-top:28px;color:rgba(255,255,255,.88);font-size:1.08rem;text-wrap:pretty}

/* ologramma */
.holo{position:relative;background:var(--navy-deep);color:#fff;isolation:isolate;overflow:clip}
.holo::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 70% 55%,rgba(24,115,185,.45),transparent 70%),linear-gradient(180deg,var(--navy),var(--navy-deep))}
.holo::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);pointer-events:none}
.holo-track{height:300vh}
.holo-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center}
.holo-grid{display:grid;grid-template-rows:auto 1fr;gap:8px;height:100%;padding-block:92px 24px}
.holo-copy .h2{font-size:clamp(1.8rem,4.2vw,3.4rem);max-width:17ch}
.holo-parts{margin-top:24px;display:grid;gap:6px}
.holo-parts li{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:10px 0 10px 16px;border-left:2px solid rgba(255,255,255,.14);opacity:.4;transition:opacity .5s var(--ease),border-color .5s}
.holo-parts li.on{opacity:1;border-color:#fff}
.holo-parts b{font-weight:600}
.holo-parts span{grid-column:1/-1;font-size:.9rem;color:var(--on-dark);max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.holo-parts li.on span{max-height:80px}
.holo-stage{position:relative;min-height:0}
.holo-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.holo-base{position:absolute;left:50%;bottom:4%;width:min(64%,360px);aspect-ratio:4/1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(120,190,245,.55),rgba(24,115,185,.15) 60%,transparent);box-shadow:0 0 0 1px rgba(160,210,250,.35),0 0 60px rgba(24,115,185,.5)}
.holo-base::before{content:"";position:absolute;left:50%;bottom:50%;width:80%;height:520%;transform:translateX(-50%);background:linear-gradient(0deg,rgba(120,190,245,.18),transparent);clip-path:polygon(10% 100%,90% 100%,100% 0,0 0);pointer-events:none}
.holo-hud{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;font:500 .62rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.18em;color:rgba(190,225,255,.7)}

/* film */
.film{background:#fff}
.film-track{height:280vh}
.film-sticky{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden}
.film-frame{position:relative;width:calc(100% - (var(--fi,1) * 2 * var(--gutter)));height:calc(100% - var(--fi,1) * 30%);border-radius:calc(var(--fi,1) * 32px);overflow:hidden;background:var(--navy);box-shadow:var(--e3);will-change:width,height}
.film-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,45,84,.1) 30%,rgba(8,45,84,.82)),linear-gradient(90deg,rgba(8,45,84,.55),transparent 60%)}
.film-copy{position:absolute;inset:auto 0 0;padding-bottom:clamp(40px,7vh,88px);color:#fff}
.film-title{font-weight:600;font-size:clamp(2.1rem,5.6vw,4.8rem);line-height:1.02;letter-spacing:-.045em;max-width:14ch;margin-top:18px;text-wrap:balance}
.film-caps{display:grid;gap:10px;margin-top:28px;max-width:560px}
.film-caps li{font-size:1rem;color:rgba(255,255,255,.9);padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.film-caps li.on{opacity:1;transform:none}
.film-caps b{font-weight:600;color:#fff}
.film-toggle{position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.film-toggle i{width:3px;height:14px;background:#fff;border-radius:2px}
.film-toggle[aria-pressed="true"] i:first-child{width:0;height:0;background:none;border-left:12px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;border-radius:0}
.film-toggle[aria-pressed="true"] i:last-child{display:none}
.film :focus-visible{outline-color:#fff}

/* galleria */
.gallery-wrap{padding-top:clamp(56px,7vw,96px)}
.gallery{display:grid;gap:14px}
.gallery figure{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--tint)}
.gallery img,.gallery video{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:14px;bottom:14px;font-size:.8rem;font-weight:600;color:#fff;background:rgba(11,60,111,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;border-radius:999px}
.gallery .g1,.gallery .g3{aspect-ratio:3/2}.gallery .g2{aspect-ratio:4/5}
.gallery-note{font-size:.84rem;color:var(--ink-2);margin-top:22px}

/* tile immagine */
.tile-img{padding:0;min-height:280px;margin:0}
.tile-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* contatti, footer */
.mail{color:#fff;font-weight:600;text-underline-offset:5px}
.foot-logo{height:40px;width:auto;margin-bottom:24px}
.foot-contact{margin:-12px 0 24px;color:var(--on-dark)}
.foot-contact a{color:#fff}
.credits summary{cursor:pointer;color:var(--on-dark);width:max-content}
.credits ul{display:grid;gap:6px;margin-top:12px}
.credits a{color:#fff}

@media (min-width:640px){
  .gallery{grid-template-columns:1.4fr 1fr}
  .gallery .g1{grid-column:1;grid-row:1}
  .gallery .g2{grid-column:2;grid-row:1/3;aspect-ratio:auto}
  .gallery .g3{grid-column:1;grid-row:2}
}
@media (min-width:1024px){
  .logo img{height:50px}
  .holo-grid{grid-template-rows:none;grid-template-columns:1fr 1.1fr;align-items:center;gap:64px;padding-block:96px 48px}
  .holo-stage{height:min(76vh,680px)}
  .holo-parts{margin-top:40px;gap:10px}
  .holo-parts li{padding:14px 0 14px 20px}
  .tile-img{grid-column:span 2;min-height:320px}
  .film-caps{grid-template-columns:repeat(3,1fr);max-width:none}
  .film-toggle{right:28px;top:28px}
}
@media (prefers-reduced-motion:reduce){
  .manifest-track,.holo-track,.film-track{height:auto}
  .manifest-sticky,.film-sticky,.holo-sticky{position:relative;height:auto;min-height:100vh}
  .manifest-frame{clip-path:none}.manifest-frame img{transform:none}
  .manifest-copy{opacity:1;transform:none;padding-block:120px}
  .film-frame{width:100%;height:100vh;border-radius:0}
  .film-caps li{opacity:1;transform:none}
  .holo-parts li{opacity:1}.holo-parts span{max-height:none}
}

/* =====================================================================
   v4 — ispirazione "pagina prodotto": nav sottile, hero video,
   carosello in evidenza, numeri, schede Prima/Durante/Dopo
   ===================================================================== */
html{scroll-padding-top:72px}
.bar{height:60px}
.logo img{height:38px}
.nav a:not(.btn){font-size:.8rem;padding:6px 12px}
.header-cta{min-height:34px!important;padding:0 16px!important;font-size:.8rem!important}
.site-header{background:rgba(255,255,255,.72);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 var(--line)}
@media (max-width:1023px){ .nav{inset:60px 0 0} .menu-btn{width:40px;height:40px} }
@media (min-width:1024px){ .logo img{height:40px} }

.btn-glass{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn-glass:hover{background:rgba(255,255,255,.26);transform:translateY(-2px)}

/* hero media */
.mhero{position:relative;height:calc(100vh - 60px);height:calc(100svh - 60px);min-height:560px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--navy-deep)}
.mhero-media{position:absolute;inset:0}
.mhero-media video{width:100%;height:100%;object-fit:cover;transform:scale(calc(1 + var(--hs,0) * .12));transform-origin:50% 40%}
.mhero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,45,84,.15) 0%,rgba(8,45,84,.05) 35%,rgba(8,45,84,.78) 100%)}
.mhero-copy{position:relative;z-index:2;text-align:center;display:grid;justify-items:center;padding-bottom:clamp(48px,9vh,110px);opacity:calc(1 - var(--hs,0) * 1.4);transform:translateY(calc(var(--hs,0) * -40px))}
.mhero-kicker{font-weight:600;font-size:clamp(1.05rem,2vw,1.4rem);letter-spacing:-.01em;color:rgba(255,255,255,.92)}
.mhero-title{font-weight:600;font-size:clamp(3rem,9.5vw,8.4rem);line-height:.95;letter-spacing:-.055em;margin-top:10px;text-wrap:balance}
.mhero-sub{font-size:clamp(1.05rem,2vw,1.45rem);font-weight:500;margin-top:22px;color:rgba(255,255,255,.9);max-width:30ch}
.mhero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}
.mhero-note{font-size:.84rem;color:rgba(255,255,255,.78);margin-top:20px}
.mhero-logo{animation:logoFloat 6s cubic-bezier(.2,.7,.2,1) infinite,logoRotate 12s linear infinite;margin-bottom:40px;filter:drop-shadow(0 0 30px rgba(24,115,185,.4)) drop-shadow(0 0 60px rgba(24,115,185,.2))}
.mhero-logo img{filter:brightness(1.05)}
@keyframes logoFloat{0%,100%{transform:translateY(0) rotateZ(0deg);opacity:1}50%{transform:translateY(-30px) rotateZ(2deg);opacity:.92}}
@keyframes logoRotate{0%{transform:rotateZ(-1deg)}50%{transform:rotateZ(1deg)}100%{transform:rotateZ(-1deg)}}
.mhero :focus-visible{outline-color:#fff}
.vid-toggle,.hl-play{width:40px;height:40px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vid-toggle i,.hl-play i{width:3px;height:13px;background:#fff;border-radius:2px}
.vid-toggle[aria-pressed="true"] i:first-child,.hl-play[aria-pressed="true"] i:first-child{width:0;height:0;background:none;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;border-radius:0;margin-left:3px}
.vid-toggle[aria-pressed="true"] i:last-child,.hl-play[aria-pressed="true"] i:last-child{display:none}
.mhero-toggle{position:absolute;right:20px;bottom:20px;z-index:3}
.hero-h{font-weight:600;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.03;letter-spacing:-.045em;margin-top:24px;max-width:15ch;text-wrap:balance}
.hero-h .soft{color:var(--ocean)}

/* carosello in evidenza */
.highlights{background:#F5F7FA;padding:var(--section) 0 72px;overflow:hidden}
.hl-head{margin-bottom:40px}
.hl-h{font-weight:600;font-size:clamp(2rem,4.6vw,3.6rem);letter-spacing:-.04em;line-height:1.05}
.highlights .hl-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(86vw,980px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));scroll-padding:0 max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));scrollbar-width:none;outline:none}
.hl-track::-webkit-scrollbar{display:none}
.hl-card{position:relative;scroll-snap-align:start;border-radius:28px;overflow:hidden;aspect-ratio:3/4;background:var(--navy);color:#fff;isolation:isolate}
.hl-media,.hl-media video,.hl-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hl-card::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(8,45,84,.72) 0%,rgba(8,45,84,.1) 45%,rgba(8,45,84,0) 70%)}
.hl-copy{position:relative;z-index:1;padding:28px 26px}
.hl-title{font-weight:600;font-size:clamp(1.35rem,2.6vw,2.2rem);line-height:1.12;letter-spacing:-.03em;max-width:18ch;text-wrap:balance}
.hl-sub{margin-top:10px;font-size:.95rem;color:rgba(255,255,255,.85);max-width:36ch}
.hl-card .ai-note{z-index:2}
.hl-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:28px}
.hl-dots{display:flex;gap:10px;align-items:center;padding:14px 18px;border-radius:999px;background:rgba(11,60,111,.08)}
.hl-dot{position:relative;width:8px;height:8px;border-radius:999px;border:0;padding:0;background:rgba(11,60,111,.35);cursor:pointer;overflow:hidden;transition:width .5s var(--ease-out),background-color .3s}
.hl-dot.on{width:48px;background:rgba(11,60,111,.2)}
.hl-dot i{position:absolute;inset:0;width:0;background:var(--navy);border-radius:inherit}
.hl-dot.on i{animation:hlfill var(--hl-dur,6s) linear forwards}
.highlights.paused .hl-dot.on i{animation-play-state:paused}
@keyframes hlfill{to{width:100%}}
.hl-play{background:rgba(11,60,111,.08)}
.hl-play i{background:var(--navy)}
.hl-play[aria-pressed="true"] i:first-child{border-left-color:var(--navy)}

/* numeri */
.stats{padding-block:clamp(72px,9vw,128px)}
.stat-grid{display:grid;gap:14px}
.stat{padding:32px 28px;border-radius:28px;background:#F5F7FA}
.stat-n{white-space:nowrap;font-weight:600;font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1;letter-spacing:-.055em;background:linear-gradient(120deg,var(--navy),var(--ocean));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stat-l{margin-top:14px;color:var(--ink-2);font-size:.98rem;max-width:24ch}

/* momenti */
.moments{background:#fff}
.mo-stage{position:relative;border-radius:32px;overflow:hidden;background:var(--navy);aspect-ratio:4/5;color:#fff;isolation:isolate}
.mo-panel{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease-out)}
.mo-panel.on{opacity:1}
.mo-panel[hidden]{display:block;visibility:hidden}
.mo-panel.on[hidden]{visibility:visible}
.mo-media,.mo-media video,.mo-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mo-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,45,84,.85),rgba(8,45,84,0) 60%)}
.mo-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:28px 26px;max-width:620px;transform:translateY(12px);transition:transform .8s var(--ease-out)}
.mo-panel.on .mo-copy{transform:none}
.mo-t{font-weight:600;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em;line-height:1}
.mo-copy p:not(.mo-t){margin-top:12px;color:rgba(255,255,255,.88)}
.mo-tabs{position:relative;display:flex;gap:4px;width:max-content;margin:28px auto 0;padding:5px;border-radius:999px;background:#F0F3F7}
.mo-tabs button{position:relative;z-index:1;border:0;background:none;cursor:pointer;font-weight:600;font-size:.92rem;padding:10px 22px;border-radius:999px;color:var(--ink-2);transition:color .3s}
.mo-tabs button[aria-selected="true"]{color:#fff}
.mo-pill{position:absolute;z-index:0;top:5px;bottom:5px;left:var(--pl,5px);width:var(--pw,80px);border-radius:999px;background:var(--navy);transition:left .5s var(--ease-out),width .5s var(--ease-out)}

@media (min-width:640px){
  .hl-card{aspect-ratio:16/10}
  .stat-grid{grid-template-columns:1fr 1fr}
  .mo-stage{aspect-ratio:16/9}
}
@media (min-width:1024px){
  .hl-copy{padding:40px 44px}
  .stat-grid{grid-template-columns:repeat(4,1fr)}
  .mo-copy{padding:48px 52px}
}
@media (prefers-reduced-motion:reduce){
  .mhero-copy{opacity:1;transform:none}
  .hl-dot.on i{animation:none;width:100%}
}
@media (max-width:639px){
  .stat-grid{grid-template-columns:1fr 1fr;gap:10px}
  .stat{padding:22px 18px;border-radius:22px}
  .stat-n{font-size:clamp(1.9rem,9vw,2.6rem)}
  .stat-l{font-size:.84rem}
}

/* =====================================================================
   v5 - rifinitura con le linee guida "taste": meno decorazione,
   un solo sistema di raggi, niente grana su contenitori che scorrono
   ===================================================================== */
:root{--r:28px;--r-lg:28px;--r-xl:28px}
.selection::after,.contact::after,.slot::after{content:none}
.contact,.mo-stage,.hl-card,.film-frame{border-radius:28px}
.film-frame{border-radius:calc(var(--fi,1) * 28px)}
.head .intro{margin-top:20px}
.head .h2{margin-top:0}
.sel-copy .h2,.holo-copy .h2{margin-top:0}
.contact .h2{margin-top:16px}
.btn:active{transform:scale(.98)}
.hero-h{margin-top:0}

/* dichiarazione AI: testo semplice, non una pillola */
.ai-note{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;border-radius:0;letter-spacing:.04em;text-transform:none;font:500 .7rem/1.4 "Montserrat",sans-serif;color:rgba(255,255,255,.78);text-shadow:0 1px 8px rgba(8,45,84,.6)}

/* didascalie della galleria sotto le immagini */
.gallery-cap figure{overflow:visible;background:none;border-radius:0}
.gallery-cap figure img{border-radius:28px;height:calc(100% - 34px)}
.gallery-cap figcaption{position:static;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:10px 4px 0;color:var(--ink-2);font-weight:500}

@media (prefers-reduced-transparency:reduce){
  .site-header,.float,.film-caps li,.btn-glass,.vid-toggle,.funnel li{backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-header{background:#fff}
}

/* =====================================================================
   Bozze: contenuti da confermare nascosti in produzione
   ===================================================================== */
html:not(.drafts) [data-draft]{display:none!important}
html:not(.drafts) .todo{outline:none}
html:not(.drafts) .todo::after{content:none}
html.drafts body::before{content:"MODALITÀ BOZZA: i contenuti tratteggiati sono da confermare (vedi PLACEHOLDERS.md)";position:fixed;left:0;right:0;bottom:0;z-index:300;background:#1873B9;color:#fff;font:600 .8rem/1 Montserrat,sans-serif;padding:10px 16px;text-align:center}
.privacy a{color:var(--ocean);font-weight:600}

/* =====================================================================
   Fase 2 - stabilità del layout e rifiniture
   ===================================================================== */
/* film: il riquadro si apre con clip-path (nessun cambio di dimensioni) */
.film-frame{position:absolute;inset:0;width:auto;height:auto;border-radius:0;box-shadow:none;clip-path:inset(calc(var(--fi,1) * 12%) calc(var(--fi,1) * var(--gutter)) round calc(var(--fi,1) * 28px));will-change:clip-path}
.film-copy{position:absolute;inset:auto 0 0;z-index:2;color:#fff;padding-bottom:clamp(40px,7vh,88px);transform:translateY(calc(var(--fi,1) * -12vh));transition:none}
.film-toggle{position:absolute;z-index:3;right:calc(var(--gutter) + 16px);top:calc(var(--fi,1) * 12vh + 16px);right:calc(var(--fi,1) * var(--gutter) + 16px)}
.film-toggle{transform:translateZ(0)}
@media (prefers-reduced-motion:reduce){.film-frame{clip-path:none}.film-copy{transform:none}.film-toggle{top:16px;right:16px}}

/* passi della selezione e parti dell'ologramma: altezza fissa, cambia solo l'opacità */
.stage p,.stage.is-active p{max-height:none;opacity:1;transition:none}
.holo-parts span,.holo-parts li.on span{max-height:none}

/* manifesto: bande bianche iniziali più contenute */
.manifest-frame{clip-path:inset(calc(var(--mi,1) * 9%) calc(var(--mi,1) * 6%) round calc(var(--mi,1) * 28px))}

/* spaziatura: meno vuoti tra contatti, galleria e footer */
.site-footer{margin-top:clamp(56px,7vw,96px)}
.gallery-wrap{padding-bottom:clamp(64px,8vw,112px)}
.faq-wrap{padding-top:clamp(48px,5vw,72px)}

/* menu mobile: nessuna transizione prima che la pagina sia pronta */
html:not(.ready) .nav{transition:none!important}

/* footer ordinato */
.wordmark{font-size:clamp(3rem,11vw,9.5rem);margin:56px 0 32px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.02));-webkit-background-clip:text;background-clip:text}
.legal{max-width:none}
.site-footer nav{gap:40px}
.film-toggle{top:16px;right:16px;transform:translate(calc(var(--fi,1) * var(--gutter) * -1),calc(var(--fi,1) * 12vh))}
@media (min-width:1024px){.film-toggle{top:28px;right:28px}}
.sel-viz figcaption{min-height:4.6em;align-items:flex-start}
.counter{display:inline-block;min-width:4.2ch}
#sel-caption{min-height:2.7em}

/* =====================================================================
   Fase 3 - grafiche, media, ologramma, leggibilità
   ===================================================================== */
:root{--on-dark-2:rgba(255,255,255,.74)}

/* nessuna etichetta sotto i 12px */
.eyebrow{font-size:.8rem}
.chip,.doc-kicker,.tile-k,.panel-label,.fx-k,.vcard .k,.compare thead th,.compare .grp th,.timeline span,.slot-in span{font-size:.75rem}
.hero-facts dt,.doc dt,.float small,.list em,.trip em,.follow em,.stay-grid small{font-size:.8rem}
.stage .sn,.step-n{font-size:.8rem}

/* contatori: valore finale sempre nel DOM */
.num{position:relative;display:inline-block}
.num-anim{position:absolute;left:0;top:0;white-space:nowrap;visibility:hidden}
.num.counting .num-final{visibility:hidden}
.num.counting .num-anim{visibility:visible}

/* hero: scrim calibrato per il contrasto del testo */
.mhero-shade{background:linear-gradient(180deg,rgba(8,45,84,.25) 0%,rgba(8,45,84,.12) 30%,rgba(8,45,84,.62) 70%,rgba(8,45,84,.88) 100%)}
.mhero-title{text-shadow:0 2px 30px rgba(8,45,84,.35)}
.mhero-sub{font-size:clamp(1.1rem,2vw,1.5rem);max-width:32ch}

/* carosello */
.hl-card--illu{background:var(--navy)}
.hl-illu{position:absolute;inset:0;width:100%;height:100%}
.hl-card--illu .hl-illu{object-fit:cover}
.hl-title{font-size:clamp(1.5rem,2.8vw,2.4rem)}
.hl-sub{font-size:1.02rem;color:rgba(255,255,255,.92);max-width:40ch}
.hl-card::after{background:linear-gradient(180deg,rgba(8,45,84,.9) 0%,rgba(8,45,84,.62) 30%,rgba(8,45,84,.18) 55%,rgba(8,45,84,0) 75%)}
.hl-copy{text-shadow:0 1px 12px rgba(8,45,84,.45)}
.hl-dots{padding:0 8px;gap:0}
.hl-dot{width:44px;height:44px;border-radius:999px;background:none;display:grid;place-items:center;overflow:visible;transition:width .5s var(--ease-out)}
.hl-dot::before{content:"";grid-area:1/1;width:8px;height:8px;border-radius:999px;background:rgba(11,60,111,.4);transition:width .5s var(--ease-out),background-color .3s}
.hl-dot i{grid-area:1/1;position:static;justify-self:start;margin-left:0;height:8px;width:0;background:var(--navy);border-radius:999px}
.hl-dot.on{width:64px}
.hl-dot.on::before{width:48px;background:rgba(11,60,111,.18)}
.hl-dot.on i{margin-left:8px;animation:hlfill2 var(--hl-dur,6s) linear forwards}
.highlights.paused .hl-dot.on i,.highlights.hovered .hl-dot.on i{animation-play-state:paused}
@keyframes hlfill2{to{width:48px}}
.hl-play{width:44px;height:44px}
.hl-track:focus-visible{outline:3px solid var(--ocean);outline-offset:-3px}

/* selezione: etichette più grandi, passi sempre leggibili */
.stage{opacity:1}
.stage b{color:var(--on-dark-2);transition:color .4s}
.stage p{color:var(--on-dark-2);font-size:.95rem}
.stage.is-active b{color:#fff}
.stage.is-active p{color:#fff}
.stage .sn{color:var(--on-dark-2)}
.stage.is-active .sn{color:#fff}
.stage{border-left:2px solid rgba(255,255,255,.18);padding-left:14px;transition:border-color .4s}
.stage.is-active{border-left-color:#fff}
.counter{font-weight:300}
#sel-caption{font-size:1rem;color:#fff;max-width:26ch}

/* come funziona: contrasto dei passi inattivi e pannelli senza sovrapposizioni */
@media (min-width:1024px){
  .step{opacity:1}
  .step h3,.step-body p{transition:color .4s}
  .step:not(.is-active) h3{color:var(--ink-2)}
  .step:not(.is-active) .step-body p{color:var(--ink-2)}
  .step.is-active h3{color:var(--navy)}
  .step .step-n{transition:color .4s}
  .step:not(.is-active) .step-n{color:var(--ink-2)}
  .how-stage-inner > .panel{transition:opacity .25s var(--ease),visibility 0s linear .25s,transform .25s var(--ease)}
  .how-stage-inner > .panel.on{transition:opacity .45s var(--ease-out) .22s,visibility 0s,transform .6s var(--ease-out) .22s}
  .how-progress{width:3px;left:-44px;background:rgba(11,60,111,.12)}
}
.panel-label{display:inline-block;padding:5px 10px;border-radius:999px;background:var(--tint-2);color:var(--navy);font-weight:600;letter-spacing:.12em}

/* trattamenti: icone e disegno tecnico */
.tile-ic{width:40px;height:40px;color:var(--ocean);margin-bottom:16px;display:block}
.tile-cta .tile-ic{color:#fff}
.blueprint{max-width:340px}
.blueprint text{font:600 13px "Montserrat",sans-serif;letter-spacing:0;fill:var(--navy)}
.blueprint .bp-shape path{stroke-dasharray:none;stroke-dashoffset:0}
.blueprint .dim{opacity:.7}
.tile:focus-within{box-shadow:var(--e3)}

/* immagini AI: dichiarazione leggibile */
.ai-note{font:500 .82rem/1.35 "Montserrat",sans-serif;color:#fff;background:rgba(8,45,84,.72);padding:6px 10px;border-radius:8px;text-shadow:none;left:12px;right:auto;bottom:12px;max-width:calc(100% - 24px)}

/* ologramma 3D */
.holo-stage{margin:0;display:grid;grid-template-rows:1fr auto;gap:12px}
.holo-view{position:relative;min-height:0;height:100%;touch-action:pan-y;cursor:grab;user-select:none}
.holo-view:active{cursor:grabbing}
.holo-view canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.holo-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.holo-lines path{fill:none;stroke:rgba(160,210,250,.35);stroke-width:1}
.holo-lines circle{fill:rgba(160,210,250,.5)}
.holo-lines .on{stroke:#fff;fill:#fff}
.holo-lines path.on{fill:none;stroke-width:1.4}
.holo-label{position:absolute;left:0;top:0;font:600 .95rem/1 "Montserrat",sans-serif;color:rgba(220,238,255,.75);padding:7px 11px;border-radius:999px;background:rgba(8,45,84,.55);box-shadow:inset 0 0 0 1px rgba(160,210,250,.3);white-space:nowrap;opacity:0;transition:color .3s,background-color .3s,opacity .4s}
.holo-ready .holo-label{opacity:1}
.holo-label.on{color:var(--navy);background:#fff}
.holo-fallback{display:none;width:100%;height:100%;object-fit:contain;max-height:70vh}
.holo-static .holo-fallback{display:block}
.holo-static .holo-view,.holo-static .holo-hud{display:none}
.holo-static .holo-base{display:none}
.holo-static .holo-note{content:""}
.holo-hud{font:600 .8rem/1 "Montserrat",sans-serif;letter-spacing:.04em;text-transform:none;color:rgba(220,238,255,.82);top:4px}
.holo-note{font-size:.9rem;color:rgba(230,242,255,.86);max-width:48ch}
.holo-parts li{padding:0;border-left:0;opacity:1}
.holo-part{display:grid;gap:4px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;background:none;border:0;border-left:2px solid rgba(255,255,255,.2);padding:12px 0 12px 18px;min-height:44px;transition:border-color .3s}
.holo-part b{font-weight:600;font-size:1.05rem;color:var(--on-dark-2)}
.holo-part span{font-size:.92rem;color:var(--on-dark-2);max-height:none}
.holo-part[aria-pressed="true"]{border-left-color:#fff}
.holo-part[aria-pressed="true"] b,.holo-part[aria-pressed="true"] span{color:#fff}
.holo-part:hover b{color:#fff}
.holo-part:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:1023px){.holo-stage{min-height:52vh}.holo-view{min-height:44vh}}

/* prima / durante / dopo */
.mo-tabs button{min-height:44px;padding:0 24px}
.mo-copy p:not(.mo-t){font-size:1.05rem;color:#fff;max-width:52ch}
.mo-panel::after{background:linear-gradient(0deg,rgba(8,45,84,.92),rgba(8,45,84,.4) 45%,rgba(8,45,84,0) 75%)}

/* prezzi */
.plans{align-items:stretch}
.plan ul{flex:1;align-content:start}
.price{margin-bottom:6px}
.price-note{font-size:.85rem;color:var(--ink-2);margin-bottom:14px}

/* galleria: immagini dentro <picture> */
.gallery picture{display:block;height:100%}
.gallery-cap figure picture{height:calc(100% - 34px)}
.gallery-cap figure img{height:100%}
.manifest-frame picture,.tile-img picture,.hl-media picture{position:absolute;inset:0}
.manifest-frame picture img,.tile-img picture img,.hl-media picture img{width:100%;height:100%;object-fit:cover}

/* contatti */
.direct{grid-auto-flow:row}
.direct .btn-glass{color:#fff}
.mail{display:inline-flex;align-items:center;min-height:44px}

@media (prefers-reduced-motion:reduce){
  .num-anim{display:none}
  .how-stage-inner > .panel{transition:none!important}
}
.holo-ready .holo-base{display:none}
.sel-viz figcaption{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:end}
.counter{min-width:0;width:3.3em;text-align:left}
.hl-card--illu{background:linear-gradient(135deg,#1873B9 0%,#0B3C6F 70%)}
.hl-card--illu .hl-illu{left:auto;width:min(100%,640px);height:88%;top:auto;bottom:0}
@media (max-width:1023px){
  .holo-copy .eyebrow{display:none}
  .holo-copy .h2{font-size:clamp(1.6rem,7vw,2.2rem)}
  .holo-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px}
  .holo-part{border-left:0;border-radius:999px;padding:0 8px;justify-items:center;text-align:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
  .holo-part b{font-size:.92rem}
  .holo-part span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .holo-part[aria-pressed="true"]{background:#fff;box-shadow:none}
  .holo-part[aria-pressed="true"] b{color:var(--navy)}
  .holo-grid{padding-block:80px 16px}
  .holo-note{font-size:.82rem}
}
.site-footer nav ul{align-content:start}
.holo-part{align-content:center}
.doc-kicker{color:var(--ink-2)}
.credits summary{min-height:44px;display:flex;align-items:center}

/* ---------- alloggio ---------- */
.lodging{background:var(--tint)}
.lodging-grid{display:grid;gap:40px;align-items:center}
.lodging-media{position:relative;margin:0;aspect-ratio:1/1;border-radius:32px;overflow:hidden;background:var(--navy);box-shadow:var(--e1);isolation:isolate}
.lodging-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lodging-media figcaption{position:absolute;left:16px;bottom:16px;z-index:2;font-size:.8rem;font-weight:600;color:#fff;background:rgba(11,60,111,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;border-radius:999px;max-width:calc(100% - 92px)}
.lodging-toggle{position:absolute;right:16px;bottom:16px;z-index:3;width:44px;height:44px}
.lodging-copy .h2{max-width:14ch}
.lodging-copy .intro{margin-top:20px}
.lodging-list{margin:28px 0 0;padding:0;list-style:none;display:grid;max-width:48ch}
.lodging-list li{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:.95rem;font-weight:600}
.lodging-list svg{width:22px;height:22px;padding:3px;border-radius:50%;background:var(--tint-2);color:var(--ocean)}
.lodging-list em{font-style:normal;font-weight:400;font-size:.8rem;color:var(--ink-2);text-align:right}
.lodging-note{font-size:.86rem;color:var(--ink-2);margin:20px 0 28px;max-width:52ch}
@media (min-width:1024px){
  .lodging-grid{grid-template-columns:1fr 1fr;gap:72px}
}

/* ---------- panoramica: vantaggi e preventivo ---------- */
.hero-benefits{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:10px}
.hero-benefits li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:.98rem}
.hero-benefits svg{flex:none;width:22px;height:22px;padding:3px;border-radius:50%;background:var(--tint-2);color:var(--ocean)}
.hero .ctas{margin-top:32px}
.qcard{position:relative;background:#fff;border-radius:var(--r-lg);padding:28px 24px 24px;box-shadow:var(--e3);overflow:hidden}
.qcard::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--ocean),#59A9E6)}
.qc-kicker{font-family:"Bai Jamjuree",sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean)}
.qc-title{font-weight:600;font-size:clamp(1.25rem,2.2vw,1.55rem);line-height:1.15;letter-spacing:-.025em;margin-top:8px;max-width:20ch}
.qc-grid{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qc-item{display:grid;gap:4px;padding:16px;border-radius:18px;background:var(--tint);box-shadow:inset 0 0 0 1px var(--line);transition:transform .4s var(--ease-out),box-shadow .4s}
.qc-item:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--ocean)}
.qc-item b{font-weight:600;font-size:.95rem;letter-spacing:-.01em;margin-top:6px}
.qc-item span:not(.qc-ic){font-size:.85rem;color:var(--ink-2);line-height:1.4}
.qc-wide{grid-column:1/-1;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}
.qc-wide .qc-ic{grid-row:1/3}
.qc-wide b{margin-top:0}
.qc-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:var(--ocean);box-shadow:var(--e1)}
.qc-ic svg{width:22px;height:22px}
.qc-ussh{display:grid;gap:14px;margin-top:12px;padding:18px;border-radius:18px;background:linear-gradient(135deg,var(--navy),#1873B9);color:#fff}
.qc-ussh b{display:block;font-weight:600;font-size:.98rem}
.qc-ussh span{display:block;font-size:.84rem;line-height:1.45;color:rgba(255,255,255,.85);margin-top:4px}
.qc-btn{justify-self:start;min-height:44px;padding:0 18px;font-size:.9rem}
.qc-btn svg{width:16px;height:16px}
.hero-visual .f-license{z-index:2;left:auto;right:-4px;top:0}
@media (min-width:1024px){.hero-visual .f-license{right:-28px;top:4px}}
@media (min-width:640px){
  .qcard{padding:34px 32px 30px}
}

/* ---------- ologramma: testi ---------- */
.holo-soft{color:#8fc3ee}
.holo-copy .h2{font-size:clamp(1.8rem,3.6vw,3rem);max-width:16ch}
.holo-copy .holo-parts{margin-top:28px}
.holo-intro{margin-top:18px;max-width:46ch;color:rgba(230,242,255,.86);font-size:1.02rem;line-height:1.6}
@media (max-width:1023px){.holo-intro{display:none}}
@media (max-width:519px){.holo-label .hl-x{display:none}}

/* ---------- come funziona: colori, tappe e chat ---------- */
.how{position:relative;isolation:isolate;overflow:clip;background:linear-gradient(180deg,#fff 0%,#f2f7fc 40%,#fff 100%)}
.how::before,.how::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);pointer-events:none}
.how::before{width:520px;height:520px;left:-180px;top:18%;background:radial-gradient(closest-side,rgba(24,115,185,.16),transparent)}
.how::after{width:560px;height:560px;right:-200px;top:55%;background:radial-gradient(closest-side,rgba(14,159,154,.14),transparent)}
.how-soft{color:var(--ocean)}
.step{--ac:var(--ocean)}
.step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;font:600 .9rem/1 "Montserrat",sans-serif;letter-spacing:0;color:var(--ac);background:#eef3f9;background:color-mix(in srgb,var(--ac) 12%,#fff);box-shadow:inset 0 0 0 1px rgba(31,99,184,.22);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 22%,transparent);transition:background .4s,color .4s,box-shadow .4s,transform .4s var(--ease-out)}
.step.is-active .step-n,.step:hover .step-n{color:#fff;background:linear-gradient(135deg,var(--ac),var(--ac));background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 70%,#fff));box-shadow:0 10px 24px -10px var(--ac);transform:scale(1.05)}
.step-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px!important}
.step-tags span{padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--ac);color:color-mix(in srgb,var(--ac) 85%,#000);background:#eef3f9;background:color-mix(in srgb,var(--ac) 10%,#fff);box-shadow:inset 0 0 0 1px rgba(31,99,184,.20);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 20%,transparent)}
.step:not(.is-active) .step-tags span{filter:saturate(.4);opacity:.8}

/* pannelli: barra d'accento e dettagli colorati */
.panel{--ac:var(--ocean);border:1px solid rgba(31,99,184,.14);border:1px solid color-mix(in srgb,var(--ac) 14%,transparent)}
.panel::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--ac),var(--ac));background:linear-gradient(90deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#fff))}
.panel-label{background:#eef3f9!important;background:color-mix(in srgb,var(--ac) 12%,#fff)!important;color:var(--ac)!important;color:color-mix(in srgb,var(--ac) 85%,#000)!important}
.list li svg{background:#eef3f9;background:color-mix(in srgb,var(--ac) 14%,#fff);color:var(--ac)}
.meter{background:#eef3f9;background:color-mix(in srgb,var(--ac) 12%,#fff)}
.meter span{background:linear-gradient(90deg,var(--ac),var(--ac));background:linear-gradient(90deg,var(--ac),color-mix(in srgb,var(--ac) 55%,#fff))}
.quote-mini dl div{background:#eef3f9;background:color-mix(in srgb,var(--ac) 7%,#fff);box-shadow:inset 3px 0 0 var(--ac)}
.quote-mini dd{color:var(--navy)}
.trip .leg{background:linear-gradient(135deg,var(--navy),var(--ac));background:linear-gradient(135deg,var(--navy),color-mix(in srgb,var(--ac) 75%,var(--navy)))}
.trip .line svg{background:transparent;color:#fff}
.trip em,.follow em,.list em{color:var(--ac);color:color-mix(in srgb,var(--ac) 80%,#000)}
.stay-row{background:#eef3f9;background:color-mix(in srgb,var(--ac) 9%,#fff)}
.av{background:linear-gradient(135deg,var(--ac),var(--ac));background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 60%,#000))}
.stay-grid span{box-shadow:inset 0 0 0 1px rgba(31,99,184,.18);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 18%,transparent);background:#fff}
.timeline .t30{background:var(--ac)}
.timeline .t60{background:var(--ac);background:color-mix(in srgb,var(--ac) 35%,#fff)}

/* chat in stile messaggistica */
.panel.chat{display:block;padding:0;background:#fff}
.panel.chat::before{display:none}
.wa-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,var(--navy),var(--ocean));color:#fff}
.wa-av{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.wa-av img{width:30px;height:30px;object-fit:contain}
.wa-who b{display:block;font-weight:600;font-size:.98rem;letter-spacing:-.01em}
.wa-who small{display:flex;align-items:center;gap:6px;font-size:.76rem;color:rgba(255,255,255,.85)}
.wa-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.25)}
.wa-badge{margin-left:auto;font:600 .66rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16)}
.wa-body{display:grid;gap:8px;padding:16px 16px 14px;background-color:#eaf2fa;background-image:radial-gradient(rgba(24,115,185,.12) 1px,transparent 1.6px);background-size:18px 18px}
.wa-day{justify-self:center;font-size:.72rem;font-weight:600;padding:4px 12px;border-radius:8px;background:#fff;color:var(--ink-2);box-shadow:var(--e1)}
.panel.chat .bubble{position:relative;max-width:84%;padding:10px 14px 22px;font-size:.9rem;line-height:1.45;border-radius:16px;box-shadow:0 1px 1px rgba(11,60,111,.08)}
.panel.chat .bubble.me{justify-self:end;background:linear-gradient(135deg,#1873B9,#2f8fdb);color:#fff;border-bottom-right-radius:4px}
.panel.chat .bubble.mb{justify-self:start;background:#fff;color:var(--ink);border-bottom-left-radius:4px}
.wa-meta{position:absolute;right:10px;bottom:5px;display:inline-flex;align-items:center;gap:4px;font-size:.66rem;opacity:.8}
.wa-meta svg{width:16px;height:11px;color:#9fe0ff}
.panel.chat .typing{background:#fff;box-shadow:0 1px 1px rgba(11,60,111,.08);border-bottom-left-radius:4px}
.wa-input{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-top:1px solid var(--line)}
.wa-input span:first-child{flex:1;padding:11px 16px;border-radius:999px;background:var(--tint);color:var(--ink-3);font-size:.86rem}
.wa-send{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ocean);color:#fff;box-shadow:0 8px 18px -8px var(--ocean)}
.wa-send svg{width:18px;height:18px}
@keyframes waIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.how-stage .panel.chat.on .wa-body>*{animation:waIn .5s var(--ease-out) both}
.how-stage .panel.chat.on .wa-body>:nth-child(2){animation-delay:.35s}
.how-stage .panel.chat.on .wa-body>:nth-child(3){animation-delay:1.1s}
.how-stage .panel.chat.on .wa-body>:nth-child(4){animation-delay:1.9s}
.how-stage .panel.chat.on .wa-body>:nth-child(5){animation-delay:2.5s}
@media (prefers-reduced-motion:reduce){.how-stage .panel.chat.on .wa-body>*{animation:none}}

/* ---------- apertura: logo sempre leggibile ---------- */
.mhero-logo{position:relative;filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 0 14px rgba(255,255,255,.75)) drop-shadow(0 0 36px rgba(255,255,255,.45))}
.mhero-logo::before{content:"";position:absolute;inset:-18% -14%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}
.mhero-logo img{filter:none;width:min(320px,62vw);height:auto}
.mhero-shade{background:radial-gradient(60% 50% at 50% 42%,rgba(6,30,60,.32),transparent 70%),linear-gradient(180deg,rgba(8,45,84,.2) 0%,rgba(8,45,84,.08) 30%,rgba(8,45,84,.55) 70%,rgba(8,45,84,.88) 100%)}

/* =====================================================================
   v4 — eleganza: serif editoriale, tipografia bilanciata, numeri, tappe
   ===================================================================== */

/* tipografia: a capo bilanciati e paragrafi senza parole orfane */
h1,h2,h3,.h2,.hero-h,.mhero-title,.manifest-title,.film-title,.hl-title,.qc-title{text-wrap:balance}
p,li,dd,figcaption{text-wrap:pretty}
.head.center .h2,.head.center .intro{margin-inline:auto}

.hero-h .soft{color:var(--ocean)}

/* ---------- panoramica: prima impressione ---------- */
.hero{background:radial-gradient(80% 60% at 0% 0%,rgba(24,115,185,.06),transparent 60%),#fff}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 .78rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean);padding:9px 14px;border-radius:999px;background:var(--tint);box-shadow:inset 0 0 0 1px rgba(24,115,185,.14)}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--ocean);box-shadow:0 0 0 4px rgba(24,115,185,.15);animation:pulseDot 2.4s ease-in-out infinite}
@keyframes pulseDot{50%{box-shadow:0 0 0 7px rgba(24,115,185,.06)}}
.hero-copy .hero-h{margin-top:22px;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.02;max-width:17ch}
.hero .lead{margin-top:24px;font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:40ch;color:var(--ink-2)}
.hero-benefits{gap:12px;margin-top:26px}
.hero-benefits li{font-size:1rem}
.hero-micro{margin-top:14px;font-size:.86rem;color:var(--ink-2)}
.hero-facts{margin-top:44px}
.hero-facts dd{line-height:1.15;padding-bottom:.04em}
@media (prefers-reduced-motion:reduce){.hero-eyebrow .dot{animation:none}}

/* ---------- numeri: riquadri definiti, nessun taglio ---------- */
.stat{position:relative;padding:34px 30px 30px;border-radius:28px;background:linear-gradient(180deg,#fff,#f6f9fc);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 1px rgba(11,60,111,.08),0 18px 40px -28px rgba(11,60,111,.35);overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.stat::before{content:"";position:absolute;left:30px;right:30px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--navy),var(--ocean),#7cc4ff)}
.stat:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(24,115,185,.18),0 26px 50px -28px rgba(11,60,111,.45)}
.stat-n{line-height:1.12;padding-bottom:.08em}
.stat-n .u{display:inline-block;margin-left:.22em;font-weight:600;letter-spacing:-.02em;font-size:.42em;line-height:1.2;-webkit-text-fill-color:var(--ocean);color:var(--ocean)}
.stat-l{font-size:1rem;line-height:1.5;color:var(--ink-2);max-width:22ch}

/* ---------- come funziona: un solo accento, più profondità ---------- */
.step,.panel{--ac:var(--ocean)}
.step.is-active .step-n,.step:hover .step-n{background:linear-gradient(135deg,var(--navy),var(--ocean));box-shadow:0 12px 26px -12px rgba(11,60,111,.7)}
.step-tags span{color:var(--navy);background:#fff;box-shadow:inset 0 0 0 1px rgba(11,60,111,.14)}
.step.is-active .step-tags span{background:var(--tint);box-shadow:inset 0 0 0 1px rgba(24,115,185,.25)}
.how::after{background:radial-gradient(closest-side,rgba(11,60,111,.1),transparent)}
.panel{box-shadow:0 0 0 1px rgba(11,60,111,.08),0 30px 60px -36px rgba(11,60,111,.45);border:0}
.panel::before{background:linear-gradient(90deg,var(--navy),var(--ocean),#7cc4ff)}
.trip .leg{background:linear-gradient(135deg,var(--navy),var(--ocean))}
.av{background:linear-gradient(135deg,var(--navy),var(--ocean))}
.panel:not(.chat)::after{content:attr(data-n);position:absolute;right:20px;bottom:-18px;font:700 6rem/1 "Montserrat",sans-serif;letter-spacing:-.06em;color:rgba(24,115,185,.06);pointer-events:none}
@media (min-width:1024px){.steps::before{content:"";position:absolute;left:21px;top:60px;bottom:60px;width:1px;background:linear-gradient(180deg,transparent,rgba(24,115,185,.25) 12%,rgba(24,115,185,.25) 88%,transparent)}}
.stat-n .num-final,.stat-n .num-anim{background:linear-gradient(120deg,var(--navy),var(--ocean));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ---------- trattamenti: schede fotografiche ---------- */
.treatments{background:linear-gradient(180deg,#fff,#f4f8fc 55%,#fff)}
.tgrid{display:grid;gap:18px;margin-top:8px}
.tcard{position:relative;display:grid;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.07),0 24px 50px -34px rgba(11,60,111,.5);transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.tcard:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(24,115,185,.2),0 34px 60px -30px rgba(11,60,111,.55)}
.tcard-media{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--tint)}
.tcard-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.tcard:hover .tcard-media img{transform:scale(1.06)}
.tcard-media::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(180deg,transparent,rgba(8,45,84,.35))}
.tcard-body{position:relative;display:grid;align-content:start;gap:10px;padding:24px 24px 26px;margin-top:-56px;margin-inline:12px;border-radius:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px -26px rgba(11,60,111,.45)}
.tcard-k{font:500 .72rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean)}
.tcard h3{font-weight:600;font-size:1.32rem;letter-spacing:-.025em;line-height:1.2}
.tcard-body>p:not(.tcard-k){color:var(--ink-2);font-size:.95rem;line-height:1.55}
.tcard-tags{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none}
.tcard-tags li{padding:5px 10px;border-radius:999px;font-size:.74rem;font-weight:600;color:var(--navy);background:var(--tint);box-shadow:inset 0 0 0 1px rgba(24,115,185,.14)}
.tcard-link{display:inline-flex;align-items:center;gap:8px;margin-top:6px;min-height:44px;font-weight:600;font-size:.92rem;color:var(--ocean);text-decoration:none}
.tcard-link svg{width:16px;height:16px;transition:transform .35s var(--ease-out)}
.tcard-link:hover svg{transform:translateX(4px)}
.tgrid-2{display:grid;gap:18px;margin-top:18px}
.tmini{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;padding:16px;border-radius:28px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.07),0 24px 50px -34px rgba(11,60,111,.5)}
.tmini-media{margin:0;aspect-ratio:1;border-radius:20px;overflow:hidden}
.tmini-media picture,.tmini-media img{display:block;width:100%;height:100%;object-fit:cover}
.tmini h3{font-weight:600;font-size:1.2rem;letter-spacing:-.02em;margin-top:8px}
.tmini p:not(.tcard-k){color:var(--ink-2);font-size:.94rem;margin-top:6px}
@media (min-width:640px){.tgrid{grid-template-columns:repeat(2,1fr)}.tgrid-2{grid-template-columns:1fr 1fr}.tmini{grid-template-columns:160px 1fr}}
@media (min-width:1100px){.tgrid{grid-template-columns:repeat(4,1fr)}.tgrid-2{grid-template-columns:1.1fr 1fr}}
.tgrid-2 .tile-cta{grid-column:auto;justify-content:center}

/* ---------- trattamenti in 3D: schede prodotto ---------- */
.holo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.holo-tab{min-height:44px;padding:0 18px;border-radius:999px;border:0;cursor:pointer;font:600 .92rem/1 "Montserrat",sans-serif;color:rgba(230,242,255,.86);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);transition:background .3s,color .3s,box-shadow .3s}
.holo-tab:hover{background:rgba(255,255,255,.14)}
.holo-tab[aria-selected="true"]{background:#fff;color:var(--navy);box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.holo-tab:focus-visible{outline:3px solid #fff;outline-offset:2px}
.holo-parts[hidden]{display:none!important}
.holo-copy .holo-parts{margin-top:22px}
.holo-label[hidden]{display:none}
@media (max-width:1023px){.holo-tabs{margin-top:14px;gap:6px}.holo-tab{min-height:40px;padding:0 14px;font-size:.84rem}}

/* ---------- identità italiana ---------- */
.flag-it{flex:none;width:22px;height:15px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 2px 6px -2px rgba(0,0,0,.3);overflow:hidden}
.it-badge{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:9px 16px;border-radius:999px;font-weight:600;font-size:.88rem;color:#fff;background:rgba(8,45,84,.38);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.hero-eyebrow .flag-it{width:20px;height:14px}
.tricolore{display:grid;grid-template-columns:repeat(3,1fr);height:4px}
.tricolore i:nth-child(1){background:#009246}.tricolore i:nth-child(2){background:#F1F2F1}.tricolore i:nth-child(3){background:#CE2B37}
.footer-it{display:flex;align-items:center;gap:10px;color:#fff!important;font-weight:600}
@media (max-width:520px){.it-badge{font-size:.78rem;padding:8px 12px;text-align:left}}
.site-footer .tricolore{position:absolute;left:0;right:0;top:0}

/* ---------- perché MedBridge: rischi e tutele ---------- */
.why{position:relative;isolation:isolate;overflow:hidden;padding:var(--section) 0;background:radial-gradient(60% 50% at 85% 10%,rgba(24,115,185,.45),transparent 60%),radial-gradient(50% 50% at 0% 100%,rgba(24,115,185,.3),transparent 60%),linear-gradient(180deg,var(--navy),var(--navy-deep));color:#fff}
.why::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 80px)}
.why-head{max-width:760px}
.why-head .h2{margin-top:6px;max-width:20ch}
.why-soft{color:#8fc3ee}
.why-head .intro{margin-top:20px}
.why-grid{display:grid;gap:14px;margin-top:48px}
.why-card{position:relative;padding:28px 26px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:transform .5s var(--ease-out),background .5s}
.why-card:hover{transform:translateY(-4px);background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.06))}
.why-ic{width:40px;height:40px;padding:8px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--ocean),#59a9e6);box-shadow:0 10px 24px -10px rgba(24,115,185,.9)}
.why-card h3{margin-top:18px;font-weight:600;font-size:1.16rem;letter-spacing:-.02em;line-height:1.25}
.why-card p{margin-top:10px;color:rgba(230,242,255,.82);font-size:.95rem;line-height:1.6}
.why-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
@media (min-width:700px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.why-grid{grid-template-columns:repeat(3,1fr)}}

/* ---------- il pacchetto si ripaga + modulo ---------- */
.value{display:grid;gap:20px;align-items:center;margin-top:28px;padding:28px;border-radius:28px;background:linear-gradient(135deg,#f3f8fd,#fff);box-shadow:0 0 0 1px rgba(11,60,111,.08)}
.value h3{font-weight:600;font-size:1.35rem;letter-spacing:-.025em;margin-top:8px;max-width:26ch}
.value-copy p:not(.eyebrow){color:var(--ink-2);margin-top:8px}
.value-calc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}
.value-calc div{padding:16px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08)}
.value-calc dt{font-size:.78rem;color:var(--ink-2);line-height:1.3}
.value-calc dd{margin:6px 0 0;font-weight:700;font-size:1.4rem;letter-spacing:-.03em;color:var(--navy)}
.value-calc s{color:var(--ink-3);font-weight:600}
.value-calc .hi{background:linear-gradient(135deg,var(--navy),var(--ocean));box-shadow:none}
.value-calc .hi dt,.value-calc .hi dd{color:#fff}
.value-note{grid-column:1/-1;font-size:.82rem;color:var(--ink-2)}
@media (min-width:900px){.value{grid-template-columns:1fr 1.2fr;padding:36px 40px}}
.leadf{display:grid;gap:14px;align-items:end;margin-top:18px;padding:28px;border-radius:28px;background:linear-gradient(135deg,var(--navy),var(--ocean));color:#fff;box-shadow:0 30px 60px -36px rgba(11,60,111,.8)}
.leadf h3{font-weight:600;font-size:1.35rem;letter-spacing:-.025em}
.lead-copy p{color:rgba(230,242,255,.86);margin-top:6px;font-size:.95rem}
.lead-field{display:grid;gap:6px;font-weight:600;font-size:.85rem}
.lead-field input,.lead-field select{min-height:50px;padding:0 16px;border-radius:14px;border:0;font:500 1rem "Montserrat",sans-serif;color:var(--navy);background-color:#fff}
.leadf .btn{min-height:50px;background:#fff;color:var(--navy);box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.leadf .btn:hover{background:#eaf3fb}
.lead-err{grid-column:1/-1;min-height:0;color:#ffd7d7;font-weight:600;font-size:.88rem}
.lead-err:empty{display:none}
.lead-privacy{grid-column:1/-1;font-size:.8rem;color:rgba(230,242,255,.75)}
.lead-privacy a{color:#fff}
.leadf :focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (min-width:900px){.leadf{grid-template-columns:1.3fr 1fr 1fr auto;padding:32px 36px}.lead-copy{align-self:center}}

/* ---------- listino ---------- */
.listino{background:linear-gradient(180deg,#fff,#f4f8fc)}
.li-highlights{display:grid;gap:12px;margin-bottom:22px}
.li-highlights>div{padding:24px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08),0 20px 40px -30px rgba(11,60,111,.45)}
.li-highlights>div:first-child{background:linear-gradient(135deg,var(--navy),var(--ocean));color:#fff}
.li-highlights .k{font-weight:600;font-size:.95rem}
.li-highlights .v{font-weight:700;font-size:2.4rem;letter-spacing:-.04em;line-height:1.15;margin-top:6px;color:var(--navy)}
.li-highlights>div:first-child .v{color:#fff}
.li-highlights .d{font-size:.84rem;color:var(--ink-2);margin-top:4px}
.li-highlights>div:first-child .d{color:rgba(230,242,255,.86)}
@media (min-width:800px){.li-highlights{grid-template-columns:1.3fr 1fr 1fr}}
.li-table{border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08);overflow:auto}
.li-table table{width:100%;border-collapse:collapse;font-size:.95rem}
.li-table th,.li-table td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--line)}
.li-table thead th{font:600 .75rem "Bai Jamjuree",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);background:#f7fafd}
.li-table .grp th{padding-top:22px;font-weight:700;color:var(--ocean);background:#fff;border-bottom:0}
.li-table tbody th{font-weight:600;color:var(--navy)}
.li-table .pl{color:var(--ink-3);white-space:nowrap}
.li-table .pm{font-weight:700;color:var(--navy);white-space:nowrap}
.li-table .inc{color:var(--ocean)}
.li-table thead th:nth-child(n+2),.li-table td{text-align:right}
.center-cta{display:flex;justify-content:center;margin-top:28px}

/* ---------- recensioni ---------- */
.rv-summary{display:grid;grid-template-columns:auto 1fr;gap:16px 20px;align-items:center;max-width:860px;margin:0 auto;padding:24px 28px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08),0 20px 40px -30px rgba(11,60,111,.45)}
.g-logo{width:44px;height:44px}
.rv-t{font-weight:700;color:var(--navy)}
.rv-s{color:var(--ink-2);font-size:.92rem;margin-top:4px}
.rv-btns{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.rv-all{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem;color:var(--ocean);text-decoration:none}
.rv-all svg{width:14px;height:14px}
.rv-all:hover{text-decoration:underline}
@media (min-width:760px){.rv-summary{grid-template-columns:auto 1fr auto}.rv-btns{grid-column:auto;flex-direction:column;align-items:flex-end}}
/* video di un paziente (verticale) accanto alla citazione */
.rv-feature{display:grid;gap:22px;align-items:start}
.rv-video{margin:0;justify-self:center;width:min(100%,340px);border-radius:var(--r-lg);overflow:hidden;background:var(--navy);box-shadow:var(--e3)}
.rv-video video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--navy)}
.rv-side{display:grid;gap:22px;min-width:0}
.rv-quote{margin:0;padding:24px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08),0 20px 40px -30px rgba(11,60,111,.45)}
.qmark{width:40px;height:30px;fill:var(--ocean);margin:0 0 20px;opacity:.9}
.rv-quote blockquote p{font-weight:400;font-size:1.02rem;line-height:1.6;color:var(--ink);text-wrap:pretty;hyphens:manual}
.rv-quote figcaption{margin-top:18px;display:flex;gap:16px;align-items:center;font-size:.95rem}
.rv-quote figcaption b{font-weight:600;display:block}
.rv-quote figcaption span span{color:var(--ink-2)}
.rv-quote .avatar{object-fit:cover;background:var(--tint-2);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line-2)}
.rv-side .rv-summary{max-width:none;margin:0}
@media (min-width:760px){.rv-side .rv-summary{grid-template-columns:auto 1fr}.rv-side .rv-btns{grid-column:1/-1;flex-direction:row;align-items:center}}
@media (min-width:900px){.rv-feature{grid-template-columns:minmax(260px,380px) 1fr;gap:32px}.rv-video{justify-self:stretch;width:100%;position:sticky;top:96px}}
.rv-list{display:grid;gap:22px;margin:22px 0 0;padding:0;list-style:none}
@media (min-width:900px){.rv-list{margin-top:32px;gap:32px}}
/* recensioni scritte nella colonna accanto al video, una sotto l'altra */
.rv-side .rv-list{margin:0;grid-template-columns:1fr;gap:22px}
.rv-google-arch{margin-top:22px}
@media (min-width:900px){.rv-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
.rv-card{padding:24px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08)}
.rv-stars{color:#f5b301;letter-spacing:.1em}
.rv-h{margin-top:10px;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--navy)}
.rv-text{margin-top:8px;color:var(--ink);text-wrap:pretty}
.rv-who{margin-top:14px;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.holo-price{margin-top:20px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);color:rgba(230,242,255,.86);font-size:.92rem}
.holo-price b{color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}
.holo-cta{margin-top:14px}
@media (max-width:1023px){.holo-price{margin-top:12px;font-size:.84rem}.holo-price b{font-size:1.05rem}.holo-cta{display:none}}
@media (min-width:1024px){.holo-copy .holo-part[aria-pressed="false"] span{display:none}.holo-copy .holo-part{padding-block:10px}}
.value,.value-copy{min-width:0}
.value-calc{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){.value{padding:22px 18px}.value-calc{gap:8px}.value-calc div{padding:12px 10px}.value-calc dd{font-size:1.1rem}.value-calc dt{font-size:.7rem}}
.site-footer nav a{display:inline-flex;align-items:center;min-height:36px}
.gallery{grid-template-columns:minmax(0,1fr)}@media (min-width:640px){.gallery{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.value-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.value-list li{display:grid;gap:2px;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08)}
.value-list li:first-child{background:linear-gradient(135deg,var(--navy),var(--ocean));box-shadow:none}
.value-list li:first-child b,.value-list li:first-child span{color:#fff}
.value-list b{font-weight:700;color:var(--navy);font-size:1.02rem}
.value-list span{font-size:.88rem;color:var(--ink-2)}
@media (min-width:700px){.value-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* header: azienda italiana, di lato al logo */
.hdr-it{display:inline-flex;align-items:center;gap:8px;margin-left:16px;margin-right:auto;padding:6px 12px 6px 8px;border-radius:999px;font-weight:600;font-size:.8rem;color:var(--navy);background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.12);white-space:nowrap}
.hdr-it .flag-it{width:20px;height:14px}
@media (max-width:1023px){.hdr-it{font-size:.72rem;padding:5px 10px 5px 7px;margin-left:10px}.hdr-it .flag-it{width:18px;height:12px}}
@media (min-width:1024px) and (max-width:1240px){.hdr-it{display:none}}
/* richiamo all'Albania vicino alle cliniche */
.flag-al{flex:none;width:21px;height:14px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 6px -2px rgba(0,0,0,.3)}
.al-pill{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:7px 14px 7px 9px;border-radius:999px;font-weight:600;font-size:.84rem;color:var(--navy);background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.1)}
.al-pill--dark{margin:0 0 16px;color:#fff;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}

/* ---------- come funziona: riquadro centrato e nido d'ape ---------- */
.how-hex{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.how-hex i{position:absolute;inset:-120px;background-size:56px 100px;transform:translate3d(0,calc(var(--hp,0) * -160px),0)}
.how-hex i:first-child{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2756%27%20height%3D%27100%27%3E%3Cpath%20d%3D%27M28%2066L0%2050L0%2016L28%200L56%2016L56%2050L28%2066L28%20100%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.10%29%27%20stroke-width%3D%271.2%27/%3E%3Cpath%20d%3D%27M28%200L28%2034L0%2050L0%2084L28%20100L56%2084L56%2050L28%2034%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.10%29%27%20stroke-width%3D%271.2%27/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(70% 60% at 30% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(70% 60% at 30% 45%,#000 30%,transparent 80%);animation:hexDrift 60s linear infinite}
.how-hex i:last-child{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2756%27%20height%3D%27100%27%3E%3Cpath%20d%3D%27M28%2066L0%2050L0%2016L28%200L56%2016L56%2050L28%2066L28%20100%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.55%29%27%20stroke-width%3D%271.2%27/%3E%3Cpath%20d%3D%27M28%200L28%2034L0%2050L0%2084L28%20100L56%2084L56%2050L28%2034%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.55%29%27%20stroke-width%3D%271.2%27/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(circle at center,#000 0,transparent 260px);mask-image:radial-gradient(circle at center,#000 0,transparent 260px);-webkit-mask-size:200% 200%;mask-size:200% 200%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:hexDrift 60s linear infinite,hexGlow 14s ease-in-out infinite alternate}
@keyframes hexDrift{to{background-position:56px 200px}}
@keyframes hexGlow{0%{-webkit-mask-position:10% 20%;mask-position:10% 20%}50%{-webkit-mask-position:60% 70%;mask-position:60% 70%}100%{-webkit-mask-position:30% 95%;mask-position:30% 95%}}
@media (prefers-reduced-motion:reduce){.how-hex i{animation:none;transform:none}}
@media (min-width:1024px){.how-stage{top:calc(50vh - min(30vh,250px) + 30px);height:min(60vh,500px)}}
.how-hex{position:sticky;inset:auto;top:0;left:0;right:0;height:100vh;height:100svh;margin-bottom:-100vh;margin-bottom:-100svh}
.how-hex i:first-child{-webkit-mask-image:radial-gradient(60% 70% at 28% 55%,#000 25%,transparent 80%);mask-image:radial-gradient(60% 70% at 28% 55%,#000 25%,transparent 80%)}
.how-hex i:first-child{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2756%27%20height%3D%27100%27%3E%3Cpath%20d%3D%27M28%2066L0%2050L0%2016L28%200L56%2016L56%2050L28%2066L28%20100%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.16%29%27%20stroke-width%3D%271.2%27/%3E%3Cpath%20d%3D%27M28%200L28%2034L0%2050L0%2084L28%20100L56%2084L56%2050L28%2034%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.16%29%27%20stroke-width%3D%271.2%27/%3E%3C/svg%3E")}
.how-hex i:last-child{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2756%27%20height%3D%27100%27%3E%3Cpath%20d%3D%27M28%2066L0%2050L0%2016L28%200L56%2016L56%2050L28%2066L28%20100%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.75%29%27%20stroke-width%3D%271.6%27/%3E%3Cpath%20d%3D%27M28%200L28%2034L0%2050L0%2084L28%20100L56%2084L56%2050L28%2034%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.75%29%27%20stroke-width%3D%271.6%27/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(circle at center,#000 0,transparent 320px);mask-image:radial-gradient(circle at center,#000 0,transparent 320px)}
.how-hex i:last-child{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2756%27%20height%3D%27100%27%3E%3Cpath%20d%3D%27M28%2066L0%2050L0%2016L28%200L56%2016L56%2050L28%2066L28%20100%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.5%29%27%20stroke-width%3D%271.4%27/%3E%3Cpath%20d%3D%27M28%200L28%2034L0%2050L0%2084L28%20100L56%2084L56%2050L28%2034%27%20fill%3D%27none%27%20stroke%3D%27rgba%2824%2C115%2C185%2C0.5%29%27%20stroke-width%3D%271.4%27/%3E%3C/svg%3E");-webkit-mask-size:220% 200%;mask-size:220% 200%;animation:hexDrift 60s linear infinite,hexGlow2 16s ease-in-out infinite alternate}
@keyframes hexGlow2{0%{-webkit-mask-position:0% 15%;mask-position:0% 15%}50%{-webkit-mask-position:12% 75%;mask-position:12% 75%}100%{-webkit-mask-position:4% 100%;mask-position:4% 100%}}
.how-hex i:first-child{-webkit-mask-image:radial-gradient(55% 75% at 25% 55%,#000 20%,transparent 75%);mask-image:radial-gradient(55% 75% at 25% 55%,#000 20%,transparent 75%)}
@media (max-width:1023px){.how-hex{display:none}}

/* ---------- "In evidenza": nastro continuo ---------- */
.hl-viewport{overflow:hidden;padding-left:0}
.highlights .hl-track{display:flex;gap:16px;width:max-content;overflow:visible;padding:0;scroll-snap-type:none;will-change:transform}
.highlights .hl-card{flex:none;width:min(80vw,420px);aspect-ratio:3/4}
@media (min-width:1024px){.highlights .hl-card{width:calc((min(100vw,var(--maxw)) - 2 * var(--gutter) - 32px) / 3);aspect-ratio:4/5}.hl-copy{padding:30px 30px}.hl-title{font-size:clamp(1.4rem,2vw,1.9rem)}}
.hl-controls{justify-content:flex-start;padding-left:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)))}

/* ---------- modulo preventivo con ortopanoramica ---------- */
.form{gap:16px}
.field-row{display:grid;gap:16px}
@media (min-width:640px){.field-row{grid-template-columns:1fr 1fr}}
.opt{font-weight:400;color:var(--ink-2)}
.flabel{font-size:.86rem;font-weight:600}
.field textarea{padding:14px 16px;border-radius:14px;border:1px solid var(--line-2);background:#fff;font:inherit;font-size:1rem;resize:vertical;min-height:96px}
.field textarea:focus{border-color:var(--ocean);box-shadow:0 0 0 4px rgba(24,115,185,.18);outline:none}
.drop{position:relative;display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;padding:16px 18px;border-radius:16px;border:1.5px dashed rgba(24,115,185,.45);background:var(--tint);cursor:pointer;transition:background .2s,border-color .2s}
.drop:hover{background:rgba(24,115,185,.1);border-color:var(--ocean)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop svg{grid-row:1/3;width:40px;height:40px;padding:8px;border-radius:12px;background:#fff;color:var(--ocean);box-shadow:var(--e1)}
.drop-t{font-weight:600;color:var(--navy);font-size:.95rem;overflow-wrap:anywhere}
.drop-s{font-size:.8rem;color:var(--ink-2)}
.has-file .drop{border-style:solid;border-color:var(--ocean);background:#fff}
.drop:focus-within{outline:3px solid var(--ocean);outline-offset:2px}
.consent{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:.84rem;line-height:1.5;color:var(--ink-2);cursor:pointer}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ocean)}
.form-ok{color:#14794a;font-weight:600;font-size:.92rem}
.form-ok:empty,.form-error:empty{display:none}

/* ---------- Tirana è più vicina: mappa animata del volo ---------- */
.flight-map{position:absolute;inset:0;background:radial-gradient(70% 70% at 70% 55%,#14508c 0%,#0b3561 55%,#06213f 100%)}
.flight-map::after{content:"";position:absolute;inset:0;background:radial-gradient(rgba(159,208,255,.12) 1px,transparent 1.5px) 0 0/22px 22px;pointer-events:none}
.fm-bg,.fm{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fm{overflow:visible}
@media (min-width:900px){.fm-bg,.fm{left:14%;width:86%;inset-block:4%;height:92%}}
.fm-it{fill:rgba(255,255,255,.16);stroke:rgba(255,255,255,.75);stroke-width:1.4;stroke-linejoin:round}
.fm-al{fill:rgba(228,30,32,.38);stroke:#ff8a8a;stroke-width:1.6;stroke-linejoin:round}
.fm-route{fill:none;stroke:rgba(159,208,255,.9);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 8}
.fm-city circle{fill:#fff;stroke:rgba(24,115,185,.6);stroke-width:4}
.fm-city text,.fm-tirana text{font:600 17px "Montserrat",sans-serif;fill:#fff;paint-order:stroke;stroke:rgba(6,33,63,.85);stroke-width:4px}
.fm-t{font-weight:500;font-size:14px;fill:#9fd0ff}
.fm-tirana circle:nth-child(2){fill:#ff5a5f;stroke:#fff;stroke-width:3}
.fm-tirana text{font-size:21px;font-weight:700}
.fm-pulse{transform-box:fill-box;transform-origin:center;animation:fmPulse 2.4s ease-out infinite}
@keyframes fmPulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
.fm-plane{filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}
.fm-lbl{font:700 15px "Montserrat",sans-serif;letter-spacing:.32em;fill:rgba(255,255,255,.35)}
.film-shade{background:linear-gradient(180deg,rgba(6,33,63,0) 45%,rgba(6,33,63,.85)),linear-gradient(90deg,rgba(6,33,63,.7),transparent 55%)}
@media (prefers-reduced-motion:reduce){.fm-pulse{animation:none}}
.fm-city.on circle{fill:#9fd0ff}
.fm-bg{-webkit-mask-image:radial-gradient(75% 75% at 55% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(75% 75% at 55% 50%,#000 55%,transparent 100%)}
.fm-city text,.fm-tirana text{stroke-width:3px;stroke:rgba(6,33,63,.7)}
.fm-t{stroke-width:2.5px}
@media (max-width:640px){.fm-bg,.fm{inset:auto;left:-70px;top:72px;width:520px;height:443px}}
@media (max-width:640px){.fm-tirana text{text-anchor:end;transform:translate(-30px,30px)}}
/* pagina più corta: tracce di scorrimento ridotte */
.sel-track{height:240vh}
.manifest-track{height:170vh}
.holo-track{height:220vh}
.film-track{height:200vh}
@media (min-width:1024px){.step{min-height:38vh;padding:36px 0}}
@media (prefers-reduced-motion:reduce){.sel-track,.manifest-track,.holo-track,.film-track{height:auto}}

/* =====================================================================
   Pagine dei trattamenti
   ===================================================================== */
.tp-hero{padding:32px 0 clamp(64px,8vw,112px);background:radial-gradient(80% 60% at 0% 0%,rgba(24,115,185,.07),transparent 60%),#fff}
.tp-hero-grid{display:grid;gap:40px;align-items:center}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.84rem;color:var(--ink-2);margin-bottom:22px}
.crumbs a{color:var(--ocean);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.tp-hero .hero-h{margin-top:20px;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.03;letter-spacing:-.045em;font-weight:600;max-width:16ch}
.tp-hero .hero-h .soft{color:var(--ocean)}
.tp-hero .lead{margin-top:22px;max-width:44ch;font-size:1.12rem;color:var(--ink-2);line-height:1.6}
.tp-hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.tp-hero-media{position:relative;margin:0;border-radius:32px;overflow:hidden;aspect-ratio:4/5;max-height:640px;box-shadow:0 40px 80px -50px rgba(11,60,111,.7)}
.tp-hero-media picture,.tp-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.tp-hero-media .al-pill{position:absolute;left:16px;bottom:16px;margin:0}
@media (min-width:1024px){.tp-hero-grid{grid-template-columns:1.15fr .85fr;gap:72px}}
.tp-two{display:grid;gap:40px;align-items:start}
@media (min-width:1024px){.tp-two{grid-template-columns:1.1fr .9fr;gap:72px}}
.tp-what .intro{margin-top:18px}
.tp-sub{margin-top:32px;font-weight:600;font-size:1.15rem;color:var(--navy)}
.tp-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}
.tp-list li{display:flex;gap:10px;align-items:center;font-weight:600}
.tp-list svg{flex:none;width:22px;height:22px;padding:3px;border-radius:50%;background:var(--tint-2);color:var(--ocean)}
.tp-parts{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.tp-part{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;padding:22px 24px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08),0 24px 50px -36px rgba(11,60,111,.5)}
.tp-part .tp-n{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--navy),var(--ocean))}
.tp-part b{font-size:1.08rem;color:var(--navy)}
.tp-part span:not(.tp-n){color:var(--ink-2);font-size:.95rem}
.tp-steps-wrap{background:linear-gradient(180deg,#f4f8fc,#fff)}
.tp-steps{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:s}
.tp-step{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:26px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08)}
.tp-sn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-weight:700;color:var(--ocean);background:var(--tint-2)}
.tp-step h3{font-weight:600;font-size:1.15rem;color:var(--navy)}
.tp-step p{margin-top:6px;color:var(--ink-2)}
@media (min-width:900px){.tp-steps{grid-template-columns:repeat(2,1fr)}}
.tp-cta{padding:clamp(40px,6vw,72px);border-radius:32px;text-align:center;display:grid;justify-items:center;background:radial-gradient(60% 80% at 80% 0%,rgba(24,115,185,.6),transparent 60%),linear-gradient(135deg,var(--navy),var(--navy-deep));color:#fff}
.tp-cta .intro{margin-top:14px}
.tp-cta .ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
.tp-others-t{margin-top:72px;font-weight:600;font-size:1.4rem;color:var(--navy)}
.tp-others{display:grid;gap:14px;margin-top:20px}
@media (min-width:700px){.tp-others{grid-template-columns:repeat(3,1fr)}}
.tp-other{position:relative;display:block;aspect-ratio:16/10;border-radius:22px;overflow:hidden;text-decoration:none}
.tp-other picture,.tp-other img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.tp-other:hover img{transform:scale(1.05)}
.tp-other::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,45,84,.85))}
.tp-other span{position:absolute;left:18px;bottom:14px;z-index:1;color:#fff;font-weight:600;font-size:1.1rem}
.tp .faq-wrap{background:#fff}
.tcard-more{display:inline-flex;align-items:center;min-height:40px;font-weight:600;font-size:.9rem;color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.tcard-tags a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* ---------- calcolatore del risparmio ---------- */
.calc{margin-top:18px;padding:28px;border-radius:28px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08),0 30px 60px -40px rgba(11,60,111,.5)}
.calc-head h3{font-weight:600;font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:-.025em;margin-top:8px;max-width:30ch;color:var(--navy)}
.calc-body{display:grid;gap:20px;margin-top:22px}
@media (min-width:960px){.calc-body{grid-template-columns:1.4fr 1fr;align-items:start}}
.calc-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.calc-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:#f6f9fc;box-shadow:inset 0 0 0 1px rgba(11,60,111,.06)}
.calc-row b{display:block;color:var(--navy);font-weight:600}
.calc-row span{font-size:.82rem;color:var(--ink-2)}
.calc-step{display:flex;align-items:center;gap:6px;flex:none}
.calc-btn{width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;font:600 1.2rem/1 "Montserrat",sans-serif;color:var(--navy);background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.15);transition:background .2s}
.calc-btn:hover{background:var(--tint-2)}
.calc-btn:focus-visible{outline:3px solid var(--ocean);outline-offset:2px}
.calc-q{min-width:28px;text-align:center;font-weight:700;color:var(--navy)}
.calc-out{display:grid;gap:10px;position:sticky;top:96px}
.calc-out>div{padding:18px 20px;border-radius:20px;background:#f6f9fc}
.calc-out .k{font-size:.84rem;color:var(--ink-2)}
.calc-out .v{font-weight:700;font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.03em;color:var(--navy);margin-top:4px;font-variant-numeric:tabular-nums}
.calc-out .hi{background:linear-gradient(135deg,var(--navy),var(--ocean))}
.calc-out .hi .k,.calc-out .hi .v,.calc-out .hi .d{color:#fff}
.calc-out .d{font-size:.8rem;margin-top:2px}
.calc-note{margin-top:16px;font-size:.8rem;color:var(--ink-2)}
@media (max-width:600px){.calc{padding:20px 16px}.calc-row{padding:12px}}

/* ---------- come funziona: archi MedBridge al posto del nido d'ape ---------- */
.how-hex.how-arcs i{position:absolute;-webkit-mask-size:auto;mask-size:auto;inset:-140px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='140'%20height='100'%3E%3Cg%20fill='none'%20stroke-linecap='round'%3E%3Cpath%20d='M14%2052%20Q48%2018%2092%2034'%20stroke='%231873B9'%20stroke-opacity='.16'%20stroke-width='3'/%3E%3Cpath%20d='M26%2060%20Q52%2036%2080%2043'%20stroke='%230B3C6F'%20stroke-opacity='.12'%20stroke-width='3'/%3E%3Cpath%20d='M84%20102%20Q118%2068%20162%2084'%20stroke='%231873B9'%20stroke-opacity='.16'%20stroke-width='3'/%3E%3Cpath%20d='M96%20110%20Q122%2086%20150%2093'%20stroke='%230B3C6F'%20stroke-opacity='.12'%20stroke-width='3'/%3E%3Cpath%20d='M-56%20102%20Q-22%2068%2022%2084'%20stroke='%231873B9'%20stroke-opacity='.16'%20stroke-width='3'/%3E%3Cpath%20d='M-44%20110%20Q-18%2086%2010%2093'%20stroke='%230B3C6F'%20stroke-opacity='.12'%20stroke-width='3'/%3E%3C/g%3E%3C/svg%3E");background-size:140px 100px;-webkit-mask-image:radial-gradient(60% 75% at 26% 55%,#000 20%,transparent 78%);mask-image:radial-gradient(60% 75% at 26% 55%,#000 20%,transparent 78%);animation:arcsDrift 40s linear infinite;transform:translate3d(0,calc(var(--hp,0) * -120px),0)}

@keyframes arcsDrift{to{background-position:140px -100px}}
.arcs-big{position:absolute;inset:0;width:58%;height:100%}
.ab{fill:none;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;animation:arcDraw 9s cubic-bezier(.6,0,.2,1) infinite}
.ab1,.ab2,.ab3{stroke:url(#none);stroke:rgba(24,115,185,.35);stroke-width:10}
.ab1b,.ab2b,.ab3b{stroke:rgba(11,60,111,.28);stroke-width:10}
.ab1b{animation-delay:.25s}.ab2,.ab2b{animation-delay:3s}.ab2b{animation-delay:3.25s}.ab3{animation-delay:6s}.ab3b{animation-delay:6.25s}
@keyframes arcDraw{0%{stroke-dashoffset:1;opacity:0}10%{opacity:1}45%{stroke-dashoffset:0;opacity:1}70%{stroke-dashoffset:0;opacity:.9}100%{stroke-dashoffset:-1;opacity:0}}
@media (prefers-reduced-motion:reduce){.how-arcs i,.ab{animation:none}.ab{stroke-dashoffset:0;opacity:.6}}

/* ---------- come funziona: foto per ogni passaggio ---------- */
.step-photo{position:relative;margin:0 0 -40px;border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -40px rgba(11,60,111,.6)}
.step-photo picture,.step-photo img{display:block;width:100%;height:100%;object-fit:cover}
.step-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,45,84,0) 45%,rgba(8,45,84,.55))}
.step-photo figcaption{position:absolute;left:16px;top:16px;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 7px;border-radius:999px;font-weight:600;font-size:.86rem;color:var(--navy);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.step-photo figcaption span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.75rem;color:#fff;background:linear-gradient(135deg,var(--navy),var(--ocean))}
.step-visual .panel{position:relative;margin:0 14px}
@media (min-width:1024px){
  .how-stage{top:88px;height:calc(100vh - 120px);max-height:760px}
  .how-stage-inner > .step-photo{position:absolute;left:0;right:10%;top:0;height:58%;margin:0;aspect-ratio:auto;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease-out),transform 1.2s var(--ease-out)}
  .how-stage-inner > .step-photo.on{opacity:1;transform:none}
  .how-stage-inner > .panel{top:auto;bottom:4%;left:10%;right:0;transform:translateY(12px) scale(.98)}
  .how-stage-inner > .panel.on{transform:none}
}
@media (min-width:1024px){.how-stage-inner > .panel.chat .wa-input,.how-stage-inner > .panel.chat .wa-body>:nth-child(4),.how-stage-inner > .panel.chat .wa-day{display:none}.how-stage-inner > .panel.chat .wa-body{padding-block:12px}}

/* ---------- sorrisi ---------- */
.smiles{background:linear-gradient(180deg,#fff,#f4f8fc)}
.smiles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px;gap:12px;grid-auto-flow:dense}
.smile{position:relative;margin:0;border-radius:24px;overflow:hidden;box-shadow:0 24px 50px -36px rgba(11,60,111,.6)}
.smile picture,.smile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.smile:hover img{transform:scale(1.06)}
.smile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,45,84,.7))}
.smile figcaption{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;color:#fff;font-weight:600;font-size:.95rem;line-height:1.25}
.smile.t-tall{grid-row:span 2}
.smile.t-wide{grid-column:span 2}
@media (min-width:900px){.smiles-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:16px}.smile figcaption{font-size:1.1rem;left:20px;bottom:18px}}
.smiles-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}
.smiles-proof p{display:grid;gap:2px;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.08)}
.smiles-proof b{color:var(--navy);font-weight:700}
.smiles-proof span{font-size:.85rem;color:var(--ink-2)}
@media (min-width:900px){.smiles-proof{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* =====================================================================
   Upgrade 15/10/2026 - spunti dai migliori siti dentali (StorySites)
   ===================================================================== */

/* intro con il logo, solo alla prima visita della sessione */
.mb-intro{position:fixed;inset:0;z-index:400;display:grid;place-items:center;background:#fff;transition:opacity .6s var(--ease),visibility .6s}
.mb-intro-in{display:grid;justify-items:center;gap:10px}
.mb-intro-in img{width:168px;height:auto;opacity:0;transform:translateY(10px) scale(.96);animation:introLogo .9s var(--ease-out) .1s forwards}
.mb-intro-arc{width:220px;height:36px;fill:none;stroke:var(--ocean);stroke-width:2;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:introArc 1s var(--ease-out) .3s forwards}
.mb-intro.out{opacity:0;visibility:hidden}
.no-intro .mb-intro{display:none}
@keyframes introLogo{to{opacity:1;transform:none}}
@keyframes introArc{to{stroke-dashoffset:0}}
.mb-intro.out .mb-intro-in{transform:translateY(-12px);transition:transform .6s var(--ease)}

/* chiamata rapida nell'header (desktop) */
.hdr-call{display:none}
@media (min-width:1024px){
  .hdr-call{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;margin-right:8px;color:var(--navy);font-weight:600;font-size:.86rem;text-decoration:none;white-space:nowrap;border-radius:999px}
  .hdr-call svg{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--tint-2);color:var(--ocean);transition:background .25s,color .25s}
  .hdr-call:hover svg{background:var(--ocean);color:#fff}
  .hdr-call span{display:none}
}
@media (min-width:1600px){.hdr-call span{display:inline}}
.site-header .logo{flex:none}
.site-header.scrolled .hdr-call svg{width:30px;height:30px;padding:7px}

/* lo standard MedBridge: quattro pannelli fotografici che si espandono */
.std{position:relative;background:#fff;padding:clamp(88px,11vw,160px) 0}
.std-head{display:grid;gap:24px;margin-bottom:clamp(40px,5vw,64px)}
.std-head .h2{margin-top:16px;max-width:none}
.std-side{display:grid;gap:24px;justify-items:start}
.std-side .intro{max-width:44ch}
@media (min-width:900px){.std-head{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:64px}}
.std-panels{display:grid;gap:12px}
.std-p{position:relative;overflow:hidden;border-radius:var(--r-lg);min-height:380px;background:var(--navy-deep);isolation:isolate}
.std-p picture,.std-p img{position:absolute;inset:0;width:100%;height:100%}
.std-p img{object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease-out),filter .8s}
.std-p::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,45,84,.15) 0%,rgba(8,45,84,.05) 30%,rgba(8,45,84,.72) 70%,rgba(8,45,84,.94) 100%);pointer-events:none}
.std-hit{position:absolute;inset:0;z-index:3;width:100%;border:0;background:transparent;cursor:pointer;border-radius:inherit}
.std-hit:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.std-c{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,2.4vw,34px);color:#fff;pointer-events:none}
.std-ic{position:absolute;top:clamp(20px,2.2vw,30px);left:clamp(20px,2.2vw,30px);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.std-ic svg{width:26px;height:26px}
.std-w{font-weight:600;font-size:clamp(2rem,6vw,2.6rem);line-height:1;letter-spacing:-.035em;white-space:nowrap}
.std-t{margin-top:14px;max-width:34ch;color:rgba(255,255,255,.86);font-size:1rem;line-height:1.55}
@media (min-width:900px){
  .std-panels{display:flex;height:clamp(500px,40vw,600px)}
  .std-p{flex:1 1 0;min-width:0;min-height:0;transition:flex-grow .8s var(--ease-out)}
  .std-p.is-open{flex-grow:2.3}
  .std-p:not(.is-open) img{filter:saturate(.75)}
  .std-p.is-open img{transform:scale(1)}
  .std-w{font-size:1.45rem;transition:font-size .6s var(--ease-out)}
  .std-p.is-open .std-w{font-size:clamp(2.2rem,3.2vw,3rem)}
  .std-t{max-height:0;opacity:0;margin-top:0;transform:translateY(8px);transition:opacity .35s,transform .5s var(--ease-out),max-height .6s var(--ease-out),margin-top .6s}
  .std-p.is-open .std-t{max-height:8em;opacity:1;margin-top:14px;transform:none;transition-delay:.25s}
}
@media (prefers-reduced-motion:reduce){.std-p,.std-p img,.std-w,.std-t{transition:none!important}}

/* prima di partire */
.prep{margin:0 0 28px;padding:22px 24px;border-radius:var(--r);background:var(--tint);box-shadow:inset 0 0 0 1px var(--line)}
.prep-t{font-weight:600;font-size:.98rem;margin-bottom:10px}
.prep-list{display:grid;gap:8px}
.prep-list li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:baseline;font-size:.93rem;color:var(--ink-2)}
.prep-list span{font-family:"Bai Jamjuree",sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.12em;color:var(--ocean)}

/* videochiamata gratuita */
.vcall{margin-top:28px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--r);background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--line-dark);color:#fff;text-decoration:none;max-width:460px;transition:background .3s,transform .3s var(--ease-out)}
.vcall:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.vcall-ic{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ocean);display:grid;place-items:center}
.vcall-ic svg{width:24px;height:24px}
.vcall b{display:block;font-weight:600}
.vcall small{display:block;color:var(--on-dark);font-size:.86rem;line-height:1.45;margin-top:2px}
.vcall-arr{width:20px;height:20px;transition:transform .3s var(--ease-out)}
.vcall:hover .vcall-arr{transform:translateX(4px)}

/* barra mobile: chiama · WhatsApp · preventivo */
.mobile-bar{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 44px -14px rgba(11,60,111,.5),0 0 0 1px var(--line)}
.mobile-bar .btn{box-shadow:none;min-height:48px;padding:0 14px}
.mobile-bar .mb-act{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;border-radius:999px;color:var(--navy);text-decoration:none;font-weight:600;font-size:.72rem}
.mobile-bar .mb-act svg{width:20px;height:20px;color:var(--ocean)}
@media (min-width:1024px){.mobile-bar{display:none}}

/* torna su con avanzamento */
.to-top{position:fixed;right:24px;bottom:24px;z-index:80;width:56px;height:56px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 32px -12px rgba(11,60,111,.5),0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transition:opacity .35s,visibility .35s,transform .45s var(--ease-out),color .25s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}
.to-top-ring circle{fill:none;stroke-width:2.5}
.to-top-bg{stroke:rgba(11,60,111,.1)}
.to-top-p{stroke:var(--ocean);stroke-linecap:round;stroke-dasharray:163.4;stroke-dashoffset:163.4}
.to-top-ar{width:20px;height:20px;position:relative;transition:transform .3s var(--ease-out)}
.to-top:hover{color:var(--ocean)}
.to-top:hover .to-top-ar{transform:translateY(-2px)}
@media (max-width:1023px){.to-top{display:none}}
body.ck-open .to-top{opacity:0;visibility:hidden}

/* panoramica: titolo editoriale, ritratto con preventivo, numeri chiave */
.btn-ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--navy)}
.pano{position:relative;overflow:hidden;padding:clamp(72px,9vw,128px) 0 clamp(72px,8vw,112px);background:radial-gradient(70% 55% at 100% 0%,rgba(24,115,185,.08),transparent 60%),radial-gradient(60% 50% at 0% 100%,rgba(24,115,185,.05),transparent 60%),#fff}
.pano-top{display:grid;justify-items:start}
.pano-h{margin-top:24px;font-weight:600;font-size:clamp(2.4rem,5.3vw,5.1rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.pano-h span{display:inline}
.pano-h .soft{color:var(--ocean)}
@media (min-width:1024px){.pano-h span{display:block;white-space:nowrap}}
.pano-grid{display:grid;gap:56px;margin-top:clamp(36px,5vw,64px)}
.pano-lead{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.62;color:var(--ink-2);max-width:42ch;text-wrap:pretty}
.pano-points{margin-top:32px;display:grid;gap:0;border-top:1px solid var(--line)}
.pano-points li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.pp-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--tint-2);color:var(--ocean)}
.pp-ic svg{width:22px;height:22px}
.pano-points b{display:block;font-weight:600;font-size:1rem;line-height:1.35}
.pano-points span{display:block;color:var(--ink-2);font-size:.93rem;line-height:1.5;margin-top:3px}
.pano-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.pano .hero-micro{margin-top:14px}
@media (max-width:599px){.pano-ctas .btn{width:100%}}
.pano-visual{position:relative;max-width:540px;width:100%;justify-self:center;padding-bottom:120px}
.pano-photo{position:relative;margin:0;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;box-shadow:0 50px 100px -50px rgba(8,45,84,.55)}
.pano-photo img{width:100%;height:100%;object-fit:cover}
.pano-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,45,84,.28));pointer-events:none}
.pano-card{position:absolute;left:-8px;right:24px;bottom:0;padding:24px 24px 20px;border-radius:var(--r-lg);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 40px 80px -36px rgba(8,45,84,.55),0 0 0 1px rgba(11,60,111,.08)}
.pano-card .qc-kicker{font-family:"Bai Jamjuree",sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ocean)}
.pano-card-t{margin-top:8px;font-weight:600;font-size:1.2rem;line-height:1.25;letter-spacing:-.02em;max-width:22ch}
.pano-card-l{margin-top:14px;display:grid;gap:8px}
.pano-card-l li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;font-size:.9rem;line-height:1.45;color:var(--ink-2)}
.pano-card-l svg{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--ocean);color:#fff;margin-top:1px}
.pano-card-l b{color:var(--navy);font-weight:600}
.pano-ussh{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);width:100%;font-weight:600;font-size:.86rem;color:var(--ocean);text-decoration:none}
.pano-ussh svg{width:16px;height:16px}
.pano-ussh:hover{color:var(--navy)}
.pano-visual .f-license{z-index:2;left:auto;right:-6px;top:24px}
@media (min-width:1024px){
  .pano-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
  .pano-visual{justify-self:end;padding-bottom:96px}
  .pano-card{left:-72px;right:auto;width:360px}
  .pano-visual .f-license{right:-32px;top:40px}
}
.pano-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--line-2)}
.pano-facts div{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:22px 16px 0 0}
.pano-facts div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
.pano-facts dd{margin:0;font-weight:600;font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:-.04em;white-space:nowrap;font-variant-numeric:tabular-nums}
.pano-facts dt{margin-top:10px;font-size:.84rem;line-height:1.4;color:var(--ink-2);max-width:20ch}
@media (min-width:900px){
  .pano-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pano-facts div{padding:28px 24px 0}
  .pano-facts div:first-child{padding-left:0}
  .pano-facts div+div{border-left:1px solid var(--line)}
}
.pano-h span{display:block}
@media (max-width:479px){.eb-more{display:none}}

/* =====================================================================
   Sistema tipografico (15/10/2026) - regole uniche per tutto il sito
   1. Titoli di sezione: due righe controllate (.ln), la seconda in azzurro (.soft).
      Ogni riga va a capo da sola; se non entra si spezza in modo bilanciato.
   2. Allineamento: tutto a sinistra. Al centro solo hero, manifesto, film e blocchi finali di invito.
   3. Testata: occhiello → titolo; su desktop il paragrafo introduttivo sta a destra, allineato in basso.
   4. Paragrafi: massimo 46 caratteri per riga nelle intro, 65 nel testo; mai parole orfane.
   ===================================================================== */
.h2{font-size:clamp(2.1rem,4.1vw,3.5rem);line-height:1.06;letter-spacing:-.035em;max-width:none;text-wrap:balance}
.h2 .ln{display:block;text-wrap:balance}
.h2 .soft{color:var(--ocean)}
.eyebrow + .h2,.eyebrow + h2{margin-top:16px}
.sel-copy .h2,.holo-copy .h2,.lodging-copy .h2,.faq-side .h2,.contact-copy .h2{font-size:clamp(2rem,3.2vw,2.8rem);max-width:none}
.why-head .h2{max-width:none}
.why-head{max-width:none}
.head{margin-bottom:clamp(48px,6vw,80px)}
.head.split{display:grid;gap:18px 64px;grid-template-columns:minmax(0,1fr);justify-items:start;text-align:left}
.head.split > .h2,.head.split > div > .h2{margin-top:0}
.head.split > .eyebrow + .h2,.head.split > div > .eyebrow + .h2{margin-top:-2px}
.head.split .intro{margin:0;max-width:46ch}
.head.split > .al-pill{margin-top:8px}
@media (min-width:1024px){
  .head.split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end}
  .head.split > .eyebrow,.head.split > .h2,.head.split > div{grid-column:1}
  .head.split > .intro{grid-column:2;grid-row:1 / span 2;align-self:end;justify-self:end}
  .head.split > .al-pill{grid-column:1 / -1}
}
.intro{max-width:46ch;text-wrap:pretty}
p,li,dd,summary{text-wrap:pretty}
.faq-side .intro{margin-top:18px}
.faq-side .eyebrow{display:inline-flex}
.lodging-copy .intro,.contact .intro{margin-top:20px}
.hl-head{margin-bottom:clamp(36px,4vw,56px)}
.hl-head .h2{font-size:clamp(2.1rem,4.1vw,3.5rem)}
.h2{font-size:clamp(2.1rem,3.9vw,3.3rem)}
.hl-head .h2{font-size:clamp(2.1rem,3.9vw,3.3rem)}
@media (min-width:1024px){.head.split{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}

/* selettore della lingua */
.lang{position:relative;flex:none;margin-left:auto}
.site-header .lang{margin-left:8px}
.lang-btn{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px 0 10px;border-radius:999px;cursor:pointer;color:var(--navy);font-weight:600;font-size:.8rem;letter-spacing:.04em;background:#fff;box-shadow:0 0 0 1px var(--line-2);user-select:none}
.lang-btn::-webkit-details-marker{display:none}
.lang-btn::marker{content:""}
.lang-btn svg{width:18px;height:18px;color:var(--ocean)}
.lang-btn:hover{box-shadow:0 0 0 1px var(--ocean)}
.lang[open] .lang-btn{box-shadow:0 0 0 2px var(--ocean)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:120;min-width:190px;margin:0;padding:6px;list-style:none;background:#fff;border-radius:16px;box-shadow:0 24px 60px -20px rgba(8,45,84,.45),0 0 0 1px var(--line)}
.lang-menu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--navy);font-weight:500;font-size:.92rem}
.lang-menu a:hover{background:var(--tint-2)}
.lang-menu a[aria-current]{background:var(--tint);font-weight:600}
.lg-code{display:inline-grid;place-items:center;width:30px;height:22px;border-radius:6px;background:var(--tint-2);color:var(--ocean);font:600 .7rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.06em}
.lang-menu a[aria-current] .lg-code{background:var(--ocean);color:#fff}
@media (max-width:1023px){.site-header .lang{margin-left:auto;margin-right:8px}.site-header .hdr-it + .nav + .lang,.site-header .lang{order:0}.lang-btn{min-height:36px;padding:0 10px 0 8px}}
@media (max-width:374px){.site-header .hdr-it{font-size:0;gap:0;padding:7px 8px}}
/* intestazione: spazio per il selettore della lingua */
@media (min-width:1024px){
  .site-header .bar{gap:14px}
  .hdr-call{display:none}
  .hdr-it{margin-left:10px}
}

@media (min-width:1024px) and (max-width:1279px){
  .nav ul{gap:0}
  .nav ul a{padding-left:9px;padding-right:9px;font-size:.84rem}
  .header-cta{padding:0 14px!important}
}
@media (min-width:1024px) and (max-width:1199px){
  .nav ul a{padding-left:6px;padding-right:6px;font-size:.8rem}
  .header-cta{padding:0 12px!important;font-size:.76rem!important}
  .site-header .bar{gap:10px}
}
@media (min-width:1024px) and (max-width:1099px){
  .site-header .bar{padding-left:28px;padding-right:28px}
  .nav ul a{padding-left:5px;padding-right:5px;font-size:.77rem}
}
@media (max-width:599px){
  .lang-btn svg{display:none}
  .lang-btn{padding:0 10px;min-height:34px;font-size:.74rem}
  .site-header .lang{margin-right:6px}
  .hdr-it{font-size:.68rem;padding:4px 9px 4px 6px;margin-left:8px;gap:6px}
  .hdr-it .flag-it{width:16px;height:11px}
}
/* selezione su mobile: si legge solo il passaggio attivo, la mappa ha più spazio */
@media (max-width:1023px){
  .selection .stage:not(.is-active) p{display:none}
  .selection .stages{gap:4px}
  .sel-viz{min-height:38vh}
}

/* panoramica: le 8 tutele, subito visibili */
.pano-lead{font-weight:500;color:var(--navy)}
.tutele{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
.tu{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:start;padding:14px 14px 14px 12px;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(11,60,111,.05),0 10px 26px -18px rgba(11,60,111,.35),0 0 0 1px var(--line);transition:transform .35s var(--ease-out),box-shadow .35s}
.tutele .tu.in:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(11,60,111,.05),0 18px 36px -18px rgba(11,60,111,.45),0 0 0 1px rgba(24,115,185,.35)}
.tu-ic{grid-row:1 / span 2;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ocean),var(--navy))}
.tu-ic svg{width:22px;height:22px}
.tu b{font-weight:600;font-size:.92rem;line-height:1.3;color:var(--navy)}
.tu-t{font-size:.8rem;line-height:1.42;color:var(--ink-2)}
.tutele .tu:nth-child(1){transition-delay:.02s}.tutele .tu:nth-child(2){transition-delay:.06s}.tutele .tu:nth-child(3){transition-delay:.1s}.tutele .tu:nth-child(4){transition-delay:.14s}
.tutele .tu:nth-child(5){transition-delay:.18s}.tutele .tu:nth-child(6){transition-delay:.22s}.tutele .tu:nth-child(7){transition-delay:.26s}.tutele .tu:nth-child(8){transition-delay:.3s}
.tu.rv{opacity:0;transform:translateY(14px) scale(.98)}
.tu.rv.in{opacity:1;transform:none}
@media (max-width:599px){.tutele{gap:8px}.tu{grid-template-columns:34px minmax(0,1fr);padding:12px 10px;column-gap:10px}.tu-ic{width:34px;height:34px;border-radius:10px}.tu-ic svg{width:19px;height:19px}.tu b{font-size:.84rem}.tu-t{display:none}.tu{align-items:center}}
.pano-ctas{margin-top:24px}

/* prenotazione videochiamata */
.vc{border:0;padding:0;margin:auto;width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);border-radius:28px;background:#fff;color:var(--navy);box-shadow:0 40px 120px -30px rgba(8,45,84,.6);overflow:auto}
.vc::backdrop{background:rgba(8,32,60,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vc[open]{animation:vcIn .5s var(--ease-out)}
@keyframes vcIn{from{opacity:0;transform:translateY(-18px) scale(.98)}to{opacity:1;transform:none}}
.vc-in{position:relative;padding:28px 28px 24px}
.vc-x{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:0;background:var(--tint-2);cursor:pointer}
.vc-x::before,.vc-x::after{content:"";position:absolute;left:13px;top:19px;width:14px;height:2px;border-radius:2px;background:var(--navy);transform:rotate(45deg)}
.vc-x::after{transform:rotate(-45deg)}
.vc-in>.eyebrow{padding-right:44px}
.vc-t{font-weight:600;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin-top:8px}
.vc-grid{display:grid;gap:20px;margin-top:20px}
@media (min-width:640px){.vc-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.vc-cal{padding:14px;border-radius:20px;background:var(--tint);box-shadow:inset 0 0 0 1px var(--line)}
.vc-cal-head{display:flex;align-items:center;justify-content:space-between}
.vc-month{font-weight:600;text-transform:capitalize}
.vc-nav{position:relative;width:36px;height:36px;border-radius:50%;border:0;background:#fff;cursor:pointer;box-shadow:0 0 0 1px var(--line)}
.vc-nav::before{content:"";position:absolute;left:15px;top:13px;width:8px;height:8px;border-left:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg)}
.vc-next::before{left:11px;transform:rotate(-135deg)}
.vc-nav:disabled{opacity:.3;cursor:default}
.vc-week,.vc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px;text-align:center}
.vc-week span{font:500 .66rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.vc-day{aspect-ratio:1;border:0;border-radius:12px;background:#fff;color:var(--navy);font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.vc-day:hover:not(:disabled){background:var(--tint-2);transform:translateY(-1px)}
.vc-day:disabled{background:transparent;color:var(--ink-3);opacity:.45;cursor:default}
.vc-day.on{background:var(--ocean);color:#fff}
.vc-lab{font-weight:600;font-size:.92rem}
.vc-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin-top:10px;max-height:236px;overflow:auto;padding:2px}
.vc-slot{min-height:40px;border-radius:12px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}
.vc-slot:hover{box-shadow:inset 0 0 0 1.5px var(--ocean)}
.vc-slot[aria-selected="true"]{background:var(--ocean);color:#fff;box-shadow:none}
.vc-fields{display:grid;gap:10px;margin-top:18px}
@media (min-width:640px){.vc-fields{grid-template-columns:1fr 1fr 1fr}}
.vc-f{display:grid;gap:6px;font-size:.82rem;font-weight:600}
.vc-f input,.vc-f select{min-height:46px;border-radius:12px;border:1.5px solid var(--line-2);padding:0 12px;background-color:#fff;font-weight:500;font-size:16px}
.vc-f input:focus,.vc-f select:focus{outline:none;border-color:var(--ocean)}
.vc-err{min-height:1.2em;margin-top:10px;color:#b42318;font-size:.86rem;font-weight:600}
.vc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.vc-sum{font-weight:600;color:var(--ocean);text-transform:capitalize}
@media (max-width:599px){.vc-in{padding:22px 16px 18px}.vc-foot .btn{width:100%}}
body.vc-open .mobile-bar{transform:translateY(160%)!important}
.pano{padding-top:clamp(48px,6vw,88px)}
.pano-h{font-size:clamp(2.2rem,4.4vw,4.2rem)}
.pano-grid{margin-top:clamp(24px,3vw,40px)}
@media (min-width:1024px){
  .pano-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:56px;align-items:start}
  .pano-photo{aspect-ratio:4/4.4}
  .pano-visual{padding-bottom:110px}
  .pano-card{left:-48px;width:330px}
}
.pano-lead{font-size:1.08rem;max-width:none}
.tutele{grid-auto-rows:1fr}

/* trattamenti: schede con ologramma 3D */
/* trattamenti: schede fotografiche, "Scopri di più" apre la mini pagina con l'ologramma */
.pgrid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.pc{position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(11,60,111,.05),0 24px 50px -32px rgba(11,60,111,.45),0 0 0 1px var(--line);transition:transform .5s var(--ease-out),box-shadow .5s}
.pc:hover{transform:translateY(-6px);box-shadow:0 1px 2px rgba(11,60,111,.05),0 40px 80px -36px rgba(11,60,111,.6),0 0 0 1px rgba(24,115,185,.35)}
.pc-img{display:block;aspect-ratio:4/3.4;overflow:hidden;background:var(--tint-2)}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.pc:hover .pc-img img{transform:scale(1.05)}
.pc-body{display:flex;flex-direction:column;gap:6px;padding:20px 22px 22px;flex:1}
.pc-body h3{font-weight:600;font-size:1.28rem;letter-spacing:-.02em}
.pc-body p:not(.tcard-k){color:var(--ink-2);font-size:.95rem}
.pc-more{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:12px 18px;border:0;border-radius:999px;background:var(--tint-2);color:var(--navy);font:600 .92rem/1 Montserrat,sans-serif;cursor:pointer;transition:background .3s,color .3s}
.pc-body p + .pc-more{margin-top:14px}
.pc-more svg{width:16px;height:16px;transition:transform .3s var(--ease-out)}
.pc-more::after{content:"";position:absolute;inset:0;border-radius:inherit}
.pc:hover .pc-more{background:var(--ocean);color:#fff}
.pc:hover .pc-more svg{transform:translateX(4px)}
.pc-more:focus-visible{outline:3px solid var(--ocean);outline-offset:3px}
.pc-dark{background:linear-gradient(150deg,var(--navy),#0f5596);color:#fff}
.pc-dark .pc-body p:not(.tcard-k){color:var(--on-dark)}
.pc-dark .tcard-k{color:#8FC3EE}
.pc-dark .pc-more{background:rgba(255,255,255,.14);color:#fff}
.pc-dark:hover .pc-more{background:#fff;color:var(--navy)}
@media (max-width:1023px){.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:639px){
  .pgrid{grid-template-columns:1fr;gap:12px}
  .pc{flex-direction:row;border-radius:22px}
  .pc-img{flex:0 0 38%;aspect-ratio:auto;min-height:168px}
  .pc-body{padding:14px 14px 16px;gap:4px}
  .pc-body h3{font-size:1.06rem}
  .pc-body p:not(.tcard-k){font-size:.86rem}
  .pc-body p + .pc-more{margin-top:10px}
  .pc-more{padding:10px 14px;font-size:.86rem}
}

/* mini pagina del trattamento */
.tm{border:0;padding:0;margin:auto;width:min(1080px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:32px;background:#fff;color:var(--navy);box-shadow:0 40px 120px -30px rgba(8,45,84,.6);overflow:auto;overscroll-behavior:contain}
.tm::backdrop{background:rgba(8,32,60,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tm[open]{animation:tmFade .35s ease-out}
.tm[open] .tm-body{animation:tmIn .7s var(--ease-out)}
@keyframes tmFade{from{opacity:0}to{opacity:1}}
@keyframes tmIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.tm-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(640px,calc(100vh - 24px));min-height:min(640px,calc(100dvh - 24px))}
.tm-x{z-index:6;background:rgba(255,255,255,.9)}
.tm-stage{position:relative;min-height:420px;background:radial-gradient(80% 70% at 50% 42%,#1a5b9a 0%,#0b3c6f 55%,#072a50 100%);overflow:hidden;isolation:isolate}
.tm-stage::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);pointer-events:none}
.tm-view{position:absolute;inset:0}
.tm-fb,.tm-fb img{position:absolute;inset:0;width:100%;height:100%}
.tm-fb img{object-fit:cover;transition:opacity .8s}
.tm-3d .tm-fb img{opacity:0}
.tm-note{position:absolute;left:18px;bottom:16px;z-index:3;font:600 .66rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#cfe6fb;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);opacity:0;transition:opacity .6s}
.tm-3d .tm-note{opacity:1}
.tm-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,52px)}
.tm-t{font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.035em;line-height:1.08;margin-top:8px}
.tm-lead{margin-top:14px;color:var(--ink-2);font-size:1.02rem;line-height:1.6}
.tm-list{display:grid;gap:10px;margin-top:20px}
.tm-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-size:.97rem;font-weight:500}
.tm-list svg{width:22px;height:22px;color:var(--ocean)}
.tm-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px}
.tm-ctas .btn svg{width:20px;height:20px}
.tm-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.92rem;color:var(--ocean);text-decoration:none;padding:8px 4px}
.tm-link svg{width:16px;height:16px}
.tm-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-3)}
.tm-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:5}
body.tm-open{overflow:hidden}
@media (max-width:799px){
  .tm{width:100vw;max-height:100vh;max-height:100dvh;height:100vh;height:100dvh;border-radius:0;margin:0}
  .tm-in{grid-template-columns:1fr;min-height:0}
  .tm-stage{min-height:0;height:min(48vh,380px)}
  .tm-body{padding:24px 20px 32px;justify-content:flex-start}
  .tm-ctas .btn{flex:1 1 100%;justify-content:center}
}

/* =====================================================================
   Transizioni di sezione (classe .sx sull'html, .seen sulla sezione quando entra)
   ===================================================================== */
/* panoramica: il titolo sale riga per riga da una maschera */
.sx .pano-h span{clip-path:inset(0 0 100% 0);transform:translateY(40%);transition:clip-path 1s var(--ease-out),transform 1s var(--ease-out)}
.sx .pano-h span + span{transition-delay:.18s}
.sx .pano.seen .pano-h span{clip-path:inset(0 0 -20% 0);transform:none}
/* trattamenti: le foto si scoprono dall'alto, una scheda dopo l'altra */
.sx .pc-img img{clip-path:inset(0 0 100% 0);transform:scale(1.12);transition:clip-path 1.1s var(--ease-out),transform 1.6s var(--ease-out)}
.sx .treatments.seen .pc-img img{clip-path:inset(0 0 0 0);transform:none}
.sx .treatments.seen .pc:nth-child(2) .pc-img img{transition-delay:.1s}.sx .treatments.seen .pc:nth-child(3) .pc-img img{transition-delay:.2s}.sx .treatments.seen .pc:nth-child(4) .pc-img img{transition-delay:.3s}.sx .treatments.seen .pc:nth-child(5) .pc-img img{transition-delay:.4s}.sx .treatments.seen .pc:nth-child(6) .pc-img img{transition-delay:.5s}
.sx .treatments.seen .pc:hover .pc-img img{transform:scale(1.05);transition-delay:0s}
/* sorrisi: le foto si aprono a cerchio, come un sorriso che si allarga */
.sx .smile{clip-path:circle(0% at 50% 60%);transition:clip-path 1.3s var(--ease-out)}
.sx .smiles.seen .smile{clip-path:circle(120% at 50% 60%)}
.sx .smiles.seen .smile:nth-child(2){transition-delay:.12s}.sx .smiles.seen .smile:nth-child(3){transition-delay:.24s}.sx .smiles.seen .smile:nth-child(4){transition-delay:.36s}.sx .smiles.seen .smile:nth-child(5){transition-delay:.48s}
/* prima, durante, dopo: il video scorre come una pellicola */
.sx .mo-stage{clip-path:inset(0 100% 0 0 round 28px);transition:clip-path 1.4s cubic-bezier(.7,0,.2,1)}
.sx .moments.seen .mo-stage{clip-path:inset(0 0 0 0 round 28px)}
/* alloggio: si entra nella stanza. Il video va a fuoco, una lama di luce del mattino lo attraversa, l'elenco si spunta */
.lodging-media{position:relative;overflow:hidden}
.sx .lodging-media video{transform:scale(1.14);filter:blur(10px) saturate(.6) brightness(.85);transition:transform 2.2s var(--ease-out),filter 1.8s var(--ease-out)}
.sx .lodging.seen .lodging-media video{transform:none;filter:none}
.lodging-media::after{content:"";position:absolute;inset:-20% -60%;z-index:2;background:linear-gradient(105deg,transparent 40%,rgba(255,236,200,.0) 42%,rgba(255,236,200,.38) 50%,rgba(255,236,200,0) 58%,transparent 60%);transform:translateX(-70%);opacity:0;pointer-events:none}
.sx .lodging.seen .lodging-media::after{animation:sunSweep 2.4s var(--ease-out) .5s forwards}
@keyframes sunSweep{0%{transform:translateX(-70%);opacity:1}100%{transform:translateX(70%);opacity:0}}
.sx .lodging-list li{opacity:0;transform:translateX(-12px);transition:opacity .5s,transform .6s var(--ease-out)}
.sx .lodging-list li svg{transform:scale(0);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.sx .lodging.seen .lodging-list li,.sx .lodging.seen .lodging-list li svg{opacity:1;transform:none}
.sx .lodging.seen .lodging-list li:nth-child(2),.sx .lodging.seen .lodging-list li:nth-child(2) svg{transition-delay:.15s}
.sx .lodging.seen .lodging-list li:nth-child(3),.sx .lodging.seen .lodging-list li:nth-child(3) svg{transition-delay:.3s}
.sx .lodging.seen .lodging-list li:nth-child(4),.sx .lodging.seen .lodging-list li:nth-child(4) svg{transition-delay:.45s}
.sx .lodging.seen .lodging-list li:nth-child(5),.sx .lodging.seen .lodging-list li:nth-child(5) svg{transition-delay:.6s}
/* perché MedBridge: ogni scudo arriva come un timbro */
.sx .why-ic{opacity:0;transform:scale(2.2) rotate(-18deg);transition:opacity .5s,transform .7s cubic-bezier(.3,1.6,.5,1)}
.sx .why.seen .why-ic{opacity:1;transform:none}
.sx .why.seen .why-card:nth-child(2) .why-ic{transition-delay:.12s}.sx .why.seen .why-card:nth-child(3) .why-ic{transition-delay:.24s}.sx .why.seen .why-card:nth-child(4) .why-ic{transition-delay:.36s}.sx .why.seen .why-card:nth-child(5) .why-ic{transition-delay:.48s}.sx .why.seen .why-card:nth-child(6) .why-ic{transition-delay:.6s}
/* prezzi: i pacchetti salgono, lo Standard si accende */
.sx .plan{transform:translateY(60px);opacity:0;transition:transform 1s var(--ease-out),opacity .8s}
.sx .pricing.seen .plan{transform:none;opacity:1}
.sx .pricing.seen .plan:nth-child(2){transition-delay:.15s}.sx .pricing.seen .plan:nth-child(3){transition-delay:.3s}
.sx .pricing.seen .plan-mid{animation:planPop 1.2s var(--ease-out) .5s both}
@keyframes planPop{0%{box-shadow:0 0 0 0 rgba(24,115,185,0)}50%{box-shadow:0 0 0 10px rgba(24,115,185,.18)}100%{box-shadow:0 0 0 0 rgba(24,115,185,0)}}
/* domande e contatti: arrivano in cascata */
.sx .faq details{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .8s var(--ease-out)}
.sx .faq-wrap.seen .faq details{opacity:1;transform:none}
.sx .faq-wrap.seen .faq details:nth-child(n+2){transition-delay:.05s}.sx .faq-wrap.seen .faq details:nth-child(n+4){transition-delay:.1s}.sx .faq-wrap.seen .faq details:nth-child(n+6){transition-delay:.15s}.sx .faq-wrap.seen .faq details:nth-child(n+8){transition-delay:.2s}.sx .faq-wrap.seen .faq details:nth-child(n+10){transition-delay:.25s}
.sx .form .field,.sx .form .field-row{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .7s var(--ease-out)}
.sx .contact-wrap.seen .form .field,.sx .contact-wrap.seen .form .field-row{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sx *{transition:none!important;animation:none!important}}

/* cursore MedBridge: freccia con il dente e la spunta di fiducia (solo con mouse) */
@media (hover:hover) and (pointer:fine){
  html,body{cursor:url(../img/cursor-base.svg) 3 2,auto}
  a,button,summary,label,select,[role="tab"],[data-card],.vc-day,.vc-slot{cursor:url(../img/cursor-link.svg) 3 2,pointer}
  input,textarea{cursor:text}
}

/* footer ridisegnato */
.site-footer{padding:0 0 calc(32px + env(safe-area-inset-bottom))}
.foot-arcs{position:absolute;right:-6%;top:40px;width:min(62vw,820px);height:auto;opacity:.08;filter:brightness(4) saturate(0);pointer-events:none;z-index:-1}
.foot-cta{display:grid;gap:24px;align-items:end;padding:clamp(56px,7vw,96px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--line-dark)}
.foot-cta-t{font-weight:600;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.035em;color:#fff}
.foot-cta-t span{display:block;color:#8fc3ee}
.foot-cta-b{display:flex;flex-wrap:wrap;gap:12px}
@media (min-width:900px){.foot-cta{grid-template-columns:1.3fr auto}}
.foot-grid{display:grid;gap:36px 32px;grid-template-columns:repeat(2,minmax(0,1fr));padding:clamp(40px,5vw,64px) 0}
.foot-brand{grid-column:1 / -1}
@media (min-width:900px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}.foot-brand{grid-column:auto}}
.foot-logo{height:36px;width:auto;margin-bottom:16px}
.foot-claim{font-weight:500;font-size:1rem;line-height:1.5;color:var(--on-dark);max-width:30ch;margin-bottom:16px}
.footer-it{display:inline-flex;align-items:center;gap:10px;font-size:.84rem;font-weight:600;color:#fff;padding:7px 12px 7px 9px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line-dark)}
.footer-it .flag-it{width:20px;height:14px}
.foot-h{font:500 .7rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8fc3ee;margin-bottom:16px}
.foot-col ul{display:grid;gap:10px}
.foot-col a,.foot-col span{color:var(--on-dark);font-size:.94rem;text-decoration:none;transition:color .2s}
.foot-col a:hover{color:#fff}
.site-footer .legal{border-top:1px solid var(--line-dark);padding-top:24px;display:grid;gap:12px;font-size:.78rem;color:var(--on-dark-2);max-width:none}
.legal-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.legal-links{display:flex;gap:18px}
.legal-links a{color:var(--on-dark)}
.site-footer .wordmark{display:none}
.site-footer nav.foot-col{display:block}
.site-footer .foot-col a{display:inline;min-height:0}
.site-footer .foot-col li{line-height:1.45}
@media (min-width:900px){.foot-cta{grid-template-columns:minmax(0,1.7fr) auto}}
.foot-cta-t{max-width:none}
@media (min-width:900px){.foot-cta-t{font-size:clamp(1.9rem,2.9vw,2.6rem);white-space:nowrap}}

/* mappa dei voli: aeroporti con voli diretti meno frequenti, senza animazione */
.fm-minor path{fill:none;stroke:rgba(159,208,255,.28);stroke-width:1.2;stroke-dasharray:3 6}
.fm-minor circle{fill:rgba(255,255,255,.85);stroke:rgba(24,115,185,.5);stroke-width:3}
.fm-minor text{font:500 13px "Montserrat",sans-serif;fill:rgba(255,255,255,.82);paint-order:stroke;stroke:rgba(6,33,63,.7);stroke-width:3px}
.film-more{margin-top:14px;max-width:44ch;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.72)}
@media (max-width:640px){.fm-minor text{display:none}.film-more{font-size:.8rem}}

/* contatti: logo MedBridge in bianco sopra il titolo */
.contact-logo{display:block;width:clamp(150px,18vw,210px);height:auto;margin-bottom:22px;filter:brightness(0) invert(1)}
/* manifesto: presentazione di MedBridge */
.manifest-k{font:600 .78rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#8FC3EE}
.manifest-title span:last-child{color:#8FC3EE}
.manifest-sub{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;max-width:46ch;color:#fff}
.manifest-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px;width:min(760px,100%)}
.manifest-proof li{display:grid;gap:6px;justify-items:center;padding:18px 12px;border-radius:20px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.manifest-proof b{font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1;letter-spacing:-.03em}
.manifest-proof span{font-size:.88rem;line-height:1.35;color:rgba(255,255,255,.85)}
@media (max-width:560px){.manifest-proof{gap:8px}.manifest-proof li{padding:14px 6px}.manifest-proof span{font-size:.74rem}}

/* calcolatore semplice: 1) cosa ti serve 2) quanti denti, risultato subito */
.calc-sub{margin-top:6px;color:var(--ink-2)}
.calc-steps{display:grid;gap:22px}
.calc-f{border:0;margin:0;padding:0;min-width:0}
.calc-f legend{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.08rem;color:var(--navy);margin-bottom:12px;padding:0}
.calc-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:.9rem;flex:none}
.calc-opts{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.calc-opt,.calc-chip{position:relative;cursor:pointer}
.calc-opt input,.calc-chip input{position:absolute;opacity:0;pointer-events:none}
.calc-opt span{display:grid;gap:4px;height:100%;padding:16px 16px 16px 48px;border-radius:18px;background:#f6f9fc;box-shadow:inset 0 0 0 1.5px rgba(11,60,111,.1);transition:box-shadow .25s,background .25s}
.calc-opt span::before{content:"";position:absolute;left:16px;top:18px;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(11,60,111,.3);background:#fff;transition:box-shadow .25s}
.calc-opt b{font-size:1rem;color:var(--navy)}
.calc-opt small{font-size:.84rem;line-height:1.4;color:var(--ink-2)}
.calc-opt input:checked+span{background:#eaf3fb;box-shadow:inset 0 0 0 2px var(--ocean)}
.calc-opt input:checked+span::before{box-shadow:inset 0 0 0 6px var(--ocean)}
.calc-chips{display:flex;flex-wrap:wrap;gap:8px}
.calc-chips[hidden]{display:none}
.calc-chip span{display:grid;place-items:center;min-width:56px;height:52px;padding:0 14px;border-radius:14px;background:#f6f9fc;box-shadow:inset 0 0 0 1.5px rgba(11,60,111,.12);font-weight:700;font-size:1.1rem;color:var(--navy);transition:background .2s,color .2s,box-shadow .2s}
.calc-chip-w span{min-width:140px;font-size:1rem}
.calc-chip input:checked+span{background:var(--ocean);color:#fff;box-shadow:none}
.calc-opt input:focus-visible+span,.calc-chip input:focus-visible+span{outline:3px solid var(--ocean);outline-offset:3px}
.calc-out .btn{justify-content:center}
.calc-out .btn svg{width:20px;height:20px}
@media (max-width:640px){.calc-opts{grid-template-columns:1fr}.calc-chip span{min-width:52px;height:50px}}

/* schede dei trattamenti: ologramma 3D nell'apertura */
.tp-holo{background:radial-gradient(80% 70% at 50% 42%,#1a5b9a 0%,#0b3c6f 55%,#072a50 100%);isolation:isolate}
.tp-holo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);pointer-events:none}
.tp-holo picture{position:absolute;inset:0}
.tp-holo img{transition:opacity .8s}
.tp-3d.tp-holo img{opacity:0}
.tp-holo-view{position:absolute;inset:0}
.tp-holo-note{position:absolute;right:16px;top:16px;z-index:2;font:600 .66rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#cfe6fb;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);opacity:0;transition:opacity .6s}
.tp-3d .tp-holo-note{opacity:1}
.tp-holo .al-pill{z-index:4}
.tp-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.tp-holo-view{z-index:2}
.tp-3d .tp-holo-view{cursor:grab}
.holo-drag .tp-holo-view{cursor:grabbing}
.tp-holo-hint{position:absolute;left:16px;top:16px;z-index:3;margin:0;font:600 .72rem/1.2 Montserrat,sans-serif;color:#cfe6fb;padding:7px 11px;border-radius:999px;background:rgba(6,30,58,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);opacity:0;transition:opacity .6s;pointer-events:none}
.tp-3d .tp-holo-hint{opacity:1}
.holo-paused .tp-holo-hint .h-run{display:none}
.tp-holo-hint .h-stop{display:none}
.holo-paused .tp-holo-hint .h-stop{display:inline}
.tp-holo-note{z-index:3}
@media (max-width:640px){.tp-holo-hint{font-size:.66rem}}
a.pc-more{text-decoration:none}

/* calcolatore del risparmio, sezione propria prima delle domande */
.savings .calc{margin-top:0}

.tp-holo-hint{display:grid;gap:3px;border-radius:14px;padding:8px 12px;max-width:calc(100% - 32px)}
.tp-holo-hint b{font:600 .62rem/1 "Bai Jamjuree",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8FC3EE}

/* prima sezione: la foto dentro l'arco del ponte MedBridge, e il referente che organizza tutto */
.pano-photo{border-radius:50% 50% var(--r-xl) var(--r-xl)/30% 30% var(--r-xl) var(--r-xl)}
.pano-arcs{position:absolute;left:0;top:0;width:100%;aspect-ratio:4/5;overflow:visible;fill:none;z-index:1;pointer-events:none}
.pano-arcs path{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1.6s var(--ease-out) .2s}
.pano-arcs path+path{transition-delay:.45s}
.pano-visual.in .pano-arcs path,html:not(.js) .pano-arcs path{stroke-dashoffset:0}
.pano-chat{position:absolute;right:-18px;top:16%;z-index:3;display:grid;gap:10px;width:min(300px,78%)}
.pch{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px 9px;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -18px rgba(8,45,84,.55),0 0 0 1px rgba(11,60,111,.08);opacity:0;transform:translateY(14px) scale(.96);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.pch+.pch{margin-left:18px}
.pano-visual.in .pch{opacity:1;transform:none;transition-delay:.9s}
.pano-visual.in .pch+.pch{transition-delay:1.7s}
.pch img{width:34px;height:34px;border-radius:50%;object-fit:contain;padding:6px;background:#fff;box-shadow:0 0 0 1px rgba(11,60,111,.12)}
.pch p{display:grid;gap:2px;margin:0;font-size:.86rem;line-height:1.35;color:var(--ink)}
.pch b{font-size:.74rem;color:var(--ocean);font-weight:700}
.pch small{justify-self:end;font-size:.66rem;color:#53bdeb;font-weight:600}
@media (min-width:1024px){.pano-arcs{aspect-ratio:4/4.4}}
@media (max-width:640px){.pano-chat{right:-6px;top:12%;width:76%}.pch{padding:8px 10px}.pch p{font-size:.78rem}.pch+.pch{margin-left:10px}}
@media (prefers-reduced-motion:reduce){.pch,.pano-arcs path{transition:none;opacity:1;transform:none;stroke-dashoffset:0}}

/* prima sezione: volto libero nell'arco, messaggi sul busto, scheda sotto la foto */
.pano-visual{padding-bottom:0}
.pano-card{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin:-56px 18px 0}
.pano-chat{top:auto;right:14px;bottom:76px;left:auto;width:min(290px,80%)}
.pano-photo::after{background:linear-gradient(180deg,transparent 45%,rgba(8,45,84,.35))}
@media (min-width:1024px){.pano-visual{padding-bottom:0}.pano-card{left:auto;width:auto;margin:-56px 22px 0 -40px}}
@media (max-width:640px){.pano-chat{right:10px;bottom:66px;width:84%}.pano-card{margin:-48px 10px 0}}

.pano-photo img{object-position:50% 0}
.pch{padding:8px 11px 7px;grid-template-columns:30px minmax(0,1fr)}
.pch img{width:30px;height:30px;padding:5px}
.pch p{font-size:.8rem}
.pano-chat{bottom:72px;gap:8px;width:min(270px,76%)}
@media (max-width:640px){.pano-chat{bottom:60px;width:82%}.pch p{font-size:.74rem}}
@media (min-width:1024px){.pano-photo{overflow:visible}.pano-photo picture{display:block;height:100%;overflow:hidden;border-radius:inherit}.pano-chat{right:-34px;bottom:62px;width:250px}}
i{font-style:normal}
@media (max-width:640px){.pano-chat{bottom:52px;width:78%}}
/* foto della coppia: i messaggi escono dal telefono, a sinistra, sotto i volti */
.pano-chat{right:auto;left:14px;bottom:70px}
.pch+.pch{margin-left:18px}
@media (min-width:1024px){.pano-chat{left:-34px;right:auto;bottom:60px;width:250px}}
@media (max-width:640px){.pano-chat{left:10px;right:auto;bottom:54px;width:74%}.pch+.pch{display:none}}
/* messaggi: immagine profilo con il logo MedBridge completo */
.pch{grid-template-columns:40px minmax(0,1fr)}
.pch img{width:40px;height:40px;padding:0;background:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(11,60,111,.14),0 2px 6px -2px rgba(11,60,111,.3)}
@media (max-width:640px){.pch{grid-template-columns:36px minmax(0,1fr)}.pch img{width:36px;height:36px}}

/* nessuna animazione può allargare la pagina su telefono e tablet */
body{overflow-x:hidden}
@supports (overflow:clip){body{overflow-x:clip}}

/* telefono e tablet: mappa dei voli intera, sopra il titolo */
@media (max-width:640px){
  .fm-bg,.fm{inset:auto;left:2%;top:64px;width:96%;height:auto;aspect-ratio:1000/852}
}
@media (min-width:641px) and (max-width:899px){
  .fm-bg,.fm{inset:auto;left:4%;top:72px;width:92%;height:auto;aspect-ratio:1000/852}
}
/* telefono: gli archi attorno alla foto restano dentro lo schermo */
@media (max-width:640px){.pano-visual{width:86%;margin-inline:auto}}
/* tablet: foto dei passaggi meno alte, barra in basso compatta e centrata */
@media (min-width:641px) and (max-width:1023px){
  .step-photo{aspect-ratio:16/9;max-height:440px}
  .mobile-bar{left:50%;right:auto;width:min(560px,calc(100% - 24px));translate:-50% 0}
}
@media (max-width:640px){
  .pano-chat{bottom:46px;left:8px;width:68%}
  .pch{grid-template-columns:28px minmax(0,1fr);gap:7px;padding:6px 9px 5px}
  .pch img{width:28px;height:28px}
  .pch p{font-size:.7rem;line-height:1.3}
  .pch b{font-size:.66rem}
  .pch small{font-size:.58rem}
}
/* parole lunghe (tedesco, inglese): vanno a capo con la sillabazione della lingua, senza allargare la pagina */
h1,h2,h3,h4,.h2,.hero-h,.pano-h,.tm-t,.film-title,.manifest-title{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
p,li,dd,summary,.intro,.lead{overflow-wrap:break-word}
.tp-two>*,.tp-hero-grid>*,.plans>*,.pgrid>*,.why-grid>*,.faq-grid>*,.contact>*{min-width:0}
/* telefono: i pulsanti con testi lunghi (tedesco, francese) vanno a capo invece di uscire dallo schermo */
@media (max-width:640px){
  .btn{white-space:normal;text-align:center;max-width:100%;padding-block:10px}
  .calc-body>*,.calc-steps>*,.calc-out>*,.tp-cta>*,.ctas>*{min-width:0}
  .calc-chip-w span{min-width:0}
}

/* iPhone: scorrendo, Safari nasconde le barre e lo schermo si allunga (da svh a lvh).
   Il ponte occupa tutta l'altezza grande, così sotto l'immagine non resta una striscia bianca. */
@media (max-width:899px){.manifest-sticky{height:100vh;height:100lvh}}
/* telefono: mappa dei voli senza riquadro che si allarga (il titolo toccava il bordo),
   fondo blu sotto la parte fissa e mappa ridotta sugli schermi bassi, così non finisce sotto il titolo */
@media (max-width:640px){
  .film{background:#06213f}
  .film-frame{clip-path:none}
  .film-copy{transform:none;padding-bottom:28px}
  .fm-bg,.fm{left:50%;width:auto;height:clamp(150px,calc((100vh - 440px) / .7),calc(96vw * .852));height:clamp(150px,calc((100svh - 440px) / .7),calc(96vw * .852));transform:translateX(-50%)}
}
@media (max-width:640px) and (max-height:720px){
  .film-title{font-size:1.85rem}
  .film-caps{gap:6px;margin-top:16px}
  .film-caps li{padding:9px 14px;font-size:.9rem}
}
/* telefono: i 7 pulsanti di "Quanti denti?" su una riga sola, senza "8" e "10" a capo da soli */
@media (max-width:640px){#calc-teeth{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}#calc-teeth .calc-chip span{min-width:0;padding:0;height:46px;font-size:1rem}}
/* telefono: con le barre di Safari aperte l'apertura era troppo bassa e l'arco del logo finiva tagliato sotto la barra.
   Ora cresce se serve, con un margine in alto, e il logo è un po' più piccolo */
@media (max-width:640px){
  .mhero{height:auto;min-height:calc(100vh - 60px);min-height:calc(100svh - 60px);padding-top:28px}
  .mhero-logo{margin-bottom:26px}
  .mhero-logo img{width:min(240px,54vw)}
}
/* telefono e tablet: la mappa dell'Albania occupa solo lo spazio che resta sotto i passaggi,
   così con le barre di Safari aperte non esce più dal fondo e il contatore resta visibile */
@media (max-width:1023px){
  .sel-grid{padding-block:78px 18px;gap:14px}
  .sel-viz{min-height:0}
  .selection .stages{margin-top:16px}
  .selection .stage{padding:7px 0}
  .sel-viz figcaption{min-height:0}
}
/* telefono con poca altezza: più spazio alla mappa togliendo l'etichetta (il titolo dice già "cliniche") */
@media (max-width:1023px) and (max-height:760px){
  .sel-copy .al-pill{display:none}
  .sel-copy .h2{font-size:1.6rem}
  .selection .stage p{font-size:.84rem}
  .sel-viz .counter{font-size:2.1rem}
  #sel-caption{font-size:.8rem}
}

/* tutele: con un numero dispari di schede l'ultima occupa tutta la riga */
.tutele .tu:last-child:nth-child(odd){grid-column:1/-1}
/* sezione 3D: link alla pagina del trattamento, sotto i componenti */
.holo-link{list-style:none;margin-top:10px}
.holo-link a{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:#8FC3EE;text-decoration:none}
.holo-link a svg{width:16px;height:16px}
.holo-link a:hover{color:#fff;text-decoration:underline}
.holo-parts li.holo-link{grid-column:1/-1;display:block;opacity:1;border:0;padding:4px 0 0;background:none;box-shadow:none}
/* pagine prodotto: l'ologramma è il protagonista (più grande; su telefono a tutta larghezza) */
.tp-hero-media.tp-holo{aspect-ratio:auto;height:min(78vh,760px);max-height:none;min-height:440px}
@media (min-width:1024px){.tp-hero-grid:has(.tp-holo){grid-template-columns:.95fr 1.05fr;gap:56px}}
@media (max-width:640px){.tp-hero-media.tp-holo{height:min(72vh,560px);height:min(72svh,560px);min-height:400px;margin-inline:calc(var(--gutter) * -1);border-radius:0}}

/* alloggio: foto e brevi video dal sopralluogo, in una fila compatta (su telefono scorre di lato) */
.lodging-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,44%);gap:10px;margin:clamp(28px,4vw,44px) 0 0;padding:0 0 6px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.lodging-strip::-webkit-scrollbar{display:none}
.ls-tile{scroll-snap-align:start}
.ls-tile figure{position:relative;margin:0;aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--tint-2);box-shadow:0 18px 36px -28px rgba(11,60,111,.55)}
.ls-tile picture,.ls-tile img,.ls-tile video{display:block;width:100%;height:100%;object-fit:cover}
.ls-tile figcaption{position:absolute;left:10px;bottom:10px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font-weight:600;font-size:.78rem}
.ls-note{margin-top:12px;font-size:.8rem;color:var(--ink-2)}
@media (min-width:900px){.lodging-strip{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}}

/* recensioni: Carmine (video + scheda) separato dalle altre; tutte le schede uguali */
.rv-carmine{display:grid;gap:22px;align-items:center}
.rv-carmine .rv-video{width:min(100%,280px)}
.rv-carmine .rv-list,.rv-others{margin:0;grid-template-columns:1fr}
.rv-others{margin-top:22px}
@media (min-width:760px){.rv-carmine{grid-template-columns:260px 1fr;gap:32px}.rv-carmine .rv-video{width:100%;position:static}.rv-others{grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}}
.rv-card{display:flex;flex-direction:column}
.rv-card .rv-text{flex:1}
.rv-by{display:flex;align-items:center;gap:12px;margin-top:16px}
.rv-by b{display:block;font-weight:600;color:var(--navy);font-size:.95rem}
.rv-by span span{font-size:.84rem;color:var(--ink-2)}
.rv-av{width:46px;height:46px;border-radius:50%;flex:none;object-fit:cover;display:grid;place-items:center;font-weight:700;font-size:.85rem;color:var(--ocean);background:var(--tint-2);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line-2)}

/* sezione 3D: niente sbordi su telefoni stretti (tedesco) */
.holo-grid>*{min-width:0}.holo-tabs{flex-wrap:wrap}.holo-tab{padding:0 14px}
.holo-parts li{min-width:0;overflow-wrap:anywhere}.holo-parts{min-width:0}

/* sezione 3D su telefono: niente scelta dei singoli pezzi, solo trattamento, modello e link alla pagina */
@media (max-width:899px){.holo-parts li:not(.holo-link){display:none}.holo-parts{margin-top:12px}}

/* sezione 3D: invito visivo a scegliere un trattamento (sparisce al primo tocco) */
.holo-tab{position:relative}
.holo-tabs:not(.touched) .holo-tab[aria-selected="false"]{animation:tabPulse 2.8s ease-in-out infinite}
.holo-tabs:not(.touched) .holo-tab:nth-child(3){animation-delay:.35s}.holo-tabs:not(.touched) .holo-tab:nth-child(4){animation-delay:.7s}.holo-tabs:not(.touched) .holo-tab:nth-child(5){animation-delay:1.05s}
@keyframes tabPulse{0%,60%,100%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 0 rgba(143,195,238,0)}25%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 6px rgba(143,195,238,.22)}}
.holo-tap{position:absolute;right:-10px;bottom:-26px;width:36px;height:38px;pointer-events:none;animation:tapHand 2.8s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}
/* manina con guanto in nitrile azzurro, da studio dentistico */
.holo-tap svg{width:100%;height:100%;overflow:visible}
.holo-tap .g{fill:#a9d6f7;stroke:#2a6fae;stroke-width:1.1;stroke-linejoin:round}
.holo-tap .c{fill:#8cc6f1;stroke:#2a6fae;stroke-width:1.1}
.holo-tap .l{fill:none;stroke:#5d9bd0;stroke-width:.9;stroke-linecap:round}
@keyframes tapHand{0%,100%{transform:translate(6px,8px) scale(1);opacity:0}15%{opacity:1}35%{transform:translate(0,0) scale(1)}45%{transform:translate(0,0) scale(.86)}55%{transform:translate(0,0) scale(1)}80%{opacity:1}95%{transform:translate(6px,8px);opacity:0}}
.holo-tabs.touched .holo-tap{display:none}
@media (prefers-reduced-motion:reduce){.holo-tabs:not(.touched) .holo-tab{animation:none}.holo-tap{animation:none;opacity:.9;transform:none}}

/* menu su telefono e tablet: pannello pieno, sopra a tutto (anche ai video), con tutte le sezioni */
.nav-m{display:none}
@media (max-width:1023px){
  body.menu-open .site-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000}
  .site-header:has(.nav.open){background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000}
  .nav{position:fixed;top:var(--nav-top,60px);left:0;right:0;bottom:auto;height:calc(100vh - var(--nav-top,60px));height:calc(100dvh - var(--nav-top,60px));overflow-y:auto;overscroll-behavior:contain;z-index:1000;background:#fff;justify-content:flex-start;gap:20px}
  .nav-m{display:block}
  .nav a:not(.btn){font-size:1.35rem;padding:13px 0}
  body.menu-open #mobile-bar{display:none}
}
/* pagina Chi siamo */
.about-nums{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;max-width:520px}
.about-nums p{padding:14px 16px;border-radius:18px;background:var(--tint);display:grid;gap:4px}
.about-nums b{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;letter-spacing:-.03em;color:var(--navy);line-height:1}
.about-nums span{font-size:.84rem;color:var(--ink-2);line-height:1.35}
.about .tp-hero-media{aspect-ratio:4/5}
.about-tutele .tutele{margin-top:0}
@media (min-width:900px){.about-tutele .tutele{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* calcolatore: confronto a barre Italia / Tirana, con il risparmio evidenziato */
.calc-bars{display:grid;gap:10px;padding:16px 18px;border-radius:20px;background:#f6f9fc;box-shadow:inset 0 0 0 1px rgba(11,60,111,.08)}
.cb{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:10px}
.cb-l{font-size:.8rem;font-weight:600;color:var(--ink-2)}
.cb-bar{position:relative;display:block;height:14px;border-radius:999px;background:rgba(11,60,111,.07);overflow:hidden}
.cb-bar i{position:absolute;inset:0 auto 0 0;width:100%;border-radius:999px;background:linear-gradient(90deg,#9db4cc,#7f9ab6)}
.cb-ti .cb-bar i{width:var(--ti,40%);background:linear-gradient(90deg,var(--navy),var(--ocean));transition:width .7s var(--ease-out)}
.cb-gap{position:absolute;top:0;bottom:0;left:var(--ti,40%);right:0;border-radius:0 999px 999px 0;background:repeating-linear-gradient(-45deg,rgba(46,160,90,.28) 0 6px,rgba(46,160,90,.12) 6px 12px);transition:left .7s var(--ease-out)}
.calc-out .hi .v{font-variant-numeric:tabular-nums}
.calc-out .v{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.cb-ti .cb-bar i,.cb-gap{transition:none}}

/* recensioni Google: fonte sotto la firma, tre colonne su schermi larghi */
.rv-src{display:flex;align-items:center;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:var(--ink-2)}
.rv-g{width:14px;height:14px;flex:none}
@media (min-width:1000px){.rv-others{grid-template-columns:repeat(3,1fr)}}
@media (min-width:760px) and (max-width:999px){.rv-others>li:last-child:nth-child(odd){grid-column:1/-1}}
