:root{--color-primary:#166534;--color-primary-light:#22c55e;--color-primary-dark:#14532d;--color-accent:#d97706;--color-accent-light:#f59e0b;--color-accent-dark:#b45309;--color-text-dark:#1e293b;--color-text-medium:#475569;--color-text-light:#64748b;--color-bg-primary:#f8fafc;--color-bg-card:#ffffff;--color-border:#e2e8f0;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--transition-fast:150ms ease-in-out;--transition-normal:200ms ease-in-out}body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--color-text-dark);background-color:var(--color-bg-primary);line-height:1.6}.calculator-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(22,101,52,.1)}.form-input:invalid:not(:placeholder-shown){border-color:#dc2626}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text-dark)}.form-hint{margin-top:.25rem;font-size:.875rem;color:var(--color-text-light)}.form-error{margin-top:.25rem;font-size:.875rem;color:#dc2626}.validation-error{display:none;padding:.75rem 1rem;margin-bottom:1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:.875rem;font-weight:500}.validation-error.show{display:block}.error-highlight{outline:2px solid #dc2626!important;outline-offset:2px;border-radius:var(--radius-md)}input.error-highlight{border-color:#dc2626!important}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-accent{background-color:var(--color-accent);color:#fff}.btn-accent:hover{background-color:var(--color-accent-dark)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text-medium);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-primary)}.results-container{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:#fff;border-radius:var(--radius-lg);padding:1.5rem;margin-top:1.5rem}.results-title{font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.9;margin-bottom:.5rem}.results-value{font-size:2.5rem;font-weight:700;line-height:1.2}.results-unit{font-size:1.25rem;font-weight:400;opacity:.9}.results-note{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.875rem;opacity:.9}.content-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.content-section h2{color:var(--color-text-dark);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.content-section h3{color:var(--color-text-dark);font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem}.content-section p{color:var(--color-text-medium);margin-bottom:1rem}.content-section ul{list-style-type:disc;padding-left:1.5rem;color:var(--color-text-medium)}.content-section li{margin-bottom:.5rem}.formula-box{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:1rem 1.25rem;margin:1rem 0;color:var(--color-text-dark)}.example-callout{background-color:#fffbeb;border-left:4px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1rem 1.25rem;margin:1rem 0}.example-callout-title{font-weight:600;color:var(--color-accent-dark);margin-bottom:.5rem}.faq-item{border-bottom:1px solid var(--color-border);padding:1.25rem 0}.faq-item:last-child{border-bottom:none}.faq-question{font-weight:600;color:var(--color-text-dark);margin-bottom:.5rem}.faq-answer{color:var(--color-text-medium)}.disclaimer{background-color:#f1f5f9;border-radius:var(--radius-md);padding:1rem 1.25rem;margin-top:2rem;font-size:.875rem;color:var(--color-text-light)}.calculator-link-card{display:block;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;text-decoration:none;transition:all var(--transition-normal)}.calculator-link-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.calculator-link-card h3{color:var(--color-primary);font-weight:600;margin-bottom:.5rem}.calculator-link-card p{color:var(--color-text-medium);font-size:.95rem}.nav-link{color:var(--color-text-medium);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.nav-link:hover{color:var(--color-primary)}.nav-link-active{color:var(--color-primary)}.related-calc-link{display:flex;align-items:center;padding:.75rem 1rem;background-color:var(--color-bg-primary);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-dark);transition:background-color var(--transition-fast)}.related-calc-link:hover{background-color:#e2e8f0}.related-calc-link svg{margin-right:.75rem;color:var(--color-primary)}@media (max-width:640px){.calculator-card{padding:1rem}.results-value{font-size:2rem}.btn{width:100%}}.hero-animated{position:relative;overflow:hidden;background:linear-gradient(135deg,#166534 0,#14532d 50%,#0f4429 100%)}.hero-animated::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(34,197,94,.1) 0,transparent 50%,rgba(34,197,94,.1) 100%);animation:gradientShift 8s ease-in-out infinite}@keyframes gradientShift{0%,100%{opacity:.5;transform:translateX(-10%)}50%{opacity:1;transform:translateX(10%)}}.floating-shapes{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.floating-shape{position:absolute;opacity:.1;animation:float 20s ease-in-out infinite}.floating-shape:first-child{top:10%;left:10%;animation-delay:0s;animation-duration:25s}.floating-shape:nth-child(2){top:20%;right:15%;animation-delay:-5s;animation-duration:20s}.floating-shape:nth-child(3){bottom:20%;left:20%;animation-delay:-10s;animation-duration:22s}.floating-shape:nth-child(4){bottom:30%;right:10%;animation-delay:-7s;animation-duration:28s}.floating-shape:nth-child(5){top:50%;left:50%;animation-delay:-3s;animation-duration:24s}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-20px) rotate(5deg)}50%{transform:translateY(10px) rotate(-5deg)}75%{transform:translateY(-15px) rotate(3deg)}}.btn{position:relative;overflow:hidden;transform:translateY(0);transition:all .3s cubic-bezier(.4, 0, .2, 1)}.btn::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn:hover::after{width:300px;height:300px}.btn:active{transform:translateY(0)}.btn svg{transition:transform .3s ease}.btn:hover svg{transform:scale(1.1)}.btn-primary{box-shadow:0 0 0 0 rgba(22,101,52,.4)}.btn-primary:hover{box-shadow:0 4px 12px rgba(22,101,52,.3)}.calculator-link-card{position:relative;overflow:hidden}.calculator-link-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(22,101,52,.05),transparent);transition:left .5s ease}.calculator-link-card:hover::before{left:100%}.calculator-link-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px rgba(0,0,0,.15)}.calculator-link-card .card-icon{transition:transform .3s ease,background-color .3s ease}.calculator-link-card:hover .card-icon{transform:scale(1.1) rotate(-5deg);background-color:#dcfce7}.form-input{transition:all .3s ease}.form-input:focus{transform:translateY(-1px);box-shadow:0 4px 12px rgba(22,101,52,.1),0 0 0 3px rgba(22,101,52,.1)}.results-container{animation:slideUp .5s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-value{animation:popIn .4s cubic-bezier(.68,-.55,.265,1.55) .2s both}@keyframes popIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.size-detail-item{animation:fadeInLeft .4s ease forwards;opacity:0}.size-detail-item:first-child{animation-delay:.1s}.size-detail-item:nth-child(2){animation-delay:.2s}.size-detail-item:nth-child(3){animation-delay:.3s}.size-detail-item:nth-child(4){animation-delay:.4s}.size-detail-item:nth-child(5){animation-delay:.5s}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.section-divider{position:relative;height:80px;margin-top:-1px;overflow:hidden}.section-divider::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;clip-path:polygon(0 0,100% 0,100% 30%,0 100%)}.blob-decoration{position:absolute;border-radius:50%;filter:blur(40px);opacity:.5;pointer-events:none;z-index:0}.blob-primary{background:linear-gradient(135deg,rgba(22,101,52,.2),rgba(34,197,94,.1))}.blob-accent{background:linear-gradient(135deg,rgba(217,119,6,.15),rgba(245,158,11,.1))}.dots-pattern{background-image:radial-gradient(rgba(22,101,52,.1) 1px,transparent 1px);background-size:20px 20px}.icon-spin{animation:spin 8s linear infinite}.icon-spin:hover{animation-duration:2s}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(-360deg)}}.icon-pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.checkmark-animated{stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .5s ease forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.icon-bounce{animation:bounce .5s ease}@keyframes bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.arrow-bounce{animation:arrowBounce 1.5s ease-in-out infinite}@keyframes arrowBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}.feature-icon{transition:all .3s ease}.feature-card:hover .feature-icon{transform:translateY(-5px);box-shadow:0 8px 16px rgba(22,101,52,.2)}.feature-card{transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.calculating-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spinFast .8s linear infinite}@keyframes spinFast{to{transform:rotate(360deg)}}.fade-in-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in-on-scroll.visible{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease}.stagger-children.visible>:first-child{transition-delay:0.1s;opacity:1;transform:translateY(0)}.stagger-children.visible>:nth-child(2){transition-delay:0.2s;opacity:1;transform:translateY(0)}.stagger-children.visible>:nth-child(3){transition-delay:0.3s;opacity:1;transform:translateY(0)}.stagger-children.visible>:nth-child(4){transition-delay:0.4s;opacity:1;transform:translateY(0)}.stagger-children.visible>:nth-child(5){transition-delay:0.5s;opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.floating-shape{animation:none}.icon-spin{animation:none}}.dumpster-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;align-items:end}@media (max-width:640px){.dumpster-comparison{grid-template-columns:1fr;gap:1.5rem;align-items:stretch}}.dumpster-card{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1rem 1rem;text-align:center;transition:all .3s ease;position:relative;display:flex;flex-direction:column;align-items:center}.dumpster-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}.dumpster-card.recommended{border-color:var(--color-primary);background:linear-gradient(to bottom,#f0fdf4,var(--color-bg-card));transform:scale(1.02)}.dumpster-card.recommended::before{content:'RECOMMENDED';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .75rem;border-radius:9999px;letter-spacing:.05em}.dumpster-card.smaller{opacity:.9}.dumpster-card.larger{opacity:.9}.weight-warning-badge{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.375rem .75rem;margin-top:.5rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:9999px;font-size:.75rem;font-weight:500;color:#92400e}.weight-warning-badge svg{width:.875rem;height:.875rem;color:#d97706}.dumpster-card.has-weight-warning{border-color:#f59e0b}.dumpster-card.has-weight-warning::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.dumpster-size-label{font-size:1.5rem;font-weight:700;color:var(--color-text-dark);margin-bottom:.25rem}.dumpster-size-unit{font-size:.875rem;color:var(--color-text-light);margin-bottom:1rem}.dumpster-visual{position:relative;width:100%;max-width:200px;min-height:120px;margin:0 auto .75rem;display:flex;align-items:flex-end;justify-content:center}.dumpster-svg-3d{width:100%;height:100%;filter:drop-shadow(2px 4px 6px rgba(0, 0, 0, .15));transition:transform .3s ease,filter .3s ease}.dumpster-card:hover .dumpster-svg-3d{transform:translateY(-2px);filter:drop-shadow(3px 6px 10px rgba(0, 0, 0, .2))}.dumpster-card.recommended .dumpster-svg-3d{filter:drop-shadow(2px 4px 8px rgba(37, 99, 235, .25))}.dumpster-svg{width:100%;height:100%}.dumpster-body{fill:#475569;stroke:#334155;stroke-width:2}.dumpster-fill{transition:all .8s cubic-bezier(.4, 0, .2, 1);transform-origin:bottom}.fill-optimal{fill:url(#fillGradientGreen)}.fill-tight{fill:url(#fillGradientYellow)}.fill-overflow{fill:url(#fillGradientRed)}.fill-percentage{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.fill-percentage.optimal{color:#16a34a}.fill-percentage.tight{color:#ca8a04}.fill-percentage.overflow{color:#dc2626}.fill-status{font-size:.8rem;color:var(--color-text-medium);margin-bottom:.5rem}.metric-bars{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:var(--radius-md);margin:.75rem 0;width:100%;min-width:160px;align-self:stretch}.metric-row{display:flex;flex-direction:column;gap:.25rem}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--color-text-medium)}.metric-label-text{display:flex;align-items:center;gap:.35rem;font-weight:500}.metric-label-text svg{width:14px;height:14px;flex-shrink:0}.metric-value{font-weight:600;color:var(--color-text-dark)}.metric-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;position:relative}.metric-bar-fill{height:100%;border-radius:4px;transition:width .5s ease-out,background-color .3s ease}.metric-bar-fill.volume{background:linear-gradient(90deg,#64748b,#475569)}.metric-bar-fill.weight-optimal{background:linear-gradient(90deg,#22c55e,#16a34a)}.metric-bar-fill.weight-overage{background:linear-gradient(90deg,#f59e0b,#d97706)}.metric-bar-fill.weight-critical{background:linear-gradient(90deg,#ef4444,#dc2626)}.weight-status{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;margin-top:.25rem;width:fit-content}.weight-status.optimal{background:#dcfce7;color:#15803d}.weight-status.overage{background:#fef3c7;color:#b45309}.weight-status.critical{background:#fee2e2;color:#b91c1c}.weight-status svg{width:12px;height:12px}.dumpster-icon-simple{width:80px;height:60px;margin:.5rem auto}.dumpster-dimensions{font-size:.75rem;color:var(--color-text-light);border-top:1px solid var(--color-border);padding-top:.75rem;margin-top:.5rem}.dumpster-specs{font-size:.7rem;color:var(--color-text-light);border-top:1px solid var(--color-border);padding-top:.75rem;margin-top:.5rem}.dumpster-specs .spec-row{display:flex;justify-content:space-between;padding:.15rem 0}.dumpster-specs .spec-row span:first-child{color:#64748b}.dumpster-specs .spec-row span:last-child{font-weight:500;color:#475569}.multi-dumpster-info{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:var(--radius-md);padding:.5rem .75rem;margin:.5rem 0}.multi-dumpster-count{display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.9rem;font-weight:700;color:#92400e}.multi-dumpster-count svg{width:1rem;height:1rem;color:#d97706}.multi-dumpster-fill{font-size:.8rem;color:#92400e;margin-top:.25rem;font-weight:500}.debris-particle{position:absolute;opacity:0;animation:debrisFall .6s ease-out forwards}@keyframes debrisFall{0%{opacity:1;transform:translateY(-20px) rotate(0)}100%{opacity:.8;transform:translateY(0) rotate(15deg)}}@keyframes fillUp{from{transform:scaleY(0)}to{transform:scaleY(var(--fill-level,.75))}}.dumpster-fill-animated{animation:fillUp 1s cubic-bezier(.4,0,.2,1) forwards}.dumpster-card{animation:cardSlideIn .5s ease-out forwards;opacity:0}.dumpster-card:first-child{animation-delay:.1s}.dumpster-card:nth-child(2){animation-delay:.25s}.dumpster-card:nth-child(3){animation-delay:.4s}@keyframes cardSlideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dumpster-card.recommended{animation-delay:.25s}@keyframes cardSlideInRecommended{from{opacity:0;transform:translateY(20px) scale(1)}to{opacity:1;transform:translateY(0) scale(1.02)}}.dumpster-card.recommended{animation-name:cardSlideInRecommended}.dumpster-select-btn{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;border:none}.dumpster-card.recommended .dumpster-select-btn{background:var(--color-primary);color:#fff}.dumpster-card.recommended .dumpster-select-btn:hover{background:var(--color-primary-dark)}.dumpster-card:not(.recommended) .dumpster-select-btn{background:var(--color-bg-primary);color:var(--color-text-medium);border:1px solid var(--color-border)}.dumpster-card:not(.recommended) .dumpster-select-btn:hover{background:var(--color-border)}.visual-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:.5rem}@media (max-width:640px){.visual-selector{grid-template-columns:repeat(2,1fr)}}.selector-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:center}.selector-card:hover{border-color:var(--color-primary-light);background:#f0fdf4}.selector-card:hover .selector-icon{transform:scale(1.1)}.selector-card.selected{border-color:var(--color-primary);background:linear-gradient(to bottom,#f0fdf4,#dcfce7);box-shadow:0 0 0 3px rgba(22,101,52,.15)}.selector-card.selected::after{content:'';position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.selector-card.selected::before{content:'✓';position:absolute;top:8px;right:8px;width:20px;height:20px;color:#fff;font-size:12px;font-weight:700;z-index:1;display:flex;align-items:center;justify-content:center}.selector-icon{width:48px;height:48px;margin-bottom:.5rem;transition:transform .2s ease}.selector-icon svg{width:100%;height:100%}.selector-label{font-size:.875rem;font-weight:600;color:var(--color-text-dark);margin-bottom:.25rem}.selector-card.selected .selector-label{color:var(--color-primary-dark)}.selector-desc{font-size:.7rem;color:var(--color-text-light);line-height:1.3}.selector-card input[type=radio]{position:absolute;opacity:0;width:0;height:0}.selector-card:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.selector-card.disabled{opacity:.5;cursor:not-allowed}.selector-card.disabled:hover{border-color:var(--color-border);background:var(--color-bg-card)}@keyframes selectPop{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.selector-card.selected{animation:selectPop .3s ease}.category-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:.5rem}@media (max-width:640px){.category-selector{grid-template-columns:repeat(2,1fr)}}.category-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem .5rem;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:center}.category-card:hover{border-color:var(--color-primary-light);background:#f0fdf4}.category-card:hover .category-icon{transform:scale(1.1)}.category-card.selected{border-color:var(--color-primary);background:linear-gradient(to bottom,#f0fdf4,#dcfce7);box-shadow:0 0 0 3px rgba(22,101,52,.15)}.category-icon{width:40px;height:40px;margin-bottom:.5rem;transition:transform .2s ease}.category-icon svg{width:100%;height:100%}.category-label{font-size:.85rem;font-weight:600;color:var(--color-text-dark)}.category-card.selected .category-label{color:var(--color-primary-dark)}.sub-options-container{margin-top:1rem;padding:1rem;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-lg);display:none;animation:slideDown .3s ease}.sub-options-container.visible,.sub-options-container:not(.hidden){display:block}.sub-options{display:none}.sub-options.active{display:flex;flex-wrap:wrap;gap:.5rem;animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}#project-size-section{overflow:hidden;transition:opacity .3s ease,max-height .3s ease;max-height:500px;opacity:1}#project-size-section.hidden{max-height:0;opacity:0;margin:0;padding:0}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sub-options-label{font-size:.8rem;font-weight:500;color:var(--color-text-light);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.sub-options-pills{display:flex;flex-wrap:wrap;gap:.5rem}.sub-option-pill{position:relative;display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:9999px;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:var(--color-text-dark)}.sub-option-pill:hover{border-color:var(--color-primary-light);background:#f0fdf4}.sub-option-pill.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.sub-option-pill.selected::before{content:'✓';margin-right:.5rem;font-size:.75rem}.sub-option-pill input[type=radio]{position:absolute;opacity:0;width:0;height:0}.sub-option-pill:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes pillPop{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.sub-option-pill.selected{animation:pillPop .2s ease}.category-card{animation:fadeIn .3s ease forwards;opacity:0}.category-card:first-child{animation-delay:50ms}.category-card:nth-child(2){animation-delay:.1s}.category-card:nth-child(3){animation-delay:.15s}.category-card:nth-child(4){animation-delay:.2s}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.category-card:focus,.selector-card:focus,.sub-option-pill:focus{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 6px rgba(22,101,52,.15)}.category-card:focus:not(:focus-visible),.selector-card:focus:not(:focus-visible),.sub-option-pill:focus:not(:focus-visible){outline:0;box-shadow:none}.category-card:focus-visible,.selector-card:focus-visible,.sub-option-pill:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 6px rgba(22,101,52,.15)}@media (forced-colors:active){.category-card.selected,.selector-card.selected,.sub-option-pill.selected{border:3px solid CanvasText;forced-color-adjust:none}.category-card:focus,.selector-card:focus,.sub-option-pill:focus{outline:3px solid Highlight}.btn-primary{background-color:Highlight;color:HighlightText}}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);z-index:9999;text-decoration:none;font-weight:600;transition:top .2s ease}.skip-link:focus{top:1rem}@media (max-width:640px){.category-card,.selector-card{min-height:80px;padding:.75rem}.sub-option-pill{min-height:44px;padding:.75rem 1.25rem}}.form-hint,.selector-desc{color:#475569}.category-card.selected .category-icon,.selector-card.selected .selector-icon{transform:scale(1.1)}.category-card.selected,.selector-card.selected{transition:all .2s ease}.visual-selector{gap:1rem}@media (max-width:640px){.visual-selector{gap:.75rem}}#sr-announcer{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.input-mode-toggle{display:inline-flex;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:4px;gap:4px}.mode-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-medium);background:0 0;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.mode-btn:hover{color:var(--color-text-dark);background:rgba(22,101,52,.05)}.mode-btn.active{color:var(--color-primary-dark);background:var(--color-bg-card);box-shadow:var(--shadow-sm)}.mode-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mode-btn svg{width:1rem;height:1rem}.exact-input-container{animation:fadeIn .3s ease}.exact-input-container input[type=number]{font-family:inherit}.exact-input-container input[type=number]:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(22,101,52,.1)}.exact-input-container input[type=number]::-webkit-inner-spin-button,.exact-input-container input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.exact-input-container input[type=number]{-moz-appearance:textfield}#sqft-range-indicator{animation:fadeIn .3s ease}#sqft-range-indicator .text-xs{font-size:.7rem}@media (max-width:480px){.input-mode-toggle{width:100%;justify-content:center}.mode-btn{flex:1;justify-content:center;padding:.5rem .75rem;font-size:.8rem}.mode-btn svg{display:none}}@media (max-width:640px){#quick-project-type{font-size:16px;padding:1rem;min-height:56px}#calc-mode-advanced,#calc-mode-quick{font-size:.875rem;padding:.75rem .5rem}.results-container{padding:1rem}.results-container .results-title{font-size:.75rem}.dumpster-card{padding:1rem .75rem}.dumpster-size-label{font-size:1.25rem}.dumpster-visual{max-width:160px;min-height:100px}.fill-percentage{font-size:1.1rem}#size-details{padding:.75rem}#size-details h3{font-size:.95rem}.btn{padding:1rem 1.5rem;font-size:1rem}.content-section{margin-top:2rem;padding-top:1.5rem}.content-section h2{font-size:1.25rem}.content-section h3{font-size:1.1rem}.overflow-x-auto{-webkit-overflow-scrolling:touch}}@media (max-width:380px){.visual-selector{grid-template-columns:1fr 1fr}.selector-card{padding:.75rem .5rem}.selector-icon{width:40px;height:40px}.selector-label{font-size:.8rem}.selector-desc{font-size:.65rem}.category-selector{grid-template-columns:repeat(2,1fr);gap:.5rem}.category-card{padding:.75rem .5rem}.category-icon{width:32px;height:32px}.category-label{font-size:.75rem}}@media (hover:none) and (pointer:coarse){.btn:hover{transform:none}.calculator-link-card:hover{transform:none}.sub-option-pill{min-height:48px;padding:.75rem 1.25rem}.category-card:active,.selector-card:active{transform:scale(.98);background:#dcfce7}.btn:active{transform:scale(.98)}}.zipcode-pricing-section{background:linear-gradient(135deg,rgba(34,197,94,.05) 0,rgba(34,197,94,.1) 100%);border:1px solid rgba(34,197,94,.2)}.zipcode-pricing-section input{font-variant-numeric:tabular-nums}.zipcode-pricing-section input:focus{outline:0;ring:2px}.dumpster-pricing{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);text-align:center}.pricing-label{font-size:.7rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.pricing-value{font-size:1rem;font-weight:600;color:var(--color-text);min-height:1.5rem}.price-range{color:var(--color-primary)}.price-placeholder{font-size:.75rem;font-weight:400;color:var(--color-text-light);font-style:italic}.get-quote-btn{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;margin-top:.75rem;padding:.75rem 1.5rem;font-size:1.125rem;font-weight:600;text-align:center;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;border:none}.get-quote-btn.primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px rgba(34,197,94,.3)}.get-quote-btn.primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px rgba(34,197,94,.4)}.get-quote-btn.secondary{background:#fff;color:var(--color-primary);border:2px solid var(--color-primary)}.get-quote-btn.secondary:hover{background:rgba(34,197,94,.1);transform:translateY(-1px)}.get-quote-btn:active{transform:scale(.98)}.dumpster-card.recommended .get-quote-btn.primary{padding:.75rem 1rem;font-size:.9375rem}@media (max-width:640px){.get-quote-btn{padding:.75rem 1rem;font-size:.9375rem}}.pricing-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;position:relative;transition:all .2s ease}.pricing-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(0,0,0,.1)}.pricing-card.recommended{border-color:var(--color-primary);border-width:2px;background:linear-gradient(to bottom,rgba(34,197,94,.05),#fff)}.pricing-card-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:600;padding:.25rem .75rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.pricing-card-size{font-size:1.125rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem;margin-top:.5rem}.pricing-card-price{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:.75rem}.pricing-card-details{font-size:.75rem;color:var(--color-text-light);margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem}.pricing-card .get-quote-btn{margin-top:0}.zipcode-input-row{background:linear-gradient(135deg,rgba(34,197,94,.05) 0,rgba(34,197,94,.1) 100%);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-lg);padding:1rem 1.25rem}@media (max-width:640px){.pricing-card{padding:1rem}.pricing-card-price{font-size:1.25rem}.zipcode-input-row{padding:.75rem 1rem}}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;padding:1rem}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:420px;width:100%;padding:2rem;transform:scale(.95);transition:transform .2s ease;text-align:center}.modal-overlay.active .modal-content{transform:scale(1)}.modal-icon{width:64px;height:64px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-icon svg{width:32px;height:32px;color:#d97706}.modal-title{font-size:1.25rem;font-weight:700;color:var(--color-text-dark);margin-bottom:.75rem}.modal-message{font-size:.95rem;color:var(--color-text-medium);line-height:1.6;margin-bottom:1.5rem}.modal-divider{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;color:var(--color-text-light);font-size:.85rem}.modal-divider::after,.modal-divider::before{content:'';flex:1;height:1px;background:var(--color-border)}.modal-affiliate-btn{display:block;width:100%;padding:.875rem 1.5rem;background:var(--color-primary);color:#fff;font-weight:600;font-size:1rem;border:none;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background .2s ease;margin-bottom:.75rem}.modal-affiliate-btn:hover{background:var(--color-primary-dark)}.modal-close-btn{display:block;width:100%;padding:.75rem 1.5rem;background:0 0;color:var(--color-text-light);font-weight:500;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{background:var(--color-bg-primary);color:var(--color-text-medium)}.modal-partner-note{font-size:.75rem;color:var(--color-text-light);margin-top:1rem}.zipcode-error span{background:#fef2f2!important;color:#dc2626!important}.zipcode-error .text-primary{color:#dc2626!important}@keyframes spinSmooth{to{transform:rotate(360deg)}}input.border-red-400{border-color:#f87171!important;box-shadow:0 0 0 3px rgba(248,113,113,.2)}