/* ─── FONTS ─── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');

/* ─── RESET & VARIABLES ─── */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --teal:#146263;
  --teal-dk:#0e4d4e;
  --mint:#3FCFA0;
  --light-mint:#64F5A4;
  --off-white:#F7F6F2;
  --near-black:#1A1A1A;
  --mid-grey:#6B7280;
  --white:#FFFFFF;
  --border:#E5E7EB;
  --border-light:#EFEFED;
  --font-head:'Plus Jakarta Sans',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--off-white);color:var(--near-black);overflow-x:hidden;font-size:15px;line-height:1.6}

/* ─── UTILITY ─── */
.container{max-width:1200px;margin:0 auto;padding:0 5%}
[data-en]{display:none}
[lang="en"] [data-en]{display:inline}
[lang="en"] [data-it]{display:none}
/* block-level lang */
[data-en-block]{display:none}
[lang="en"] [data-en-block]{display:block}
[lang="en"] [data-it-block]{display:none}
[data-en-flex]{display:none}
[lang="en"] [data-en-flex]{display:flex}
[lang="en"] [data-it-flex]{display:none}
[data-en-grid]{display:none}
[lang="en"] [data-en-grid]{display:grid}
[lang="en"] [data-it-grid]{display:none}
[data-en-inline-flex]{display:none}
[lang="en"] [data-en-inline-flex]{display:inline-flex}
[lang="en"] [data-it-inline-flex]{display:none}

/* ─── FADE ANIMATIONS ─── */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}

/* ─── NAV ─── */
.main-nav{
  position:sticky;top:0;z-index:200;
  background:var(--white);
  border-bottom:1.5px solid var(--border-light);
  padding:0 5%;
  display:flex;align-items:center;justify-content:space-between;
  height:64px;gap:20px;
}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.nav-logo-text{font-family:var(--font-head);font-weight:900;font-size:18px;color:var(--teal);letter-spacing:-.02em;line-height:1;white-space:nowrap}
.nav-links{display:flex;gap:32px;list-style:none;flex:1;justify-content:center}
.nav-links a{font-size:14px;font-weight:500;color:var(--mid-grey);text-decoration:none;cursor:pointer;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--teal)}
.nav-right{display:flex;gap:8px;align-items:center;flex-shrink:0}

/* Language Toggle */
.lang-toggle{display:flex;align-items:center;gap:2px;margin-right:8px;background:var(--off-white);border-radius:20px;padding:2px}
.lang-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:18px;font-size:12px;font-weight:600;border:none;cursor:pointer;background:transparent;color:var(--mid-grey);transition:all .2s;font-family:var(--font-body)}
.lang-btn.active{background:var(--teal);color:var(--white)}
.lang-btn img,.lang-btn span.flag{width:16px;height:12px;border-radius:2px}

/* Buttons */
.btn-ghost{padding:8px 20px;border:1.5px solid var(--border);color:var(--near-black);border-radius:40px;font-size:13px;font-weight:600;background:var(--white);cursor:pointer;font-family:var(--font-body);transition:all .2s;white-space:nowrap}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn-solid{padding:8px 20px;background:var(--teal);color:var(--white);border:2px solid var(--teal);border-radius:40px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-body);transition:all .2s;white-space:nowrap}
.btn-solid:hover{background:var(--teal-dk);border-color:var(--teal-dk);box-shadow:0 8px 20px rgba(20,98,99,.25)}
.btn-primary{padding:13px 28px;background:var(--teal);color:var(--white);border:2px solid var(--teal);border-radius:40px;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font-body);transition:all .25s;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--teal-dk);border-color:var(--teal-dk);box-shadow:0 8px 20px rgba(20,98,99,.25)}
.btn-outline{padding:13px 28px;background:var(--white);color:var(--teal);border:2px solid var(--teal);border-radius:40px;font-size:15px;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all .25s;text-decoration:none;display:inline-block}
.btn-outline:hover{background:var(--teal);color:var(--white)}
.btn-mint{padding:13px 28px;background:var(--mint);color:var(--white);border:2px solid var(--mint);border-radius:6px;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font-body);transition:all .25s}
.btn-mint:hover{background:#2fb88a;border-color:#2fb88a;box-shadow:0 8px 20px rgba(63,207,160,.3)}
.btn-ghost-dark{padding:13px 28px;background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.3);border-radius:40px;font-size:15px;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all .25s}
.btn-ghost-dark:hover{border-color:var(--white);background:rgba(255,255,255,.1)}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.hamburger span{width:22px;height:2px;background:var(--near-black);border-radius:2px;transition:all .3s}
.mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--border);padding:20px 5%;z-index:199;transform:translateY(-100%);transition:transform .35s ease;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:20px}
.mobile-menu a{font-size:16px;font-weight:500;color:var(--near-black);text-decoration:none}
.mobile-menu .mobile-btns{display:flex;gap:8px}

