/* Consistent contrast, readable controls and bounded overlays across every page. */
[hidden]{display:none!important}body{font-size:1rem}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}input,select,textarea{max-width:100%}input[type=checkbox],input[type=radio]{flex-shrink:0;accent-color:#047857}
:focus-visible{outline:3px solid #0d9a73;outline-offset:3px}.admin-body :focus-visible,.calc-wrapper :focus-visible{outline-color:#6ee7b7}
.language-toggle{color:#fff;background:#15372b;border:1px solid #719b89;border-radius:8px;min-height:42px;padding:.55rem .8rem;white-space:nowrap;font-size:.875rem;cursor:pointer}.nav>.language-toggle{margin-left:auto}.admin-sidebar>.language-toggle{margin:1rem;width:calc(100% - 2rem)}
.nav{gap:.7rem}.nav-links{gap:.7rem}.nav-links a{white-space:nowrap;font-size:.875rem;line-height:1.3}.nav .brand{flex:0 0 165px}.nav .button{font-size:.875rem;line-height:1.3;white-space:nowrap;padding:.7rem 1rem}
.story-section .section-copy .live-badge,.services-section .live-badge,.contact-section .live-badge{background:#d9f3e7;color:#145c40;border-color:#69b99a}.story-section .section-copy{color:#142b20}.story-section .section-copy h2{color:#142b20}.glass-card p{background:none;box-shadow:none;border:0;padding:0}
.button-emerald,.action-btn.primary,.dock-action-btn.book{background:#047857;color:#fff!important}.button-emerald:hover,.action-btn.primary:hover,.dock-action-btn.book:hover{background:#065f46;color:#fff!important}.button-blue,.button-primary{background:#0876a3;color:#fff}.button-offer{color:#1c271e}
.live-badge{font-size:.875rem}.section:not(.yard-planner-section)>.live-badge,.page-section .live-badge{color:#12623f;background:#daf3e7}.admin-body .live-badge,.calc-wrapper .live-badge,.hero .live-badge{color:#b0f3d2;background:#123b29}
.modal-overlay{display:none;position:fixed;inset:0;background:#06120ddd;z-index:10000;padding:1rem;align-items:center;justify-content:center;backdrop-filter:blur(5px)}.modal-overlay.active{display:flex}.emergency-modal-content{position:relative;width:min(100%,650px);max-height:calc(100dvh - 2rem);overflow:auto;padding:2rem;color:#172b25;background:#fff;box-shadow:0 25px 70px #0008}.modal-close{position:absolute;right:1rem;top:1rem;width:42px;height:42px;border-radius:50%;border:1px solid #9caea4;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer}.emergency-modal-content h3{padding-right:2rem}.emergency-modal-content .button{white-space:normal}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-group{min-width:0;margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-size:.9375rem}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{width:100%;min-height:44px;padding:.65rem .8rem;border:1px solid #a5b6ae;border-radius:8px;color:#102f21;background:#fff;font-size:1rem}.admin-body .form-group input,.admin-body .form-group textarea,.admin-body .form-group select{color:#f1f5f9;background:#081710;border-color:#597568}.admin-body .form-group label{color:#d8e9e0}.admin-body option{background:#081710;color:#f1f5f9}
.admin-header{flex-wrap:wrap;gap:1rem}.admin-header>div:last-child{flex-wrap:wrap}.admin-table-card{overflow-x:auto}.admin-table{min-width:700px}.admin-table th{white-space:nowrap}.admin-table td{font-size:.9375rem;vertical-align:top}.admin-table td:last-child{min-width:150px}.admin-table .action-btn{margin:.2rem;min-height:38px;font-size:.875rem}.admin-table-toolbar{gap:1rem;flex-wrap:wrap}.admin-body h1{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2}.admin-body .block-item-card{align-items:flex-start;gap:1rem;flex-wrap:wrap}.admin-body .block-info{flex:1;min-width:200px}.admin-body .block-info input{color:#0b281d!important;background:#fff!important;border:1px solid #6a907f}.admin-body .block-item-card label{color:#e2f1ea}.admin-body .block-item-card button{min-width:40px;min-height:40px}.admin-body .block-item-card input[type=checkbox]{width:20px;height:20px}
.pricing-panel{color:#e4eee9}.pricing-panel input:not([type=checkbox]),.pricing-panel select{min-height:44px;width:100%;color:#f2fff9;background:#081710;border:1px solid #597568;border-radius:8px;padding:.65rem .7rem}.pricing-panel label{color:#d4eade;font-size:.9375rem}.pricing-panel fieldset{border:1px solid #496759;margin:1rem 0}.pricing-panel legend{color:#c7f0dd}.pricing-preview{position:static!important}.pricing-preview-result{font-size:clamp(1.3rem,2vw,1.9rem)!important;line-height:1.3}.pricing-ledger>div{flex-wrap:wrap;gap:.4rem}.pricing-ledger dt{max-width:100%}.pricing-ledger dd{margin-left:auto}.pricing-grid{align-items:end}#dimensions-form{border-top:1px solid #496759;padding-top:1.2rem}.increment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.increment-grid label{font-size:.875rem}.increment-table{padding:.8rem 0}.service-admin-row{display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(150px,1.3fr) auto;gap:.8rem;align-items:end;padding:1rem 0;border-bottom:1px solid #496759}.service-admin-row label{display:block}.service-admin-row label:first-child{display:flex;align-items:center;gap:.5rem}.job-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.job-summary-grid>div{padding:.8rem;background:#081710;border:1px solid #315647;border-radius:8px}.job-summary-grid span{display:block;color:#c4dace;font-size:.875rem}.job-summary-grid strong{display:block;color:#92edc4;font-size:1.2rem;margin-top:.4rem;font-variant-numeric:tabular-nums}
.calc-exact-input{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#cbe8dc;font-size:.9375rem;margin-top:.5rem}.calc-exact-input input{width:7rem;background:#081710;color:#fff;border:1px solid #5c8d76;border-radius:8px;padding:.45rem .7rem;min-height:40px}.calc-service-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.calc-tab-btn{white-space:normal;font-size:.9375rem;line-height:1.35;min-height:48px}.calc-tab-btn.active{background:#047857;color:#fff}.calc-range-display{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.25}.calc-toggles label{color:#e4f4ed;gap:1rem}.time-slot-btn{white-space:normal;line-height:1.45;font-size:1rem;color:#22382f}.time-slot-btn span{display:block}.wizard-step-node{font-size:.875rem;gap:.5rem}.wizard-steps{flex-wrap:wrap}.floating-dock{animation:none}
.address-suggestions{position:relative}.address-list{position:absolute;top:0;width:100%;z-index:20;background:#fff;color:#152b20;border:1px solid #688a79;border-radius:8px;max-height:230px;overflow:auto;box-shadow:0 10px 30px #0004}.address-list [role=option]{padding:.8rem;cursor:pointer;border-bottom:1px solid #d6e2dc;line-height:1.45;font-size:.9375rem}.address-list [role=option]:hover,.address-list [aria-selected=true]{background:#dff3e9}.address-note{font-size:.875rem;line-height:1.45;color:#526960;margin:.3rem 0}.address-note a{color:#0b6a48;text-decoration:underline}.admin-body .address-note{color:#c8dfd3}.admin-body .address-note a{color:#9cedc8}.address-list [role=option]{color:#152b20!important}
@media(max-width:1440px){.nav{position:relative;flex-wrap:wrap;padding:.6rem 0}.menu-toggle{display:block;margin-left:auto}.nav-links{position:absolute;top:100%;right:0;left:0;display:none;flex-direction:column;align-items:stretch;padding:.5rem;background:#07110f;box-shadow:0 12px 22px #0005;z-index:50}.nav-links.is-open{display:flex}.nav-links a{padding:.8rem;white-space:normal}.nav>.language-toggle{margin-left:0}}
@media(max-width:1200px){.service-admin-row{grid-template-columns:1fr 1fr}.job-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.nav{gap:.45rem}.nav .brand{flex-basis:120px;height:42px}.nav .button{display:none}.nav-links .button{display:inline-flex}.top-strip{flex-wrap:wrap;gap:.4rem;font-size:.875rem}.top-strip span{white-space:normal;text-align:center}.form-row,.pricing-grid,.service-admin-row{grid-template-columns:1fr}.increment-grid,.job-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-panel{padding:1rem}.modal-content,.emergency-modal-content{padding:1.5rem 1rem}.modal-content h3,.modal-content h2{padding-right:2.3rem}.floating-dock{gap:.3rem}.dock-action-btn{padding:.55rem .75rem;font-size:.875rem}.emergency-step-box{gap:.6rem}.admin-header p{line-height:1.55}.wizard-body{padding:1.2rem}.calc-controls,.calc-output-card{padding:1.25rem}.calc-output-card{position:static}.section-copy h2{font-size:clamp(1.5rem,6vw,2.3rem);line-height:1.2}.pricing-label-row{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
.pricing-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #48897d;border-radius:50%;color:#b4ffe4;background:#123c2d;cursor:help;vertical-align:middle;margin-left:.35rem}.increment-row{color:#d8ece0;font-size:.9375rem}.increment-row [data-acre-units]{margin:.35rem 0}.increment-row .action-btn{margin-top:.4rem}.admin-body .pricing-panel .pricing-unit-field input{border:0;border-radius:0}.admin-body .pricing-panel .pricing-unit-field{margin-top:.4rem}
.nav-call{background:#0876a3;color:#fff;white-space:nowrap;flex-shrink:0;font-size:.9375rem}.nav-call:hover,.nav-call:focus{background:#075675;color:#fff}.button-cyan{background:#0369a1}.button-cyan:hover{background:#075985}.modal-error{border:1px solid #f7adad;color:#ffe1e1;background:#4b1720;padding:.8rem;border-radius:8px;line-height:1.5}
[style*="font-size: 0.7"],[style*="font-size:0.7"],[style*="font-size: 0.8"],[style*="font-size:0.8"]{font-size:.875rem!important}
.automatic-language-status { position:fixed; bottom:1rem; right:1rem; z-index:1200; display:flex; align-items:center; gap:1rem; width:min(30rem,calc(100vw - 2rem)); padding:1rem; border:1px solid #10b981; border-radius:.75rem; background:#10251c; color:#f0fdf4; box-shadow:0 12px 36px #0005; font-size:1rem; }
.automatic-language-status[hidden] { display:none; }
.automatic-language-status button { border:1px solid #6ee7b7; background:#065f46; color:white; border-radius:.4rem; padding:.6rem .8rem; cursor:pointer; font:inherit; }
.translation-settings p { max-width:65rem; line-height:1.6; }
.translation-settings [role=status] { color:#a7f3d0; font-weight:600; }

/* English and Spanish share the same content widths and native control sizing. */
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-width:20px;padding:0;margin:0;vertical-align:middle}
.pricing-check,.service-admin-row label:first-child{display:flex;align-items:center;gap:.65rem;white-space:normal;min-width:0}
.pricing-check{margin:.75rem 0}
.top-strip-left{flex-wrap:wrap;min-width:0;gap:.5rem 1rem}
.footer{grid-template-columns:minmax(0,1.25fr) minmax(0,1.15fr) minmax(0,1fr);align-items:start}
.footer>div{min-width:0}.footer img{height:auto!important;object-fit:contain}
.footer-links{align-content:start}.footer a{overflow-wrap:anywhere}
.prep-list li{padding-left:2.2rem}
.nav-links.is-open{overflow-y:auto}
.schedule-footer{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr)}
.blog-hero h1{margin:.5rem auto}
.blog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}
.blog-card-meta{flex-wrap:wrap;gap:.5rem}.blog-card-meta>span:first-child{color:#047857!important}
.blog-card-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;flex-wrap:wrap}
.blog-card-footer span{min-width:0;font-size:.875rem;color:#52645a}
.blog-card-footer a{color:#047857;font-weight:700;white-space:nowrap;flex-shrink:0}
.blog-filter-pill.active,.blog-filter-pill:hover{background:#047857;color:#fff}
.post-detail-shell .live-badge{color:#145c40;background:#d9f3e7;border-color:#69b99a}
.roadmap-list>li>span,.steps-list>li>span,.step-card>span,.process-card>span{color:#8a5800}
.quote-form>label{display:flex;flex-direction:column;justify-content:space-between}
.quote-form input,.quote-form select{height:54px;flex-shrink:0}
.quote-form textarea{flex:1}
.calc-grid>*{min-width:0}.calc-group-label{flex-wrap:wrap;gap:.5rem}
.calc-group-label span.highlight{color:#6ee7b7;flex-shrink:0}
.calc-range-slider{height:32px;padding:0;border:0;background:transparent;border-radius:5px;appearance:none;-webkit-appearance:none}
.calc-range-slider::-webkit-slider-runnable-track{height:8px;border-radius:5px;background:#32604e}
.calc-range-slider::-webkit-slider-thumb{margin-top:-8px;background:#10b981}
.calc-range-slider::-moz-range-track{height:8px;border-radius:5px;background:#32604e}
.calc-range-slider::-moz-range-thumb{width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#10b981}
.calc-range-limits{display:flex;justify-content:space-between;gap:1rem;color:#b5c8bd;font-size:.875rem;margin-top:.25rem}
.calc-range-limits span:last-child{text-align:right}
label.time-slot-btn:has(input[type=radio]){display:grid;grid-template-columns:20px minmax(0,1fr);gap:.5rem .7rem;align-content:start;text-align:left}
label.time-slot-btn input{grid-column:1;grid-row:1 / span 2;margin-top:.2rem}
label.time-slot-btn strong,label.time-slot-btn span{grid-column:2}
label.time-slot-btn:has(input:checked){border-color:#047857;background:#e3f5ec;box-shadow:0 0 0 1px #047857}
.admin-main{min-width:0}.admin-header p{color:#b5c8bd}
.admin-section-back{display:none}
@media(max-width:950px){.admin-section-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:1rem;color:#b4ffe4;text-decoration:underline}}
.admin-table select{min-width:11rem;padding:.5rem .6rem}
.admin-table td:has(select){min-width:12rem}
#tab-schedule .admin-table{min-width:1200px}#tab-dashboard .admin-table{min-width:950px}
#tab-schedule .admin-table td:nth-child(3){min-width:170px}#tab-schedule .admin-table td:nth-child(4),#tab-schedule .admin-table td:nth-child(5){min-width:180px}
.admin-table-hint{display:none;margin:.75rem 1.25rem;color:#c4dace;font-size:.875rem}
@media(max-width:950px){.admin-table-hint{display:block}}
.portal-page{display:flex;flex-direction:column;min-height:100dvh}.portal-page>main{flex:1}
.portal-intro{max-width:800px;margin:0 auto 1.5rem}.portal-intro h1{font-size:clamp(1.8rem,4vw,2.7rem)}
.portal-intro p{color:#475569}.portal-lookup-field{flex:1;min-width:0}.portal-lookup-field input{width:100%}
.portal-search-bar{align-items:end}.portal-search-bar button{flex-shrink:0}
.portal-payment-actions .button-ghost{color:#145c40;border-color:#6a907f;background:transparent}
.portal-payment-actions .button-ghost:hover{background:#e3f5ec;color:#145c40}
.portal-item-scroll{overflow-x:auto}.portal-line-items{min-width:500px}
.portal-invoice-body{overflow-wrap:anywhere}.portal-totals-box>div{max-width:100%}
@media(max-width:950px){.admin-main{padding:1.25rem}.admin-sidebar{padding:1.25rem}.admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.admin-nav-item{padding:.7rem;min-height:48px}.admin-sidebar>.language-toggle{margin:0;width:max-content}.footer,.schedule-footer{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.footer,.schedule-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:600px){.top-strip-left{justify-content:flex-start}.top-strip span{text-align:left}.top-strip .live-badge{white-space:normal}.top-strip-left>span{max-width:100%}.calc-wrapper{padding:1.5rem 1rem;margin:1.5rem auto}.calc-controls{padding:0}.calc-group{padding:1rem}.calc-header h2{font-size:1.85rem}.calc-header{margin-bottom:1.5rem}.calc-grid{gap:1.5rem}.calc-toggles label{align-items:flex-start}.portal-search-bar{flex-direction:column;align-items:stretch}.portal-invoice-header{padding:1.25rem;flex-wrap:wrap;gap:1rem}.portal-invoice-header>div:last-child{text-align:left!important}.portal-invoice-body{padding:1.25rem}.portal-invoice-body>div:first-child{grid-template-columns:1fr!important;gap:1rem!important}.portal-invoice-body>div:first-child>div:last-child{text-align:left!important}.portal-payment-actions .button,.portal-payment-actions .button-emerald{display:flex;margin-top:.75rem;justify-content:center}.blog-card-body{padding:1.2rem}.automatic-language-status{padding:.75rem;gap:.6rem;font-size:.875rem}.admin-nav-item{font-size:.875rem}.quote-form>label{gap:.4rem}}

.emergency-strip{flex-wrap:wrap}.emergency-strip a[href^="tel:"]{white-space:nowrap}
@media(max-width:600px){body:has(.floating-dock) .footer,body:has(.mobile-contact-bar) .footer{padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.floating-dock{bottom:calc(10px + env(safe-area-inset-bottom))}.floating-dock .dock-action-btn{justify-content:center;text-align:center}.floating-dock .dock-action-btn.call{white-space:nowrap}.emergency-strip{gap:.5rem 1rem;padding:.75rem 1rem}.emergency-strip>span{width:100%;text-align:center}}

.wizard-actions{gap:1rem;flex-wrap:wrap}.wizard-actions .button-ghost{white-space:nowrap}.wizard-actions button{max-width:100%}
@media(max-width:600px){.wizard-actions{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:.75rem}.wizard-actions button{padding:.8rem .7rem;font-size:.9375rem}.wizard-actions .button-ghost{min-width:90px}}

@media(min-width:1441px){.nav{width:min(100% - 4rem,1440px)}}

/* Never show text/SMS option on desktop / non-mobile browser views */
@media (min-width: 769px) {
  .nav-text, a[href^="sms:"].nav-text {
    display: none !important;
  }
}
