:root{--sun: #ff8a3d;--sun-deep: #f3722c;--sky: #4ea1d3;--sky-soft: #cdeaf7;--mint: #5fc9a3;--berry: #ef6f9b;--cream: #fff7ee;--ink: #2b2440;--ink-soft: #6a6280;--card: #ffffff;--shadow: 0 18px 40px rgba(60, 40, 80, .12);--radius: 28px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 10%,#fff1e2 0%,var(--cream) 45%,#f3f8fc 100%);min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:"Baloo 2",Nunito,sans-serif;font-weight:700;line-height:1.1;margin:0}.app{max-width:760px;margin:0 auto;padding:28px 20px 80px}.brand{display:flex;align-items:center;gap:10px;font-family:"Baloo 2",sans-serif;font-weight:700;font-size:22px;color:var(--ink)}.brand .dot{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--sun),var(--berry));box-shadow:0 6px 14px #f3722c66}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px}.btn{border:none;cursor:pointer;font-family:"Baloo 2",sans-serif;font-weight:600;font-size:18px;padding:16px 30px;border-radius:999px;background:linear-gradient(135deg,var(--sun),var(--sun-deep));color:#fff;box-shadow:0 12px 24px #f3722c59;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px #f3722c6b}.btn:active{transform:translateY(0)}.btn.ghost{background:transparent;color:var(--ink-soft);box-shadow:none;font-family:Nunito,sans-serif;font-weight:700;padding:12px 18px}.btn.ghost:hover{transform:none;color:var(--ink)}.hero{text-align:center;padding:40px 10px 10px}.hero .blob{width:120px;height:120px;margin:0 auto 24px;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;background:linear-gradient(135deg,var(--sun),var(--berry));box-shadow:var(--shadow);animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(6deg)}}.hero h1{font-size:clamp(34px,7vw,52px)}.hero p{font-size:20px;color:var(--ink-soft);max-width:480px;margin:18px auto 30px;line-height:1.5}.reassure{margin-top:22px;color:var(--ink-soft);font-size:15px}.step-count{color:var(--ink-soft);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px}.question{font-size:clamp(26px,5vw,34px);margin:8px 0 6px}.hint{color:var(--ink-soft);font-size:16px;margin:0 0 24px}.stepper{display:flex;align-items:center;justify-content:center;gap:18px;margin:10px 0 6px}.stepper button{width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;font-size:30px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--sky),#3f8bc0);box-shadow:0 10px 20px #4ea1d359;transition:transform .1s ease}.stepper button:hover{transform:scale(1.06)}.stepper button:active{transform:scale(.96)}.stepper .value{min-width:150px;text-align:center}.stepper .value .num{font-family:"Baloo 2",sans-serif;font-size:52px;font-weight:700}.stepper .value .unit{display:block;color:var(--ink-soft);font-size:15px;font-weight:700}.nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:34px}.result-hero{text-align:center;padding:6px 0 8px}.result-hero .label{color:var(--ink-soft);font-weight:700;font-size:17px}.result-hero .big{font-family:"Baloo 2",sans-serif;font-weight:700;font-size:clamp(48px,12vw,84px);background:linear-gradient(135deg,var(--sun-deep),var(--berry));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.05}.result-hero .per{color:var(--ink-soft);font-weight:700}.period-toggle{display:inline-flex;background:#f0ecf7;border-radius:999px;padding:5px;gap:4px;margin:18px 0 6px}.period-toggle button{border:none;background:transparent;cursor:pointer;padding:9px 20px;border-radius:999px;font-family:Nunito,sans-serif;font-weight:800;color:var(--ink-soft);font-size:15px}.period-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 4px 10px #3c28501f}.moneybar{display:flex;height:34px;border-radius:999px;overflow:hidden;margin:26px 0 14px;box-shadow:inset 0 0 0 1px #0000000a}.moneybar span{transition:flex-grow .4s ease;min-width:2px}.seg-take{background:linear-gradient(135deg,var(--mint),#49b48d)}.seg-cost{background:linear-gradient(135deg,#ffce5c,#ffb13d)}.seg-tax{background:linear-gradient(135deg,#ff9a8b,var(--berry))}.legend{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-bottom:6px}.legend .item{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink-soft);font-size:14px}.legend .swatch{width:14px;height:14px;border-radius:5px}.adjust{margin-top:26px}.slider-row{margin:18px 0}.slider-row .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.slider-row .top .name{font-weight:800}.slider-row .top .val{font-family:"Baloo 2",sans-serif;font-weight:700;font-size:20px;color:var(--sun-deep)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;border-radius:999px;background:var(--sky-soft);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border-radius:50%;background:#fff;border:5px solid var(--sun);box-shadow:0 4px 10px #0000002e;cursor:pointer}input[type=range]::-moz-range-thumb{width:32px;height:32px;border-radius:50%;background:#fff;border:5px solid var(--sun);box-shadow:0 4px 10px #0000002e;cursor:pointer}.detail{margin-top:18px;border-top:2px dashed #eee3f1;padding-top:16px}.detail .line{display:flex;justify-content:space-between;padding:11px 4px;font-weight:700;border-bottom:1px solid #f4eff8}.detail .line.total{border-bottom:none;font-family:"Baloo 2",sans-serif;font-size:19px}.detail .line .muted{color:var(--ink-soft);font-weight:700}.detail .sub{color:var(--ink-soft);font-size:13px;margin-top:10px;line-height:1.5}.center{text-align:center}.mt{margin-top:22px}.disclaimer{text-align:center;color:var(--ink-soft);font-size:13px;margin-top:28px;line-height:1.5}.feature-card{margin-top:22px;padding:24px;border-radius:22px;background:#faf7ff;border:1.5px solid #efe8fb}.feature-card.setaside{background:linear-gradient(135deg,#fff6e9,#fdeede);border-color:#ffe0bd}.feature-card.premium{background:linear-gradient(160deg,#2b2440,#3a2f5c);border:none;color:#fff}.feature-card.premium h3,.feature-card.premium .feature-lead{color:#fff}.feature-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.feature-head .emoji{font-size:24px}.feature-head h3{font-size:20px;margin:0;flex:1}.feature-head .price{font-family:"Baloo 2",sans-serif;font-weight:700;background:linear-gradient(135deg,var(--sun),var(--berry));color:#fff;padding:4px 12px;border-radius:999px;font-size:15px}.feature-head .lock{background:#e7f7ef;color:#2f9e76;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:999px}.feature-lead{color:var(--ink-soft);line-height:1.5;margin:0 0 16px}.feature-card .btn{width:100%}.affiliate{display:inline-block;margin-top:4px;font-weight:800;color:var(--sun-deep);text-decoration:none}.affiliate:hover{text-decoration:underline}.stepper.small button{width:48px;height:48px;font-size:24px}.stepper.small .value .num{font-size:38px}.goal-answer{text-align:center;font-size:20px;margin-top:18px;line-height:1.5}.goal-answer strong{color:var(--sun-deep);font-family:"Baloo 2",sans-serif}.goal-answer .goal-sub{display:block;color:var(--ink-soft);font-size:14px;font-weight:700;margin-top:4px}.perks{list-style:none;padding:0;margin:4px 0 18px}.perks li{padding:8px 0;line-height:1.45;border-bottom:1px solid rgba(255,255,255,.12);color:#efeaf7}.benchmark{background:#ffffff1a;border-radius:14px;padding:14px 16px;margin-bottom:16px;line-height:1.45}.benchmark.live{background:linear-gradient(135deg,var(--mint),#3fa37f);color:#fff}.benchmark .bsub{display:block;opacity:.8;font-size:13px;margin-top:4px}.postcode-compare{margin:0 0 18px}.postcode-compare label{display:block;font-weight:800;font-size:14px;color:#efeaf7;margin-bottom:8px}.postcode-compare input{width:130px;padding:12px 14px;border:none;border-radius:12px;font-size:18px;font-family:"Baloo 2",inherit;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:#fff;color:var(--ink)}.postcode-compare input:focus{outline:3px solid var(--sun)}.postcode-compare .pc-hint{margin-top:8px;font-size:13px;color:#cfc7e6;min-height:18px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b244080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{background:#fff;border-radius:26px;padding:32px;max-width:420px;width:100%;box-shadow:var(--shadow);text-align:center}.modal h3{font-size:24px;margin-bottom:8px}.modal input{width:100%;padding:15px 18px;border:2px solid #eee3f1;border-radius:16px;font-size:16px;font-family:inherit;margin:14px 0 4px}.modal input:focus{outline:none;border-color:var(--sun)}.modal .btn{width:100%;margin-top:8px}.modal .err{color:#d9466f;font-weight:700;min-height:20px;font-size:14px}.modal .tiny{color:var(--ink-soft);font-size:12px;margin-top:14px;line-height:1.4}.plan-header{display:flex;flex-direction:column;gap:4px;border-bottom:2px solid #f0ecf7;padding-bottom:16px;margin-bottom:20px}.plan-title{font-family:"Baloo 2",sans-serif;font-size:26px;font-weight:700}.plan-email{color:var(--ink-soft);font-weight:700}.plan-hero{text-align:center;margin:10px 0 22px}.plan-hero .big{font-family:"Baloo 2",sans-serif;font-size:52px;color:var(--sun-deep)}.plan-hero .big .yr{font-size:22px;color:var(--ink-soft)}.plan-hero .label,.plan-hero .per{color:var(--ink-soft);font-weight:700}.plan-table{width:100%;border-collapse:collapse}.plan-table td{padding:10px 4px;font-weight:700}.plan-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.plan-table tr.rule td{border-top:2px solid #f0ecf7}.plan-table tr.grand td{border-top:2px solid var(--ink);font-family:"Baloo 2",sans-serif;font-size:20px;padding-top:14px}.plan-setaside{background:linear-gradient(135deg,#fff6e9,#fdeede);border-radius:16px;padding:16px;margin-top:20px;line-height:1.5}@media print{body{background:#fff}.no-print{display:none!important}.app{max-width:none;padding:0}.plan-print{box-shadow:none;border-radius:0}}
