:root{ --paper:#F7F4EE;--paper-2:#FFFDF8;--ink:#14231D;--ink-soft:#3D4A44;--muted:#6B756F;--line:#E3DCCF;--green:#0E6B4F;--green-dark:#0A513C;--amber:#D97B29;--blue:#2E6FA3;--red:#B3382E;--red-2:#8F2B23;--radius:14px;--shadow:0 10px 30px rgba(20,35,29,.08);} *{box-sizing:border-box} html{scroll-behavior:smooth} body{background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased} h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:700;line-height:1.12;letter-spacing:-.01em} a{color:var(--green);text-decoration:none} a:hover{color:var(--green-dark);text-decoration:underline} .container{max-width:1140px} ::selection{background:#F6DFC0;color:var(--ink)} .site-header{background:var(--paper-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1030} .navbar-brand{font-family:'Fraunces',Georgia,serif;font-weight:900;font-size:1.35rem;color:var(--ink)!important;letter-spacing:-.01em} .logo-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--green);color:#fff;font-family:'Inter',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.02em;margin-right:.55rem} .nav-link{color:var(--ink-soft)!important;font-weight:500;font-size:.95rem;padding:.5rem .8rem!important} .nav-link:hover{color:var(--green)!important} .dropdown-menu{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:.5rem} .dropdown-item{border-radius:8px;padding:.55rem .8rem;font-weight:500} .dropdown-item small{display:block;color:var(--muted);font-size:.8rem} .btn-brand{background:var(--green);border-color:var(--green);color:#fff;font-weight:600;border-radius:999px;padding:.6rem 1.4rem} .btn-brand:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff} .btn-outline-brand{border:1px solid var(--green);color:var(--green);font-weight:600;border-radius:999px;background:transparent} .btn-outline-brand:hover{background:var(--green);color:#fff} .btn-ghost{border:1px solid var(--line);color:var(--ink-soft);font-weight:600;border-radius:999px;background:var(--paper-2)} .btn-ghost:hover{border-color:var(--ink);color:var(--ink)} .scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1040;background:transparent} .scroll-progress i{display:block;height:100%;width:0;background:var(--amber)} .hero{padding:3.2rem 0 2.4rem;border-bottom:1px solid var(--line)} .hero h1{font-size:clamp(2.4rem,5.2vw,3.9rem);font-weight:900} .hero h1 em{font-style:italic;color:var(--green)} .hero .lead{font-size:1.15rem;color:var(--ink-soft);max-width:34rem} .eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:.6rem} .hero-stats{display:flex;gap:2rem;flex-wrap:wrap;margin:1.4rem 0 0} .hero-stats b{display:block;font-family:'Fraunces',serif;font-size:1.25rem} .hero-stats span{font-size:.85rem;color:var(--muted)} .section{padding:3.4rem 0} .section-head{max-width:46rem;margin-bottom:2rem} .section-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem)} .section-head p{color:var(--ink-soft)} .kicker{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)} .num{font-family:'Fraunces',serif;font-weight:900;color:var(--amber);font-size:2.6rem;line-height:1} .rule{border:0;border-top:1px solid var(--line);margin:2.5rem 0} .prose{max-width:46rem} .prose p{margin-bottom:1.05rem} .prose h2{font-size:1.6rem;margin:2.2rem 0 .8rem} .prose h3{font-size:1.25rem;margin:1.8rem 0 .6rem} .prose ul,.prose ol{margin-bottom:1.1rem;padding-left:1.3rem} .prose li{margin-bottom:.4rem} .prose blockquote{border-left:3px solid var(--amber);padding:.4rem 1rem;margin:1.4rem 0;color:var(--ink-soft);font-style:italic} .prose table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem} .prose th,.prose td{border-bottom:1px solid var(--line);padding:.6rem .5rem;text-align:left;vertical-align:top} .prose th{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)} .callout{background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:1.1rem 1.3rem;margin:1.5rem 0} .callout.green{border-left-color:var(--green)} .callout p:last-child{margin-bottom:0} .formula-box{background:var(--ink);color:#F7F4EE;border-radius:var(--radius);padding:1.4rem 1.6rem;margin:1.5rem 0;text-align:center} .formula-box .formula{font-family:'Fraunces',serif;font-size:clamp(1.3rem,3.4vw,1.9rem);font-weight:700} .formula-box p{color:#C9D2CC;margin:.5rem 0 0;font-size:.92rem} .source-note{font-size:.85rem;color:var(--muted)} .breadcrumb{font-size:.88rem;margin-bottom:1rem} .breadcrumb a{color:var(--muted)} .faq-item{border-bottom:1px solid var(--line)} .faq-item summary{cursor:pointer;font-weight:600;padding:1rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem} .faq-item summary::-webkit-details-marker{display:none} .faq-item summary::after{content:"+";color:var(--amber);font-weight:700;font-size:1.2rem;line-height:1} .faq-item[open ] summary::after{content:"–"} .faq-item p{color:var(--ink-soft);padding-bottom:1rem;margin-bottom:0} .calc-card{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:1.6rem;margin-top:1.8rem} .tool-head{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.2rem} .tool-head h2{font-size:1.45rem;margin:0} .tool-head p{color:var(--muted);margin:.15rem 0 0;font-size:.92rem} .tool-ico{flex:0 0 auto;width:52px;height:52px;border-radius:13px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem} .pill{margin-left:auto;flex:0 0 auto;background:#EAF3ED;color:var(--green-dark);font-size:.78rem;font-weight:700;border-radius:999px;padding:.35rem .8rem;white-space:nowrap} .unit-toggle{display:flex;gap:.5rem;margin-bottom:1.4rem} .unit-btn{flex:1;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.6rem .8rem;font-weight:600;color:var(--ink-soft);font-size:.92rem} .unit-btn.active{background:var(--ink);border-color:var(--ink);color:#fff} .calc-grid{display:grid;grid-template-columns:1fr;gap:1.6rem} @media(min-width:992px){.calc-grid{grid-template-columns:1fr 1fr}} .field{margin-bottom:1.2rem} .field label{font-weight:600;font-size:.95rem;display:block;margin-bottom:.4rem} .field-unit{color:var(--muted);font-weight:500} .input-row{display:flex;align-items:center;gap:.7rem} .input-row input[type=number]{flex:0 0 7.5rem;max-width:50%;border:1.5px solid var(--line);border-radius:10px;padding:.65rem .8rem;font-size:1.15rem;font-weight:600;background:#fff;color:var(--ink)} .input-row input[type=number]:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)} .input-row output{font-weight:600;color:var(--ink-soft)} input[type=range]{width:100%;accent-color:var(--green);margin-top:.6rem;height:28px} .imp-row .imp-group{display:flex;align-items:center;gap:.35rem} .imp-group input[type=number]{flex-basis:5.2rem} .imp-group em{font-style:normal;font-weight:600;color:var(--muted)} .field-error{color:var(--red);font-size:.88rem;margin:.4rem 0 0;font-weight:500} .calc-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 .9rem} .calc-actions .btn{font-size:.92rem;padding:.55rem 1.1rem} .calc-note{font-size:.86rem;color:var(--muted);margin-bottom:.3rem} .calc-status{font-size:.9rem;font-weight:600;color:var(--green);min-height:1.3em} .calc-result{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.4rem} .result-label{font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem} .result-value{font-family:'Fraunces',serif;font-weight:900;font-size:3.4rem;line-height:1;margin:.2rem 0 .4rem} .result-value small{font-size:1.1rem;font-weight:600;color:var(--muted)} .result-cat{font-size:1.15rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem} .cat-dot{width:14px;height:14px;border-radius:50%;display:inline-block} .cat-sottopeso{background:var(--blue)} .cat-normopeso{background:var(--green)} .cat-sovrappeso{background:var(--amber)} .cat-obesita{background:var(--red)} .result-text{color:var(--ink-soft);font-size:.95rem} .gauge{margin:1.2rem 0 .6rem} .gauge-track{position:relative;height:14px;border-radius:999px;overflow:visible} .gauge-seg{position:absolute;top:0;height:100%} .seg-sottopeso{background:var(--blue);border-radius:999px 0 0 999px} .seg-normopeso{background:var(--green)} .seg-sovrappeso{background:var(--amber)} .seg-obesita1{background:#C65A2E} .seg-obesita2{background:var(--red);border-radius:0 999px 999px 0} .gauge-marker{position:absolute;top:-6px;width:4px;height:26px;background:var(--ink);border-radius:2px;transform:translateX(-50%);transition:left .25s ease} .gauge-marker::after{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--ink)} .gauge-labels,.gauge-cats{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin-top:.35rem} .gauge-cats{font-weight:600;color:var(--ink-soft)} .result-facts{margin:1rem 0 0} .result-facts>div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:.55rem 0} .result-facts dt{color:var(--muted);font-weight:500;font-size:.92rem} .result-facts dd{font-weight:700;margin:0;text-align:right} .tool-list{display:grid;gap:1rem} @media(min-width:768px){.tool-list{grid-template-columns:1fr 1fr}} .tool-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;transition:transform .18s ease,box-shadow .18s ease} .tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)} .tool-card h3{font-size:1.2rem;margin-bottom:.4rem} .tool-card p{color:var(--ink-soft);font-size:.95rem;margin-bottom:.7rem} .card-link{font-weight:600} .mini-tool{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;margin:1.2rem 0} .mini-tool h3{font-size:1.15rem} .mini-tool .form-row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:end} .mini-tool .form-row .field{flex:1 1 140px;margin-bottom:.6rem} .mini-tool select,.mini-tool input[type=number]{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:.6rem .7rem;font-size:1rem;background:#fff} .mini-result{font-weight:600;margin-top:.8rem} .mini-result .big{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:900} .cat-chip{display:inline-block;border-radius:999px;padding:.15rem .7rem;font-size:.85rem;font-weight:700;color:#fff} .chip-sottopeso{background:var(--blue)} .chip-normopeso{background:var(--green)} .chip-sovrappeso{background:var(--amber)} .chip-obesita{background:var(--red)} .cta-band{background:var(--green);color:#fff;border-radius:18px;padding:2rem 2.2rem;position:relative;overflow:hidden} .cta-band h2{color:#fff;font-size:1.7rem} .cta-band p{color:#D7E8DF} .cta-band .btn-brand{background:#fff;color:var(--green-dark);border-color:#fff} .cta-band .btn-brand:hover{background:#F6DFC0;color:var(--ink)} .site-footer{background:var(--ink);color:#B9C4BC;padding:3.2rem 0 1.6rem;margin-top:3rem} .site-footer h5{color:#fff;font-family:'Inter',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase} .site-footer a{display:block;color:#B9C4BC;padding:.22rem 0;font-size:.94rem} .site-footer a:hover{color:#fff} .footer-brand{font-family:'Fraunces',serif;font-weight:900;font-size:1.3rem;color:#fff} .footer-bottom{border-top:1px solid #2A3B33;padding-top:1.2rem;margin-top:1.5rem;font-size:.88rem} .back-to-top{position:fixed;right:1.1rem;bottom:1.1rem;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font-size:1.2rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1020} .back-to-top.show{opacity:1;pointer-events:auto} .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease} .reveal.visible{opacity:1;transform:none} @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}} @media(max-width:767px){ .hero{padding:2.2rem 0 1.8rem} .calc-card{padding:1.1rem} .pill{display:none} .result-value{font-size:2.8rem} .tool-head{flex-wrap:wrap} }.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1050;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow);padding:1.1rem 1.25rem;max-width:620px;margin:0 auto}.cookie-banner p{font-size:.92rem;margin:0 0 .8rem}.cookie-banner .cookie-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.cookie-banner .cookie-actions a{font-size:.9rem;color:var(--green);text-decoration:underline}.cookie-manage{cursor:pointer}@media (max-width:767px){.cookie-banner{left:.6rem;right:.6rem;bottom:.6rem;padding:.9rem}}