:root{--pink:#e52879;--pink-dark:#c81161;--berry:#760b39;--ink:#56213e;--muted:#704f68;--paper:#fffafd;--blush:#ffe6f1;--line:#f6cde0;--lavender:#f0ecff;--radius:22px;--shadow:0 6px 22px #ba2b6510;font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif;color:var(--ink);background:#fff0f6;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0;background:#fff0f6}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}a{color:#9b1a65;text-underline-offset:3px}a:hover{color:#6c0b43}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #704fbb;outline-offset:3px}[hidden]{display:none!important}.skip{position:fixed;top:-60px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.app{max-width:580px;margin:auto;padding:0 16px calc(105px + env(safe-area-inset-bottom))}.brand{height:112px;display:flex;align-items:center;position:relative;justify-content:space-between;gap:6px}.brand-copy{z-index:1}.wordmark{display:flex;align-items:center;gap:7px;color:var(--berry);font-size:clamp(25px,6.5vw,36px);font-weight:900;letter-spacing:-1.3px;white-space:nowrap}.mail-heart{font-size:31px;transform:rotate(-9deg)}.brand p{font-size:14px;max-width:260px;margin:3px 0 0;color:#9a1e55}.art{display:block;flex-shrink:0;width:84px;height:auto;object-fit:contain;vertical-align:middle}.page{animation:appear .15s ease}@keyframes appear{from{opacity:.6}to{opacity:1}}.card,.page-intro{background:var(--paper);border:1px solid #fff;border-radius:var(--radius);padding:20px;margin:0 0 14px;box-shadow:var(--shadow)}.page-intro{padding:18px 20px}.page-intro h1{margin:0 0 5px;color:var(--berry);font-size:30px;line-height:1.12;letter-spacing:-.7px}.page-intro p{margin:0}h2,h3{color:var(--berry);line-height:1.2}h2{font-size:22px;margin:0 0 12px;font-weight:850;letter-spacing:-.35px}h3{font-size:20px;margin:0 0 7px}p{margin:9px 0 0}ul,ol{padding-left:23px;margin:12px 0}li{padding-left:2px;margin:8px 0}li::marker{color:var(--pink)}.weight-card{padding:16px 18px}.weight-card label{display:block;font-weight:850;color:var(--berry);font-size:21px;margin-bottom:8px}.weight-row{display:flex;gap:10px;margin-bottom:11px}#weight{width:100%;min-width:0;border:2px solid var(--line);border-radius:13px;padding:5px 13px;font-weight:850;font-size:34px;color:var(--berry);background:#fff;line-height:1.15;height:54px}.units{display:flex;border:1px solid #ebd6e3;border-radius:13px;overflow:hidden;background:#f4eaf1;flex:0 0 112px}.units button{border:0;background:transparent;color:#805274;width:56px;font-size:20px;font-weight:800}.units button[aria-pressed=true]{background:#ffcae2;color:var(--berry);box-shadow:inset 0 0 0 1px #f7afd1}.primary,.outline{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:46px;border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:800;border:0}.primary{background:var(--pink);color:white}.primary:hover{background:var(--pink-dark);color:white}.calculate-button{width:100%;font-size:18px}.calculate-button span{font-size:24px;line-height:.6}.error{color:#a31339;font-weight:750;font-size:15px}.result-card{padding:15px 18px}.result-card h2{font-size:21px;margin:0}.result-total{font-size:clamp(42px,12vw,58px);line-height:1.12;font-weight:900;color:var(--pink);letter-spacing:-1.8px;margin-top:2px}.tier-note{font-size:15px;margin:3px 0 10px}.stamp-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.stamp-row .art{width:55px}.stamp-row .stamp-label{font-size:15px;line-height:1.25;flex:1;font-weight:750}.stamp-value{font-size:16px;color:var(--berry);font-weight:850;text-align:right;white-space:nowrap}.stamp-value small{display:block;font-size:12px;font-weight:500}.envelope-card{padding:14px 17px}.envelope-card h2{font-size:19px;margin-bottom:10px}.envelope{position:relative;background:#fffefb;border:1px solid #e5d5df;border-radius:4px;box-shadow:0 3px 8px #89426618;height:133px;width:100%;color:#645369;font-family:system-ui,sans-serif}.envelope-stamps{display:flex;position:absolute;right:9px;top:9px;gap:1px}.envelope-stamps .art{width:31px}.return-address{position:absolute;left:12px;top:13px;font-size:10px;line-height:1.35}.recipient-address{position:absolute;left:39%;top:69px;font-size:11px;line-height:1.5}.placement-note{font-size:13px;text-align:center;margin-top:8px;color:var(--muted)}.source-note{font-size:13px;color:var(--muted);text-align:center;line-height:1.5;margin:12px 6px 0}.source-note a{color:#764082}.stamp-top{display:flex;align-items:center;gap:17px}.stamp-top .art{width:105px}.stamp-top h2{font-size:21px;margin:0}.price{font-size:38px;font-weight:900;letter-spacing:-1px;color:var(--pink);line-height:1.15;margin-top:5px}.tip{display:flex;gap:10px;align-items:flex-start;background:var(--blush);border-radius:14px;padding:12px 13px;margin-top:15px;font-size:15px}.tip>span{display:grid;place-items:center;border-radius:50%;width:25px;height:25px;flex:0 0 25px;background:var(--pink);color:white;font-weight:900;font-style:normal}.tip p{margin:0}.step h2{display:flex;align-items:center;gap:12px}.number{border-radius:50%;width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;background:var(--pink);color:white;font-size:23px;font-weight:900}.measurements{background:var(--blush);border-radius:14px;padding:12px;font-size:15px;margin:15px 0}.measurements>div{display:flex;gap:8px;margin:6px 0}.measurements dt{font-weight:850;flex:0 0 82px}.measurements dd{margin:0}.education-envelope{height:173px;margin-top:16px}.education-envelope .return-address{font-size:13px}.education-envelope .recipient-address{font-size:12px;left:30%;top:95px}.education-envelope .art{width:53px}.outline{border:2px solid #ed76a8;color:#bb135e;margin-top:16px;background:white}.outline:hover{background:var(--blush)}.service-option{background:var(--blush);padding:17px;border-radius:15px;margin-top:13px}.lavender{background:var(--lavender)}.service-option ul{margin:10px 0}.fine{font-size:14px;color:var(--muted);line-height:1.45;margin-top:13px}.provider{padding:15px 0;border-bottom:1px solid var(--line)}.provider:last-of-type{border:0}.provider .primary{margin-top:12px}.checklist{list-style:'✓  ';}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,580px);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fffcfef5;backdrop-filter:blur(10px);border-top:1px solid #f4cddd;border-radius:24px 24px 0 0;box-shadow:0 -4px 24px #a42c5810}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#71547f;gap:3px;border-radius:15px;min-height:58px;font-size:12px;font-weight:700;padding:5px 2px}.bottom-nav a[aria-current]{color:#c61965;background:#ffe7f1}.bottom-nav svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.overweight{padding:23px}.overweight p{font-size:16px}body[data-page=calculate] .card{margin-bottom:12px}@media(min-width:700px){.app{padding-top:20px}.card{padding:23px}.weight-card,.result-card,.envelope-card{padding:18px 23px}.brand{height:120px}.envelope{height:150px}.recipient-address{top:80px}.stamp-row .art{width:63px}}@media(max-width:359px){.app{padding-left:10px;padding-right:10px}.wordmark,.mail-heart{font-size:25px}.art.mascot{width:80px}.brand p{font-size:12px}.card{padding:16px}.units{flex-basis:94px}.units button{width:47px}.bottom-nav a{font-size:11px}.stamp-top .art{width:84px}.stamp-top{gap:12px}.stamp-top h2{font-size:19px}.stamp-row{gap:7px}.stamp-label{font-size:14px!important}.envelope-card h2{font-size:17px}}@media(prefers-reduced-motion:reduce){.page{animation:none}}

/* Revision 2: standalone, high-density illustration assets and one shared header. */
.brand{height:100px;align-items:center;overflow:visible;isolation:isolate;padding-right:94px;gap:0}
.brand-copy{position:relative;z-index:2}.brand p{display:none}.wordmark{font-size:clamp(25px,6.8vw,34px);letter-spacing:-1.1px;gap:6px}
.brand-logo{width:40px;height:40px;transform:rotate(-10deg);flex-shrink:0}.art.mascot{position:absolute;right:-2px;bottom:-24px;width:122px;height:122px;object-fit:contain;z-index:0;margin:0}
main{position:relative;z-index:2}.page>.card:first-child,.page>.page-intro:first-child{position:relative;background:var(--paper)}
.stamp-row .art{width:74px;height:74px}.stamp-top .art{width:119px;height:119px}.stamp-row{min-height:82px}
.envelope-card{padding:16px}.envelope-card h2{font-size:19px}.envelope{height:184px;background:#fffefa;border-radius:5px;border-color:#e8cedb;box-shadow:0 3px 10px #89426624}
.envelope-stamps{right:8px;top:12px;gap:1px;max-width:65%}.envelope-stamps .art{width:clamp(39px,11vw,56px);height:auto;aspect-ratio:1;object-fit:contain}
.return-address{font-size:12px;left:13px;top:17px;line-height:1.35;max-width:31%}.recipient-address{font-size:14px;left:35%;right:14px;top:112px;line-height:1.4}
.address-lines{display:block;width:100%;min-width:62px;height:3px;margin-top:7px;background:#c7bac6;box-shadow:0 8px #c7bac6,0 16px #c7bac6;border-radius:2px}.recipient-address .address-lines{width:85%}
.education-envelope{height:195px}.education-envelope .envelope-stamps .art{width:64px}.education-envelope .recipient-address{top:109px;font-size:12px}.education-envelope .return-address{font-size:12px}
.illustrated-row{display:flex;align-items:center;gap:15px;margin:8px 0}.section-art{width:130px;height:130px;object-fit:contain;flex:0 0 130px}.illustrated-row>p,.illustrated-row>ul,.illustrated-row>ol{flex:1;min-width:0;margin-top:0;margin-bottom:0}.illustrated-row ul,.illustrated-row ol{padding-left:19px}.measure-row{align-items:center;gap:10px}.measure-row .section-art{width:105px;height:130px;flex-basis:105px}.measurements{flex:1;padding:10px;font-size:14px;margin:5px 0}.measurements>div{display:block;margin:6px 0}.measurements dt{display:inline;margin-right:5px}.measurements dd{display:inline}.small-art{width:110px;height:110px;flex-basis:110px}
@media(min-width:700px){.brand{height:100px}.art.mascot{width:130px;height:130px;bottom:-28px}.section-art{width:155px;height:155px;flex-basis:155px}.measure-row .section-art{width:150px;height:160px;flex-basis:150px}.measurements{font-size:16px}.measurements>div{display:flex}.envelope{height:204px}.recipient-address{top:125px}}
@media(max-width:359px){.brand{height:100px;padding-right:74px}.wordmark{font-size:25px}.brand-logo{width:33px;height:33px}.art.mascot{width:103px;height:103px;right:-3px;bottom:-17px}.illustrated-row{gap:10px}.section-art{width:95px;height:110px;flex-basis:95px}.measure-row{flex-wrap:wrap}.measure-row .section-art{flex-basis:85px;width:85px}.stamp-row .art{width:63px;height:63px}.stamp-top .art{width:98px;height:98px}}
@font-face{font-family:'Mali';font-style:normal;font-weight:700;font-display:swap;src:url('assets/Mali-Bold.ttf') format('truetype')}
.wordmark,h1,h2,h3,.weight-card label{font-family:'Mali',ui-rounded,system-ui,sans-serif;font-weight:700}

/* Approved mascots retain >3 source pixels per displayed pixel; stamps use separate PNGs. */
.mascot{position:absolute;right:-2px;bottom:-42px;width:122px;height:134px;overflow:hidden;z-index:0}
.mascot img{position:absolute;width:505.116%;height:auto;max-width:none;top:-25.532%;left:0}
.mascot.fox img{left:-100%}
@media(min-width:700px){.mascot{width:130px;height:142px;bottom:-46px}}
@media(max-width:359px){.mascot{width:103px;height:113px;right:-3px;bottom:-33px}}

/* Requested provider icons only; existing provider cards and buttons are unchanged. */
.provider-title{display:flex;align-items:center;gap:13px}.provider-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;flex:0 0 60px;background:#fff;border-radius:12px}.provider-icon img{width:50px;height:50px;object-fit:contain}.provider-icon img[src$="calculator.svg"]{width:44px;height:44px}
@media(max-width:359px){.provider-icon{width:52px;height:52px;flex-basis:52px}.provider-icon img{width:44px;height:44px}.provider-title{gap:10px}}

/* Distinct page mascots share the same header box and peeking placement. */
.mascot.standalone img{width:100%;height:100%;left:0;top:0;object-fit:contain;object-position:center top}
.mascot.mouse-family img{height:98px}
@media(max-width:359px){.mascot.mouse-family img{height:83px}}
