.bmi-section{--bmi-position:77.4deg;--bmi-progress:43;background:#f8f9f5;color:#1c0b2a;padding:120px max(5vw,20px) 64px}.bmi-heading{max-width:1200px;margin:0 auto 40px}.bmi-eyebrow{font-size:14px;letter-spacing:.13em;font-weight:700}.bmi-heading h2{font:800 clamp(2.6rem,5vw,4.5rem)/1.08 var(--display,Arial);letter-spacing:-.06em;margin:22px 0}.bmi-heading h2 em{font-style:normal;color:#6a417f}.bmi-heading p{max-width:540px;font-size:17px;color:#665d6b}.bmi-workspace{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1.13fr;gap:24px;align-items:stretch}.bmi-form{padding:34px;background:white;border:1px solid #e4e0e8;border-radius:24px;box-shadow:0 12px 40px #1c0b2a08}.bmi-card-top,.bmi-result-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.bmi-card-top h2{font-size:22px;margin:0}.bmi-card-top>span,.bmi-result-top{font-size:12px;letter-spacing:.08em;font-weight:700}.bmi-card-top>span{color:#746a7c}.bmi-units{display:flex;background:#f2eff4;padding:5px;border-radius:12px;margin:26px 0}.bmi-units button{flex:1;border:0;background:none;border-radius:9px;padding:13px 8px;color:#675d70;transition:background .25s,box-shadow .25s}.bmi-units button[aria-pressed=true]{background:#1c0b2a;color:white;box-shadow:0 3px 10px #1c0b2a20}.bmi-units small{font-size:12px;opacity:.75;margin-left:6px}.bmi-field{margin-top:20px}.bmi-field[hidden]{display:none}.bmi-field label{display:block;font-weight:600;font-size:15px;margin-bottom:8px}.bmi-input{display:flex;align-items:center;background:#fafaf8;border:1px solid #ddd7e3;border-radius:12px;transition:border-color .2s,box-shadow .2s}.bmi-input:focus-within{border-color:#81549c;box-shadow:0 0 0 4px #ddbdff55}.bmi-input input{width:100%;min-width:0;padding:14px 18px;background:none;border:none;font-size:28px;font-weight:600;color:#1c0b2a;outline:none}.bmi-input>span{padding:0 20px;color:#796e80}.bmi-error{color:#a12636;font-size:14px;min-height:6px}.bmi-calculate{width:100%;display:flex;align-items:center;justify-content:space-between;padding:19px 20px;background:#dfff58;color:#1c0b2a;border:0;border-radius:12px;font-weight:700;transition:transform .2s,box-shadow .2s}.bmi-calculate span{font-size:23px;line-height:1}.bmi-calculate:hover{transform:translateY(-2px);box-shadow:0 8px 20px #dfff5850}.bmi-calculate:active{transform:scale(.98)}.bmi-privacy{font-size:12px;color:#786f7b;margin:18px 0 0}.bmi-result{background:radial-gradient(ellipse at 90% 0,#4a245f,transparent 65%),#1c0b2a;color:white;border-radius:24px;padding:34px;display:flex;flex-direction:column;align-items:center;animation:bmi-enter .7s both}.bmi-result-top{width:100%;color:#d3bddf}.bmi-live{font-size:10px;background:#ffffff10;padding:6px 9px;border-radius:30px;letter-spacing:.03em}.bmi-dial{width:min(100%,360px);position:relative;margin:32px auto 0}.bmi-dial svg{width:100%;overflow:visible}.bmi-track,.bmi-arc{fill:none;stroke-width:13;stroke-linecap:round}.bmi-track{stroke:#ffffff15}.bmi-arc{stroke:#dfff58;stroke-dasharray:var(--bmi-progress) 100;transition:stroke-dasharray .9s}.bmi-needle{transform-origin:140px 140px;transform:rotate(var(--bmi-position));transition:transform .9s cubic-bezier(.2,.8,.2,1)}.bmi-needle line{stroke:#ddbdff;stroke-width:2}.bmi-needle circle{fill:#ddbdff}.bmi-score{position:absolute;top:31%;left:0;right:0;text-align:center}.bmi-score strong{font:700 clamp(3rem,6vw,4.6rem)/1.1 var(--display,Arial);letter-spacing:-.07em;display:block}.bmi-score>span{font-size:10px;letter-spacing:.12em;color:#c9b8d3}.bmi-category{background:#dfff58;color:#1c0b2a;padding:8px 18px;border-radius:30px;font-size:15px;font-weight:700;margin:20px 0 0}.bmi-description{text-align:center;font-size:14px;color:#ddd0e4;min-height:42px;max-width:330px}.bmi-scale{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.bmi-scale div{display:flex;flex-direction:column;gap:7px}.bmi-scale i{height:4px;border-radius:4px;background:#c7eff8}.bmi-scale div:nth-child(2) i{background:#dfff58}.bmi-scale div:nth-child(3) i{background:#fff18a}.bmi-scale div:nth-child(4) i{background:#ddbdff}.bmi-scale b{font-size:12px;font-weight:500}.bmi-scale span{font-size:12px;color:#b9a5c7}.bmi-context{border-top:1px solid #ffffff20;padding-top:20px;font-size:13px;color:#c9b8d3;width:100%;margin:0;margin-top:auto}.bmi-footnote{max-width:1200px;margin:32px auto 0;display:grid;grid-template-columns:1fr 2fr;gap:24px}.bmi-footnote>span{font-size:12px;font-weight:700;letter-spacing:.08em;padding-top:4px}.bmi-footnote p{font-size:13px;color:#716777;margin:0}.bmi-footnote a{text-decoration:underline}.bmi-section button:focus-visible{outline:3px solid #82529e;outline-offset:4px}@keyframes bmi-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.bmi-section{padding-top:100px}.bmi-workspace{grid-template-columns:1fr}.bmi-form,.bmi-result{padding:24px}.bmi-heading h2{font-size:2.8rem}.bmi-footnote{grid-template-columns:1fr;gap:10px}.bmi-card-top h2{font-size:20px}.bmi-score strong{font-size:4rem}}@media(prefers-reduced-motion:reduce){.bmi-section *{animation:none!important;transition:none!important}}

/* Motion follows the actual result; the pointer stays outside the number. */
.bmi-needle path{fill:#ddbdff;stroke:#1c0b2a;stroke-width:2;filter:drop-shadow(0 0 4px #ddbdff80)}
.bmi-empty .bmi-needle{opacity:0}.bmi-needle{transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .25s}
.bmi-form{transition:box-shadow .35s,border-color .35s}.bmi-form:hover{box-shadow:0 18px 50px #1c0b2a10;border-color:#cbb7da}
.bmi-calculate{position:relative;overflow:hidden}.bmi-calculate:before{content:'';position:absolute;inset:-70% auto -70% -50%;width:30%;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:rotate(20deg);transition:left .65s}.bmi-calculate:hover:before{left:130%}
.bmi-calculate span{transition:transform .3s}.bmi-calculate:hover span{transform:rotate(90deg)}
.bmi-in-view .bmi-heading{animation:bmi-enter .75s both}.bmi-in-view .bmi-form{animation:bmi-enter .75s .1s both}.bmi-in-view .bmi-result{animation:bmi-enter .75s .2s both}
.bmi-result{position:relative;isolation:isolate;overflow:hidden}.bmi-result:before{content:'';position:absolute;z-index:-1;width:360px;height:360px;right:-200px;top:-150px;border-radius:50%;background:#aa72ce18;filter:blur(40px);animation:bmi-breathe 8s ease-in-out infinite alternate}
.bmi-category{transition:background .3s,transform .3s}.bmi-scale i{transform-origin:left;animation:bmi-bar .8s both}.bmi-in-view .bmi-scale div:nth-child(2) i{animation-delay:.15s}.bmi-in-view .bmi-scale div:nth-child(3) i{animation-delay:.3s}.bmi-in-view .bmi-scale div:nth-child(4) i{animation-delay:.45s}
@keyframes bmi-breathe{to{transform:translate(-70px,80px) scale(1.2);opacity:.5}}@keyframes bmi-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bmi-section{scroll-margin-top:65px}.bmi-dial{margin-top:32px}.bmi-heading h2{font-size:clamp(2.6rem,5vw,4.5rem)}
@media(prefers-reduced-motion:reduce){.bmi-section *,.bmi-section *:before{animation:none!important;transition:none!important}}

.bmi-input:has(input[aria-invalid=true]){border-color:#a12636;box-shadow:0 0 0 3px #a1263610}.bmi-result{scroll-margin-top:90px}.bmi-result-confirm{animation:bmi-confirm .65s ease-out!important}.bmi-error:empty{margin:10px 0}.bmi-error:not(:empty){padding:12px;background:#fff2f3;border-radius:8px}.bmi-card-top>span{white-space:nowrap}.bmi-card-top h2{line-height:1.3}.bmi-section .bmi-heading h2{font-style:normal}.bmi-section .bmi-heading h2 em{font-style:normal}@keyframes bmi-confirm{from{box-shadow:0 0 0 5px #dfff5890}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.bmi-result-confirm{animation:none!important}}

.bmi-input select.bmi-weight-unit{width:80px;border:0;border-left:1px solid #ddd7e3;background:transparent;padding:12px;color:#1c0b2a;font-size:16px;flex-shrink:0}
