:root{--red:#e31e24;--black:#050505;--ink:#171717;--muted:#626262;--line:#dedede;--panel:#f4f4f2;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--white);font-family:Rajdhani,Arial,sans-serif;font-size:18px;line-height:1.35;-webkit-font-smoothing:antialiased}.site-header{height:82px;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.site-header img{display:block;width:128px;height:auto}.text-button{font:600 16px Rajdhani,sans-serif;border:0;background:none;text-transform:uppercase;cursor:pointer}.hero{max-width:920px;margin:0 auto;padding:70px 24px 52px;text-align:center}.eyebrow{margin:0 0 8px;color:var(--red);font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(48px,7vw,82px);line-height:.88;letter-spacing:-.045em;text-transform:uppercase}.hero-copy{max-width:650px;margin:25px auto 0;color:var(--muted);font-size:22px}.calculator-shell{max-width:1180px;margin:0 auto 70px;background:var(--panel);border-radius:8px;overflow:hidden}.step{padding:56px 7%}.step-heading{display:flex;align-items:center;gap:18px;margin-bottom:35px}.step-heading>span{display:grid;place-items:center;flex:0 0 42px;height:42px;color:#fff;background:var(--red);border-radius:50%;font-weight:700;font-size:24px}.step-heading p,.step-heading h2{margin:0}.step-heading p{color:var(--red);font-size:14px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.step-heading h2{font-size:32px;line-height:1.05;text-transform:uppercase}.field-grid{display:grid;gap:18px}.field-grid.three{grid-template-columns:repeat(3,1fr)}.field-grid.two{grid-template-columns:1.45fr 1fr}label,legend{font-size:16px;font-weight:600}input,select{display:block;width:100%;height:52px;margin-top:7px;padding:0 14px;border:1px solid #777;border-radius:6px;background:#fff;color:#111;font:600 19px Rajdhani,sans-serif}input:focus,select:focus{outline:3px solid rgba(227,30,36,.16);border-color:var(--red)}.money-field{position:relative;display:block}.money-field b{position:absolute;left:14px;top:22px;z-index:1}.money-field input{padding-left:30px}fieldset{padding:0;margin:25px 0 0;border:0}.segmented{display:flex;gap:10px;margin-top:7px}.segmented label{flex:0 0 180px}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented span{display:block;padding:13px 16px;border:1px solid #888;border-radius:6px;background:#fff;text-align:center;cursor:pointer}.segmented input:checked+span{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);color:var(--red)}.assumption,.method-note{margin:18px 0 0;color:var(--muted);font-size:15px}.results-band{display:grid;grid-template-columns:repeat(3,1fr);background:#fff}.results-band article{min-height:190px;padding:38px 30px;display:flex;flex-direction:column;justify-content:center;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.results-band article+article{border-left:1px solid var(--line)}.results-band p,.investment p{margin:0 0 8px;font-weight:600}.results-band strong{font-size:clamp(38px,5vw,58px);line-height:1}.results-band .red{background:var(--red);color:#fff}.investment{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.investment>div{padding:26px;background:#fff}.investment strong{display:block;font-size:34px;line-height:1}.investment small{display:block;margin-top:7px;color:var(--muted)}.savings-section{background:#0a0a0a;color:#fff}.savings-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.saving{padding:24px 15px;background:#1c1c1c;border-radius:6px;text-align:center}.saving.active{background:var(--red)}.saving p{margin:0 0 12px;text-transform:uppercase;font-size:15px;font-weight:700}.saving strong{display:block;font-size:30px}.saving small{color:#c7c7c7}.savings-section .method-note{color:#aaa}.cta{max-width:1180px;margin:0 auto 70px;padding:52px 6%;display:flex;justify-content:space-between;gap:40px;align-items:center;border:1px solid var(--line);border-radius:8px}.cta h2{margin:0;font-size:38px;line-height:1;text-transform:uppercase}.cta p:not(.eyebrow){max-width:650px;margin:12px 0 0;color:var(--muted)}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-width:145px;height:50px;padding:0 20px;border:1px solid var(--red);border-radius:6px;background:var(--red);color:#fff;text-decoration:none;text-transform:uppercase;font:700 16px Rajdhani,sans-serif;cursor:pointer}.button.secondary{background:#fff;color:var(--red)}footer{padding:30px;text-align:center;border-top:1px solid var(--line)}footer a{color:#111;font-weight:700;text-decoration:none}@media(max-width:800px){.site-header{height:68px;padding:18px 20px}.site-header img{width:100px}.hero{padding:50px 20px 38px}.calculator-shell{margin:0 14px 45px}.step{padding:40px 24px}.field-grid.three,.field-grid.two,.results-band,.investment{grid-template-columns:1fr}.results-band article+article{border-left:0}.savings-grid{grid-template-columns:repeat(2,1fr)}.saving:last-child{grid-column:1/-1}.cta{margin:0 14px 45px;padding:38px 24px;display:block}.cta-actions{margin-top:25px}}@media(max-width:480px){.hero-copy{font-size:19px}.step-heading h2{font-size:27px}.segmented label{flex:1}.results-band strong{font-size:40px}.savings-grid{grid-template-columns:1fr}.saving:last-child{grid-column:auto}}@media print{.site-header .text-button,.cta-actions,footer{display:none}.hero{padding:25px}.calculator-shell{margin-bottom:20px}.step{padding:28px}.cta{margin-bottom:0}.savings-section{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@page{size:letter portrait;margin:.32in}
@media print{
html,body{width:100%;background:#fff;font-size:10pt;line-height:1.15}
.site-header{height:34px;padding:0 0 7px;border-bottom:1px solid #bbb}.site-header img{width:88px}
.site-header .text-button,.hero-copy,.assumption,.method-note,.cta,footer{display:none!important}
.hero{padding:10px 0 9px}.hero .eyebrow{margin-bottom:2px;font-size:8pt}.hero h1{font-size:25pt;line-height:.9;letter-spacing:-.03em}.hero h1 br{display:none}
.calculator-shell{max-width:none;margin:0;background:#f4f4f2;border:1px solid #ccc;border-radius:4px;overflow:hidden}
.step{padding:12px 16px;break-inside:avoid}.step-heading{gap:8px;margin-bottom:8px}.step-heading>span{flex-basis:22px;height:22px;font-size:11pt}.step-heading p{display:none}.step-heading h2{font-size:15pt}
.field-grid{gap:8px}label,legend{font-size:8.5pt}input,select{height:29px;margin-top:2px;padding:0 7px;border-color:#888;font-size:10pt}.money-field b{left:8px;top:10px}.money-field input{padding-left:19px}
fieldset{margin-top:8px}.segmented{gap:5px;margin-top:2px}.segmented label{flex-basis:120px}.segmented span{padding:5px 8px}
.results-band{grid-template-columns:repeat(3,1fr);break-inside:avoid}.results-band article{min-height:76px;padding:10px}.results-band p,.investment p{margin-bottom:3px;font-size:8pt}.results-band strong{font-size:20pt}
.results-band .red,.savings-section,.saving.active{print-color-adjust:exact;-webkit-print-color-adjust:exact}
.investment{grid-template-columns:repeat(3,1fr);margin-top:9px}.investment>div{padding:9px}.investment strong{font-size:17pt}.investment small{margin-top:2px;font-size:7pt}
.savings-section{padding-bottom:13px;background:#0a0a0a!important}.savings-grid{grid-template-columns:repeat(5,1fr);gap:4px}.saving{padding:9px 4px}.saving p{margin-bottom:4px;font-size:8pt}.saving strong{font-size:14pt}.saving small{font-size:7.5pt}
}

/* Calculator context, current-state grouping, and selected-product preview. */
@media screen{
.hero{max-width:920px;padding:30px 24px 0}.hero h2{margin:0;line-height:1.2;letter-spacing:0;text-transform:none}.hero h2,.hero-copy{font-size:20px;font-weight:600}.hero-copy{max-width:680px;margin-top:10px}
label,legend,.results-band p,.investment p{font-size:16px}.assumption,.method-note{font-size:16px}
.money-field b{top:17px;font-size:19px;line-height:1}
.assumption,.method-note{color:var(--black);font-size:16px;font-weight:600}
.current-use-results{padding:42px 7% 0;border-top:1px solid var(--line);background:#fff}.results-heading{margin-bottom:18px;text-align:center}.results-heading p,.results-heading h2{margin:0}.results-heading p{color:var(--red);font-size:14px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.results-heading h2{font-size:32px;line-height:1.05;text-transform:uppercase}.results-band{border:1px solid var(--line);border-radius:6px;overflow:hidden}.results-band article{min-height:170px;padding:32px 24px;background:#000;color:#fff}.results-band article.red{background:var(--red)}
.product-preview{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:center;margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:6px;background:#fff}.product-preview img{display:block;width:100%;height:145px;object-fit:contain}.product-preview h3{margin:0;font-size:25px;line-height:1.05}.product-preview p:not(.eyebrow){margin:9px 0;color:var(--muted);font-size:16px}.product-preview a{color:var(--red);font-size:16px;font-weight:700;text-transform:uppercase;text-underline-offset:3px}
.product-preview .personalization-message,.product-preview .personalization-message a{font-weight:500}.product-preview .personalization-message a{text-transform:none}
@media(max-width:800px){.hero{padding:46px 20px 34px}.hero h2,.hero-copy{font-size:20px}.current-use-results{padding:34px 24px 0}.product-preview{grid-template-columns:150px 1fr;gap:20px}}
@media(max-width:520px){.product-preview{grid-template-columns:1fr}.product-preview img{height:170px}}
}

@media print{
.current-use-results{break-inside:avoid}.results-heading{display:none}.product-preview{display:none!important}
}
.print-only,.print-summary{display:none}
@media print{
.screen-only,.field-grid,fieldset{display:none!important}
.print-only{display:inline}
.print-summary{display:grid}
.facility-summary{grid-template-columns:repeat(4,1fr);border:1px solid #ccc;border-radius:4px;overflow:hidden;background:#fff}
.print-summary>div{padding:9px 10px;background:#fff}.print-summary>div+div{border-left:1px solid #ddd}
.print-summary p{margin:0 0 3px;color:#555;font-size:8pt;font-weight:600}.print-summary strong{display:block;font-size:16pt;line-height:1.05}
.tray-summary{grid-template-columns:1.6fr 1fr;margin-bottom:9px;border:1px solid #ccc;border-radius:4px;overflow:hidden}
.tray-summary strong{font-size:11.5pt}
}

/* Match the Cambro Spec Book application shell. */
@media screen{
:root{--red:#c00;--ink:#1a1a1a;--muted:#666;--line:#e0e0e0;--panel:#fff;--page:#f2f2f2}
body{background:var(--page)}
.site-header{position:sticky;top:0;z-index:100;height:90px;padding:0 32px;gap:24px;background:#fff;border:0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.site-header>a{flex:0 0 175px}
.site-header img{width:175px}
.header-title-group{flex:1;text-align:center}
.header-title-group h1{margin:0;color:var(--ink);font-size:34px;font-weight:700;line-height:1.1;letter-spacing:0;text-transform:uppercase;white-space:nowrap}
.header-title-group p{margin:-7px 0 0;color:var(--red);font-size:16px;font-weight:800;text-transform:uppercase}
.header-title-group p{white-space:nowrap}
.site-header .text-button{flex:0 0 175px;width:auto;justify-self:end;padding:8px 20px;color:var(--muted);font-size:13px;letter-spacing:.05em;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center}
.site-header .text-button:hover{color:var(--red);border-color:var(--red);background:#fff0f0}
.calculator-shell{margin-top:40px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.calculation-flow{height:76px;background:#fff}
.calculation-flow svg{display:block;width:100%;height:100%;overflow:visible}
.calculation-flow path{fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.72}
.current-use-results{padding-top:10px;border-top:0}
.savings-section{background:#fff;color:var(--ink)}
.savings-section .saving{background:#000;color:#fff}
.savings-section .saving.active{background:var(--red)}
.savings-section .method-note{color:var(--black)}
.cta{align-items:flex-start}.cta>div:first-child{display:flex;align-items:center;min-height:50px}.cta-actions{min-width:310px;flex-direction:column;align-items:stretch}
.cta-actions>.button{width:100%}
.result-actions{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--red);border-radius:6px;background:#fff}
.result-actions button{height:46px;padding:0 14px;border:0;background:#fff;color:var(--red);font:700 14px Rajdhani,sans-serif;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}
.result-actions button+button{border-left:1px solid #efb2b2}
.result-actions button:hover,.result-actions button:focus-visible{background:#fff0f0;outline:0}
.result-actions button:active{background:var(--red);color:#fff}
.action-status{min-height:18px!important;margin:0!important;color:var(--red)!important;font-size:13px!important;font-weight:700;text-align:center;text-transform:uppercase}
@media(max-width:800px){
.site-header{height:60px;padding:0 32px;gap:12px}
.site-header>a{flex:0 0 auto}
.site-header img{width:auto;height:30px}
.header-title-group h1{font-size:clamp(11px,3vw,16px)}
.header-title-group p{margin-top:-3px;font-size:10px;letter-spacing:.04em;white-space:nowrap}
.site-header .text-button{flex:0 0 auto;padding:6px 14px;font-size:12px}
.calculator-shell{margin-top:28px}
.calculation-flow{height:56px}
.calculation-flow path{stroke-width:1.5}
.current-use-results{padding-top:10px}
.cta-actions{min-width:0}
}
}

@media print{
.calculation-flow{display:none}
}

/* Editable tray quantity override. */
.tray-quantity-field .editable-badge{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:3px;background:var(--red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;vertical-align:2px}
.tray-quantity-input{height:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e31e24' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") no-repeat right center;font-size:34px;font-weight:700;line-height:1.1;box-shadow:none}
.tray-quantity-input:hover{border:0;box-shadow:none}
@media print{.tray-quantity-field .editable-badge{display:none}.tray-quantity-input{height:auto;padding:0;border:0;background:transparent;box-shadow:none;font-size:17pt}}

/* Centered textured call to action. */
@media screen{
.cta{position:relative;isolation:isolate;min-height:320px;padding:58px 6%;flex-direction:column;align-items:center;justify-content:center;gap:24px;overflow:hidden;border:0;background-color:#050505;background-image:url("assets/cta-hex-pattern-supplied.jpg");background-position:center;background-size:cover;color:#fff;text-align:center}
.cta>div{position:relative;z-index:2}
.cta-tray{position:absolute;z-index:1;width:clamp(285px,26vw,370px);height:auto;pointer-events:none;filter:drop-shadow(0 16px 20px rgba(0,0,0,.38));will-change:transform}
.cta-tray-left{left:-55px;top:50%;animation:ctaTrayLeft 9s ease-in-out infinite}
.cta-tray-right{right:-62px;top:50%;animation:ctaTrayRight 10.5s ease-in-out -3.5s infinite}
@keyframes ctaTrayLeft{0%,100%{transform:translate(-8%,-50%) rotate(7deg)}50%{transform:translate(-5%,-53%) rotate(5.5deg)}}
@keyframes ctaTrayRight{0%,100%{transform:translate(9%,-50%) rotate(-7deg)}50%{transform:translate(6%,-47%) rotate(-5.5deg)}}
.cta>div:first-child{min-height:0;justify-content:center}
.cta h2{font-size:44px;text-shadow:0 2px 12px rgba(0,0,0,.65)}
.cta-actions{width:100%;max-width:410px;min-width:0;margin:0;align-items:stretch}
.cta-actions>.button{width:100%;box-shadow:0 4px 16px rgba(0,0,0,.28)}
.cta .result-actions{border-color:rgba(255,255,255,.55);background:rgba(0,0,0,.42);backdrop-filter:blur(2px)}
.cta .result-actions button{background:transparent;color:#fff}
.cta .result-actions button+button{border-left-color:rgba(255,255,255,.28)}
.cta .result-actions button:hover,.cta .result-actions button:focus-visible{background:rgba(255,255,255,.12)}
.cta .result-actions button:active{background:var(--red)}
.cta .action-status{color:#fff!important}
}
@media screen and (max-width:800px){
.cta{min-height:330px;margin:0 14px 45px;padding:50px 22px;display:flex}
.cta-tray{display:none}
.cta h2{font-size:38px}
.cta-actions{margin-top:0}
}
@media (prefers-reduced-motion:reduce){.cta-tray{animation:none}}
@media print{.cta-tray{display:none!important}}
