:root{--heart:#d53b68;--heart-dark:#7b2147;--heart-soft:#fff0f4;--ink:#21141b}
.heartbeat-hero{position:relative;padding:54px 0 78px;overflow:hidden}.heartbeat-hero:before{content:"";position:absolute;width:560px;height:560px;top:150px;left:50%;border:1px solid rgba(213,59,104,.09);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 90px rgba(213,59,104,.025),0 0 0 180px rgba(108,92,231,.018);pointer-events:none}.breadcrumbs{position:relative;z-index:1;margin-bottom:34px;color:var(--muted);font-size:.82rem}.breadcrumbs a{color:var(--primary);font-weight:750}.breadcrumbs span{margin-left:8px}.hero-copy{position:relative;z-index:1;max-width:880px;margin:0 auto 40px;text-align:center}.hero-copy h1{max-width:880px;margin-top:20px}.heart-gradient{color:transparent;background:linear-gradient(135deg,#a62250,var(--heart) 55%,#ee8759);background-clip:text;-webkit-background-clip:text}.calculator-shell{position:relative;z-index:2;display:grid;grid-template-columns:minmax(310px,.8fr) minmax(0,1.2fr);gap:22px;max-width:1050px;margin:auto}.input-card,.result-card{border:1px solid rgba(67,30,50,.1);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 26px 80px rgba(102,34,69,.12);backdrop-filter:blur(18px)}.input-card{padding:29px}.card-heading{display:flex;align-items:center;gap:13px;margin-bottom:26px}.heading-icon{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:15px;color:var(--heart-dark);background:var(--heart-soft);font-size:.76rem;font-weight:900;letter-spacing:.08em}.card-heading h2{margin:0 0 4px;font-size:1.2rem}.card-heading p{margin:0;color:var(--muted);font-size:.82rem}.form-field{display:grid;gap:9px;margin-top:21px}.form-field label{color:var(--ink);font-size:.87rem;font-weight:800}.form-field>span{color:var(--muted);font-size:.76rem;line-height:1.5}.form-field input[type=date]{width:100%;height:52px;padding:0 14px;border:1px solid rgba(67,30,50,.15);border-radius:13px;color:var(--ink);background:#fff;outline:none;color-scheme:light}.form-field input[type=date]:focus{border-color:var(--heart);box-shadow:0 0 0 4px rgba(213,59,104,.1)}.label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.label-row output{padding:6px 9px;border-radius:9px;color:var(--heart-dark);background:var(--heart-soft);font-size:.76rem;font-weight:900}.form-field input[type=range]{width:100%;height:9px;margin:7px 0 0;border-radius:999px;background:linear-gradient(90deg,var(--heart) 0%,var(--heart) 22%,#eadfe4 22%,#eadfe4 100%);appearance:none;outline:none}.form-field input[type=range]::-webkit-slider-thumb{width:24px;height:24px;border:4px solid #fff;border-radius:50%;background:var(--heart);box-shadow:0 4px 14px rgba(123,33,71,.28);appearance:none}.form-field input[type=range]::-moz-range-thumb{width:17px;height:17px;border:4px solid #fff;border-radius:50%;background:var(--heart);box-shadow:0 4px 14px rgba(123,33,71,.28)}.form-field input[type=range]:focus-visible{box-shadow:0 0 0 4px rgba(213,59,104,.13)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem}.calculate-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:54px;margin-top:25px;border:0;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--heart-dark),var(--heart));box-shadow:0 15px 30px rgba(123,33,71,.25);font-weight:850;transition:.2s}.calculate-button:hover{transform:translateY(-2px);box-shadow:0 19px 36px rgba(123,33,71,.3)}.calculate-button span{font-size:1.05rem}.form-error{display:none;margin:15px 0 0;padding:11px 13px;border-radius:11px;color:#9b244a;background:var(--heart-soft);font-size:.8rem;font-weight:750}.form-error.show{display:block}.result-card{position:relative;min-height:470px;padding:34px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,242,246,.88))}.result-card:before{content:"";position:absolute;width:240px;height:240px;right:-90px;top:-100px;border-radius:50%;background:rgba(213,59,104,.08)}.result-card:after{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--heart-dark),var(--heart),#f3a158)}.result-empty{display:flex;position:relative;z-index:1;min-height:395px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.heart-orbit{position:relative;display:grid;place-items:center;width:118px;height:118px;margin-bottom:24px}.orbit-ring{position:absolute;inset:0;border:1px solid rgba(213,59,104,.18);border-radius:50%;animation:orbit-pulse 2.4s ease-out infinite}.orbit-ring:after{content:"";position:absolute;inset:13px;border:1px solid rgba(213,59,104,.16);border-radius:50%}.heart-core{display:grid;place-items:center;width:68px;height:68px;border-radius:24px;color:#fff;background:linear-gradient(135deg,var(--heart-dark),var(--heart));box-shadow:0 15px 34px rgba(123,33,71,.25);font-size:1.6rem;animation:heartbeat 1.15s ease-in-out infinite}.result-empty h2{margin:0 0 9px;font-size:1.3rem}.result-empty p{max-width:380px;margin:0;color:var(--muted);line-height:1.65}.result-content{position:relative;z-index:1;text-align:center}.live-label{display:inline-flex;align-items:center;gap:7px;color:var(--heart-dark);font-size:.76rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.live-label span{width:8px;height:8px;border-radius:50%;background:var(--heart);box-shadow:0 0 0 5px rgba(213,59,104,.1);animation:heartbeat 1.2s infinite}.beat-total{display:block;margin-top:13px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(2.1rem,5.3vw,4rem);line-height:1;letter-spacing:-.06em}.beat-caption{display:block;margin-top:8px;color:var(--muted);font-size:.83rem}.pulse-stage{display:flex;align-items:center;gap:10px;margin:25px 0 23px}.pulse-heart{color:var(--heart);font-size:1.05rem;animation:heartbeat 1s ease-in-out infinite}.pulse-line{position:relative;height:25px;flex:1;overflow:hidden}.pulse-line:before,.pulse-line:after{content:"";position:absolute;top:12px;height:1px;background:rgba(213,59,104,.2)}.pulse-line:before{left:0;width:41%}.pulse-line:after{right:0;width:41%}.pulse-line i{position:absolute;left:41%;top:5px;width:18%;height:16px;border-left:2px solid var(--heart);border-bottom:2px solid var(--heart);transform:skew(-24deg) rotate(34deg)}.result-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.result-facts div{padding:13px 8px;border:1px solid rgba(67,30,50,.08);border-radius:13px;background:rgba(255,255,255,.72)}.result-facts span,.result-facts strong{display:block}.result-facts span{margin-bottom:5px;color:var(--muted);font-size:.68rem}.result-facts strong{color:var(--ink);font-size:.82rem}.milestone{margin-top:13px;padding:15px;border:1px solid rgba(67,30,50,.08);border-radius:15px;background:#fff;text-align:left}.milestone-copy{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:.72rem}.milestone-copy span{color:var(--muted)}.milestone-copy strong{color:var(--heart-dark)}.milestone-track{height:7px;border-radius:999px;background:#efe4e8;overflow:hidden}.milestone-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--heart-dark),var(--heart),#f3a158);transition:width 1s cubic-bezier(.2,.8,.2,1)}.wow-note{display:flex;align-items:center;gap:11px;margin-top:13px;padding:12px 14px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#30213b,var(--heart-dark));text-align:left}.wow-note span{flex:none;padding:5px 7px;border-radius:7px;color:#30213b;background:#ffd8ad;font-size:.62rem;font-weight:950;letter-spacing:.08em}.wow-note p{margin:0;font-size:.78rem;font-weight:700;line-height:1.45}.estimate-note{margin:11px 0 0;color:var(--muted);font-size:.66rem;line-height:1.45}.noscript-note{max-width:1050px;margin:16px auto 0;padding:12px 14px;border-radius:12px;background:#fff0f4;color:var(--heart-dark);text-align:center;font-size:.82rem}.stat-ribbon{padding:0 0 72px}.stat-ribbon-inner{display:grid;grid-template-columns:repeat(3,1fr);max-width:1050px;border:1px solid var(--border);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 14px 42px rgba(53,49,110,.07);overflow:hidden}.stat-ribbon-inner div{padding:23px 25px;text-align:center}.stat-ribbon-inner div+div{border-left:1px solid var(--border)}.stat-ribbon strong,.stat-ribbon span{display:block}.stat-ribbon strong{color:var(--heart-dark);font-size:1.2rem}.stat-ribbon span{margin-top:5px;color:var(--muted);font-size:.76rem}.content-section{padding:78px 0}.content-soft{border-block:1px solid rgba(31,34,62,.06);background:rgba(255,255,255,.42)}.content{max-width:980px;margin:auto}.section-label{display:block;margin-bottom:9px;color:var(--heart-dark);font-size:.75rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.content h2{max-width:760px;margin:0 0 16px;font-size:clamp(1.9rem,4vw,2.75rem);letter-spacing:-.045em}.content-lead,.explainer-grid>div>p{color:var(--muted);line-height:1.78}.formula-card{display:flex;align-items:center;justify-content:center;gap:15px;margin:30px 0;padding:22px;border:1px solid rgba(213,59,104,.12);border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(102,34,69,.07);text-align:center}.formula-card span{padding:10px 12px;border-radius:11px;background:#f8f3f5;font-weight:750}.formula-card b{color:var(--heart);font-size:1.3rem}.formula-card strong{padding:11px 13px;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--heart-dark),var(--heart))}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature-grid article{padding:23px;border:1px solid var(--border);border-radius:20px;background:rgba(255,255,255,.86)}.feature-grid article>span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:15px;border-radius:11px;color:var(--heart-dark);background:var(--heart-soft);font-size:.72rem;font-weight:950}.feature-grid h3{margin:0 0 8px;font-size:1rem}.feature-grid p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.65}.explainer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:start}.context-card{padding:27px;border:1px solid rgba(213,59,104,.14);border-radius:23px;background:linear-gradient(145deg,#fff,#fff1f5);box-shadow:0 18px 50px rgba(102,34,69,.08)}.context-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:17px;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--heart-dark),var(--heart));box-shadow:0 10px 25px rgba(123,33,71,.2)}.context-card h3{margin:0 0 10px}.context-card p{margin:0 0 12px;color:var(--muted);font-size:.86rem;line-height:1.68}.context-card p:last-child{margin-bottom:0}.context-card strong{color:var(--heart-dark)}.faq-list{display:grid;gap:11px;margin-top:28px}.faq-list details{border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden}.faq-list summary{padding:18px 20px;cursor:pointer;font-weight:800;list-style-position:inside}.faq-list details[open] summary{color:var(--heart-dark)}.faq-list p{margin:0;padding:0 20px 19px;color:var(--muted);line-height:1.7}.try-section{padding:76px 0}.try-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}.try-head h2{margin-bottom:8px}.try-head p{margin:0;color:var(--muted)}.secondary-action{flex:none;padding:12px 15px;border:1px solid var(--border);border-radius:13px;color:var(--heart-dark);background:#fff;font-size:.84rem;font-weight:800}.try-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.try-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.82);transition:.2s}.try-card:hover{transform:translateY(-3px);border-color:rgba(213,59,104,.22);box-shadow:0 15px 36px rgba(102,34,69,.09)}.try-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--heart-dark);background:var(--heart-soft);font-size:.7rem;font-weight:900}.try-card strong,.try-card span span{display:block}.try-card strong{font-size:.86rem}.try-card span span{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.45}.try-card b{color:var(--heart);font-size:1.05rem}
@keyframes heartbeat{0%,42%,100%{transform:scale(1)}12%{transform:scale(1.09)}24%{transform:scale(1.02)}32%{transform:scale(1.07)}}@keyframes orbit-pulse{0%{opacity:.75;transform:scale(.76)}75%,100%{opacity:0;transform:scale(1.13)}}
@media(max-width:820px){.calculator-shell{grid-template-columns:1fr;max-width:660px}.result-card{min-height:0}.result-empty{min-height:330px}.explainer-grid{grid-template-columns:1fr}.try-grid{grid-template-columns:1fr}.formula-card{align-items:stretch;flex-direction:column}.formula-card b{transform:rotate(90deg)}.try-head{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.heartbeat-hero{padding:35px 0 54px}.breadcrumbs{margin-bottom:26px}.hero-copy{margin-bottom:30px}.input-card,.result-card{padding:22px;border-radius:23px}.result-card{padding-top:29px}.beat-total{font-size:clamp(1.85rem,11vw,3rem)}.result-facts{grid-template-columns:1fr}.stat-ribbon{padding-bottom:52px}.stat-ribbon-inner{grid-template-columns:1fr}.stat-ribbon-inner div+div{border-top:1px solid var(--border);border-left:0}.content-section,.try-section{padding:56px 0}.feature-grid{grid-template-columns:1fr}.try-head{gap:14px}.secondary-action{width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){.heart-core,.live-label span,.pulse-heart,.orbit-ring{animation:none}.calculate-button,.try-card,.milestone-track span{transition:none}}
