/* V31: scoped original mascot illustration. No global selectors or JavaScript. */
.v31-smile-story{padding:clamp(46px,6vw,86px) 0;background:#f6f4e9;color:#173d30;overflow:hidden}
.v31-story-wrap{max-width:1040px;margin-inline:auto}
.v31-story-heading{text-align:center;max-width:690px;margin:0 auto 34px}
.v31-story-eyebrow{margin:0 0 14px;font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.v31-story-heading h2{font-size:clamp(32px,4.7vw,62px);line-height:1.08;letter-spacing:-.035em;margin:0;font-weight:700}
.v31-story-disclosure{display:inline-block;margin:20px 0 0;padding:9px 14px;border-radius:999px;background:#e4edda;border:1px solid #c8d5ba;font-size:13px;line-height:1.45;font-weight:600}
.v31-story-compare{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:18px;align-items:center}
.v31-story-card{margin:0;min-width:0;padding:15px 15px 22px;border:1px solid #cbd7bf;border-radius:24px;background:#fffdf5;box-shadow:0 14px 35px #173d300b}
.v31-story-before{transform:rotate(-1deg)}.v31-story-after{transform:rotate(1deg);background:#eaf1df}
.v31-story-state{margin:0 0 11px;font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.05em;color:#446148;text-transform:uppercase}
.v31-story-art{display:block;width:100%;height:auto;overflow:visible}
.v31-story-card figcaption{font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.01em;margin-top:16px;min-height:2.8em}
.v31-story-arrow{align-self:center;margin-top:-25px;min-width:0}
.v31-story-arrow svg{width:100%;height:auto;display:block;overflow:visible}
.v31-story-arrow-line,.v31-story-arrow-head{fill:none;stroke:#dba928;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.v31-story-arrow-line,.v31-story-check{stroke-dasharray:1;stroke-dashoffset:0}
.js .v31-smile-story:not(.is-visible) .v31-story-arrow-line,.js .v31-smile-story:not(.is-visible) .v31-story-check{stroke-dashoffset:1}
.v31-smile-story.is-visible .v31-story-arrow-line{animation:v31-story-draw 650ms cubic-bezier(.22,1,.36,1) both}
.v31-smile-story.is-visible .v31-story-check{animation:v31-story-draw 330ms 480ms ease-out both}
@keyframes v31-story-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.motion-off .v31-smile-story .v31-story-arrow-line,.motion-off .v31-smile-story .v31-story-check,.page-hidden .v31-smile-story .v31-story-arrow-line,.page-hidden .v31-smile-story .v31-story-check{animation:none!important;stroke-dashoffset:0!important}
@media(max-width:700px){.v31-smile-story{padding:48px 0}.v31-story-heading{margin-bottom:25px}.v31-story-heading h2{font-size:39px}.v31-story-compare{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:8px}.v31-story-card{padding:10px 10px 15px;border-radius:17px;transform:none}.v31-story-state{font-size:11px;letter-spacing:.025em;margin-bottom:8px}.v31-story-card figcaption{font-size:16px;line-height:1.4;margin-top:12px;min-height:4.2em}.v31-story-arrow{margin-top:-20px}.v31-story-arrow-line,.v31-story-arrow-head{stroke-width:6}.v31-story-disclosure{font-size:12px;padding:8px 12px}}
@media(max-width:360px){.v31-story-heading h2{font-size:34px}.v31-story-eyebrow{font-size:12px}.v31-story-disclosure{font-size:12px;padding:8px 10px}}
@media(max-width:480px){.v31-story-compare{grid-template-columns:minmax(0,1fr);gap:12px}.v31-story-card{box-sizing:border-box;width:100%;max-width:310px;margin-inline:auto;padding:14px 14px 18px;border-radius:20px}.v31-story-state{font-size:12px;line-height:1.4;letter-spacing:.025em;margin-bottom:10px}.v31-story-card figcaption{font-size:17px;line-height:1.4;min-height:0;margin-top:14px}.v31-story-arrow{width:70px;height:64px;display:grid;place-items:center;margin:0 auto;align-self:auto}.v31-story-arrow svg{width:64px;height:auto;transform:rotate(90deg);transform-origin:center}}
@media(prefers-reduced-motion:reduce){.v31-smile-story .v31-story-arrow-line,.v31-smile-story .v31-story-check{animation:none!important;stroke-dashoffset:0!important}}
