@import url("./message-wrapping.css?v=20261002-3");
:root {
  --navy:#041957;
  --royal:#0752cc;
  --sky:#21a6ff;
  --gold:#ffd100;
  --white:#ffffff;
  --ink:#102044;
  --muted:#000000;
  --pale:#f4f8ff;
  --line:#dbe6f5;
}

/* Homepage focus and customer proof */
.homepage #government,
.homepage #careers,
.homepage #payment,
.homepage #customer-policies,
.homepage #privacy{display:none}
.customer-proof-grid{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.customer-proof-grid article{display:grid;gap:6px;padding:18px;border:1px solid #d7dfec;border-top:5px solid var(--gold);border-radius:14px;background:#fff}
.customer-proof-grid strong{color:var(--navy);font-size:1rem}
.customer-proof-grid span{color:#000000;line-height:1.5}
.workflow-page .section-title>h1{margin:0 0 12px;color:var(--navy);font-size:clamp(34px,4vw,54px);line-height:1.05}
@media(max-width:760px){.customer-proof-grid{grid-template-columns:1fr}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
button,input,select,textarea{font:inherit}
#quote-street{text-transform:capitalize}
.quote-address-fields{display:contents}
.state-abbreviation-field{position:relative;justify-self:start;width:5rem;max-width:100%}
.state-input-wrap{position:relative;width:5rem;max-width:100%}
.state-abbreviation-field input{width:5rem;max-width:100%;padding-left:10px;padding-right:26px;text-transform:uppercase}
.state-menu-toggle{position:absolute;top:50%;right:3px;width:24px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--navy);font-size:1rem;font-weight:900;line-height:1;transform:translateY(-50%);cursor:pointer}
.state-menu-toggle:hover{background:#eaf2ff}
.state-abbreviation-field .field-help{display:block;margin-top:4px;color:#000000;font-size:.72rem;line-height:1.2;white-space:nowrap}
.state-suggestions{position:absolute;z-index:120;top:calc(100% + 5px);left:0;width:230px;max-width:min(230px,calc(100vw - 48px));max-height:190px;overflow:auto;padding:4px;border:1px solid #b9c8df;border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(4,25,87,.16)}
.state-suggestions[hidden]{display:none}
.state-suggestion{display:block;width:100%;padding:7px 9px;border:0;border-radius:5px;background:#fff;color:#000;text-align:left;font-size:.84rem;font-weight:700;line-height:1.2;cursor:pointer}
.state-suggestion:hover,.state-suggestion.is-active{background:#eaf2ff;color:var(--navy)}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:20000;padding:12px 18px;border-radius:8px;background:var(--gold);color:var(--navy);font-weight:900;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--royal);outline-offset:2px}
.container{width:calc(100% - clamp(32px,4vw,72px));max-width:1600px;margin-inline:auto}
.eyebrow{color:var(--royal);font-size:13px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.section{padding:88px 0}
.section-title{max-width:780px;margin-bottom:34px}
.section-title h2{margin:8px 0 15px;font-size:clamp(36px,4.8vw,58px);line-height:1.05;color:var(--navy)}
.section-title p{margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border:2px solid transparent;border-radius:9px;font-weight:900;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-blue{background:var(--royal);color:#fff}
.btn-outline{background:#fff;border-color:var(--royal);color:var(--royal)}

/* TOP BAR + HEADER */
.topbar{background:var(--navy);color:#fff;font-size:14px}
.topbar-inner{min-height:42px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.topbar-inner>span{display:inline-flex;align-items:center;min-height:42px}
.topbar a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-weight:800}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);box-shadow:0 6px 24px rgba(4,25,87,.12);backdrop-filter:blur(10px)}
.header-inner{min-height:92px;display:flex;align-items:center;gap:12px}
.brand-logo{position:relative;display:flex;align-items:center;width:205px;max-width:23vw;flex:0 0 auto}
.brand-logo::after,.page-popup-brand::after{content:"™";position:absolute;right:.15em;bottom:calc(22% - 0.1in);color:var(--navy);font-size:14px;font-weight:1000;line-height:1}
.brand-logo img{display:block;width:100%;height:auto}
.site-nav{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:6px 8px;min-width:0;flex:1;transform:translateY(4px)}
.site-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;border-radius:8px;font-size:13px;font-weight:900;line-height:1.2;text-decoration:none;text-transform:uppercase;color:var(--navy);white-space:nowrap;transition:background .2s ease,color .2s ease}
.site-nav a[href="#reviews"]{padding:8px 10px;border-radius:8px}
.site-nav a:hover,.site-nav a:focus-visible{background:transparent;color:var(--gold)}
.site-nav a:focus-visible{outline:3px solid var(--royal);outline-offset:2px}
.site-nav a[aria-current="page"]{padding:8px 10px;border:2px solid var(--gold);border-radius:999px;background:#fff9df;color:var(--navy)}
.site-nav a[aria-current="page"]:hover,.site-nav a[aria-current="page"]:focus-visible{background:var(--gold);color:var(--navy)}
.nav-toggle{display:none;min-width:48px;min-height:48px;padding:8px 12px;border:2px solid var(--royal);border-radius:9px;background:#fff;color:var(--navy);font-weight:900;cursor:pointer}
.nav-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.header-quote{flex:0 0 auto;padding-right:16px;padding-left:16px;white-space:nowrap}
.workflow-quote .header-quote{display:none}

/* HERO */
.hero{position:relative;min-height:720px;overflow:hidden;background:url("/assets/scrubberdo-hero-clean.webp") center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.82) 34%,rgba(255,255,255,.30) 47%,rgba(255,255,255,.04) 56%,rgba(255,255,255,0) 66%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 88%);mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 88%)}
.hero-content{position:relative;z-index:2;padding-top:145px}
.hero-copy{max-width:580px;transform:none}
.hero h1{margin:0;font-size:clamp(48px,5.8vw,76px);line-height:.95;text-transform:uppercase;color:var(--navy)}
.hero h1 span{display:block;color:var(--royal)}
.hero-lead{max-width:520px;margin:20px 0;color:#000000;font-size:18px;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 30px}
.hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:700px;transform:translateY(-18px)}
.hero-trust div{padding:16px;border:1px solid rgba(7,82,204,.17);border-radius:12px;background:rgba(255,255,255,.90);box-shadow:0 10px 25px rgba(4,25,87,.08)}
.hero-trust strong{display:block;color:var(--royal);font-size:16px}
.hero-trust span{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.journey-hub{padding:52px 0 64px;background:#fff}
.journey-heading{max-width:760px;margin:0 auto 28px;text-align:center}
.journey-heading h2{margin:8px 0 12px;color:var(--navy);font-size:clamp(32px,4vw,48px)}
.journey-heading p{margin:0;color:var(--muted);font-size:17px;line-height:1.6}
.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.journey-card{display:flex;flex-direction:column;min-height:220px;padding:24px;border:1px solid var(--line);border-top:5px solid var(--royal);border-radius:16px;background:var(--pale);text-decoration:none;box-shadow:0 12px 30px rgba(4,25,87,.08);transition:transform .2s ease,box-shadow .2s ease}
.journey-card:hover,.journey-card:focus-visible{transform:translateY(-5px);box-shadow:0 20px 40px rgba(4,25,87,.14);outline:3px solid rgba(7,82,204,.22);outline-offset:3px}
.journey-card strong{display:block;margin-bottom:9px;color:var(--navy);font-size:20px}
.journey-card span{color:var(--muted);line-height:1.55}
.journey-card b{margin-top:auto;padding-top:18px;color:var(--royal)}
.licensed-badge-slot{display:flex;justify-content:flex-start;margin-top:20px}
.bonded-insured-text{display:inline-block;color:var(--gold);font-size:15px;font-weight:900;line-height:1.3}
.bond-verification{max-width:290px;margin:12px 0 0;color:#fff;font-size:.9rem;line-height:1.45}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.about-composite-mark{position:relative;width:min(520px,100%);margin:10px 0 20px}.about-composite-mark::after{content:"™";position:absolute;right:.15em;bottom:calc(22% - 0.1in);color:var(--navy);font-size:16px;font-weight:1000;line-height:1}.about-composite-mark img{display:block;width:100%;height:auto}
.about-card{padding:34px;border-radius:22px;background:linear-gradient(145deg,var(--navy),var(--royal));color:#fff;box-shadow:0 20px 45px rgba(4,25,87,.22)}
.about-card h3{font-size:34px;margin:0 0 16px}
.about-card p{color:#000000;font-size:17px;line-height:1.7}
.check-list{display:grid;gap:13px;margin-top:24px}
.check-list div{display:flex;gap:12px;align-items:flex-start}
.check-list b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--navy)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.stat{padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(4,25,87,.08)}
.stat strong{display:block;color:var(--royal);font-size:35px}
.stat span{color:var(--muted)}
.purpose-section{margin-top:54px;padding-top:42px;border-top:1px solid var(--line)}
.purpose-heading{max-width:780px;margin:0 auto 26px;text-align:center}
.purpose-heading h2{margin:8px 0 12px;color:var(--navy);font-size:clamp(30px,4vw,44px)}
.purpose-heading p{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.purpose-card{position:relative;min-height:100%;padding:30px 26px 28px;overflow:hidden;border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(4,25,87,.09)}
.purpose-card::after{content:"";position:absolute;right:-42px;bottom:-52px;width:130px;height:130px;border-radius:50%;background:rgba(7,82,204,.06)}
.purpose-number{display:inline-block;margin-bottom:16px;color:var(--royal);font-size:.78rem;font-weight:950;letter-spacing:.13em}
.purpose-card h3{margin:0 0 12px;color:var(--navy);font-size:25px}
.purpose-card p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:16px;line-height:1.65}

/* SERVICES */
.services-bg{background:var(--pale)}
.service-table{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 15px 38px rgba(4,25,87,.09);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.service-card:hover,.service-card:focus-within{transform:translateY(-6px);border-color:#79a9f2;box-shadow:0 24px 52px rgba(4,25,87,.16)}
.service-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 0 var(--royal);transition:box-shadow .22s ease}
.service-card:hover::after,.service-card:focus-within::after{box-shadow:inset 0 0 0 2px rgba(7,82,204,.2)}
.service-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--navy));color:#fff;font-size:30px}
.service-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{margin:18px 0 10px;color:var(--navy);font-size:23px}
.service-card p{color:var(--muted);line-height:1.6}
.service-card ul{padding-left:19px;color:#000000;line-height:1.75}
.service-card .service-page-link,.service-card .service-quote-link,.service-card button{align-self:flex-start;border:0;background:none;color:var(--royal);font-weight:900;cursor:pointer;text-decoration:none}
.service-card .service-page-link{font-size:16px}
.service-card .service-quote-link,.service-card button{min-height:44px;margin-top:auto;padding:10px 0;font-size:18px}
.service-card .service-page-link:hover,.service-card .service-page-link:focus-visible,.service-card .service-quote-link:hover,.service-card .service-quote-link:focus-visible,.service-card button:hover,.service-card button:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

/* GOVERNMENT */
.gov-section{background:linear-gradient(135deg,var(--navy),#0a47b0);color:#fff}
.gov-section .section-title h1,
.gov-section .section-title h2{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.22)}
.gov-section .section-title p{color:#fff}
.gov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gov-card{padding:25px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.09)}
.gov-card h3{margin-top:0;color:var(--gold)}
.gov-card p{color:#fff;line-height:1.65}
.gov-registration-status{display:flex;align-items:flex-start;gap:14px;margin:0 0 24px;padding:18px 20px;border:2px solid var(--gold);border-radius:14px;background:rgba(255,209,0,.12)}
.gov-registration-status .status-icon{flex:0 0 auto;font-size:27px;line-height:1}
.gov-registration-status strong{display:block;margin-bottom:5px;color:var(--gold);font-size:18px}
.gov-registration-status p{margin:0;color:#fff;line-height:1.6}
.workflow-government footer,
.workflow-government footer p,
.workflow-government footer a,
.workflow-government footer .copyright{color:#fff}
.gov-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.government-inquiry{margin-top:30px;color:var(--ink)}
.government-inquiry[hidden]{display:none}
.government-inquiry.revealed{animation:careerReveal .35s ease-out}
.government-inquiry h3{grid-column:1/-1;margin:0;color:var(--navy);font-size:28px}
.government-inquiry .form-intro{grid-column:1/-1;margin:0 0 5px;color:var(--muted);line-height:1.6}
.government-services{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.government-services label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#f8fbff;color:var(--navy);font-size:13px;font-weight:800}
.government-services input{width:18px;height:18px;margin:0;accent-color:var(--royal)}
.government-certification{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;padding:13px;border-left:4px solid var(--gold);background:#fffbea;color:var(--navy);font-size:13px;font-weight:800;line-height:1.5}
.government-certification input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:var(--royal)}
.verification-pending-notice{grid-column:1/-1;padding:14px 16px;border:1px solid #8ab4f8;border-radius:12px;background:#eef5ff;color:var(--navy);font-size:13px;line-height:1.5}
.verification-pending-notice strong{display:block;margin-bottom:4px;font-size:15px}

/* CAREERS */
.career-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(520px,1.18fr);gap:56px;align-items:start}
.career-benefits{display:grid;gap:13px}
.career-benefits div{padding:18px;border-radius:13px;background:var(--pale);border:1px solid var(--line)}
.career-application[hidden]{display:none}
.career-application.revealed{animation:careerReveal .35s ease-out}
.career-role-details-list{grid-column:1/-1}
.career-role-details{display:none;padding:18px 20px;border:1px solid #b8cdec;border-left:5px solid var(--royal);border-radius:12px;background:#f5f9ff}
.career-role-details.is-active{display:block}
.career-role-field:has(option[value="Cleaning Technician"]:checked)~.career-role-details-list [data-role="Cleaning Technician"],
.career-role-field:has(option[value="Senior Cleaning Technician"]:checked)~.career-role-details-list [data-role="Senior Cleaning Technician"],
.career-role-field:has(option[value="Team Lead"]:checked)~.career-role-details-list [data-role="Team Lead"],
.career-role-field:has(option[value="Supervisor"]:checked)~.career-role-details-list [data-role="Supervisor"],
.career-role-field:has(option[value="Senior / Operations Supervisor"]:checked)~.career-role-details-list [data-role="Senior / Operations Supervisor"],
.career-role-field:has(option[value="Administrative Support"]:checked)~.career-role-details-list [data-role="Administrative Support"]{display:block}
.career-role-details[hidden]{display:none}
.career-role-details h3{margin:0 0 8px;color:var(--navy);font-size:20px}
.career-role-details h4{margin:15px 0 7px;color:var(--navy);font-size:15px}
.career-role-details p{margin:0;color:var(--ink);font-size:14px;line-height:1.6}
.career-role-details ul{margin:0;padding-left:20px;color:var(--ink);font-size:14px;line-height:1.6}
.career-role-details li+li{margin-top:4px}
.education-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:7px}
.education-option{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:46px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fbff;color:var(--ink);font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.field .education-option input{width:16px;height:16px;min-height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--royal)}
.eligibility-box{grid-column:1/-1;margin:0;padding:20px;border:2px solid #c7d8ef;border-radius:14px;background:#f7faff}
.eligibility-box legend{padding:0 8px;color:var(--navy);font-size:16px;font-weight:1000}
.eligibility-grid{display:grid;gap:15px}
.eligibility-question{padding:14px;border:1px solid #d9e4f3;border-radius:10px;background:#fff}
.eligibility-question p{margin:0 0 9px;color:var(--ink);font-size:14px;font-weight:800;line-height:1.5}
.eligibility-choices{display:flex;gap:20px;flex-wrap:wrap}
.eligibility-choices label,.eligibility-certification{display:flex;align-items:flex-start;gap:8px;color:var(--navy);font-size:14px;font-weight:800}
.eligibility-choices input,.eligibility-certification input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--royal)}
.eligibility-certification{padding:14px;border-left:4px solid var(--gold);background:#fffbea;line-height:1.5}
.equal-opportunity-note{margin:12px 0 0;color:#000000;font-size:12px;line-height:1.5}
.employment-history-section{grid-column:1/-1}.employment-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.employment-table{width:100%;border-collapse:collapse}.employment-record:not(:first-child){border-top:5px solid var(--navy)}.employment-table th{width:16%;padding:12px;background:#f3f7fd;color:var(--navy);font-size:12px;text-align:left;vertical-align:middle}.employment-table th.employment-record-heading{width:auto;padding:11px 14px;background:var(--navy);color:var(--gold);font-size:15px;font-weight:900;letter-spacing:.01em}.employment-table td{width:34%;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.employment-table input,.employment-table select,.employment-table textarea{width:100%;min-height:40px;padding:9px 10px;border:1px solid #b8c9df;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.employment-table textarea{min-height:82px;resize:vertical}.employment-present{display:flex;align-items:center;gap:7px;margin-top:7px;color:var(--navy);font-size:12px;font-weight:800}.field .employment-present input{width:15px;height:15px;min-height:15px;flex:0 0 15px;margin:0;padding:0}.employment-remove{min-height:30px;padding:5px 9px;border:1px solid #a11212;border-radius:7px;background:#fff;color:#a11212;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.employment-actions{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.employment-add{min-height:42px;padding:9px 16px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-weight:900;cursor:pointer}
.work-availability{grid-column:1/-1;margin:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.work-availability legend{padding:0 8px;color:var(--navy);font-weight:900}.availability-note{margin:0 0 15px;color:#000000;font-size:13px}.field-label{color:var(--navy);font-size:14px;font-weight:900}.availability-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.field .availability-days label{display:flex;align-items:center;justify-content:flex-start;gap:9px;box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:10px 12px;border:1px solid #c9d7ea;border-radius:8px;background:#fff;color:var(--navy);font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap}.field .availability-days input{width:16px;height:16px;min-height:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--royal)}.availability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.availability-grid .field.full{grid-column:1/-1}
.upload-help{display:block;margin-top:7px;color:#000000;font-size:12px;line-height:1.45}
.condition-verification-notice{padding:14px 16px;border-left:5px solid #f4c624;border-radius:8px;background:#fff9df;color:#142957}
.condition-verification-notice p{margin:0;line-height:1.5}
.career-name-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 110px 1fr;gap:14px}
#career-form .career-step[data-career-step="1"]{grid-template-columns:minmax(0,380px) minmax(0,380px);justify-content:start}
#career-form .career-step[data-career-step="1"] .career-name-grid{grid-template-columns:minmax(0,340px) minmax(0,72px) minmax(0,340px);justify-content:start}
#career-first-name,#career-last-name{width:100%;max-width:340px}
#career-mi{width:100%;max-width:72px}
#career-phone{width:100%;max-width:220px}
#career-email{width:100%;max-width:360px}
#career-role{width:100%;max-width:320px}
#career-years{width:100%;max-width:110px}
#career-equipment-experience{width:100%;max-width:760px}
#career-resume{width:100%;max-width:420px}
.career-resume-field{align-content:start}.career-resume-remove{align-self:flex-start;width:max-content;max-width:100%;min-height:36px;margin-top:2px;padding:7px 12px;font-size:13px;white-space:nowrap}.career-resume-remove[hidden]{display:none!important}
.career-field-warning{display:block;margin-top:2px;color:#a11212;font-size:12px;font-weight:900;line-height:1.4}.career-field-warning[hidden]{display:none!important}
#career-form [data-employment-field="employer"]{width:100%;max-width:260px}
#career-form [data-employment-field="position"]{width:100%;max-width:220px}
#career-form [data-employment-field="supervisor"]{width:100%;max-width:240px}
#career-form [data-employment-field="supervisor-phone"]{width:100%;max-width:180px}
#career-form [data-employment-field="duties"]{width:100%;max-width:760px}
#career-form [data-employment-field="may-contact"]{width:100%;max-width:220px}
#career-preferred-schedule{width:100%;max-width:260px}
#career-earliest-start,#career-latest-end{width:100%;max-width:180px}
#career-weekly-hours{width:100%;max-width:110px}
#career-transportation{width:100%;max-width:180px}
#career-cleaning-experience{width:100%;max-width:760px}
#career-form .availability-days{grid-template-columns:repeat(3,minmax(130px,150px));justify-content:start}
.career-progress{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 8px;padding:0;list-style:none;counter-reset:career-step}.career-progress li{position:relative;min-height:48px;padding:10px 8px 10px 38px;border:1px solid #c9d7ea;border-radius:9px;background:#f4f7fc;color:#000000;font-size:12px;font-weight:800;line-height:1.2}.career-progress li::before{counter-increment:career-step;content:counter(career-step);position:absolute;left:10px;top:50%;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#dce6f4;color:var(--navy);transform:translateY(-50%)}.career-progress li.active{border-color:var(--royal);background:#eef5ff;color:var(--navy)}.career-progress li.active::before{background:var(--navy);color:#fff}.career-progress li.complete::before{content:"✓";background:var(--gold);color:var(--navy)}.career-step{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.career-step[hidden]{display:none}.career-step-heading{grid-column:1/-1;margin:0;color:var(--navy);font-size:22px}.career-step-intro{grid-column:1/-1;margin:-8px 0 2px;color:#000000;font-size:13px}.career-step-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.career-step-actions .btn{min-width:150px}.career-step-actions .career-next{margin-left:auto}
.quote-request-meta-grid{grid-column:1/-1;display:grid;grid-template-columns:minmax(210px,260px) minmax(190px,230px);justify-content:space-between;gap:14px}
@keyframes careerReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* FORMS + QUOTE */
.form-card{padding:36px;border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(4,25,87,.12);border:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:flex;flex-direction:column;gap:7px}
.field[hidden]{display:none!important}
.field.full{grid-column:1/-1}
.field label{font-size:14px;font-weight:900;color:var(--navy)}
.field legend{font-size:14px;font-weight:900;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:13px 14px;border:1px solid #b8c9df;border-radius:10px;background:#fff;color:var(--ink);font-size:16px;line-height:1.35}
select.selection-made:not(:focus){-webkit-appearance:none;appearance:none;background-image:none!important;padding-right:14px}
.field textarea{min-height:128px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(7,82,204,.13);border-color:var(--royal)}
#quote-size-field{grid-column:1/-1;width:100%;max-width:180px}
#quote-size{-moz-appearance:textfield}
#quote-size::-webkit-outer-spin-button,#quote-size::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:38px;align-items:start;min-height:clamp(640px,72dvh,1180px)}
.quote-layout>.quote-info{position:sticky;top:120px}
#quote-form{height:clamp(640px,72dvh,1180px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:28px}
.quote-selection-help{grid-column:1/-1;margin:0;color:var(--muted);line-height:1.5}
.quote-selection-help strong{color:var(--navy)}
.quote-frequency-required{border:2px solid var(--gold);border-radius:12px;background:#fff9df;padding:14px}
.quote-frequency-required label{color:var(--navy);font-size:17px}
.quote-info{padding:30px;border-radius:20px;background:linear-gradient(145deg,var(--navy),var(--royal));color:#fff}
.quote-info p{color:#000000;line-height:1.7}
.quote-info a{display:block;margin-top:12px;color:var(--gold);font-weight:900;text-decoration:none}
.total-box{grid-column:1/-1;padding:22px;border:3px solid var(--gold);border-radius:14px;text-align:center;background:#fff}
.total-box span{display:block;color:#000000;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.total-box .estimated-total-label{display:inline-block;padding:7px 12px;border-radius:7px;background:var(--gold);color:var(--navy);font-size:15px}
.quote-priority-request{grid-column:1/-1;border:2px solid #ffd100;border-radius:14px;padding:18px;background:#fffbea}
.quote-priority-request legend{padding:0 8px;color:var(--navy);font-weight:900;font-size:1.15rem}
.priority-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.priority-rules{margin:16px 0;padding:16px;border-left:5px solid #ffd100;background:#fff;color:#263652;border-radius:8px}
.priority-rules ul{margin:8px 0 0;padding-left:20px}.priority-rules li+li{margin-top:6px}
#quote-pet-type-field[hidden],#quote-pet-number-field[hidden],#quote-pet-safety[hidden]{display:none!important}
@media(max-width:680px){.priority-request-grid{grid-template-columns:1fr}}
.total-box strong{display:block;margin:6px 0;color:var(--royal);font-size:48px}
.total-box small{display:block;color:#000000;line-height:1.5}
.price-breakdown{display:grid;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid #dce6f7;color:#000000;font-size:14px;text-align:left}
.price-breakdown-title{margin:0 0 2px;color:var(--navy);font-size:16px;text-align:left}.pricing-explanation{margin-top:14px;padding-top:12px;border-top:1px solid #dce6f7;text-align:left}.pricing-explanation summary{cursor:pointer;color:var(--navy);font-size:13px;font-weight:900}.pricing-explanation p{margin:9px 0 0;color:#000000;font-size:12px;line-height:1.5}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);align-items:baseline;gap:18px}
.total-box .price-row span{display:block;text-align:left;letter-spacing:0;text-transform:none}
.total-box .price-row strong{display:block;margin:0;color:var(--royal);font-size:14px;line-height:1.35;text-align:right;white-space:nowrap}
.price-row.discount{color:var(--royal);font-weight:800}
.total-box .price-row.discount strong{color:var(--royal)}
.appreciation-discount-panel{padding:16px;border:2px solid var(--gold);border-radius:12px;background:#fffbea}
.appreciation-discount-panel select{width:min(100%,520px)}
.appreciation-discount-panel small{display:block;margin-top:8px;color:#000000;line-height:1.5}
.quote-addons{grid-column:1/-1;margin:0;padding:0;border:0}
.quote-addons legend{margin-bottom:10px;color:var(--navy);font-size:14px;font-weight:900}
.addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.addon-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #c7d5e8;border-radius:10px;background:#f8fbff;color:var(--navy);font-size:14px;font-weight:800;cursor:pointer}
.addon-option span{display:flex;align-items:center;gap:9px}
.addon-option input{width:18px;height:18px;margin:0;accent-color:var(--royal)}
.addon-option b{color:var(--royal)}
.quote-rooms{grid-column:1/-1;margin:0;padding:18px;border:2px solid var(--gold);border-radius:14px;background:#fffaf0}
.quote-rooms[hidden]{display:none}
.quote-rooms legend{padding:0 7px;color:var(--navy);font-size:15px;font-weight:900}
.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
.room-option{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dfd4aa;border-radius:10px;background:#fff;color:var(--navy);font-size:13px;font-weight:800}
.room-option span{display:block}
.room-option small{display:block;margin-top:3px;color:var(--royal);font-size:12px}
.room-option input{width:64px;padding:9px;border:1px solid #c7d5e8;border-radius:8px;text-align:center}
.form-note{grid-column:1/-1;padding:11px 13px;border-radius:9px;background:#f3f7fd;color:#000000;font-size:12px;line-height:1.5}
.starting-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;margin:26px 0}
.starting-price-card{display:grid;grid-template-rows:52px 52px 42px minmax(64px,1fr) auto;min-height:100%;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(4,25,87,.08)}
.starting-price-card h3{align-self:start;margin:0;color:var(--navy);font-size:19px;line-height:1.3}
.starting-price-card .price{align-self:center;margin:0;color:var(--royal);font-size:29px;font-weight:1000;line-height:1.1}
.starting-price-card .rate{align-self:start;margin:0;color:#000000;font-size:13px;font-weight:800}
.starting-price-card p{margin:0;color:#000000;font-size:13px;line-height:1.55}
.starting-price-card .price-note{align-self:end;padding-top:14px;color:var(--navy);font-size:12px;font-weight:800}
.starting-price-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.starting-price-panel{padding:22px;border-radius:16px;background:var(--pale);border:1px solid var(--line)}
.starting-price-panel h3{margin:0 0 12px;color:var(--navy)}
.starting-price-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:#000000;font-size:14px}
.starting-price-list li{display:flex;justify-content:space-between;gap:15px;padding-bottom:8px;border-bottom:1px solid #dce6f3}
.starting-price-list li:last-child{padding-bottom:0;border-bottom:0}
.starting-price-list strong{color:var(--navy);white-space:nowrap}
.starting-price-disclaimer{margin:22px 0;padding:18px 20px;border-left:5px solid var(--gold);border-radius:10px;background:#fff9df;color:#000000;line-height:1.6}
.starting-price-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.distance-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.distance-button{padding:9px 12px;border:1px solid var(--royal);border-radius:8px;background:#fff;color:var(--royal);font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.distance-button:hover,.distance-button:focus-visible{background:var(--royal);color:#fff}
.distance-button:disabled{opacity:.65;cursor:wait}
.distance-status{color:#000000;font-size:12px;font-weight:700;line-height:1.4}
.distance-status.success{display:block;width:100%;padding:12px 14px;border-radius:10px;background:var(--royal);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(7,82,204,.2)}
.distance-status.error{color:#a51c25}
.pet-safety{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--pale);color:var(--navy);font-size:13px;font-weight:800;line-height:1.5}
.pet-safety[hidden]{display:none}
.pet-safety input{width:18px;height:18px;margin-top:2px;accent-color:var(--royal)}

/* CONTACT */
.contact-bg{background:var(--pale)}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:17px;margin-bottom:32px}
.contact-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(4,25,87,.08);text-align:center}
.contact-card .icon{font-size:28px}
.contact-card h3{color:var(--navy)}
.contact-card a{color:var(--royal);font-weight:900;text-decoration:none;overflow-wrap:anywhere;font-size:clamp(.7rem,.85vw,.84rem)}
.contact-card a[href^="mailto:"]{display:block;width:100%;white-space:nowrap;overflow-wrap:normal;text-align:center}
.service-hours{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 22px;margin:0 0 18px;padding:14px 18px;border-left:5px solid var(--gold);border-radius:10px;background:#fff9df;color:var(--navy);box-shadow:0 8px 22px rgba(4,25,87,.07)}
.service-hours strong{font-size:16px}.service-hours span{font-size:14px}
.service-area-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;margin:0 0 34px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(4,25,87,.09)}
.service-area-map{position:relative;min-height:390px;overflow:hidden;border:4px solid var(--gold);border-radius:15px;background:#dce8f7}
#service-boundary-map{width:100%;height:100%;min-height:390px}
.service-area-map .leaflet-top,.service-area-map .leaflet-bottom{z-index:20}
.service-map-status{position:absolute;inset:auto 14px 14px;z-index:500;margin:0;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.94);color:var(--navy);font-size:12px;font-weight:800;box-shadow:0 4px 14px rgba(4,25,87,.18)}
.service-map-status[hidden]{display:none}
.service-boundary-label{padding:3px 7px!important;border:1px solid rgba(4,25,87,.2)!important;border-radius:6px!important;background:rgba(255,255,255,.92)!important;color:var(--navy)!important;font-size:11px!important;font-weight:900!important;box-shadow:0 2px 7px rgba(4,25,87,.18)!important}
.service-boundary-label::before{display:none!important}
.service-area-cities h3{margin:0 0 9px;color:var(--navy);font-size:30px}
.service-area-cities p{margin:0 0 18px;color:var(--muted);line-height:1.6}
.city-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none}
.city-list li{position:relative;padding:10px 10px 10px 31px;border:1px solid #dce6f4;border-radius:9px;background:var(--pale);color:var(--navy);font-size:14px;font-weight:800}
.city-list li::before{content:"✓";position:absolute;left:11px;color:var(--royal);font-weight:1000}
.city-list li.extended-area{border-color:#e1b439;background:#fff9df}
.city-list li.extended-area::before{content:"+";color:#8a6200}
.service-area-legend{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0;color:#000000;font-size:12px;font-weight:800}
.service-area-legend span{display:inline-flex;align-items:center;gap:6px}
.service-area-legend i{width:14px;height:14px;border-radius:3px;background:rgba(255,209,0,.3);border:3px solid var(--navy)}
.service-area-legend .extended-key{background:rgba(205,38,56,.12);border-color:#cd2638}
.service-area-note{margin-top:15px!important;padding:12px;border-left:4px solid var(--gold);background:#fffaf0;color:#000000!important;font-size:13px}
.contact-form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}
.contact-form-layout>.payment-form-wide{grid-column:1/-1}
.reviews-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start}
.reviews-list{display:grid;gap:16px}
.review-empty{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--pale);text-align:center}
.review-empty strong{display:block;margin-bottom:8px;color:var(--navy);font-size:20px}
.google-review-card{grid-column:1/-1;padding:38px;border:3px solid var(--gold);border-radius:22px;background:linear-gradient(145deg,#061b52,#0a2d72);box-shadow:0 18px 42px rgba(4,25,87,.22);text-align:center;color:#fff}
.google-review-logo{display:block;width:min(260px,72%);height:auto;margin:0 auto 18px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.2))}
.google-review-eyebrow{display:block;margin:0 0 8px;color:var(--gold);font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.google-review-card h3{margin:0 0 12px;color:#fff;font-size:30px}
.google-review-card p{max-width:680px;margin:0 auto 24px;color:#f4f7ff;line-height:1.65}
.google-review-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.google-review-actions .btn{min-width:250px;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.google-review-note{display:block;margin-top:16px;color:#dbe6ff;font-size:.82rem}
.rating-options{display:flex;flex-wrap:wrap;gap:9px}
.rating-options label{display:flex;align-items:center;gap:6px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}
.rating-options input{accent-color:var(--gold)}
.contact-panel{align-self:start;padding:28px;border:1px solid #c9d5e6;border-top:7px solid var(--gold);border-radius:18px;background:var(--navy);color:#fff;box-shadow:0 12px 32px rgba(4,25,87,.08);min-width:0}
.contact-panel h3{margin:0 0 18px;padding-bottom:14px;border-bottom:2px solid var(--gold);color:#fff;font-size:clamp(22px,3vw,28px);line-height:1.3}
.contact-panel p{margin:0 0 18px;color:#fff;line-height:1.7;overflow-wrap:anywhere}
.contact-panel p+p{padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.contact-panel p:last-child{margin-bottom:0}
.contact-panel strong{color:#fff}
.contact-panel a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.contact-panel a:hover,.contact-panel a:focus-visible{background:rgba(255,255,255,.1);outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
@media(max-width:650px){.contact-panel{padding:22px}}
.contact-submit-confirmation{grid-column:1/-1;display:grid;justify-items:center;gap:12px;padding:26px 20px;text-align:center;border:3px solid var(--gold);border-radius:16px;background:linear-gradient(145deg,#fff 0%,#f1f6ff 100%);color:var(--ink);outline:none}.contact-submit-confirmation:focus-visible{box-shadow:0 0 0 4px rgba(7,82,204,.22)}.contact-submit-confirmation img{width:min(230px,70%);height:auto}.contact-submit-confirmation>span{padding:6px 10px;border-radius:999px;background:var(--gold);color:var(--navy);font-size:12px;font-weight:900;letter-spacing:.09em}.contact-submit-confirmation h3{margin:0;color:var(--navy);font-size:clamp(26px,4vw,38px)}.contact-submit-confirmation p{max-width:540px;margin:0;line-height:1.6}.contact-submit-confirmation>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}

/* FOOTER */
footer{background:#031442;color:#fff;padding:30px 0}
.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:40px}
@media(min-width:901px){.footer-grid:has(>div:nth-child(4)){grid-template-columns:1.2fr .8fr 1fr .85fr;gap:28px}}
.footer-assurance{color:#dce7ff;font-size:13px}.footer-assurance a{display:inline!important;color:var(--gold);font-weight:800}
.footer-discount{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding:15px 17px;border:2px solid var(--gold);border-radius:12px;background:var(--navy);box-shadow:0 12px 28px rgba(4,25,87,.18);color:#fff}
.footer-discount div{min-width:0}.footer-discount strong{display:block;margin-bottom:4px;color:var(--gold);font-size:18px}.footer-discount span{display:block;font-size:13px;line-height:1.45}.footer-discount .btn{flex:0 0 auto;min-height:44px;padding:11px 18px}
.missing-required{border-color:#d71920!important;background:#fff5f5!important;box-shadow:0 0 0 3px rgba(215,25,32,.12)!important}
.condition-photo-field.validation-group-error{border:2px solid #d71920;border-radius:10px;background:#fff5f5;padding:12px}.condition-photo-field.validation-group-error .upload-help{color:#a80f15;font-weight:700}
.email-format-warning{display:flex;align-items:center;gap:7px;margin-top:2px;padding:8px 10px;border-left:4px solid #d71920;border-radius:6px;background:#fff0f0;color:#a40008;font-size:12px;font-weight:900;line-height:1.4}
.email-format-warning[hidden]{display:none!important}
.required-field-warning{display:flex;align-items:center;gap:7px;margin-top:2px;padding:7px 9px;border-left:4px solid #d71920;border-radius:6px;background:#fff0f0;color:#a40008;font-size:12px;font-weight:900;line-height:1.4}
.required-field-warning[hidden]{display:none!important}
.validation-group-error{border:2px solid #d71920!important;border-radius:12px;background:#fff5f5!important;box-shadow:0 0 0 3px rgba(215,25,32,.12)!important;padding:12px!important}
.legal-section{display:none}
.page-popup-content>.legal-section{display:block;min-height:100%;padding:42px 0}
.payment-section{display:none}
.page-popup-content>.payment-section{display:block;min-height:100%;padding:42px 0}
.payment-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}
.payment-address-group{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;min-width:0}
.payment-contact-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;min-width:0}
.scheduling-preferences{min-width:0;padding:20px;border:2px solid #f4c624;border-radius:14px;background:#f7faff;overflow:hidden}.scheduling-preferences-brand{display:flex;align-items:center;gap:18px;margin-bottom:20px;padding:18px;border-radius:11px;background:#071d55;color:#fff}.scheduling-preferences-brand img{width:150px;height:auto;flex:0 0 auto;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}.scheduling-preferences-brand h3{margin:0 0 6px;color:#f4c624}.scheduling-preferences-brand p{margin:0;color:#000000;line-height:1.45}.scheduling-preferences-grid{width:100%;min-width:0;margin-top:4px;gap:18px 20px}.scheduling-preferences-grid>.field{width:100%;min-width:0;gap:8px}.scheduling-preferences-grid>.field label{line-height:1.35}.scheduling-preferences input[type=date],.scheduling-preferences select,.scheduling-preferences textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:1.5px solid #9fb4d0;border-radius:9px;background:#fff;color:#172b50}.scheduling-preferences input[type=date],.scheduling-preferences select{height:52px;min-height:52px;max-height:52px;padding:11px 13px}.scheduling-preferences input[type=date]{-webkit-appearance:none;appearance:none;line-height:1.25}.scheduling-preferences input[type=date]::-webkit-date-and-time-value{min-height:0;text-align:left}.scheduling-preferences input[type=date]::-webkit-calendar-picker-indicator{margin:0;padding:3px}.scheduling-preferences textarea{min-height:116px;padding:13px;line-height:1.45}.scheduling-preferences input:focus,.scheduling-preferences select:focus,.scheduling-preferences textarea:focus{border-color:#0752cc;outline:3px solid rgba(7,82,204,.14)}.scheduling-preferences .government-certification{margin-top:18px}.scheduling-preferences #schedule-sms-choice{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:14px;overflow:hidden}.scheduling-preferences #schedule-sms-choice input[type=checkbox]{box-sizing:border-box;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;margin:2px 0 0;padding:0;flex:none}.scheduling-preferences #schedule-sms-choice span{display:block;min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal}.scheduling-preferences #schedule-sms-note{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}
.payment-locality-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 110px 130px;gap:14px;align-items:end}
#square-payment-request-form .imported-data input,
#square-payment-request-form .imported-data textarea,
#square-payment-request-form input[readonly]{border:0;box-shadow:none;background:transparent;color:#000;font-weight:700;padding:3px 0;height:auto;min-height:0;border-radius:0;resize:none;line-height:1.55}
#square-payment-request-form .imported-data label{color:var(--navy);margin-bottom:2px}
#square-payment-request-form .payment-address-group{grid-template-columns:1fr;gap:8px}
#square-payment-request-form .payment-address-group .field{margin:0}
#square-payment-request-form #payment-type:disabled{border:0;background:transparent;color:#000;font-weight:700;opacity:1;padding-left:0;appearance:none}
#square-payment-request-form .form-wizard-step>.field:not(.full)>label,
#square-payment-request-form .payment-contact-grid>.field>label,
#square-payment-request-form .payment-address-group>.field:not(.full)>label{min-height:2.7em;display:flex;align-items:flex-end}
.payment-method-option{position:relative;display:block;cursor:pointer}
.payment-method-option input[type="radio"],.payment-method-option input[type="radio"]:disabled{position:absolute;inline-size:1px;block-size:1px;min-width:0;min-height:0;padding:0;border:0;opacity:0!important;pointer-events:none;clip-path:inset(50%)}
.payment-method-option span{display:flex;align-items:center;justify-content:center;min-height:100%;padding:12px;border:2px solid transparent;border-radius:10px;background:#fff;color:var(--navy);font-weight:800;text-align:center;transition:.2s ease}
.payment-method-option:hover span{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 18px rgba(0,0,0,.16)}
.payment-method-option input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}
.payment-method-option input:checked+span{border-color:var(--gold);background:var(--gold);color:var(--navy);box-shadow:0 0 0 3px rgba(246,197,39,.2)}
#po-billing-panel{padding:18px;border:2px solid var(--gold);border-radius:12px;background:#fffdf2}
#po-billing-panel h3{margin:0 0 12px;color:var(--navy)}
#quote-pet-number{width:5rem;min-width:5rem;max-width:5rem;justify-self:start;text-align:center}
#quote-pet-type{width:24ch;max-width:100%;justify-self:start}
footer h3{color:var(--gold)}
footer a{display:flex;align-items:center;min-height:36px;padding:2px 0;color:#000000;text-decoration:none;margin:0;cursor:pointer}
.quote-refine{grid-column:1/-1;border:1px solid #b8c9e6;border-radius:12px;background:#f7faff;padding:0 16px}
.quote-refine>summary{cursor:pointer;color:var(--navy);font-weight:900;padding:16px 4px;list-style-position:inside}
.quote-refine[open]>summary{border-bottom:1px solid #d9e3f2;margin-bottom:16px}
.quote-refine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:16px}
.quote-refine-grid>.full,.quote-refine-grid>fieldset,.quote-refine-grid>.total-box,.quote-refine-grid>.pet-safety{grid-column:1/-1}
.quote-commercial-scope{grid-column:1/-1;margin:4px 0 8px;padding:18px;border:2px solid var(--gold);border-radius:14px;background:#fffdf2}
#quote-post-construction-scope{grid-column:1/-1;margin:4px 0 8px;padding:20px;border:2px solid var(--gold);border-radius:14px;background:linear-gradient(180deg,#fffdf2,#f8fbff);box-shadow:0 10px 24px rgba(4,25,87,.08)}
#quote-post-construction-scope[hidden]{display:none}
#quote-post-construction-scope>legend{padding:0 9px;color:var(--navy);font-size:19px;font-weight:950}
#quote-post-construction-scope>p{margin:0 0 16px;color:#000000;line-height:1.55}
#quote-post-construction-scope .field-label{display:block;margin-bottom:8px;color:var(--navy);font-weight:900}
#quote-post-construction-scope select{width:100%;min-width:0;padding-right:38px;font-size:14px;line-height:1.25}
#quote-post-construction-scope .field.full>label:has(input[type="checkbox"]),#quote-post-construction-scope .field.full>.quote-refine-grid>label{display:flex;align-items:flex-start;gap:9px;margin:7px 0;padding:11px 12px;border:1px solid #cbd7e8;border-radius:9px;background:#fff;color:var(--navy);font-weight:750;line-height:1.4}
#quote-post-construction-scope input[type="checkbox"]{flex:0 0 auto;width:19px;height:19px;margin-top:1px;accent-color:var(--royal)}
#quote-post-construction-scope label:has(input[type="checkbox"]:checked){border-color:var(--royal)!important;box-shadow:inset 4px 0 0 var(--gold);background:#f3f7ff!important}
#quote-post-construction-scope .condition-verification-notice{margin-top:16px}
.addon-quantity{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,260px);gap:6px;margin:-4px 0 6px 30px;padding:10px 12px;border-left:4px solid var(--gold);border-radius:7px;background:#f4f8ff}.addon-quantity[hidden]{display:none}.addon-quantity label{color:var(--navy);font-size:13px;font-weight:850}.addon-quantity input{width:100%;max-width:220px;min-height:42px}
.quote-commercial-scope>legend{padding:0 8px;color:var(--navy);font-weight:900;font-size:17px}
.commercial-scope-intro{margin:0 0 16px;color:var(--muted);line-height:1.5}
.quote-commercial-scope .quote-refine-grid{grid-template-columns:repeat(2,minmax(190px,360px));justify-content:start}
.quote-commercial-scope input[type="number"]{max-width:9rem}
.quote-commercial-scope input[type="date"]{max-width:15rem}
.quote-commercial-scope #quote-commercial-contact-role{max-width:22rem}
.quote-commercial-scope textarea{max-width:46rem}
.quote-commercial-scope .commercial-addons{margin-top:6px}
.quote-commercial-scope .addon-option b{font-size:12px;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.3;text-align:right;max-width:52%}
.quote-commercial-scope .addon-option span{min-width:0;overflow-wrap:anywhere}
.commercial-calc-line{white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.45}
.commercial-calc-line span{overflow-wrap:anywhere}
.commercial-scope-builder,.commercial-staffing-panel,.commercial-schedule-panel,.commercial-contract-panel,.commercial-initial-service-panel{margin:18px 0 0;padding:16px;border:1px solid #c9d6ec;border-radius:12px;background:#f7faff}
.commercial-builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.commercial-builder-heading h3{margin:0 0 5px;color:var(--navy);font-size:18px}.commercial-builder-heading p{margin:0;color:var(--muted)}
.commercial-area-count{flex:none;padding:7px 10px;border-radius:999px;background:var(--navy);color:#fff;font-weight:800;font-size:12px}
.commercial-room-list{display:grid;gap:9px}.commercial-room-row{padding:11px 12px;border:1px solid #cbd7e8;border-radius:10px;background:#fff}.commercial-room-row.selected{border-color:var(--royal);box-shadow:inset 4px 0 0 var(--gold)}
.commercial-room-choice{display:flex;align-items:center;gap:9px;color:var(--navy);font-weight:850;cursor:pointer}.commercial-room-choice input{width:19px;height:19px;accent-color:var(--royal)}
.commercial-room-controls{display:grid;grid-template-columns:minmax(90px,110px) minmax(130px,170px) minmax(170px,230px) minmax(130px,1fr);align-items:end;gap:10px;margin:12px 0 2px 28px}.commercial-room-controls label{display:grid;gap:5px;color:#000000;font-size:12px;font-weight:800}.commercial-room-controls input,.commercial-room-controls select{width:100%;min-height:42px;padding:8px 10px}.commercial-room-cost{align-self:center;color:var(--royal);font-size:14px;text-align:right}
.commercial-task-details{grid-column:1/-1;margin-top:3px;padding-top:8px;border-top:1px solid #dce4f0}.commercial-task-details summary{color:var(--royal);font-weight:850;cursor:pointer}.commercial-task-list{display:grid;gap:7px;margin-top:9px}.commercial-task-row{display:grid;grid-template-columns:minmax(210px,1fr) minmax(170px,230px);align-items:center;gap:10px}.commercial-task-row label{display:flex;justify-content:flex-start;align-items:center;gap:7px;font-size:13px}.commercial-task-row input{width:18px;min-height:18px;accent-color:var(--royal)}.commercial-task-row select{min-height:38px;padding:6px 9px}
.commercial-staffing-panel>legend{padding:0 7px;color:var(--navy);font-size:17px;font-weight:900}.commercial-staffing-panel>p{margin:0 0 14px;color:#000000}.commercial-staffing-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.commercial-staffing-summary div{display:grid;gap:5px;padding:12px;border-radius:9px;background:var(--navy);color:#fff}.commercial-staffing-summary span{font-size:12px}.commercial-staffing-summary strong{color:var(--gold);font-size:16px}
.commercial-walkthrough-status{margin-top:14px;padding:13px 15px;border-left:5px solid var(--royal);border-radius:8px;background:#edf5ff;color:var(--navy)}.commercial-walkthrough-status.required{border-color:var(--gold);background:#fff8d8}.commercial-purchasing-panel{margin:18px 0 0;padding:16px;border:1px solid #c9d6ec;border-radius:12px;background:#fff}.commercial-purchasing-panel>legend{padding:0 7px;color:var(--navy);font-size:17px;font-weight:900}.commercial-purchasing-panel>p{margin:0 0 14px;color:#000000}
.commercial-schedule-panel>legend,.commercial-contract-panel>legend,.commercial-initial-service-panel>legend{padding:0 7px;color:var(--navy);font-size:17px;font-weight:900}.commercial-weekdays{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.commercial-weekdays>strong{grid-column:1/-1}.commercial-weekdays label{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid #c9d6ec;border-radius:8px;background:#fff}.commercial-weekdays input{width:auto;margin:0}@media(max-width:700px){.commercial-weekdays{grid-template-columns:repeat(2,minmax(0,1fr))}}
.commercial-area-category{margin:20px 0 8px;padding:9px 12px;border-left:5px solid var(--gold);border-radius:6px;background:var(--navy);color:#fff;font-size:16px}.commercial-area-category:first-child{margin-top:8px}
.pet-validation-panel{grid-column:1/-1;border:3px solid var(--navy);border-radius:14px;background:#fff9df;padding:18px;box-shadow:0 8px 20px #0419571a}
.pet-validation-panel h3{margin:0 0 5px;color:var(--navy)}.pet-validation-panel>p{margin:0 0 15px;color:var(--ink);font-weight:700}
.pet-validation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pet-validation-grid>.pet-safety{grid-column:1/-1;background:#fff;border:2px solid var(--gold)}
#quote-pets{border:2px solid var(--navy);box-shadow:0 0 0 1px rgba(7,29,85,.08);background-color:#fff;color:var(--navy)}
#quote-pets:focus{border-color:var(--royal);box-shadow:0 0 0 3px rgba(7,82,204,.18);outline:none}
.pet-presence-field{grid-column:1/-1;display:grid;grid-template-columns:max-content 5.25rem;align-items:center;justify-content:start;gap:14px;width:100%}.pet-presence-field label{margin:0;text-align:left}.pet-presence-field select{width:5.25rem;min-width:5.25rem;min-height:36px;height:36px;justify-self:start;border:0;box-shadow:none;background-color:#fff;padding:4px 24px 4px 10px;line-height:1}.pet-presence-field select.selection-made:not(:focus){-webkit-appearance:none;appearance:none;background-image:none;padding-right:10px}.pet-presence-field select.missing-required{border:0!important;box-shadow:none!important}
.response-promise{grid-column:1/-1;background:#f3f7fd;border-left:4px solid var(--gold);color:var(--navy);padding:12px 14px;border-radius:8px;font-weight:800}
.quick-quote-heading{grid-column:1/-1;margin:0;padding:12px 16px;border-radius:10px;background:var(--navy);color:#fff;font-size:18px}.quick-quote-heading span{color:var(--gold)}
.quote-step-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.quote-step-panel[hidden]{display:none}.quote-step-panel>.full,.quote-step-panel>fieldset,.quote-step-panel>.government-certification,.quote-step-panel>.quote-address-fields,.quote-step-panel>.quote-selection-help,.quote-step-panel>.response-promise,.quote-step-panel>.pet-validation-panel,.quote-step-panel>.quote-refine,.quote-step-panel>.total-box,.quote-step-panel>.form-note,.quote-step-panel>.quick-quote-heading,.quote-step-panel>#quote-primary-action{grid-column:1/-1}.quote-mobile-only-heading{display:none}.quote-mobile-progress{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 8px;padding:0;list-style:none}.quote-mobile-progress li{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px;border:1px solid #cad7e9;border-radius:9px;background:#f5f8fc;color:#000000;font-size:12px;font-weight:900}.quote-mobile-progress li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dce6f4;color:var(--navy)}.quote-mobile-progress li.active{border-color:var(--royal);background:#eef5ff;color:var(--navy)}.quote-mobile-progress li.active span{background:var(--navy);color:#fff}.quote-mobile-progress li.complete span{background:var(--gold);color:var(--navy)}.quote-mobile-actions{display:flex;grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:8px}.quote-mobile-actions .btn{min-width:180px}
.quote-step-intro{grid-column:1/-1;margin:0;padding:11px 13px;border-left:4px solid var(--gold);border-radius:8px;background:#fff9df;color:var(--navy);font-weight:800}.quote-optional-step .quote-refine>summary{cursor:default}.quote-optional-step .quote-refine[open]>summary{margin-bottom:14px}
@media(pointer:coarse){footer a{min-height:44px;padding:0}}
.footer-grid a:hover,.footer-grid a:focus-visible{color:var(--gold);text-decoration:underline!important;text-decoration-thickness:2px;text-underline-offset:4px}
.accepted-payments-label{color:var(--gold)}
.footer-discount,.bond-verification{display:none}
footer .footer-grid a[href^="/services/"]{display:none}
footer .footer-grid>div:nth-child(4)>p:nth-of-type(n+2){display:none}
footer .licensed-badge-slot{margin-top:12px}
footer .footer-grid h3{margin:0 0 10px}
footer .footer-grid p{margin:0 0 10px;line-height:1.45}
footer .footer-grid a{min-height:30px}
.footer-hours{display:grid;gap:3px;margin:8px 0 10px;color:#000000;line-height:1.4}.footer-hours strong{color:var(--gold);font-size:14px}.footer-hours span{font-size:13px}
.form-note.payment-error{border:1px solid #b42318;background:#fff1f0;color:#8a1c13;font-weight:800}
.form-note.payment-success{border:1px solid var(--royal);background:#f3f7fd;color:var(--navy);font-weight:800}
.copyright{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);color:#000000;font-size:13px}
.social-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.social-links a{display:grid;place-items:center;width:44px;height:44px;margin:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.social-links a:hover,.social-links a:focus-visible{transform:translateY(-3px) scale(1.06);filter:brightness(1.13);outline:2px solid #fff;outline-offset:2px}
.social-links svg{width:21px;height:21px;fill:currentColor}
.social-links .social-text{font-size:16px;font-weight:1000;line-height:1}
.social-links a[href*="x.com"]{background:#000;border-color:#3d3d3d;color:#fff}
.social-links a[href*="facebook.com"]{background:#1877f2;border-color:#1877f2;color:#fff}
.social-links a[href*="wa.me"]{background:var(--navy);border-color:var(--gold);color:var(--gold)}
.social-links a[href*="instagram.com"]{background:radial-gradient(circle at 30% 105%,#fdf497 0 5%,#fdf497 5% 9%,#fd5949 42%,#d6249f 63%,#285aeb 90%);border-color:#d6249f;color:#fff}
.social-links a[href*="linkedin.com"]{background:#0a66c2;border-color:#0a66c2;color:#fff}
.social-links a[href*="tiktok.com"]{background:#010101;border-color:#25f4ee;color:#fff;box-shadow:-2px 0 0 #25f4ee,2px 0 0 #fe2c55}

/* MODAL */
.modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(1,14,54,.78)}
.modal.open{display:flex}
.modal-card{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;padding:30px;border-radius:22px;background:#fff}
.modal-close{position:absolute;top:13px;right:13px;width:40px;height:40px;border:0;border-radius:50%;background:#edf3ff;color:var(--navy);font-size:25px;cursor:pointer}
.page-popup{position:fixed;inset:0;z-index:11000;display:none;padding:0;background:#f4f8ff;overflow:hidden}
.page-popup.open{display:block}
.page-popup-shell{position:relative;width:100%;height:100vh;margin:0;overflow:auto;overscroll-behavior:contain;border-radius:0;background:#fff;box-shadow:none;scroll-padding-top:32px}
.page-popup-toolbar{position:sticky;top:0;z-index:2000;isolation:isolate;display:flex;align-items:center;gap:12px;min-height:76px;padding:10px clamp(14px,3vw,42px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.98);box-shadow:0 8px 24px rgba(4,25,87,.12);backdrop-filter:blur(12px)}
.page-popup-brand{position:relative;display:flex;align-items:center;flex:0 0 auto;width:170px;max-width:26vw;min-height:48px;border-radius:8px}.page-popup-brand img{display:block;width:100%;height:58px;object-fit:contain;object-position:left center}
.page-popup-navigation{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:1;min-width:0}.page-popup-navigation>a,.page-popup-back,.page-popup-menu>summary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:2px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-weight:900;text-decoration:none;cursor:pointer}.page-popup-navigation>a:hover,.page-popup-back:hover,.page-popup-menu>summary:hover{border-color:var(--gold);background:#fff9df}
.page-popup-menu{position:relative;flex:0 0 auto}.page-popup-menu>summary{list-style:none}.page-popup-menu>summary::-webkit-details-marker{display:none}.page-popup-menu>summary::after{content:"▾";margin-left:8px}.page-popup-menu[open]>summary::after{content:"▴"}.page-popup-menu-icon{display:none;font-size:20px;line-height:1}.page-popup-menu-panel{position:absolute;right:0;top:calc(100% + 8px);display:grid;width:240px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(4,25,87,.2)}.page-popup-menu-panel a{padding:11px 12px;border-radius:8px;color:var(--navy);font-weight:800;text-decoration:none}.page-popup-menu-panel a:hover,.page-popup-menu-panel a:focus-visible{background:#fff5bf}
.page-popup-close{flex:0 0 46px;width:46px;height:46px;border:2px solid #fff;border-radius:50%;background:var(--navy);color:#fff;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.page-popup-close:hover,.page-popup-close:focus-visible{transform:scale(1.06);background:var(--royal);outline:3px solid var(--gold);outline-offset:2px}
.page-popup-content>section{min-height:100%;padding-top:32px;padding-bottom:64px}
body.popup-open{overflow:hidden}
main>section:not(#home):not(#business-services-page){display:none}
.page-popup-content>section{display:block}

/* The Services cards move the shared quote section into the full-page popup.
   In that context the popup shell is the single scrolling surface, so the
   quote form must size itself from its active step instead of retaining the
   standalone page's viewport-height scroll box. */
.page-popup-content>#quote .quote-layout{
  min-height:0;
  align-items:start;
}
.page-popup-content>#quote #quote-form{
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  scrollbar-gutter:auto;
}
.page-popup-content>#quote .quote-step-panel{
  min-height:0;
}
.site-message-dialog{width:min(500px,calc(100% - 32px));padding:0;border:3px solid var(--gold);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(0,0,0,.35)}.site-message-dialog::backdrop{background:rgba(1,14,54,.78)}.site-message-header{display:flex;align-items:center;gap:18px;padding:16px 24px;background:var(--navy);color:#fff;border-bottom:5px solid var(--gold)}.site-message-logo{width:112px;height:58px;object-fit:contain;flex:0 0 auto}.site-message-header h2{margin:0;font-size:23px}.site-message-body{padding:22px 24px}.site-message-body p{margin:0;color:var(--muted);font-size:16px;line-height:1.55}.site-message-actions{display:flex;justify-content:flex-end;padding:0 24px 24px}.site-message-actions .btn{min-width:170px}

/* RESPONSIVE */
@media(max-width:1240px){
  .header-inner{flex-wrap:wrap;padding:10px 0 14px}
  .site-nav{position:static;display:flex;order:3;flex:0 0 100%;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 0 0;border-top:1px solid var(--line);background:#fff;box-shadow:none}
  .site-nav a{padding:7px 8px;text-align:center}
  .header-quote{display:none}
  .brand-logo{max-width:240px;width:240px}
  .service-table,.gov-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}
  .government-services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .career-grid{grid-template-columns:1fr;gap:34px}
}
@media(min-width:801px) and (max-width:1180px){
  .hero{background-position:45% center}
  .hero-copy{max-width:48vw;transform:none}
  .hero h1{font-size:clamp(40px,5vw,58px)}
}
@media(hover:none) and (pointer:coarse) and (min-width:801px) and (max-width:1366px) and (orientation:portrait){
  .hero{background-position:40% top}
  .hero-copy{max-width:47vw;transform:none}
  .hero h1{font-size:clamp(38px,5.2vw,52px)}
}
@media(hover:none) and (pointer:coarse) and (min-width:801px) and (max-width:1366px) and (orientation:landscape){
  .hero{background-position:45% center}
  .hero-copy{max-width:46vw;transform:none}
  .hero h1{font-size:clamp(40px,4.5vw,58px)}
}
@media(min-width:700px) and (max-width:1366px){
  html.is-portrait .hero{background-position:40% top}
  html.is-portrait .hero-copy{max-width:47vw;transform:none}
  html.is-portrait .hero h1{font-size:clamp(36px,5.2vw,52px)}
  html.is-portrait .hero-trust{grid-template-columns:1fr}
  html.is-landscape .hero{background-position:45% center}
  html.is-landscape .hero-copy{max-width:46vw;transform:none}
  html.is-landscape .hero h1{font-size:clamp(40px,4.5vw,58px)}
  html.is-landscape .hero-trust{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .topbar-inner{flex-direction:column;padding:8px 0}
  .hero{display:block;min-height:790px;background-position:42% top;background-size:cover}
  .hero::after{display:block;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 46%,rgba(255,255,255,.32) 72%,rgba(255,255,255,.06) 100%)}
  .hero-content{width:100%;padding-top:124px;padding-bottom:30px}
  .hero-copy{width:100%;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;transform:none}
  .hero h1{font-size:34px;line-height:1}
  .hero h1,.hero-lead,.hero-actions,.hero-trust{max-width:58vw}
  .hero-lead{font-size:16px;line-height:1.5;text-wrap:balance}
  .hero-trust{grid-template-columns:1fr}
  .about-grid,.career-grid,.quote-layout,.contact-form-layout,.reviews-layout{grid-template-columns:1fr}
  footer .licensed-badge-slot{display:block;margin-top:12px}
  .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-area-layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .quote-refine-grid{grid-template-columns:1fr}
  .quote-commercial-scope .quote-refine-grid{grid-template-columns:1fr}
  .commercial-builder-heading{display:grid}.commercial-area-count{justify-self:start}.commercial-room-controls{grid-template-columns:1fr;margin-left:0}.commercial-room-cost{text-align:left}.commercial-task-row{grid-template-columns:1fr}.commercial-staffing-summary{grid-template-columns:1fr}
  .pet-validation-grid{grid-template-columns:1fr}
  .pet-presence-field{grid-template-columns:minmax(0,max-content) 4.25rem;gap:10px}
  .payment-methods{grid-template-columns:1fr}
  .payment-address-group,.payment-contact-grid,.payment-locality-row{grid-template-columns:1fr;gap:16px}
  .scheduling-preferences{padding:14px}.scheduling-preferences-brand{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:18px;padding:16px}.scheduling-preferences-brand img{width:132px}.scheduling-preferences-grid{grid-template-columns:minmax(0,1fr);gap:17px}.scheduling-preferences input[type=date],.scheduling-preferences select{height:50px;min-height:50px;max-height:50px}.scheduling-preferences textarea{min-height:108px}
  #square-payment-request-form .form-wizard-step>.field:not(.full)>label,
  #square-payment-request-form .payment-contact-grid>.field>label,
  #square-payment-request-form .payment-address-group>.field:not(.full)>label{min-height:0;display:block}
}
@media(max-width:600px){
  .page-popup{padding:0}
  .page-popup-shell{width:100%;height:100vh;border-radius:0}
  .page-popup-content>section,.page-popup-content>.legal-section,.page-popup-content>.payment-section{padding-top:28px;padding-bottom:32px}
  .page-popup-toolbar{box-sizing:border-box;width:100%;min-height:68px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left));gap:5px}.page-popup-brand{width:72px;max-width:22vw;min-width:0}.page-popup-brand img{height:44px}.page-popup-navigation{gap:5px;overflow:visible}.page-popup-navigation>a{display:none}.page-popup-back,.page-popup-menu>summary{flex:0 0 auto;min-height:44px;padding:7px 9px;white-space:nowrap}.page-popup-menu-icon{display:inline-block;margin-right:5px}.page-popup-menu-panel{position:fixed;top:calc(68px + env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));width:auto}.page-popup-close{flex-basis:44px;width:44px;height:44px;font-size:27px}
  .brand-logo{width:205px;max-width:60vw}
  .header-inner{justify-content:space-between}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .site-nav{display:none;order:4;padding-top:12px}
  .site-nav.open{display:flex}
  .site-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;flex:1 1 145px}
  .education-options{grid-template-columns:1fr}
  .employment-table,.employment-table tbody,.employment-table tr,.employment-table th,.employment-table td{display:block;width:100%}.employment-table th{padding:9px 12px 3px;border:0}.employment-table td{padding:4px 12px 11px}.employment-record:not(:first-child){border-top:8px solid var(--navy)}
  .career-name-grid{grid-template-columns:1fr}
  #career-form .career-step[data-career-step="1"],#career-form .career-step[data-career-step="1"] .career-name-grid{grid-template-columns:1fr}
  #career-form .availability-days{grid-template-columns:repeat(2,minmax(0,1fr))}
  .career-progress{grid-template-columns:1fr 1fr}.career-progress li{min-height:42px}.career-step{grid-template-columns:1fr}.career-step-heading,.career-step-intro,.career-step-actions{grid-column:auto}.career-step-actions .btn{min-width:0;flex:1}
  .quote-request-meta-grid{grid-template-columns:1fr;justify-content:stretch}
  .addon-grid,.room-grid{grid-template-columns:1fr}
  .service-table,.gov-grid,.contact-grid,.stats,.journey-grid,.purpose-grid{grid-template-columns:1fr}
  .government-services{grid-template-columns:1fr}
  .city-list{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .field.full,.total-box,.form-note{grid-column:auto}
  .form-card{padding:22px 18px}
  .form-grid{gap:16px}
  .quote-layout{min-height:clamp(620px,76dvh,820px)}.quote-layout>.quote-info{position:static}#quote-form{height:clamp(620px,76dvh,820px);padding:18px 14px 22px}
  .quote-mobile-progress{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;position:sticky;top:8px;z-index:12;background:#fff;border-radius:12px;box-shadow:0 6px 18px rgba(4,25,87,.10)}
  .quote-mobile-progress li{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:7px 4px;border:1px solid #cad7e9;border-radius:9px;background:#f5f8fc;color:#000000;font-size:11px;font-weight:900}
  .quote-mobile-progress li span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dce6f4;color:var(--navy)}
  .quote-mobile-progress li.active{border-color:var(--royal);background:#eef5ff;color:var(--navy)}.quote-mobile-progress li.active span{background:var(--navy);color:#fff}.quote-mobile-progress li.complete span{background:var(--gold);color:var(--navy)}
  .quote-step-panel{grid-template-columns:1fr;gap:14px}.quote-step-panel[hidden]{display:none}.quote-step-panel>*{grid-column:1!important}.quote-mobile-only-heading{display:block}
  .quote-mobile-actions{display:flex;grid-column:1/-1;position:sticky;bottom:0;z-index:11;gap:10px;margin:8px -14px -8px;padding:10px 14px max(10px,env(safe-area-inset-bottom));border-top:1px solid #d5e0ef;background:rgba(255,255,255,.97);box-shadow:0 -8px 22px rgba(4,25,87,.10);backdrop-filter:blur(8px)}.quote-mobile-actions .btn{flex:1;min-width:0;padding-right:12px;padding-left:12px;font-size:12px}
  .quote-step-panel[data-quote-step="2"] .quote-refine{padding:0 12px}.quote-step-panel[data-quote-step="2"] .quote-refine>summary{pointer-events:none}.quote-step-panel[data-quote-step="2"] .quote-refine>summary::marker{content:""}
  .quote-step-panel[data-quote-step="3"] .quick-quote-heading{margin-bottom:2px}.quote-mobile-review-back{margin-bottom:-4px}
  #quote-form .upload-help,#quote-form .field-help{font-size:11px;line-height:1.35}
  #quote-form .response-promise{font-size:12px;padding:10px 12px}
  .hero h1{font-size:clamp(20px,6.5vw,30px);line-height:1}
  .hero-actions .btn{width:100%}
  .footer-discount{align-items:stretch;flex-direction:column}.footer-discount .btn{width:100%}
}
@media(max-width:380px){.page-popup-brand{width:56px}.page-popup-back,.page-popup-menu>summary{font-size:13px;padding-right:7px;padding-left:7px}.page-popup-menu-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-popup-menu-icon{margin-right:0}}
@media(max-width:900px){.starting-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.availability-days,.availability-grid{grid-template-columns:1fr 1fr}.work-availability{padding:14px}.availability-grid .field.full{grid-column:1/-1}}
@media(max-width:400px){.availability-days{grid-template-columns:1fr}}
@media(max-width:650px){.starting-price-grid,.starting-price-details{grid-template-columns:1fr}.starting-price-card{grid-template-rows:auto;padding:19px}.starting-price-card .price{margin:12px 0 3px}.starting-price-card .rate{margin-bottom:12px}.starting-price-list li{align-items:flex-start}.price-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}}
@media(orientation:landscape) and (max-width:1100px) and (max-height:500px){
  .topbar{display:none}
  .header-inner{position:relative;min-height:62px;flex-wrap:nowrap;justify-content:space-between;padding:4px 0}
  .brand-logo{width:128px;max-width:38vw}
  .brand-logo::after{font-size:9px}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
  .site-nav{display:none;position:absolute;top:100%;right:0;left:0;z-index:1001;max-height:calc(100dvh - 62px);overflow-y:auto;flex-direction:row;align-items:center;justify-content:center;gap:4px 8px;padding:8px;border:1px solid var(--line);border-radius:0 0 12px 12px;background:#fff;box-shadow:0 12px 24px rgba(4,25,87,.18)}
  .site-nav.open{display:flex}
  .site-nav a{flex:1 1 145px;min-height:40px;padding:5px;font-size:12px}
}
@media(orientation:portrait) and (max-width:600px){
  .hero{background-position:68% top}
  #home .hero-copy>h1,#home .hero-lead{transform:translateX(16px)}
  #home .hero-actions{margin-inline:16px}
}
@media(min-width:801px) and (hover:hover) and (pointer:fine){
  .hero-content{padding-top:97px}
  .hero h1{font-size:clamp(44px,5vw,70px)}
  #home .hero-copy>h1,#home .hero-lead{transform:translateX(16px)}
}

.discount-conflict-notice{margin-top:12px;padding:12px 14px;border:2px solid var(--gold);border-radius:10px;background:#fff3bf;color:var(--navy);font-weight:700;line-height:1.45}
.discount-conflict-notice strong{display:block;margin-bottom:2px}

/* CAREERS — wider employment application layout */
#careers .career-grid:has(#career-form:not([hidden])) #career-form{
  grid-column:1 / -1;
  width:100%;
  max-width:none;
}
#careers .career-grid:has(#career-form:not([hidden])){
  gap:30px 42px;
}
#careers .career-grid:has(#career-form:not([hidden])) > div:first-child{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:28px;
  align-items:start;
}
#careers .career-grid:has(#career-form:not([hidden])) > div:first-child .career-benefits{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-self:end;
}
#career-form .employment-table{
  table-layout:fixed;
}
#career-form .employment-table-wrap{
  overflow-x:hidden;
}
#career-form .employment-table th{
  width:12%;
}
#career-form .employment-table th:not(.employment-record-heading){
  padding-left:10px;
  padding-right:8px;
  text-align:right;
  vertical-align:middle;
}
#career-form .employment-table td{
  width:38%;
}
#career-form .employment-table select[data-employment-field="may-contact"]{
  width:88px;
  max-width:100%;
}
#career-form .employment-date-row th{
  white-space:normal;
  overflow:visible;
  line-height:1.35;
}
#career-form .employment-date-row .career-date-selector{
  width:100%;
  max-width:100%;
  overflow:visible;
}
#career-form .employment-date-row .career-date-part span{
  display:block;
  width:100%;
  text-align:center;
}
#career-form .employment-date-row input[type="date"]{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:44px;
  padding:9px 8px;
  overflow:visible;
  font-size:16px;
  line-height:1.25;
  -webkit-appearance:auto;
  appearance:auto;
}
#career-form .employment-date-row input[type="date"]::-webkit-date-and-time-value{
  min-width:0;
  text-align:left;
}
@media(max-width:1050px){
  #careers .career-grid:has(#career-form:not([hidden])) > div:first-child{
    grid-template-columns:1fr;
  }
  #careers .career-grid:has(#career-form:not([hidden])) > div:first-child .career-benefits{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #career-form .employment-table,
  #career-form .employment-table tbody,
  #career-form .employment-table tr,
  #career-form .employment-table th,
  #career-form .employment-table td{
    display:block;
    width:100%;
  }
  #career-form .employment-table th{
    padding:10px 12px 4px;
    border:0;
    text-align:left;
  }
  #career-form .employment-table td{
    padding:4px 12px 12px;
  }
  #career-form .employment-record:not(:first-child){
    border-top:8px solid var(--navy);
  }
}
@media(max-width:700px){
  #careers .career-grid:has(#career-form:not([hidden])) > div:first-child .career-benefits{
    grid-template-columns:1fr;
  }
}


/* Careers review: edit any section or individual answer */
.career-review-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap;}
.career-review-section-head h4{margin:0!important;}
.career-review-edit-section,.career-review-edit-field{appearance:none;border:1px solid #0a55b5;background:#fff;color:#0a55b5;border-radius:999px;font-weight:800;cursor:pointer;line-height:1.1;}
.career-review-edit-section{padding:8px 12px;font-size:.82rem;}
.career-review-edit-field{padding:5px 9px;font-size:.74rem;white-space:nowrap;}
.career-review-edit-section:hover,.career-review-edit-field:hover{background:#eef5ff;}
.career-review-edit-section:focus-visible,.career-review-edit-field:focus-visible{outline:3px solid rgba(10,85,181,.24);outline-offset:2px;}
.career-review-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px;}
.career-review-item-head strong{margin:0!important;}
@media(max-width:520px){.career-review-edit-section{width:100%;}.career-review-item-head{align-items:flex-start;}}

/* Careers review: one global edit control */
.career-review-global-edit-bar{display:flex;justify-content:flex-end;grid-column:1/-1;margin:0 0 4px;}
.career-review-global-edit{min-width:170px;}
.career-review-edit-dialog{border:0;border-radius:18px;padding:0;max-width:520px;width:min(92vw,520px);box-shadow:0 24px 70px rgba(7,27,64,.28);}
.career-review-edit-dialog::backdrop{background:rgba(5,18,44,.58);}
.career-review-edit-dialog-card{padding:22px;display:grid;gap:16px;background:#fff;}
.career-review-edit-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.career-review-edit-dialog-head h3{margin:0;color:#08255f;}
.career-review-edit-close{appearance:none;border:0;background:transparent;font-size:1.8rem;line-height:1;cursor:pointer;color:#243757;padding:4px 8px;}
.career-review-edit-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.career-review-edit-option{appearance:none;border:1px solid #b9c9df;background:#f7faff;color:#08255f;border-radius:12px;padding:14px 12px;font-weight:800;cursor:pointer;text-align:left;}
.career-review-edit-option:hover,.career-review-edit-option:focus-visible{background:#eef5ff;border-color:#0a55b5;}
@media(max-width:560px){.career-review-global-edit-bar{justify-content:stretch}.career-review-global-edit{width:100%}.career-review-edit-options{grid-template-columns:1fr;}}

/* Careers submission result messages */
#career-submit-status.career-submit-error{
  color:#c00000;
  background:#fff0f0;
  border:2px solid #c00000;
  font-size:20px;
  font-weight:800;
  line-height:1.45;
  padding:16px 18px;
}
#career-submit-status.career-submit-success{
  color:#000;
  background:#f4f7fb;
  border:2px solid #000;
  font-size:18px;
  font-weight:900;
  line-height:1.45;
  padding:16px 18px;
}

.availability-days label.availability-day-disabled{opacity:1;cursor:not-allowed;background:#f3f4f6}.availability-days label.availability-day-disabled input{cursor:not-allowed}

/* Careers compensation ranges */
#career-form .career-compensation-note {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #d8e2f0;
  border-radius: 10px;
  background: #f5f8fc;
  line-height: 1.45;
}
#career-form .career-pay-range {
  margin: 6px 0 10px;
  font-size: 1rem;
  color: #071f5b;
}
#career-form .career-pay-range strong { font-weight: 800; }

/* Keep the compact Pet Safety selector visibly bounded. This rule is placed
   after the compact-layout rules so its border cannot be reset to zero. */
.pet-presence-field #quote-pets{
  border:2px solid #c7d0dc!important;
  box-shadow:0 0 0 1px rgba(120,135,155,.08)!important;
  border-radius:8px!important;
  background-color:#fff!important;
}
.pet-presence-field #quote-pets:focus{
  border-color:#0752cc!important;
  box-shadow:0 0 0 3px rgba(7,82,204,.2)!important;
}
.pet-presence-field #quote-pets.missing-required{
  border-color:#b00020!important;
  box-shadow:0 0 0 2px rgba(176,0,32,.12)!important;
}
.pet-validation-panel{
  border:3px solid #f4c624!important;
  box-shadow:0 8px 20px rgba(7,29,85,.1),0 0 0 1px rgba(244,198,36,.18)!important;
}

/* Quote submission always appears above the independently scrolling form. */
.quote-submission-dialog{
  position:fixed;
  z-index:2147483647;
  inset:0;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  padding:24px;
  overflow:auto;
  background:linear-gradient(145deg,#031442 0%,#0752cc 100%);
}
.quote-submission-dialog .quote-submission-outcome{
  width:min(92vw,720px);
  max-height:min(88dvh,820px);
  margin:0;
  padding:30px;
  overflow:auto;
  border:3px solid var(--gold);
  border-radius:20px;
  background:#fff;
  box-shadow:0 28px 80px rgba(3,20,66,.38);
}
.quote-preliminary-reference{
  display:grid;
  gap:6px;
  margin:16px 0;
  padding:14px 16px;
  border:3px solid var(--gold);
  border-radius:12px;
  background:#fffbea;
  color:#031442;
  text-align:left;
}
.quote-preliminary-reference[hidden]{display:none!important}
.quote-preliminary-reference strong{font-size:1.12rem}
.quote-preliminary-reference span{line-height:1.4}
.quote-submitting-mark{animation:quoteSubmittingPulse .8s ease-in-out infinite alternate}
@keyframes quoteSubmittingPulse{from{transform:scale(.92);opacity:.65}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.quote-submitting-mark{animation:none}}
.localized-validation{
  display:block;
  margin-top:6px;
  color:#a40016;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.localized-validation[hidden]{display:none!important}
@media(max-width:600px){
  .quote-submission-dialog .quote-submission-outcome{padding:22px 16px}
}

/* Quote page: static information on the left, interactive form on the right. */
.workflow-quote #quote>.container{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(560px,1.28fr);
  column-gap:42px;
  row-gap:22px;
  align-items:start;
}
.workflow-quote #quote .page-breadcrumb,
.workflow-quote #quote .section-title,
.workflow-quote #quote .quote-next-steps{
  grid-column:1;
}
.workflow-quote #quote .quote-layout{
  display:contents;
  min-height:0;
}
.workflow-quote #quote .quote-info{
  grid-column:1;
  position:static;
  width:100%;
}
.workflow-quote #quote #quote-form{
  grid-column:2;
  grid-row:1 / span 4;
  width:100%;
  margin:0;
  position:sticky;
  top:104px;
}
.workflow-quote #quote .quote-next-steps ol{
  grid-template-columns:1fr;
  gap:16px;
}
.workflow-quote #quote .section-title h1{
  font-size:clamp(38px,4.1vw,64px);
}
@media(max-width:1100px){
  .workflow-quote #quote>.container{display:block}
  .workflow-quote #quote .quote-layout{display:grid;grid-template-columns:1fr;gap:24px}
  .workflow-quote #quote #quote-form{position:static;width:100%;margin-top:24px}
  .workflow-quote #quote .quote-next-steps ol{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .workflow-quote #quote .quote-next-steps ol{grid-template-columns:1fr}
}

/* Phone portrait: prioritize the quote task and give the form the full screen. */
@media (orientation:portrait) and (max-width:700px){
  .workflow-quote #quote{padding:10px 0 24px}
  .workflow-quote #quote>.container{width:100%;padding-inline:10px}
  .workflow-quote #quote .section-title,
  .workflow-quote #quote .quote-next-steps,
  .workflow-quote #quote .quote-info{display:none}
  .workflow-quote #quote .quote-layout{display:block;min-height:0}
  .workflow-quote #quote #quote-form{
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:16px 12px 28px;
    overflow:visible;
    scrollbar-gutter:auto;
  }
}

/* Desktop quote workspace: the form is the page's only scrolling surface. */
@media(min-width:1101px){
  html:has(body.workflow-quote),
  body.workflow-quote{
    height:100%;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .workflow-quote>.topbar,
  .workflow-quote>.site-header{flex:0 0 auto}
  .workflow-quote>footer{display:none}
  .workflow-quote>main{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }
  .workflow-quote #quote{
    height:100%;
    min-height:0;
    padding:10px 0 14px;
    overflow:hidden;
  }
  .workflow-quote #quote>.container{
    height:100%;
    min-height:0;
    row-gap:8px;
  }
  .workflow-quote #quote #quote-form{
    position:static;
    top:auto;
    height:100%;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-bottom:96px;
  }
  .workflow-quote #quote .page-breadcrumb,
  .workflow-quote #quote .section-title,
  .workflow-quote #quote .quote-next-steps,
  .workflow-quote #quote .quote-info{
    min-width:0;
  }
  .workflow-quote #quote .section-title{margin-bottom:0}
  .workflow-quote #quote .section-title .eyebrow{margin-bottom:4px}
  .workflow-quote #quote .section-title h1{
    margin-bottom:5px;
    font-size:clamp(30px,2.7vw,42px);
    line-height:1.02;
  }
  .workflow-quote #quote .section-title p{
    margin:0;
    font-size:14px;
    line-height:1.4;
  }
  .workflow-quote #quote .quote-next-steps{
    margin:0;
    padding:12px 14px;
  }
  .workflow-quote #quote .quote-next-steps h3{
    margin-bottom:10px;
    font-size:18px;
  }
  .workflow-quote #quote .quote-next-steps ol{gap:9px}
  .workflow-quote #quote .quote-next-steps li{padding-left:34px}
  .workflow-quote #quote .quote-next-steps li::before{
    width:24px;
    height:24px;
    font-size:12px;
  }
  .workflow-quote #quote .quote-next-steps strong{
    margin-bottom:2px;
    font-size:13px;
  }
  .workflow-quote #quote .quote-next-steps span{
    font-size:12px;
    line-height:1.35;
  }
  .workflow-quote #quote .quote-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px 14px;
    padding:13px 16px;
  }
  .workflow-quote #quote .quote-info h3,
  .workflow-quote #quote .quote-info p{grid-column:1/-1}
  .workflow-quote #quote .quote-info h3{margin:0 0 2px;font-size:18px}
  .workflow-quote #quote .quote-info p{margin:0 0 4px;font-size:12px;line-height:1.4}
  .workflow-quote #quote .quote-info a{margin:0;font-size:12px}
}

.quote-correction-notice{grid-column:1/-1;background:#fff8d8;border:2px solid #d5a900;border-radius:10px;padding:16px 18px;margin:0 0 18px;color:#000}
.quote-correction-notice strong,.quote-correction-notice p{color:#000}
.quote-correction-notice p{margin:8px 0 0}

/* v145: keep each optional commercial service's inputs and calculation in its own card. */
.quote-commercial-scope .commercial-addons .commercial-option-card{display:block;cursor:default;min-width:0;overflow:hidden}
.quote-commercial-scope .commercial-addons .commercial-option-choice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;cursor:pointer;color:var(--navy);font-size:14px;font-weight:800}
.quote-commercial-scope .commercial-addons .commercial-option-choice span{display:flex;align-items:flex-start;gap:9px;min-width:0;overflow-wrap:anywhere}
.quote-commercial-scope .commercial-addons .commercial-option-choice input{width:18px;height:18px;margin:0;accent-color:var(--royal);flex:0 0 auto}
.quote-commercial-scope .commercial-addons .commercial-option-choice b{color:var(--royal);font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.3;text-align:right;max-width:52%}
.quote-commercial-scope .commercial-addons .commercial-option-details{display:grid;gap:8px;margin-top:10px;min-width:0}
.quote-commercial-scope .commercial-addons .commercial-option-details:empty{display:none}
.quote-commercial-scope .commercial-addons .commercial-option-details .field{margin:0;min-width:0}
.quote-commercial-scope .commercial-addons .commercial-option-details .commercial-calc-line{padding:9px 10px;border-radius:8px;background:#fff;border:1px solid #d7e0ed;color:#000;line-height:1.35;overflow-wrap:anywhere;word-break:normal}
.quote-commercial-scope .commercial-addons .commercial-option-details label,
.quote-commercial-scope .commercial-addons .commercial-option-details span,
.quote-commercial-scope .commercial-addons .commercial-option-details strong{color:#000}
.quote-commercial-scope .commercial-addons .commercial-option-details input{width:100%;color:#000;background:#fff}
@media(max-width:700px){.quote-commercial-scope .commercial-addons .commercial-option-choice{flex-direction:column}.quote-commercial-scope .commercial-addons .commercial-option-choice b{max-width:100%;text-align:left}}

/* v147: cinema pricing transparency */
.commercial-room-calc{grid-column:1/-1;padding:9px 11px;border:1px solid #c9d5ea;border-radius:8px;background:#fff;color:#000;font-size:12px;font-weight:700;line-height:1.45}.commercial-pricing-transparency{margin-top:14px;padding:12px 14px;border-left:4px solid var(--gold);background:#fff9dc;color:#000}.commercial-pricing-transparency p{margin:5px 0 0;color:#000;line-height:1.5}

/* v152: standardized transparent add-on calculation display across quote types */
.addon-calculation-line,.commercial-calc-line{padding:9px 10px;border-radius:8px;background:#fff;border:1px solid #d7e0ed;color:#000;line-height:1.4;overflow-wrap:anywhere;word-break:normal;margin:4px 0 10px}
.addon-calculation-line strong,.commercial-calc-line strong{color:#071f55}
.addon-calc-heading{font-weight:800;color:#071f55;margin-bottom:5px}
.addon-calculation-line>div+div{margin-top:5px;padding-top:5px;border-top:1px solid #e3e8f0}

/* Commercial arrangement controls use the same field grid and box styles. */
.commercial-contract-panel{min-width:0}
.commercial-contract-panel .quote-refine-grid{padding-bottom:0}
.commercial-contract-panel .field{min-width:0}
#commercial-contract-choice #commercial-term-choice:not([hidden]){display:contents}
.commercial-contract-summary{grid-column:1/-1;margin:0;color:var(--ink);line-height:1.55}

.commercial-room-controls[hidden],.commercial-task-details[hidden]{display:none!important}

.commercial-building-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:12px 0;padding:16px;border:1px solid #c9d5e6;border-radius:10px;}
@media(max-width:650px){.commercial-building-row{grid-template-columns:minmax(0,1fr);}}

/* Scrubber DO! standard: all entered values and placeholders are solid black. */
:root{--muted:#000000;--text-muted:#000000;--muted-text:#000000;--placeholder-color:#000000;}
:where(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),textarea,select,select option,.wrapped-select-caption,.field-readable-message,[contenteditable="true"]){color:#000000!important;-webkit-text-fill-color:#000000!important;}
input::placeholder,textarea::placeholder{color:#000000!important;-webkit-text-fill-color:#000000!important;opacity:1!important;}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#000000!important;-webkit-text-fill-color:#000000!important;opacity:1!important;}
input::-moz-placeholder,textarea::-moz-placeholder{color:#000000!important;opacity:1!important;}
input:disabled,textarea:disabled,select:disabled,button:disabled,.wrapped-select.is-disabled,.availability-days label.availability-day-disabled{opacity:1!important;}
/* The real native dropdown remains transparent behind its black, wrapping caption. */
.wrapped-select>select,.wrapped-select>select:disabled{opacity:0!important;}

/* Read-only record values use the same solid black as editable input values. */
dd,.customer-submission dd,#customerSubmission dd,.business-value,.record-value{color:#000000!important;}

/* Keep footer links readable against their navy background. */
footer a,footer .copyright{color:#fff;}

/* Preserve the approved navy footer and gold headings; restore readable body text. */
footer .footer-hours,footer .footer-hours span,footer .footer-assurance,footer .copyright{color:#fff;}
footer a{color:#fff;}
footer .footer-assurance a,footer h3,footer .footer-hours strong{color:var(--gold);}
footer .btn{color:var(--navy);}

.saved-quote-choice{grid-column:1/-1;margin-bottom:18px;padding:18px;border:1px solid #c9d5e6;border-left:4px solid var(--gold);border-radius:12px;background:#fff;color:#000;min-width:0;}
.saved-quote-choice h3{color:var(--navy);margin:0 0 8px;}
.saved-quote-choice p{color:#000;line-height:1.6;overflow-wrap:anywhere;}
.saved-quote-actions{display:flex;flex-wrap:wrap;gap:12px;}
.saved-quote-actions .btn{white-space:normal;overflow-wrap:anywhere;max-width:100%;}
.saved-quote-actions .btn:disabled{background:#fff;color:#000;border:1px solid #000;cursor:default;}

/* Popup headers use the same navy uppercase links and gold accents as the main navigation. */
.page-popup-navigation{flex-wrap:wrap;}
.page-popup-full-navigation{display:flex;align-items:center;justify-content:center;flex:1;flex-wrap:wrap;gap:6px 8px;min-width:0;}
.page-popup-full-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;border-radius:8px;font-size:13px;font-weight:900;line-height:1.2;text-decoration:none;text-transform:uppercase;color:var(--navy);white-space:normal;transition:background .2s ease,color .2s ease;}
.page-popup-full-navigation a:hover,.page-popup-full-navigation a:focus-visible{background:transparent;color:var(--gold);}
.page-popup-full-navigation a:focus-visible{outline:3px solid var(--royal);outline-offset:2px;}
.page-popup-full-navigation a[aria-current="page"]{padding:8px 10px;border:2px solid var(--gold);border-radius:999px;background:#fff9df;color:var(--navy);}
.page-popup-full-navigation a[aria-current="page"]:hover,.page-popup-full-navigation a[aria-current="page"]:focus-visible{background:var(--gold);color:var(--navy);}
.page-popup-full-navigation .sd-nav-quote{background:var(--gold);padding:12px 18px;color:var(--navy);}
@media(max-width:900px){.page-popup-toolbar{flex-wrap:wrap;}.page-popup-navigation{display:contents;}.page-popup-full-navigation{order:5;flex-basis:100%;justify-content:center;padding-top:10px;border-top:1px solid var(--line);}.page-popup-brand{margin-right:auto;}.page-popup-full-navigation a{padding:7px 8px;text-align:center;}}

.workflow-government .site-nav a[href="/government-contracting.html"]{padding:8px 10px;border:2px solid var(--gold);border-radius:999px;background:#fff9df;color:var(--navy);}
.workflow-government .site-nav a[href="/government-contracting.html"]:hover,.workflow-government .site-nav a[href="/government-contracting.html"]:focus-visible{background:var(--gold);color:var(--navy);}

/* Reserve the selected pill's space on every link so selection never moves the menu. */
.site-nav a,.page-popup-full-navigation a{box-sizing:border-box;padding:8px 10px;border:2px solid transparent;}
.page-popup-full-navigation a.sd-nav-quote,.page-popup-full-navigation a.sd-nav-quote[aria-current="page"]{padding:12px 18px;}

/* Compact portrait actions keep more of the cleaner visible. */
@media(orientation:portrait) and (max-width:600px){
 #home .hero-actions{gap:8px}
 #home .hero-actions .btn{width:auto;max-width:100%;min-height:44px;padding:8px 12px;font-size:14px;line-height:1.2}
}

/* The same page scrolling model in phone/tablet portrait and landscape. */
@media screen and (max-width:1100px){
 .workflow-quote #quote .quote-layout{min-height:0;}
 .workflow-quote #quote #quote-form{height:auto;min-height:0;max-height:none;overflow:visible;scrollbar-gutter:auto;}
 html:has(body.workflow-quote){scroll-padding-block:96px;}
 .page-popup-shell:has(#quote){scroll-padding-block:96px;}
}
@media screen and (orientation:landscape) and (max-width:1100px) and (max-height:500px){
 /* A short screen needs its height for fields rather than stacked sticky bars. */
 body.workflow-page .site-header,body.workflow-page .sd-public-header{position:static;}
 .workflow-quote #quote .quote-mobile-progress,.workflow-quote #quote .quote-mobile-actions{position:static;}
 .workflow-quote #quote #quote-form{margin-top:16px;}
}

/* Service Areas: short landscape screens must show the map, not a pinned menu. */
@media screen and (orientation:landscape) and (max-width:1100px) and (max-height:500px){
 .page-popup:has(.page-popup-content>#service-area) .page-popup-toolbar{position:static;min-height:0;padding:6px max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));gap:6px 12px;}
 .page-popup:has(.page-popup-content>#service-area) .page-popup-brand{width:96px;min-height:36px;}
 .page-popup:has(.page-popup-content>#service-area) .page-popup-brand img{height:36px;}
 .page-popup:has(.page-popup-content>#service-area) .page-popup-full-navigation{padding-top:6px;gap:4px 8px;}
 .page-popup:has(.page-popup-content>#service-area) .page-popup-full-navigation a{min-height:40px;padding:6px 8px;}
 .page-popup-content>#service-area{padding-top:16px;padding-bottom:24px;}
 #service-area .service-area-layout{grid-template-columns:minmax(0,1fr);padding:12px;gap:18px;}
 #service-area .service-area-map{box-sizing:border-box;min-height:0;height:calc(100vh - 32px);height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
 #service-area #service-boundary-map{height:100%;min-height:0;}
}
@media screen and (orientation:portrait) and (max-width:600px){
 #service-area .service-area-layout{padding:12px;grid-template-columns:minmax(0,1fr);}
 #service-area .service-area-map{box-sizing:border-box;height:clamp(260px,60dvh,390px);min-height:0;}
 #service-area #service-boundary-map{height:100%;min-height:0;}
}

/* Quote headings remain a full horizontal row on phone landscape. */
@media screen and (orientation:landscape) and (max-width:1100px) and (max-height:600px){
 #quote-form{grid-template-columns:minmax(0,1fr);}
 #quote-form>.quote-step-panel{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box;}
 #quote-form .quote-step-panel>.quick-quote-heading{display:block;grid-column:1/-1;justify-self:stretch;width:100%;max-width:100%;min-width:0;box-sizing:border-box;writing-mode:horizontal-tb;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.4;}
 #quote-form .quote-step-panel>.quick-quote-heading span{display:inline;white-space:nowrap;word-break:normal;overflow-wrap:normal;}
}

/* Draft actions are an optional, compact disclosure rather than a large card. */
html body .saved-quote-choice.saved-draft-toolbar{grid-column:1/-1;min-width:0;max-width:100%;margin:0 0 12px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
.saved-draft-options{min-width:0;max-width:100%;}
.saved-draft-options>summary{display:list-item;width:fit-content;max-width:100%;box-sizing:border-box;min-height:44px;padding:10px 4px;color:var(--navy);font-size:14px;font-weight:800;line-height:24px;cursor:pointer;}
.saved-draft-options>summary:focus-visible{outline:3px solid var(--royal);outline-offset:2px;border-radius:4px;}
.saved-draft-options[open]{padding-bottom:10px;border-bottom:1px solid var(--line);}
.saved-draft-options>p{margin:4px 0 8px;font-size:13px;line-height:1.5;color:#000;}
.saved-draft-options .saved-quote-actions{display:flex;flex-wrap:wrap;gap:8px 18px;}
html body .saved-draft-options .saved-quote-actions .btn{display:inline-flex;align-items:center;width:auto;min-width:0;max-width:100%;min-height:44px;margin:0;padding:6px 4px;border:0;border-radius:0;background:transparent;color:var(--navy);box-shadow:none;font-size:14px;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:3px;white-space:normal;overflow-wrap:normal;}
html body .saved-draft-options .saved-quote-actions .btn:disabled{color:#000;background:transparent;border:0;text-decoration:none;cursor:default;}

/* Phone landscape: the pricing explanation must not occupy a narrow side column. */
@media screen and (orientation:landscape) and (max-width:1100px) and (max-height:600px){
 html body #quote .quote-layout,html body .page-popup-content>#quote .quote-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-height:0;}
 html body #quote .quote-layout>.quote-info{position:static;grid-column:1/-1;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:18px;}
 html body #quote .quote-info :is(#quote-workflow-title,#quote-workflow-intro){display:block;grid-column:1/-1;min-width:0;max-width:100%;width:100%;writing-mode:horizontal-tb;white-space:normal;word-break:normal;overflow-wrap:normal;}
 html body #quote .quote-info #quote-workflow-intro{color:#fff;line-height:1.5;}
 html body #quote .quote-layout>#quote-form{grid-column:1/-1;grid-row:auto;width:100%;min-width:0;}
}
/* Portrait keeps the pricing notice visible without restoring the large contact panel. */
@media screen and (orientation:portrait) and (max-width:700px){
 html body.workflow-quote #quote .quote-layout>.quote-info{display:block;position:static;grid-column:1/-1;box-sizing:border-box;width:100%;min-width:0;margin:0 0 14px;padding:12px 16px;}
 html body.workflow-quote #quote .quote-info>h3,html body.workflow-quote #quote .quote-info>a{display:none;}
 html body.workflow-quote #quote .quote-info #quote-workflow-intro{display:block;width:100%;min-width:0;max-width:100%;margin:0;color:#fff;font-size:14px;line-height:1.5;writing-mode:horizontal-tb;white-space:normal;word-break:normal;overflow-wrap:normal;}
}

/* Yellow highlight follows the currently selected field on every device. */
html body :is(input:not([type=hidden]),select,textarea,[contenteditable=true]):focus,
html body :is(.commercial-frequency-trigger,.mobile-job-trigger):focus,
html body button:focus-visible {
 outline:3px solid #f6c527!important;outline-offset:2px!important;
}
html body :is(.wrapped-select,.date-control-boundary):focus-within {
 outline:3px solid #f6c527!important;outline-offset:2px!important;
}
/* The visible wrapper carries the highlight for transparent native controls. */
html body .wrapped-select>select:focus,
html body .date-control-boundary>input:focus,
html body .commercial-frequency-native:focus {
 outline:none!important;
}

/* Estimated measurements remain subject to physical verification. */
#quote-form .measurement-verification-disclaimer{display:block;margin-top:6px;color:#000!important;-webkit-text-fill-color:#000!important;font-size:14px!important;font-weight:400!important;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%;}
#quote-form #quote-size-field{width:100%;max-width:100%;}
#quote-form #quote-size{max-width:180px;}

/* Submission disclosure stays readable within the existing quote review step. */
#quote-form .measurement-submission-disclaimer{grid-column:1/-1;margin:12px 0;color:#000!important;-webkit-text-fill-color:#000!important;font-size:14px!important;line-height:1.5;white-space:normal;overflow-wrap:anywhere;max-width:100%;}

/* Approved quote CTA stays yellow in every navigation and device orientation. */
html body a.btn.btn-gold[href="/quote"],html body a.sd-nav-quote,html body a.sd-nav-quote[aria-current="page"]{background:#ffd100!important;background-image:none!important;color:#041957!important;-webkit-text-fill-color:#041957!important;border-color:#ffd100!important;}
html body a.btn.btn-gold[href="/quote"]:hover,html body a.sd-nav-quote:hover{background:#f2c600!important;color:#041957!important;}
html body a.btn.btn-gold[href="/quote"]:focus-visible,html body a.sd-nav-quote:focus-visible{outline:3px solid #0752cc;outline-offset:3px;}
