:root{--ink:#142f39;--muted:#536b72;--teal:#087a77;--teal-dark:#075752;--ice:#e7f5f3;--wash:#f5f8f6;--line:#d7e5e1;--paper:#fff;--lime:#e5ef9c;--warn:#805017;--warn-bg:#fff5df;--error:#9b342c;--radius:24px;--shadow:0 12px 42px #173e4210;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;line-height:1.55}a{color:var(--teal-dark);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #da9418;outline-offset:4px}a.button{text-decoration:none}button,.button{min-height:46px;border:1px solid transparent;padding:11px 19px;border-radius:11px;font-size:14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:background .15s,transform .15s}button:hover,.button:hover{transform:translateY(-1px)}.primary{background:var(--teal);color:white}.primary:hover{background:var(--teal-dark)}.secondary{background:white;border-color:var(--line);color:var(--ink)}.secondary:hover{background:var(--ice)}.ghost{background:transparent;border-color:var(--line);color:var(--teal-dark)}.text-button{background:transparent;border:0;padding:6px 0;color:var(--teal-dark);font-size:13px;min-height:36px}.danger-button{color:var(--error);background:transparent;padding:5px 10px;min-height:38px;font-size:12px}.small-button{padding:7px 13px;min-height:40px}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.wrap{max-width:1190px;margin:auto;padding:0 30px}.topbar{background:var(--ink);color:#e8f3ef;font-size:11px;letter-spacing:.04em;text-align:center;padding:8px 18px}.topbar b{font-weight:650}.site-header{background:#fffffff5;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}.brand{color:var(--ink);text-decoration:none;font-size:23px;font-weight:850;letter-spacing:-1px;display:flex;align-items:center;gap:11px;white-space:nowrap}.brand span:last-child{color:var(--teal)}.brand-symbol{width:34px;height:34px;position:relative;background:var(--ice);border:2px solid var(--teal);border-radius:10px;transform:rotate(-12deg);display:block;flex-shrink:0}.brand-symbol:before,.brand-symbol:after{content:"";position:absolute;background:var(--teal);opacity:.65}.brand-symbol:before{width:15px;height:2px;left:8px;top:11px;transform:rotate(30deg)}.brand-symbol:after{width:2px;height:15px;left:14px;top:10px}.nav{display:flex;align-items:center;gap:27px}.nav a{font-size:13px;font-weight:650;text-decoration:none;color:var(--muted)}.nav a[aria-current=page]{color:var(--teal)}.nav .nav-cta{border:1px solid var(--line);padding:9px 13px;border-radius:9px;color:var(--ink)}.menu-button{display:none}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;color:var(--teal)}.hero{padding:48px 0 30px}.hero-row{display:flex;justify-content:space-between;align-items:end;gap:32px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.7vw,59px);line-height:1.05;letter-spacing:-2.4px;margin:12px 0 19px;font-weight:820}h2{font-size:26px;line-height:1.16;letter-spacing:-.8px;margin:0 0 12px}h3{font-size:18px;line-height:1.3;letter-spacing:-.3px;margin:0 0 8px}.lead{font-size:17px;line-height:1.6;max-width:660px;color:var(--muted);margin-bottom:0}.hero-note{font-size:12px;color:var(--muted);min-width:170px;max-width:250px;border-left:2px solid var(--line);padding-left:16px;margin-bottom:3px}.hero-note strong{display:block;color:var(--ink);margin-bottom:5px}.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.chip{font-size:11px;border:1px solid var(--line);padding:6px 11px;border-radius:25px;background:white;color:var(--muted);font-weight:650}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:25px;align-items:start;padding-bottom:34px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:27px;margin-bottom:21px;box-shadow:0 3px 10px #123c3603}.panel-heading{display:flex;gap:13px;align-items:center;justify-content:space-between;margin-bottom:24px}.heading-left{display:flex;align-items:center;gap:13px}.section-number{font-size:12px;background:var(--ice);color:var(--teal-dark);width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.panel-heading h2{font-size:23px;margin:0}.panel-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.toggle-label{font-size:12px;font-weight:700;display:flex;gap:8px;align-items:center;color:var(--muted);white-space:nowrap}.toggle-label input{accent-color:var(--teal);width:19px;height:19px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 17px}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field-label{font-size:12px;color:var(--ink);font-weight:720;line-height:1.4}.field input,.field select,.field textarea{background:#fbfdfc;border:1px solid #cdded8;min-width:0;width:100%;min-height:47px;border-radius:10px;color:var(--ink);padding:10px 12px;font-size:16px}.field input[type=number]{font-variant-numeric:tabular-nums}.field input:focus,.field select:focus,.field textarea:focus{background:white;border-color:var(--teal)}.field small,.helper{font-size:11px;color:var(--muted);line-height:1.5}.field textarea{resize:vertical;min-height:100px}.field input[aria-invalid=true]{border-color:var(--error);background:#fff6f3}.input-combo{display:grid;grid-template-columns:1fr 116px;gap:8px}.full-width{grid-column:1/-1}.cup-options{display:grid;grid-template-columns:1fr 99px;gap:20px;align-items:center;margin-top:23px;padding:20px;background:var(--wash);border-radius:15px}.cup-picture{width:70px;height:85px;background:#f8ffff;border:2px solid #b6d7d1;border-radius:5px 5px 17px 17px;transform:perspective(180px) rotateX(-12deg);position:relative;margin:0 auto;overflow:hidden}.cup-picture:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 22px,#b7d5ce55 22px 24px);z-index:2}.cup-ice{position:absolute;bottom:0;left:0;right:0;height:100%;background-color:#bbe1dc;background-image:linear-gradient(35deg,transparent 37%,#ffffffad 38% 43%,transparent 44%),linear-gradient(135deg,transparent 37%,#ffffffad 38% 43%,transparent 44%);background-size:27px 28px;transition:height .2s}.cup-caption{font-size:10px;line-height:1.35;color:var(--muted);text-align:center;margin:9px 0 0}.range-row{display:flex;align-items:center;gap:12px}.range-row input{accent-color:var(--teal);width:100%;min-height:30px;padding:0;border:0;background:none}.range-output{background:white;border:1px solid var(--line);padding:3px 8px;border-radius:7px;font-size:12px;font-weight:800;min-width:47px;text-align:center}.section-summary{background:var(--ice);padding:13px 15px;border-radius:10px;font-size:12px;color:var(--teal-dark);margin-top:20px;line-height:1.65}.section-summary strong{font-weight:800}.collapsible{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.collapsible summary{cursor:pointer;font-size:12px;font-weight:750;color:var(--teal-dark);padding:3px 0}.collapsible[open] summary{margin-bottom:17px}.collapsible p{font-size:12px;color:var(--muted)}fieldset{padding:0;border:0;margin:0;min-width:0}fieldset[disabled]{opacity:.45}fieldset legend.visually-hidden{position:absolute}.cooler-box{border:1px solid var(--line);border-radius:15px;padding:21px;margin-top:15px}.cooler-box:first-child{margin-top:0}.cooler-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.cooler-heading h3{font-size:16px;margin:0}.cooler-heading h3 span{color:var(--muted);font-weight:450}.food-title{font-size:12px;font-weight:750;margin:22px 0 10px}.food-row{display:grid;grid-template-columns:85px 1fr 80px 30px;gap:8px;align-items:end;margin-top:11px}.food-row button{padding:3px;width:30px;min-height:46px}.food-row .field small{font-size:10px}.food-unit{font-size:11px;color:var(--muted);margin-bottom:15px}.pack-result{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.pack-headline{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:11px}.pack-headline strong{color:var(--teal-dark)}.pack-bar{height:17px;border:1px solid #cadfd9;border-radius:6px;background:#fafcfb;display:flex;overflow:hidden}.pack-bar .contents{background:var(--teal);height:100%}.pack-bar .ice{background:#b8dfd6;height:100%;background-image:repeating-linear-gradient(45deg,transparent 0 6px,#edf9f277 6px 9px)}.pack-bar .headroom{background:#f2f3e8;height:100%}.legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;font-size:10px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.dot{height:7px;width:7px;border-radius:2px;display:inline-block}.dot.contents{background:var(--teal)}.dot.ice{background:#b8dfd6}.dot.headroom{background:#e7e9d8}.note{font-size:11px;line-height:1.55;background:var(--wash);border-left:3px solid #99b8af;padding:10px 12px;margin:12px 0 0;border-radius:0 7px 7px 0}.note.warning{background:var(--warn-bg);border-color:#d09c45;color:var(--warn)}.note.error{background:#fff0ed;border-color:var(--error);color:var(--error)}.note.info{background:var(--ice);border-color:#75aca0;color:var(--teal-dark)}.status-row{display:flex;gap:14px;align-items:center;margin-top:16px}.status-row label{font-size:12px;color:var(--ink);display:flex;gap:8px;align-items:center}.status-row input{accent-color:var(--teal);height:17px;width:17px}.result-aside{position:sticky;top:103px}.receipt{background:var(--ink);border-radius:var(--radius);padding:27px;color:#fff;box-shadow:0 16px 30px #123c3615;position:relative;overflow:hidden}.receipt:before{content:"";position:absolute;right:-35px;top:-30px;width:120px;height:120px;border:1px solid #ffffff12;transform:rotate(35deg);border-radius:27px;pointer-events:none}.receipt .eyebrow{color:var(--lime)}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:7px}.receipt-total{font-size:66px;line-height:1.08;letter-spacing:-3px;font-weight:780;margin:15px 0 5px;font-variant-numeric:tabular-nums}.receipt-total .unit{font-size:26px;font-weight:500;letter-spacing:-.5px;color:#c6ded9;margin-left:7px}.receipt-sub{font-size:12px;color:#bdd6d0;margin:0 0 23px}.receipt-lines{border-top:1px solid #41616a;padding-top:17px}.receipt-line{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin:12px 0;color:#d0e1dc}.receipt-line strong{font-size:13px;color:white;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.receipt-line.total{border-top:1px dashed #638078;padding-top:15px;margin-top:18px;color:white}.receipt-line.total strong{font-size:16px}.receipt .field label{color:#e9f3ee}.receipt .field input,.receipt .field select{background:#ffffff0b;color:white;border-color:#5c777d;font-size:14px}.receipt .field select option{background:var(--ink);color:white}.receipt .field small{color:#b5cbc5}.receipt .field-grid{margin-top:21px;gap:13px}.receipt small{font-size:11px;color:#c0d8d1}.shopping-result{background:var(--lime);color:var(--ink);border-radius:12px;margin-top:23px;padding:16px}.shopping-result .bag-line{font-size:21px;line-height:1.3;font-weight:800;letter-spacing:-.4px}.shopping-result p{font-size:11px;line-height:1.55;margin:7px 0 0;color:#395544}.receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.receipt-actions button{font-size:11px;padding:9px 7px;color:white;background:transparent;border:1px solid #5c777d;min-height:41px}.receipt .text-button{color:#bad4cb;min-height:32px}.result-disclaimer{font-size:10px;color:#bcd5cd;line-height:1.6;margin:16px 0 0}.result-message{font-size:12px;color:#ffe3ae;line-height:1.6}.aside-note{padding:18px 11px;font-size:11px;color:var(--muted);line-height:1.65}.aside-note strong{color:var(--ink)}.aside-note a{font-weight:700}.notice{background:var(--ice);border:1px solid #c0ded4;padding:19px 21px;border-radius:15px;font-size:12px;color:var(--teal-dark);line-height:1.7;margin-bottom:21px}.notice strong{display:block;color:var(--ink);font-size:13px;margin-bottom:4px}.notice a{font-weight:700}.notice.warm{background:var(--warn-bg);border-color:#e9d5aa}.below-calculator{border-top:1px solid var(--line);padding:45px 0}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.feature-card{padding:24px;background:white;border:1px solid var(--line);border-radius:17px}.feature-card p{font-size:13px;color:var(--muted);margin:0}.feature-card .eyebrow{display:block;margin-bottom:18px}.content-page{max-width:820px;margin:auto;padding:48px 30px 65px}.content-page h1{font-size:43px}.content-page h2{margin-top:35px;font-size:25px}.content-page p,.content-page li{font-size:15px;color:var(--muted);line-height:1.75}.content-page p strong,.content-page li strong{color:var(--ink)}.content-page .panel{padding:27px}.content-page .panel h2{margin-top:0}.content-page .panel p{font-size:13px}.content-page table{width:100%;border-collapse:collapse;font-size:12px;margin:18px 0 28px}.content-page th{text-align:left;background:var(--ice);padding:11px;border-bottom:1px solid var(--line)}.content-page td{padding:12px 11px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted)}.formula{background:var(--ink);color:#e3f2eb;padding:19px 21px;border-radius:13px;white-space:normal;font-family:ui-monospace,monospace;font-size:12px;line-height:1.8;margin:18px 0}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{font-size:15px;font-weight:720;cursor:pointer}.faq details p{font-size:13px;color:var(--muted);margin:14px 0 3px}.cta-band{margin:25px auto 55px;background:var(--ice);border:1px solid #c6dfd5;border-radius:25px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-band h2{font-size:27px}.cta-band p{font-size:13px;color:var(--muted);margin:0;max-width:650px}.cta-band .button{white-space:nowrap}.site-footer{padding:30px 0;background:white;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:22px}.footer-nav{display:flex;flex-wrap:wrap;gap:18px;font-size:11px}.footer-nav a{text-decoration:none;color:var(--muted)}.footer-bottom{font-size:10px;color:var(--muted);max-width:830px;line-height:1.65;margin-top:22px}.homepage-hero{padding:65px 0 55px;display:grid;grid-template-columns:1.14fr .86fr;gap:55px;align-items:center}.homepage-hero h1{font-size:clamp(43px,5.4vw,66px);margin:18px 0 23px}.homepage-hero h1 em{font-style:normal;color:var(--teal)}.homepage-hero p{font-size:17px;color:var(--muted);max-width:570px}.button-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}.sample-card{background:var(--ink);color:white;border-radius:29px;padding:34px;transform:rotate(2deg);box-shadow:0 22px 45px #193c3f1f}.sample-card .eyebrow{color:var(--lime)}.sample-card h2{font-size:27px;color:white;margin:17px 0 26px;line-height:1.15}.sample-line{border-top:1px solid #ffffff20;padding:13px 0;font-size:13px;display:flex;justify-content:space-between;color:#dcece5}.sample-number{font-size:65px;letter-spacing:-3px;font-weight:800;line-height:1;margin:25px 0 7px}.sample-number span{font-size:26px;letter-spacing:-.5px;color:var(--lime)}.sample-card small{color:#b9d4cd;font-size:11px}.sample-card .button{width:100%;margin-top:20px;background:var(--lime);color:var(--ink)}.sample-label{font-size:11px;letter-spacing:.04em;color:#b9d4cd}.towns{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.towns span{background:white;border:1px solid var(--line);border-radius:24px;padding:7px 13px;font-size:12px;color:var(--muted)}.section-heading{margin-bottom:25px}.section-heading p{font-size:14px;color:var(--muted)}.form-panel{background:white;border:1px solid var(--line);padding:28px;border-radius:21px;margin-top:28px}.form-panel .field-grid{margin-bottom:22px}.check-line{display:flex;gap:9px;font-size:12px;color:var(--muted);align-items:start;margin:17px 0}.check-line input{margin-top:3px;width:17px;height:17px;accent-color:var(--teal);flex-shrink:0}.form-result{font-size:13px;margin-top:15px}.form-result.error{color:var(--error)}.form-result.success{color:var(--teal-dark)}.honeypot{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border:1px solid #52766b;box-shadow:var(--shadow);padding:13px 20px;border-radius:12px;font-size:12px;z-index:20;max-width:90%;text-align:center}.hidden,[hidden]{display:none!important}.muted{color:var(--muted)}.table-scroll{overflow:auto}.mobile-jump{display:none}.source-list{padding-left:19px}.source-list li{margin-bottom:10px;font-size:13px}.pill-status{font-size:10px;background:var(--ice);color:var(--teal-dark);padding:4px 8px;border-radius:20px}.print-only{display:none}
@media(max-width:1050px){.planner-layout{grid-template-columns:minmax(0,1fr) 305px;gap:18px}.wrap{padding:0 23px}.panel{padding:23px}.receipt{padding:23px}.nav{gap:18px}.hero-note{display:none}.cooler-box{padding:17px}.field-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage-hero{gap:30px}.food-row{grid-template-columns:70px 1fr 72px 25px;gap:6px}.food-row button{width:25px}}
@media(max-width:790px){.header-inner{height:69px}.menu-button{display:flex;background:var(--wash);color:var(--ink);border-color:var(--line);font-size:12px;min-height:38px;padding:6px 11px}.nav{display:none;position:absolute;top:69px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:white;box-shadow:var(--shadow);padding:12px 23px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:12px}.nav .nav-cta{margin:7px 0}.planner-layout{grid-template-columns:1fr;gap:0}.result-aside{position:static}.hero{padding:31px 0 25px}h1{letter-spacing:-1.5px}.lead{font-size:15px}.panel{padding:22px}.receipt{padding:27px}.receipt-total{font-size:64px}.receipt .field-grid{grid-template-columns:1fr 1fr}.receipt-actions{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.cta-band{padding:26px;display:block;margin-bottom:35px}.cta-band .button{margin-top:20px}.footer-top{display:block}.footer-nav{margin-top:22px;gap:14px}.homepage-hero{grid-template-columns:1fr;padding:39px 0 43px;gap:35px}.sample-card{transform:none;max-width:470px;width:100%;margin:auto}.homepage-hero h1{font-size:48px}.content-page{padding:32px 23px 45px}.content-page h1{font-size:36px}.mobile-jump{display:inline-flex;margin-top:18px;font-size:12px;min-height:37px;padding:7px 13px;border:1px solid var(--line);border-radius:20px;color:var(--teal-dark);text-decoration:none;font-weight:700;background:white}.below-calculator{padding:32px 0}.site-footer{padding-bottom:40px}}
@media(max-width:440px){.wrap{padding:0 16px}.brand{font-size:22px}.hero h1{font-size:36px}.panel{padding:18px;border-radius:19px}.panel-heading{margin-bottom:21px;gap:7px}.panel-heading h2{font-size:21px}.panel-heading p{font-size:11px}.heading-left{gap:9px}.section-number{width:29px;height:29px;border-radius:9px;font-size:10px}.toggle-label{font-size:11px;gap:5px}.field-grid{gap:16px 12px}.field label,.field-label{font-size:11px}.field input,.field select{padding:9px 10px}.cup-options{padding:15px;grid-template-columns:1fr 79px;gap:12px}.cup-picture{width:60px;height:75px}.cooler-box{padding:14px}.input-combo{grid-template-columns:1fr 105px;gap:6px}.food-row{grid-template-columns:64px 1fr 25px}.food-row .food-unit{display:none}.food-row .food-size-select{grid-column:2}.food-row .food-custom{grid-column:2}.food-row button{grid-column:3;grid-row:1}.food-row .food-custom[hidden]{display:none}.field-grid.three{grid-template-columns:1fr 1fr}.receipt{padding:24px}.receipt-total{font-size:60px}.topbar{font-size:10px}.homepage-hero h1{font-size:43px;letter-spacing:-1.8px}.sample-card{padding:28px}.content-page{padding:30px 17px 40px}.form-panel{padding:20px}.chips{gap:7px}.chip{font-size:10px;padding:5px 8px}.cooler-heading h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{@page{margin:16mm}body{background:white;font-size:11pt}.site-header,.topbar,.site-footer,.hero-note,.chips,.mobile-jump,.cta-band,.below-calculator,.receipt-actions,.receipt .text-button,.skip,.toast,.menu-button,#planner-inputs,.aside-note,.no-print{display:none!important}.hero{padding:0 0 20px}.hero h1{font-size:28pt}.hero .lead{font-size:11pt}.wrap{padding:0;max-width:none}.planner-layout{display:block;padding:0}.result-aside{position:static}.receipt{background:white!important;color:#142f39!important;box-shadow:none;border:1px solid #829b94;border-radius:10px;padding:20px}.receipt *{color:#142f39!important}.receipt .field-grid{display:none}.receipt-total{font-size:42pt}.receipt-lines{border-color:#829b94}.receipt-line{border-color:#829b94!important}.shopping-result{background:#f2f5e9!important;border:1px solid #829b94}.receipt:before{display:none}.print-only{display:block;white-space:pre-wrap;font-family:inherit;font-size:10pt;line-height:1.6;margin-top:24px}.content-page{padding:0}.content-page .panel{break-inside:avoid}}

.field input,.field select,.field textarea{font-weight:500}
@media(max-width:600px){.cooler-capacity-field,.c-beverage-temp-field{grid-column:1/-1}.cooler-capacity-field .input-combo{grid-template-columns:minmax(95px,1fr) 135px}}