/* ─── HERO ─── */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding:64px 5%;min-height:calc(100vh - 64px);background:var(--teal);position:relative;overflow:hidden}
.hero-glow{position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(63,207,160,.12) 0%,transparent 65%);pointer-events:none}
.hero-glow-2{position:absolute;bottom:-60px;left:0;width:300px;height:300px;background:radial-gradient(circle,rgba(63,207,160,.12) 0%,transparent 65%);pointer-events:none}
.eyebrow-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:6px 14px;border-radius:40px;font-size:11px;font-weight:700;color:var(--white);letter-spacing:.05em;text-transform:uppercase;margin-bottom:22px;white-space:nowrap}
.pulse-dot{width:6px;height:6px;background:var(--mint);border-radius:50%;flex-shrink:0;animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.hero h1{font-family:var(--font-head);font-size:clamp(32px,5vw,56px);font-weight:900;line-height:1.08;letter-spacing:-.035em;color:var(--white);margin-bottom:20px}
.hero .gradient{background:linear-gradient(135deg,#3FCFA0,#64F5A4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:16px;color:var(--mint);line-height:1.75;margin-bottom:32px;max-width:440px}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}
.hero-stats{display:flex;gap:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.15);flex-wrap:wrap}
.hero-stat-val{font-family:var(--font-head);font-size:22px;font-weight:900;color:var(--white);line-height:1}
.hero-stat-label{font-size:11px;color:rgba(255,255,255,.5);margin-top:3px;max-width:120px}

/* ─── PHONE STACK ─── */
.phone-wrap{display:flex;justify-content:center;align-items:center;position:relative;height:490px}
.phone,.phone-back{border-radius:36px;overflow:hidden;position:relative}
.phone{width:226px;height:454px;background:var(--white);border:7px solid #111;box-shadow:0 28px 64px rgba(0,0,0,.18);z-index:2}
.phone-back{width:208px;height:424px;background:var(--white);border:7px solid #222;box-shadow:0 16px 44px rgba(0,0,0,.1);position:absolute;right:-34px;top:26px;z-index:1;opacity:.72;transform:rotate(5.5deg)}
.notch{width:66px;height:14px;background:#111;border-radius:0 0 10px 10px;position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:10}
.pscreen{width:100%;height:100%;display:flex;flex-direction:column;background:var(--off-white)}
.ph{background:var(--white);padding:24px 12px 10px;border-bottom:1px solid var(--border-light)}
.ph-greet{font-size:9px;color:var(--mid-grey);font-weight:600;margin-bottom:2px}
.ph-title{font-family:var(--font-head);font-size:14px;font-weight:900;color:var(--near-black);margin-bottom:8px}
.ph-search{background:var(--off-white);border-radius:9px;padding:6px 9px;display:flex;align-items:center;gap:5px}
.ph-stxt{font-size:9px;color:#9CA3AF}
.pb{padding:9px 10px;display:flex;flex-direction:column;gap:7px;flex:1;overflow:hidden}
.cats{display:flex;gap:5px}
.cat{padding:4px 9px;border-radius:20px;font-size:8px;font-weight:700}
.cat.on{background:var(--teal);color:var(--white)}
.cat.off{background:var(--white);color:var(--mid-grey);border:1px solid var(--border)}
.plbl{font-size:8px;font-weight:700;color:var(--mid-grey);text-transform:uppercase;letter-spacing:.06em}
.pc{background:var(--white);border-radius:11px;padding:8px;display:flex;gap:7px;border:1px solid var(--border-light)}
.pi{width:34px;height:34px;background:var(--off-white);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.pinfo{flex:1;min-width:0}
.pn{font-size:9px;font-weight:800;color:var(--near-black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pph{font-size:7px;color:var(--mid-grey);margin-top:1px}
.ppr{display:flex;align-items:center;gap:3px;margin-top:4px}
.po{font-size:7px;color:var(--mid-grey);text-decoration:line-through}
.pd{font-size:11px;font-weight:900;color:var(--teal);font-family:var(--font-head)}
.ps{background:#E8FAF3;color:var(--teal);font-size:7px;font-weight:700;padding:1px 4px;border-radius:3px}
.padd{width:20px;height:20px;background:var(--teal);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;align-self:flex-end}
.pex{display:flex;align-items:center;gap:3px;margin-top:2px}
.exp-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.exp-warn{background:#F59E0B}
.exp-ok{background:var(--mint)}
.exp-txt{font-size:7px;color:var(--mid-grey)}
.pnav{background:var(--white);border-top:1px solid var(--border-light);padding:7px 0 9px;display:flex;justify-content:space-around}
.pni{display:flex;flex-direction:column;align-items:center;gap:2px}
.pnl{font-size:7px;font-weight:600}
.pnl.on{color:var(--teal)}.pnl.off{color:var(--mid-grey)}
.pnd{width:4px;height:4px;background:var(--mint);border-radius:50%}

/* ─── MAP SCREEN ─── */
.map-sc{background:#DFF0E8;position:relative;overflow:hidden;width:100%;height:100%;display:flex;flex-direction:column}
.mgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(20,98,99,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,98,99,.05) 1px,transparent 1px);background-size:18px 18px}
.mpin{position:absolute}
.mpin-dot{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 7px rgba(20,98,99,.3)}
.mpin-inner{width:7px;height:7px;background:var(--white);border-radius:50%;transform:rotate(45deg)}
.mpin-ring{position:absolute;width:32px;height:32px;background:rgba(20,98,99,.12);border-radius:50%;animation:mring 2s infinite;top:-5px;left:-5px}
@keyframes mring{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.mcard{position:absolute;bottom:10px;left:8px;right:8px;background:var(--white);border-radius:12px;padding:9px 11px;box-shadow:0 3px 12px rgba(0,0,0,.1)}
.mcard-name{font-size:9px;font-weight:800;color:var(--near-black)}
.mcard-addr{font-size:7px;color:var(--mid-grey);margin-top:1px}
.mcard-row{display:flex;justify-content:space-between;align-items:center;margin-top:5px}
.mcard-dist{font-size:8px;font-weight:700;color:var(--teal);background:#E0F2EF;padding:2px 5px;border-radius:4px}
.mcard-btn{font-size:8px;font-weight:700;color:var(--white);background:var(--teal);padding:3px 8px;border-radius:7px;border:none;cursor:pointer}

/* ─── FLOATING CARDS ─── */
.float-card{position:absolute;background:var(--white);border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.11);padding:11px 14px;border:1px solid var(--border-light);z-index:5}
.float-card-1{left:-16px;top:55px;animation:float-anim 4s ease-in-out infinite}
.float-card-2{right:-12px;bottom:80px;animation:float-anim 4s ease-in-out infinite;animation-delay:-1.8s}
@keyframes float-anim{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.fc-label{font-size:9px;color:var(--mid-grey);margin-bottom:2px}
.fc-value{font-family:var(--font-head);font-size:17px;font-weight:900;color:var(--teal)}
.fc-sub{font-size:8px;color:var(--mint);font-weight:700;margin-top:1px}
.fc-pill{display:inline-flex;align-items:center;gap:5px;background:#E8FAF3;border:1px solid #B3E8D1;padding:5px 10px;border-radius:20px}
.fc-pill-dot{width:6px;height:6px;background:var(--mint);border-radius:50%}
.fc-pill-text{font-size:10px;font-weight:700;color:var(--teal)}

/* ─── MARQUEE ─── */
.marquee{background:var(--teal);height:40px;overflow:hidden;display:flex;align-items:center;position:relative}
.marquee-inner{display:flex;animation:marquee-scroll 20s linear infinite;white-space:nowrap}
.marquee-inner span{font-size:12px;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:.05em;text-transform:uppercase;padding:0 24px}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ─── SHARED SECTIONS ─── */
.section{padding:80px 5%}
.section-alt{background:var(--off-white)}
.section-dark{background:var(--teal)}
.section-white{background:var(--white)}
.section-center{text-align:center;display:flex;flex-direction:column;align-items:center}
.eyebrow{display:inline-block;background:#E0F2EF;color:var(--teal);padding:5px 14px;border-radius:40px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px}
.eyebrow-light{display:inline-block;background:rgba(63,207,160,.15);color:var(--light-mint);padding:5px 14px;border-radius:40px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:18px}
.section-title{font-family:var(--font-head);font-size:clamp(24px,3.5vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.14;margin-bottom:14px;color:var(--near-black)}
.section-title-white{font-family:var(--font-head);font-size:clamp(24px,3.5vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.14;margin-bottom:14px;color:var(--white)}
.section-desc{font-size:15px;color:var(--mid-grey);line-height:1.75;max-width:500px}

/* ─── COSA FACCIAMO (PILLARS) ─── */
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;width:100%}
.pillar-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:26px 22px;transition:box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.pillar-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--mint),var(--teal));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.pillar-card:hover{box-shadow:0 14px 32px rgba(20,98,99,.09);border-color:var(--mint)}
.pillar-card:hover::after{transform:scaleX(1)}
.pillar-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pillar-icon-1{background:linear-gradient(135deg,var(--teal),#1d8a8b)}
.pillar-icon-2{background:linear-gradient(135deg,var(--mint),var(--light-mint))}
.pillar-icon-3{background:linear-gradient(135deg,#22C55E,#15803D)}
.pillar-title{font-family:var(--font-head);font-size:15px;font-weight:800;color:var(--near-black);margin-bottom:8px}
.pillar-desc{font-size:13px;color:var(--mid-grey);line-height:1.75}

/* Mission Box */
.mission-box{background:var(--teal);border-radius:24px;padding:48px 40px;margin-top:48px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.mission-box h3{font-family:var(--font-head);font-size:clamp(22px,2.5vw,32px);font-weight:900;color:var(--white);letter-spacing:-.02em;line-height:1.2}
.mission-box p{font-size:14px;color:rgba(255,255,255,.6);line-height:1.75}

/* ─── COME FUNZIONA (STEPS) ─── */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px;width:100%;position:relative}
.steps-grid::before{content:'';position:absolute;top:34px;left:calc(12.5% + 14px);right:calc(12.5% + 14px);height:1.5px;background:linear-gradient(90deg,var(--mint),var(--teal));opacity:.22}
.step{display:flex;flex-direction:column;align-items:center;text-align:center}
.step-number{width:68px;height:68px;border-radius:50%;background:var(--white);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:18px;position:relative;z-index:1;transition:border-color .3s,box-shadow .3s}
.step:hover .step-number{border-color:var(--mint);box-shadow:0 0 0 6px rgba(63,207,160,.1)}
.step-num{font-family:var(--font-head);font-size:19px;font-weight:900;color:var(--teal)}
.step-title{font-family:var(--font-head);font-size:15px;font-weight:800;color:var(--near-black);margin-bottom:8px}
.step-desc{font-size:13px;color:var(--mid-grey);line-height:1.75;max-width:210px}

/* ─── APP DEMO ─── */
.demo-section{padding:72px 5%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.demo-phones{position:relative;height:470px;display:flex;align-items:center;justify-content:center}
.demo-feature{padding:17px 0;border-bottom:1px solid var(--border-light);cursor:pointer}
.demo-feature:last-child{border-bottom:none}
.demo-feature-title{font-family:var(--font-head);font-size:15px;font-weight:800;color:var(--mid-grey);display:flex;align-items:center;gap:8px;transition:color .2s}
.demo-feature-title::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--border);flex-shrink:0;transition:background .2s}
.demo-feature.active .demo-feature-title{color:var(--teal)}
.demo-feature.active .demo-feature-title::before{background:var(--mint)}
.demo-feature-desc{font-size:13px;color:var(--mid-grey);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .35s,margin .35s,opacity .35s;opacity:0}
.demo-feature.active .demo-feature-desc{max-height:80px;margin-top:8px;opacity:1}

/* ─── PERSONAS ─── */
.personas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;width:100%}
.persona-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:26px 22px;transition:box-shadow .3s,border-color .3s}
.persona-card:hover{box-shadow:0 16px 36px rgba(0,0,0,.07);border-color:var(--mint)}
.persona-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:15px;font-weight:900;color:var(--white);margin-bottom:14px}
.avatar-1{background:linear-gradient(135deg,var(--teal),#1d8a8b)}
.avatar-2{background:linear-gradient(135deg,var(--mint),var(--teal))}
.avatar-3{background:linear-gradient(135deg,#22C55E,var(--teal))}
.persona-name{font-family:var(--font-head);font-size:16px;font-weight:900;color:var(--near-black);margin-bottom:2px}
.persona-role{font-size:11px;color:var(--mint);font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}
.persona-quote{font-size:13px;color:var(--mid-grey);line-height:1.75;font-style:italic;border-left:3px solid var(--mint);padding-left:11px}
.persona-stat{margin-top:48px;text-align:center;padding:28px;background:var(--white);border:1px solid var(--border);border-radius:16px}
.persona-stat-val{font-family:var(--font-head);font-size:clamp(28px,3vw,40px);font-weight:900;color:var(--teal)}
.persona-stat-label{font-size:14px;color:var(--mid-grey);margin-top:4px}

/* ─── PER LE FARMACIE ─── */
.pharmacy-section{padding:80px 5%;background:var(--teal)}
.pharmacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;margin-bottom:40px}
.pharmacy-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 24px;transition:background .25s}
.pharmacy-card:hover{background:rgba(255,255,255,.12)}
.pharmacy-card-icon{width:46px;height:46px;background:rgba(63,207,160,.18);border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pharmacy-card-title{font-family:var(--font-head);font-size:16px;font-weight:800;color:var(--white);margin-bottom:8px}
.pharmacy-card-desc{font-size:13px;color:rgba(255,255,255,.6);line-height:1.75}
.pharmacy-cta{text-align:center;margin-top:40px}
.qr-box{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;display:inline-flex;align-items:center;gap:16px;margin-top:24px}
.qr-square{width:72px;height:72px;background:rgba(255,255,255,.1);border-radius:10px;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:6px;flex-shrink:0}
.qr-cell-dark{background:var(--white);border-radius:1px}
.qr-cell-light{border-radius:1px}
.qr-text{font-size:12px;color:rgba(255,255,255,.6);line-height:1.65;text-align:left}
.qr-text strong{color:var(--white);font-weight:700;display:block;margin-bottom:3px}

/* ─── CHI SIAMO ─── */
.founders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;width:100%}
.founder-card{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:30px 24px;text-align:center;transition:box-shadow .3s,border-color .3s}
.founder-card:hover{box-shadow:0 16px 36px rgba(0,0,0,.07);border-color:var(--mint)}
.founder-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:20px;font-weight:900;color:var(--white);margin:0 auto 16px}
.founder-name{font-family:var(--font-head);font-size:17px;font-weight:900;color:var(--near-black);margin-bottom:4px}
.founder-role{font-size:12px;color:var(--mint);font-weight:700;text-transform:uppercase;letter-spacing:.05em}

/* ─── WAITLIST SECTION ─── */
.waitlist-section{padding:80px 5%;background:var(--teal);text-align:center}
.waitlist-form-inline{max-width:520px;margin:32px auto 0;text-align:left}
.waitlist-form-inline .field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.waitlist-form-inline label{font-size:12px;font-weight:700;color:rgba(255,255,255,.7)}
.waitlist-form-inline input,.waitlist-form-inline select{padding:10px 14px;border:1.5px solid rgba(255,255,255,.2);border-radius:10px;font-size:13px;color:var(--white);font-family:var(--font-body);outline:none;transition:border-color .2s;background:rgba(255,255,255,.08);-webkit-appearance:none;appearance:none}
.waitlist-form-inline input::placeholder{color:rgba(255,255,255,.4)}
.waitlist-form-inline input:focus,.waitlist-form-inline select:focus{border-color:var(--mint)}
.waitlist-form-inline select option{color:var(--near-black);background:var(--white)}
.waitlist-social-proof{font-size:13px;color:rgba(255,255,255,.5);margin-top:20px}
.waitlist-social-proof strong{color:var(--mint)}
.waitlist-tagline{font-size:12px;color:rgba(255,255,255,.3);margin-top:20px}

/* ─── CONTACT ─── */
.contact-section{padding:80px 5%;background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-form{background:var(--off-white);border:1px solid var(--border);border-radius:20px;padding:32px 28px;box-shadow:0 8px 28px rgba(0,0,0,.05)}
.form-title{font-family:var(--font-head);font-size:18px;font-weight:900;color:var(--near-black);margin-bottom:6px}
.form-sub{font-size:13px;color:var(--mid-grey);margin-bottom:24px;line-height:1.65}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.field label{font-size:12px;font-weight:700;color:var(--near-black)}
.field input,.field textarea,.field select{padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:13px;color:var(--near-black);font-family:var(--font-body);outline:none;transition:border-color .2s;background:var(--white);resize:none;-webkit-appearance:none;appearance:none}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal)}
.field input::placeholder,.field textarea::placeholder{color:#9CA3AF}
.submit-btn{width:100%;padding:12px;background:var(--teal);color:var(--white);border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font-body);transition:all .2s;margin-top:4px}
.submit-btn:hover{background:var(--teal-dk)}
.contact-info{display:flex;flex-direction:column;gap:16px;margin-top:12px}
.contact-info-item{display:flex;align-items:flex-start;gap:12px}
.contact-info-icon{width:38px;height:38px;background:#E0F2EF;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-info-title{font-weight:700;font-size:14px;color:var(--near-black);margin-bottom:2px}
.contact-info-desc{font-size:13px;color:var(--mid-grey);line-height:1.6}

/* ─── FOOTER ─── */
.main-footer{background:var(--teal);color:var(--white);padding:52px 5% 26px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.footer-tagline{font-size:12px;color:rgba(255,255,255,.4);line-height:1.8;margin-top:12px;max-width:220px}
.footer-col h4{font-size:10px;font-weight:700;color:rgba(255,255,255,.3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:13px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.footer-col a{color:rgba(255,255,255,.55);text-decoration:none;font-size:13px;transition:color .2s;cursor:pointer}
.footer-col a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.footer-copyright{font-size:11px;color:rgba(255,255,255,.28)}
.footer-mint{font-size:11px;color:var(--mint);font-weight:600}

/* ─── WAITLIST MODAL ─── */
.modal-overlay{position:fixed;inset:0;background:rgba(20,98,99,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .3s}
.modal-overlay.open{display:flex;opacity:1}
.modal-panel{background:rgba(20,98,99,.92);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px 36px;max-width:440px;width:100%;position:relative;box-shadow:0 32px 64px rgba(0,0,0,.3)}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:rgba(255,255,255,.5);font-size:24px;cursor:pointer;padding:4px 8px;transition:color .2s}
.modal-close:hover{color:var(--white)}
.modal-title{font-family:var(--font-head);font-size:24px;font-weight:900;color:var(--white);margin-top:20px;margin-bottom:6px}
.modal-sub{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:24px}
.modal-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.modal-field label{font-size:12px;font-weight:600;color:rgba(255,255,255,.6)}
.modal-field input,.modal-field select{padding:10px 14px;border:1.5px solid rgba(255,255,255,.15);border-radius:10px;font-size:13px;color:var(--white);font-family:var(--font-body);outline:none;background:rgba(255,255,255,.08);-webkit-appearance:none;appearance:none;transition:border-color .2s}
.modal-field input::placeholder{color:rgba(255,255,255,.3)}
.modal-field input:focus,.modal-field select:focus{border-color:var(--mint)}
.modal-field select option{color:var(--near-black);background:var(--white)}
.modal-submit{width:100%;padding:12px;background:var(--mint);color:var(--white);border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font-body);transition:all .2s;margin-top:4px}
.modal-submit:hover{background:#2fb88a}
.modal-success{text-align:center;padding:30px 0}
.modal-success-icon{font-size:48px;margin-bottom:12px}
.modal-success-title{font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--white);margin-bottom:8px}
.modal-success-sub{font-size:13px;color:rgba(255,255,255,.5)}

/* ─── COOKIE BANNER ─── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--near-black);color:var(--white);padding:16px 5%;display:none;align-items:center;justify-content:space-between;gap:16px;z-index:999;font-size:13px;border-top:2px solid var(--mint)}
.cookie-banner.show{display:flex}
.cookie-banner p{flex:1;color:rgba(255,255,255,.7);line-height:1.5}
.cookie-banner a{color:var(--mint);text-decoration:underline}
.cookie-btns{display:flex;gap:8px;flex-shrink:0}
.cookie-accept{padding:8px 20px;background:var(--mint);color:var(--white);border:none;border-radius:40px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-body)}
.cookie-decline{padding:8px 20px;background:transparent;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);border-radius:40px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-body)}

/* ─── DASHBOARD ─── */
.dash{background:var(--white);border-radius:18px;border:1px solid var(--border);box-shadow:0 12px 36px rgba(0,0,0,.07);overflow:hidden}
.dash-top{background:var(--teal);padding:13px 18px;display:flex;align-items:center;justify-content:space-between}
.dash-title{font-family:var(--font-head);font-size:13px;font-weight:800;color:var(--white)}
.live-pill{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.12);padding:3px 9px;border-radius:20px}
.live-dot{width:6px;height:6px;background:var(--light-mint);border-radius:50%;animation:pulse 2s infinite}
.live-text{font-size:10px;font-weight:700;color:var(--white)}
.dash-body{padding:16px 18px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}
.kpi{background:var(--off-white);border-radius:10px;padding:10px 12px}
.kpi-val{font-family:var(--font-head);font-size:18px;font-weight:900;color:var(--teal)}
.kpi-label{font-size:10px;color:var(--mid-grey);margin-top:2px}
.dash-thead{display:grid;grid-template-columns:1fr 52px 50px 58px;gap:6px;padding:6px 0;border-bottom:2px solid var(--border);margin-bottom:3px}
.dash-th{font-size:9px;font-weight:700;color:var(--mid-grey);text-transform:uppercase;letter-spacing:.05em}
.dash-row{display:grid;grid-template-columns:1fr 52px 50px 58px;gap:6px;padding:8px 0;border-bottom:1px solid var(--border-light);align-items:center}
.dash-row:last-child{border-bottom:none}
.dash-name{font-size:11px;font-weight:700;color:var(--near-black)}
.dash-price{font-size:11px;font-weight:800;color:var(--teal);font-family:var(--font-head);text-align:right}
.dash-expiry{font-size:10px;color:#F59E0B;font-weight:600;text-align:right}
.badge{font-size:9px;font-weight:700;padding:3px 7px;border-radius:20px;text-align:center}
.badge-sold{background:#D1FAE5;color:#065F46}
.badge-listed{background:#DBEAFE;color:#1E40AF}
.badge-expiring{background:#FEF3C7;color:#92400E}

/* ─── FAQ (Farmacie page) ─── */
.faq-list{max-width:700px;margin:40px auto 0}
.faq-item{border-bottom:1px solid var(--border);padding:18px 0}
.faq-question{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--near-black);gap:12px}
.faq-question::after{content:'+';font-size:22px;font-weight:400;color:var(--mid-grey);transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-question::after{transform:rotate(45deg);color:var(--teal)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s;font-size:14px;color:var(--mid-grey);line-height:1.75}
.faq-item.open .faq-answer{max-height:200px;padding-top:12px}

/* ─── B2B HERO (farmacie.html) ─── */
.b2b-hero{padding:80px 5%;background:var(--teal);text-align:center}
.b2b-hero h1{font-family:var(--font-head);font-size:clamp(32px,4vw,52px);font-weight:900;letter-spacing:-.035em;color:var(--white);margin-bottom:16px;line-height:1.1}
.b2b-hero .sub{font-size:17px;color:var(--mint);line-height:1.6;max-width:500px;margin:0 auto 32px}
.b2b-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.b2b-step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 24px;text-align:center}
.b2b-step-num{font-family:var(--font-head);font-size:28px;font-weight:900;color:var(--mint);margin-bottom:12px}
.b2b-step-title{font-family:var(--font-head);font-size:16px;font-weight:800;color:var(--white);margin-bottom:8px}
.b2b-step-desc{font-size:13px;color:rgba(255,255,255,.6);line-height:1.7}
.benefits-list{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.benefit-item{display:flex;align-items:flex-start;gap:12px}
.benefit-check{width:27px;height:27px;background:#E0F2EF;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.benefit-title{font-family:var(--font-head);font-size:14px;font-weight:800;color:var(--near-black);margin-bottom:2px}
.benefit-desc{font-size:13px;color:var(--mid-grey);line-height:1.65}

/* ─── RESPONSIVE ─── */
/* Global safety */
*, *::before, *::after { max-width: 100vw; }
h1, h2, h3, .section-title, .section-title-white { overflow-wrap: break-word; word-wrap: break-word; }
h3 { font-size: clamp(18px, 2.5vw, 26px); }
img, svg { max-width: 100%; height: auto; }

/* ─── Wide: 1441px+ ─── */
@media (min-width: 1441px) {
  .section, .b2b-hero, .waitlist-section, .pharmacy-section, .contact-section, .main-footer, .demo-section, .main-nav {
    padding-left: max(5%, calc((100vw - 1200px) / 2)) !important;
    padding-right: max(5%, calc((100vw - 1200px) / 2)) !important;
  }
  .hero {
    padding-left: max(5%, calc((100vw - 1200px) / 2));
    padding-right: max(5%, calc((100vw - 1200px) / 2));
  }
}

/* ─── Desktop: 1024px – 1440px ─── */
@media (min-width: 1024px) {
  .section, .waitlist-section, .pharmacy-section, .contact-section { padding-top: 80px; padding-bottom: 80px; }
  .pillars-grid, .steps-grid, .personas-grid { gap: 24px; }
  .pharmacy-grid { gap: 24px; }
}

/* ─── Tablet: 768px – 1023px ─── */
@media (max-width: 1023px) {
  body { font-size: 15px; }
  .section, .b2b-hero, .waitlist-section, .pharmacy-section, .contact-section, .main-footer, .demo-section, .main-nav {
    padding-left: 4%; padding-right: 4%;
  }
  .section, .waitlist-section, .pharmacy-section, .contact-section, .b2b-hero { padding-top: 60px; padding-bottom: 60px; }

  /* Nav */
  .nav-links { gap: 16px; }

  /* Hero */
  .hero { grid-template-columns: 1fr 1fr; gap: 32px; min-height: auto; padding-top: 60px; padding-bottom: 60px; }
  .phone-wrap { transform: scale(0.85); transform-origin: right center; height: auto; margin-top: 0; }

  /* 3-Column → 2-Column */
  .pillars-grid, .personas-grid, .founders-grid, .b2b-steps { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .steps-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pharmacy-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }

  /* 2-Column adjustments */
  .demo-section, .contact-section, .mission-box { grid-template-columns: 1fr 1fr; gap: 32px; }
  .contact-section { align-items: stretch; }

  /* Stats */
  .hero-stats { gap: 20px; }
  .kpis { grid-template-columns: repeat(2, 1fr); }

  /* Footer → 2x2 */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
}

/* ─── Mobile: 320px – 767px ─── */
@media (max-width: 767px) {
  body { font-size: 14px; }
  .section, .b2b-hero, .waitlist-section, .pharmacy-section, .contact-section, .main-footer, .demo-section, .main-nav {
    padding-left: 20px; padding-right: 20px;
  }
  .section, .waitlist-section, .pharmacy-section, .contact-section, .b2b-hero { padding-top: 40px; padding-bottom: 40px; }

  /* Touch targets & inputs */
  input, textarea, select { font-size: 16px !important; width: 100%; box-sizing: border-box; }
  .btn-solid, .btn-ghost, .btn-primary, .btn-outline, .btn-mint, .btn-ghost-dark, .submit-btn,
  .modal-submit, .cookie-accept, .cookie-decline {
    width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: center;
  }
  .cta-row { flex-direction: column; width: 100%; }
  .cta-row .btn-ghost-dark { text-decoration: none; }

  /* Nav — hamburger */
  .nav-links { display: none; }
  .nav-right .btn-ghost, .nav-right .btn-solid, .nav-right .lang-toggle { display: none; }
  .hamburger { display: flex; }
  .mobile-menu { display: block; border-bottom: 2px solid var(--border-light); padding-top: 20px; }
  .mobile-menu ul li a { display: block; padding: 16px 0; border-bottom: 1px solid var(--border-light); }
  .mobile-menu ul li:last-child a { border-bottom: none; }
  .mobile-menu .mobile-btns { flex-direction: column; gap: 8px; }

  /* Hero → single column */
  .hero { grid-template-columns: 1fr; text-align: center; gap: 32px; padding-top: 40px; padding-bottom: 40px; }
  .hero-sub { margin-left: auto; margin-right: auto; }
  .eyebrow-pill { margin-left: auto; margin-right: auto; }

  /* Hero stats → 2x2, larger text */
  .hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; text-align: left; }
  .hero-stat-val { font-size: 24px; }
  .hero-stat-label { font-size: 12px; }

  /* Phone mockup — single phone, centered */
  .phone-wrap { transform: none; width: 100%; max-width: 300px; margin: 0 auto; height: auto; min-height: 490px; }
  .phone-back { display: none; }
  .phone { margin: 0 auto; box-shadow: 0 16px 44px rgba(0,0,0,.15); }
  .float-card { display: none; }

  /* All 3-column → 1 column */
  .pillars-grid, .personas-grid, .steps-grid, .founders-grid, .pharmacy-grid, .b2b-steps { grid-template-columns: 1fr; gap: 12px; }
  .steps-grid::before { display: none; }

  /* 2-column → stacked (text first, visual second) */
  .demo-section { display: flex; flex-direction: column; gap: 32px; text-align: center; padding-top: 40px; padding-bottom: 40px; }
  .demo-phones { height: auto; min-height: 480px; padding-top: 20px; order: 2; }
  .demo-section > .fade-in:not(.demo-phones), .demo-section > div:not(.demo-phones) { order: 1; }
  .mission-box { grid-template-columns: 1fr; gap: 24px; text-align: center; padding: 32px 24px; }
  .contact-section { grid-template-columns: 1fr; gap: 32px; text-align: center; align-items: center; }
  .contact-info-item { text-align: left; }
  .contact-info { align-items: center; }

  /* Cookie banner */
  .cookie-banner { flex-direction: column; text-align: center; }
  .cookie-btns { width: 100%; flex-direction: column; }

  /* Footer → single column, centered */
  .footer-grid { grid-template-columns: 1fr; text-align: center; gap: 28px; }
  .footer-col ul { align-items: center; }
  .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
  .footer-tagline { margin-left: auto; margin-right: auto; }

  /* Modal */
  .modal-panel { padding: 28px 20px; margin: 16px; }

  /* Waitlist form */
  .waitlist-form-inline { margin-top: 24px; }

  /* Persona stat */
  .persona-stat { margin-top: 24px; }

  /* QR box */
  .qr-box { flex-direction: column; text-align: center; }
}
