/*
Theme Name: Local HVAC Match
Theme URI: https://localhvacmatch.com/
Author: Local HVAC Match
Description: Custom Houston-first marketplace theme for Local HVAC Match.
Version: 1.15
Text Domain: local-hvac-match
*/
:root{
  --navy:#0f2942;
  --navy-2:#173b5e;
  --blue:#1d6fa5;
  --sky:#eaf4fb;
  --teal:#1d8b7f;
  --green:#1c7c54;
  --ink:#17212b;
  --muted:#5f6d7a;
  --line:#dce4ea;
  --soft:#f7f9fb;
  --white:#fff;
  --warning:#8a5a10;
  --shadow:0 12px 35px rgba(15,41,66,.09);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 32px),var(--max));margin:auto}
.topbar{background:var(--navy);color:#dfeaf2;font-size:.9rem}
.topbar .container{display:flex;justify-content:space-between;gap:24px;padding:9px 0}
.topbar strong{color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--teal));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(29,111,165,.22)}
.nav-links{display:flex;align-items:center;gap:22px;font-weight:650;color:#314355}
.nav-links a:hover{color:var(--blue)}
.nav-actions{display:flex;gap:10px}
.menu-btn{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer;transition:.18s ease}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(29,111,165,.22)}
.btn-primary:hover{background:#175c89;transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn-secondary:hover{border-color:#b7c8d4;background:var(--soft)}
.btn-dark{background:var(--navy);color:#fff}
.hero{background:linear-gradient(145deg,#f7fbfe 0%,#eef7fc 55%,#ffffff 100%);border-bottom:1px solid #e2edf4}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;padding:76px 0 72px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#e4f2fb;color:#185c83;border:1px solid #cfe6f5;padding:7px 11px;border-radius:999px;font-size:.86rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
h1{font-size:clamp(2.6rem,6vw,5.1rem);line-height:.98;letter-spacing:-.055em;margin:20px 0 20px;color:var(--navy)}
.hero p{font-size:1.15rem;color:#495a6b;max-width:720px;margin:0 0 28px}
.zip-card{background:#fff;border:1px solid #d8e5ee;border-radius:16px;box-shadow:var(--shadow);padding:14px;display:flex;gap:10px;max-width:650px}
.zip-card input{flex:1;border:1px solid var(--line);border-radius:11px;padding:14px 15px;min-width:0;outline:none}
.zip-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,111,165,.12)}
.microcopy{font-size:.88rem;color:var(--muted);margin-top:10px}
.hero-panel{background:var(--navy);border-radius:28px;padding:28px;color:#fff;box-shadow:0 24px 50px rgba(15,41,66,.2);position:relative;overflow:hidden}
.hero-panel:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.05);right:-70px;top:-70px}
.hero-panel h3{font-size:1.35rem;margin:0 0 18px}
.issue-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:1}
.issue{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:13px;border-radius:13px;color:#fff;font-weight:700}
.issue:hover{background:rgba(255,255,255,.13)}
.issue-icon{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.trust-strip{border-bottom:1px solid var(--line);background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust-item{padding:22px 18px;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;color:var(--navy);margin-bottom:4px}
.trust-item span{color:var(--muted);font-size:.92rem}
.section{padding:76px 0}
.section-soft{background:var(--soft)}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}
.section-head h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;line-height:1.05;margin:0;color:var(--navy)}
.section-head p{max-width:620px;color:var(--muted);margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:0 5px 18px rgba(15,41,66,.04)}
.card h3{margin:0 0 8px;color:var(--navy)}
.card p{margin:0;color:var(--muted)}
.problem-card{cursor:pointer;transition:.18s ease}
.problem-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c6dbe8}
.problem-card .icon{width:44px;height:44px;background:var(--sky);color:var(--blue);border-radius:12px;display:grid;place-items:center;font-size:1.2rem;margin-bottom:16px}
.location-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.location-pill{border:1px solid var(--line);border-radius:14px;padding:15px 16px;background:#fff;font-weight:800;color:var(--navy);text-align:center}
.location-pill:hover{border-color:#9fc5dc;background:#f6fbfe}
.cta-band{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:26px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta-band h2{margin:0 0 8px;font-size:2rem;letter-spacing:-.035em}
.cta-band p{margin:0;color:#d7e4ee;max-width:700px}
.site-footer{background:#0b2034;color:#c9d7e2;padding:54px 0 24px;margin-top:70px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px}
.footer-grid h4{color:#fff;margin:0 0 12px}
.footer-grid a{display:block;margin:8px 0;color:#c9d7e2}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:32px;font-size:.88rem;color:#9db0be}
.page-hero{background:linear-gradient(145deg,#f6fbfe,#edf6fb);border-bottom:1px solid var(--line);padding:58px 0 50px}
.page-hero h1{font-size:clamp(2.4rem,5vw,4rem);margin:12px 0 14px}
.page-hero p{max-width:760px;color:var(--muted);font-size:1.08rem}
.form-shell{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;padding:52px 0}
.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:28px}
.form-step{display:none}
.form-step.active{display:block}
.step-meta{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted);margin-bottom:18px}
.progress{height:8px;background:#e9eef2;border-radius:999px;overflow:hidden;margin-bottom:26px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));width:12.5%;transition:.25s}
.form-step h2{color:var(--navy);letter-spacing:-.025em;margin:0 0 8px}
.form-step>p{color:var(--muted);margin-top:0}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.choice{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 16px;text-align:left;font-weight:750;cursor:pointer}
.choice:hover,.choice.selected{border-color:var(--blue);background:#f1f8fc;color:var(--navy);box-shadow:0 0 0 2px rgba(29,111,165,.08)}
.field{margin:16px 0}
.field label{display:block;font-weight:750;margin-bottom:7px;color:#293a49}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;outline:none;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,111,165,.1)}
.field textarea{min-height:120px;resize:vertical}
.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.side-card{background:#f7fbfe;border:1px solid #d9eaf3;border-radius:20px;padding:22px;position:sticky;top:100px}
.side-card h3{margin:0 0 12px;color:var(--navy)}
.check-list{list-style:none;padding:0;margin:0}
.check-list li{padding:8px 0;color:#485a68}
.check-list li:before{content:"✓";color:var(--teal);font-weight:900;margin-right:9px}
.notice{background:#fff8e8;border:1px solid #f1dfb7;color:#74521a;border-radius:12px;padding:12px 14px;font-size:.9rem;margin-top:16px}
.directory-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin:28px 0 22px}
.directory-toolbar input,.directory-toolbar select{border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:#fff}
.contractor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.contractor-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:18px;box-shadow:0 5px 18px rgba(15,41,66,.04)}
.contractor-card h3{margin:0 0 4px;color:var(--navy)}
.badges{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eef4f7;color:#3e5466;font-size:.78rem;font-weight:800}
.badge.verified{background:#e7f6ef;color:#1c6e4b}
.badge.unclaimed{background:#fff5df;color:#805b18}
.contractor-meta{display:grid;gap:6px;color:var(--muted);font-size:.92rem}
.card-actions{display:flex;flex-direction:column;gap:8px;min-width:150px}
.empty-state{text-align:center;border:1px dashed #bfcbd4;border-radius:18px;padding:46px;background:#fafcfd;color:var(--muted)}
.profile-layout{display:grid;grid-template-columns:1fr 330px;gap:28px;padding:48px 0}
.profile-main,.profile-side{display:grid;gap:18px}
.profile-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.profile-section h2{margin:0 0 14px;color:var(--navy);font-size:1.35rem}
.profile-summary{display:flex;justify-content:space-between;gap:20px;align-items:start}
.profile-summary h1{font-size:2.5rem;margin:8px 0 8px}
.claim-box{background:#f7fbfe;border:1px solid #d8eaf4;border-radius:18px;padding:21px}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d59b2d;margin-right:7px}
.content-prose{max-width:820px}
.content-prose h2{color:var(--navy);margin-top:34px}
.content-prose p,.content-prose li{color:#435566}
.success-box{display:none;background:#eaf8f1;border:1px solid #bfe5d1;color:#1f684c;border-radius:16px;padding:18px;margin-top:18px}
.success-box.show{display:block}
.small{font-size:.86rem;color:var(--muted)}
@media (max-width:980px){
  .nav-links{display:none;position:absolute;left:16px;right:16px;top:78px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .nav-links.open{display:flex}.nav-actions{display:none}.menu-btn{display:block}
  .hero-grid,.form-shell,.profile-layout{grid-template-columns:1fr}
  .hero-grid{padding:56px 0}.hero-panel{max-width:720px}.side-card{position:static}
  .trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .cards{grid-template-columns:1fr 1fr}.location-grid{grid-template-columns:repeat(3,1fr)}
  .contractor-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .topbar .container{display:block;text-align:center}.topbar span:last-child{display:none}
  h1{font-size:2.8rem}.hero-grid{gap:30px}.zip-card{flex-direction:column}.issue-grid{grid-template-columns:1fr}
  .trust-grid,.cards,.choice-grid,.location-grid{grid-template-columns:1fr}
  .trust-item{border-right:0!important;border-bottom:1px solid var(--line)}
  .section{padding:56px 0}.section-head,.cta-band,.profile-summary{display:block}
  .cta-band .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr}
  .directory-toolbar{grid-template-columns:1fr}.contractor-card{grid-template-columns:1fr}.card-actions{flex-direction:row;flex-wrap:wrap}
  .form-card{padding:20px}.page-hero{padding:42px 0 36px}
}

/* =========================================================
   V0.3 PREMIUM HOMEPAGE / VISUAL IDENTITY
   ========================================================= */
:root{
  --navy:#0a2238;
  --navy-2:#102f4b;
  --blue:#176ea6;
  --blue-bright:#1b7fbd;
  --teal:#13877e;
  --ink:#15222d;
  --muted:#60707e;
  --line:#dbe4ea;
  --soft:#f5f8fa;
  --sky:#e9f4fa;
  --warm:#f0a33a;
  --shadow:0 18px 50px rgba(10,34,56,.10);
  --shadow-lg:0 30px 80px rgba(10,34,56,.16);
  --radius:20px;
}
body{font-feature-settings:"kern" 1,"liga" 1}
.premium-topbar{background:#071a2b;border-bottom:1px solid rgba(255,255,255,.06)}
.premium-topbar .container{padding:8px 0;font-size:.84rem;letter-spacing:.005em}
.topbar-dot{opacity:.55;margin:0 5px}.topbar-proof{color:#b8c9d6}
.premium-header{background:rgba(255,255,255,.975);box-shadow:0 1px 0 rgba(10,34,56,.03)}
.premium-header .nav{min-height:78px}
.brand-premium{gap:12px}.brand-mark-premium{width:46px;height:46px;border-radius:14px;background:#0b2b46;box-shadow:none;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;gap:3px;font-size:.78rem;letter-spacing:-.05em}
.brand-mark-premium i{width:1px;height:18px;background:#4ea9d6;transform:rotate(15deg);display:block}
.brand-wordmark{display:flex;flex-direction:column;line-height:1}.brand-wordmark strong{font-size:.99rem;letter-spacing:-.025em}.brand-wordmark small{font-size:.72rem;text-transform:uppercase;letter-spacing:.17em;color:#5f7486;margin-top:5px;font-weight:800}
.premium-header .nav-links{gap:26px;font-size:.94rem}.premium-header .nav-links a{position:relative}.premium-header .nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--blue);transition:.18s}.premium-header .nav-links a:hover:after{right:0}
.btn{border-radius:10px;padding:12px 18px;font-size:.94rem}.btn-large{padding:15px 21px;min-height:56px}.btn-primary{background:#126caa;box-shadow:0 9px 24px rgba(18,108,170,.22)}.btn-primary:hover{background:#0f5f96}.btn-light{background:#fff;color:#0b2942;box-shadow:0 8px 24px rgba(0,0,0,.12)}.btn-light:hover{transform:translateY(-1px);background:#f7fbfd}
.hero-premium{position:relative;overflow:hidden;background:linear-gradient(118deg,#f9fcfd 0%,#eef7fb 52%,#f8fbfd 100%);border-bottom:1px solid #dce7ed}.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(20,82,116,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(20,82,116,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,black,transparent 78%);pointer-events:none}.premium-hero-grid{position:relative;grid-template-columns:1.08fr .92fr;gap:64px;padding:86px 0 58px}.hero-copy{position:relative;z-index:1}.eyebrow-clean{background:#fff;border-color:#dce8ee;color:#38647f;box-shadow:0 5px 16px rgba(10,34,56,.04);font-size:.74rem;letter-spacing:.10em}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#18988a;box-shadow:0 0 0 4px rgba(24,152,138,.10)}
.hero-premium h1{font-size:clamp(3.1rem,6vw,5.55rem);line-height:.96;max-width:780px;margin:22px 0 24px;color:#0a263e;letter-spacing:-.058em}.hero-lede{font-size:1.17rem!important;line-height:1.65;max-width:720px!important;color:#526675!important;margin-bottom:30px!important}.premium-zip-card{max-width:700px;padding:8px 8px 8px 18px;align-items:center;border-radius:14px;border-color:#cfdce4;box-shadow:0 18px 45px rgba(10,34,56,.11)}.zip-input-wrap{flex:1;display:flex;flex-direction:column;min-width:0}.zip-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;color:#6a7d8b}.premium-zip-card input{border:0!important;padding:2px 0 0!important;font-size:1.1rem;font-weight:750;background:transparent;box-shadow:none!important}.premium-zip-card input::placeholder{color:#9aa8b2;font-weight:650}.hero-assurances{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;color:#536775;font-size:.84rem;font-weight:700}.hero-assurances b{color:#13877e;margin-right:4px}
.match-console{background:#0a263e;color:#fff;border-radius:24px;padding:26px;box-shadow:var(--shadow-lg);position:relative;z-index:2;border:1px solid rgba(255,255,255,.08)}.match-console:before{content:"";position:absolute;inset:1px;border-radius:23px;background:radial-gradient(circle at 85% 0%,rgba(46,147,200,.16),transparent 35%);pointer-events:none}.console-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;position:relative}.console-kicker{font-size:.67rem;letter-spacing:.16em;font-weight:900;color:#7ebbdc}.console-top h2{font-size:1.45rem;letter-spacing:-.025em;margin:5px 0 0}.availability-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800;color:#dcebf4;white-space:nowrap}.availability-badge i{width:7px;height:7px;border-radius:50%;background:#4ad3a4;box-shadow:0 0 0 4px rgba(74,211,164,.10)}.console-issues{display:grid;gap:9px;position:relative}.console-issue{display:grid;grid-template-columns:38px 1fr 18px;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);padding:12px;border-radius:13px;transition:.18s}.console-issue:hover{background:rgba(255,255,255,.085);border-color:rgba(104,188,231,.38);transform:translateX(2px)}.console-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#123b5a;color:#8ec6e4;font-size:.68rem;font-weight:900;letter-spacing:.04em}.console-icon.alert{background:#173b54}.console-icon.urgent{background:rgba(189,91,55,.22);color:#ffc2a8}.console-icon.replace{background:rgba(28,138,126,.20);color:#81d8ce}.console-issue strong{display:block;font-size:.94rem}.console-issue small{display:block;color:#aebfcb;margin-top:2px;font-size:.78rem}.issue-arrow{color:#6aaed2;font-weight:900}.console-more{display:block;text-align:center;color:#afc2cf;font-size:.79rem;padding:16px 6px 0;position:relative}.console-more strong{color:#fff}.proof-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dbe6ec;border-radius:16px;background:rgba(255,255,255,.80);box-shadow:0 10px 30px rgba(10,34,56,.05);margin-bottom:34px}.proof-stat{padding:20px 22px;border-right:1px solid #e1e8ed;display:flex;align-items:center;gap:11px}.proof-stat:last-child{border-right:0}.proof-stat strong{font-size:1.35rem;color:#0b3452;letter-spacing:-.03em;white-space:nowrap}.proof-stat span{font-size:.82rem;color:#647684;line-height:1.25}
.trust-section{padding:92px 0 84px;background:#fff}.premium-section-head{align-items:flex-end;margin-bottom:38px}.premium-section-head>div{max-width:720px}.premium-section-head h2{font-size:clamp(2.3rem,4.3vw,3.8rem);letter-spacing:-.052em;line-height:1.02;margin-top:10px}.premium-section-head p{font-size:1.03rem;line-height:1.7}.section-label{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:#387398}.trust-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trust-card{border:1px solid #dde6eb;border-radius:16px;padding:24px 22px;background:linear-gradient(180deg,#fff,#fbfcfd);min-height:230px;position:relative;transition:.2s}.trust-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(10,34,56,.08);border-color:#c9dbe5}.trust-number{font-size:.70rem;letter-spacing:.12em;font-weight:900;color:#78a1b8}.trust-card h3{font-size:1.13rem;line-height:1.25;color:#102d46;margin:26px 0 10px;letter-spacing:-.018em}.trust-card p{color:#687986;font-size:.91rem;margin:0;line-height:1.65}
.section-soft-premium{background:#f2f7f9;border-top:1px solid #e3ebef;border-bottom:1px solid #e3ebef;padding:86px 0}.how-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:78px;align-items:start}.how-intro h2{font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.05em;line-height:1.05;color:#0c2c46;margin:12px 0 18px}.how-intro p{color:#637581;font-size:1.02rem;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:8px;color:#126b9e;font-weight:850;margin-top:8px}.how-steps{display:grid;gap:10px}.how-step{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid #dce6eb;border-radius:16px;padding:22px}.how-step>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0d3553;color:#fff;font-weight:900;font-size:.86rem}.how-step strong{font-size:1.05rem;color:#15324a}.how-step p{color:#687985;margin:4px 0 0;font-size:.92rem}
.coverage-section{padding:88px 0}.compact-head{align-items:center}.coverage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.coverage-grid a{border:1px solid #dbe4e9;border-radius:16px;padding:22px;background:#fff;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px;transition:.18s}.coverage-grid a:hover{border-color:#a7cadd;box-shadow:0 12px 32px rgba(10,34,56,.07);transform:translateY(-2px)}.coverage-grid span{font-size:1.12rem;font-weight:900;color:#102e47}.coverage-grid small{color:#71818d}.coverage-grid b{grid-column:2;grid-row:1/3;align-self:center;color:#1b78ae;font-size:1.2rem}
.replacement-section{padding:0 0 92px}.replacement-panel{background:linear-gradient(115deg,#09253e 0%,#0d3453 62%,#0c3f5e 100%);border-radius:24px;color:#fff;padding:52px;display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:center;box-shadow:0 28px 65px rgba(10,34,56,.18);position:relative;overflow:hidden}.replacement-panel:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.07);right:-200px;top:-210px}.light-label{color:#78c8d7}.replacement-copy h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.02;letter-spacing:-.05em;margin:12px 0 18px}.replacement-copy p{color:#c5d5df;line-height:1.7;max-width:760px}.replacement-actions{display:flex;align-items:center;gap:20px;margin-top:24px}.text-link-light{color:#d8e8f1;margin:0}.decision-card{position:relative;z-index:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px}.decision-label{display:block;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:#8ac7dc;padding:2px 4px 12px}.decision-card div{padding:13px 4px;border-top:1px solid rgba(255,255,255,.10)}.decision-card strong{display:block;font-size:.9rem}.decision-card span{display:block;color:#b9ccd8;font-size:.82rem;margin-top:3px}
.contractor-callout{padding:0 0 10px}.contractor-callout-inner{border:1px solid #dce5ea;border-radius:20px;padding:36px 38px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#fafcfd}.contractor-callout-inner h2{font-size:2rem;letter-spacing:-.04em;color:#0d2d47;margin:9px 0 8px}.contractor-callout-inner p{margin:0;color:#667985;max-width:800px}.callout-actions{display:flex;gap:10px;flex-shrink:0}
.premium-footer{margin-top:80px;background:#071a2b}.footer-brand{color:#fff!important}.footer-brand .brand-wordmark small{color:#8ba5b7}.footer-description{color:#9fb3c2;max-width:420px;line-height:1.65;font-size:.9rem}.premium-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px}

@media(max-width:1100px){.premium-header .nav-links{gap:16px;font-size:.88rem}.premium-hero-grid{gap:36px}.proof-row{grid-template-columns:1fr 1fr}.proof-stat:nth-child(2){border-right:0}.proof-stat:nth-child(-n+2){border-bottom:1px solid #e1e8ed}.trust-cards{grid-template-columns:1fr 1fr}.coverage-grid{grid-template-columns:1fr 1fr}.callout-actions{flex-direction:column}}
@media(max-width:980px){.premium-hero-grid,.how-grid,.replacement-panel{grid-template-columns:1fr}.premium-hero-grid{padding-top:62px}.match-console{max-width:720px}.how-grid{gap:34px}.replacement-panel{padding:40px}.contractor-callout-inner{display:block}.callout-actions{flex-direction:row;margin-top:24px}.premium-header .nav-links{font-size:.94rem}}
@media(max-width:640px){.premium-topbar .topbar-proof{display:none}.premium-header .nav{min-height:70px}.brand-mark-premium{width:42px;height:42px}.hero-premium h1{font-size:3rem}.premium-hero-grid{padding:48px 0 36px}.hero-lede{font-size:1.04rem!important}.premium-zip-card{display:block;padding:14px}.premium-zip-card .btn{width:100%;margin-top:12px}.hero-assurances{display:grid;gap:6px}.match-console{padding:20px;border-radius:18px}.console-top{display:block}.availability-badge{margin-top:10px}.proof-row{grid-template-columns:1fr}.proof-stat{border-right:0;border-bottom:1px solid #e1e8ed}.proof-stat:last-child{border-bottom:0}.trust-section,.coverage-section{padding:62px 0}.trust-cards,.coverage-grid{grid-template-columns:1fr}.premium-section-head{display:block}.premium-section-head p{margin-top:18px}.section-soft-premium{padding:62px 0}.replacement-panel{padding:30px 22px;border-radius:18px}.replacement-actions,.callout-actions{align-items:stretch;flex-direction:column}.contractor-callout-inner{padding:28px 22px}.premium-footer .footer-bottom{display:block}.premium-footer .footer-bottom span{display:block;margin-top:5px}}


/* =========================================================
   V0.4 USABILITY PASS
   ========================================================= */
:focus-visible{outline:3px solid rgba(27,127,189,.36);outline-offset:3px}
button,.btn,.choice,input,select,textarea{min-height:44px}
.mobile-only{display:none}
.compact-page-hero{padding:42px 0 36px}
.compact-page-hero h1{margin-bottom:10px}
.hero-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.optional{font-weight:600;color:#7b8994;font-size:.82rem}
.form-title{margin:0;color:var(--navy);font-size:1.65rem;letter-spacing:-.025em}
.form-intro{margin:7px 0 22px;color:var(--muted)}
.step-error{min-height:1.3em;margin:8px 0 0;color:#a33a2c;font-size:.88rem;font-weight:700}
.choice-fieldset,.checkbox-fieldset{border:0;padding:0;margin:22px 0 0}
.choice-fieldset legend,.checkbox-fieldset legend{font-weight:800;color:#293a49;margin-bottom:10px}
.compact-choices{grid-template-columns:repeat(3,1fr)}
.two-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.single-action{justify-content:flex-end}
.consent-copy{background:#f5f8fa;border:1px solid #dce5ea;color:#536573;border-radius:12px;padding:12px 14px;font-size:.86rem;line-height:1.55;margin-top:18px}
.side-note{margin-top:18px;padding-top:16px;border-top:1px solid #d9e7ef;color:#4f6473;font-size:.9rem}
.form-submit-wide{width:100%;margin-top:22px}
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.checkbox-grid label,.attestation{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;color:#344756;font-weight:650;cursor:pointer}
.checkbox-grid input,.attestation input{min-height:0;width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.attestation{margin:20px 0 0}
.homeowner-side-card .side-note{color:#445966}
.directory-head{align-items:center}
.directory-toolbar{grid-template-columns:2fr 1fr 1fr auto;align-items:end}
.filter-field{display:grid;gap:6px}
.filter-field label{font-size:.78rem;font-weight:800;color:#536675}
.filter-field input,.filter-field select{width:100%;min-height:46px}
.filter-reset{min-height:46px;white-space:nowrap}
.contractor-card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}
.service-summary{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.service-summary span{background:#f2f6f8;color:#4c6170;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:750}
.badge.pending{background:#f4f5f6;color:#66737c}
.directory-business-note{margin-top:28px;border:1px solid #dce5ea;border-radius:14px;padding:16px 18px;background:#fafcfd;color:#536675}
.directory-business-note a{color:#176ea6;font-weight:800}
.profile-hero-card{padding:28px}
.profile-primary-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.profile-phone-link{font-size:1.14rem;font-weight:850;color:#176ea6}
.match-help-card{background:#0d3553;color:#fff;border-radius:18px;padding:22px}
.match-help-card h3{margin:0 0 8px}
.match-help-card p{color:#cbdce6;margin:0 0 16px}
.simple-process{max-width:900px}
.process-row{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.process-row>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#0d3553;color:#fff;font-weight:900}
.process-row h2{margin:1px 0 5px!important}
.process-row p{margin:0}
.simple-faq{margin-top:36px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fafcfd}
.centered-cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:34px;text-align:center}
.centered-cta span{font-size:.87rem;color:var(--muted)}
.mobile-cta{display:none}

@media(max-width:980px){
  .mobile-only{display:block}
  .directory-toolbar{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.filter-reset{align-self:end}
  .compact-choices{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .has-mobile-cta{padding-bottom:76px}
  .mobile-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(10,34,56,.08)}
  .mobile-cta .btn{width:100%}
  .hero-premium h1{font-size:2.55rem;line-height:1.02}
  .topbar .container{font-size:.82rem;padding:7px 0}
  .choice{padding:14px;min-height:50px}
  .form-actions .btn{flex:1}
  .two-field-grid,.compact-choices,.checkbox-grid,.directory-toolbar{grid-template-columns:1fr}
  .search-field{grid-column:auto}
  .form-shell{padding:28px 0}
  .form-card{border-radius:16px}
  .profile-primary-actions .btn{width:100%}
  .directory-head .btn{margin-top:16px;width:100%}
  .contractor-card-top{display:block}.contractor-card-top>.badge{margin-top:8px}
  .card-actions .btn{width:100%}
  .hero-inline-actions{display:grid}.hero-inline-actions .btn{width:100%}
  .process-row{grid-template-columns:44px 1fr;gap:14px}.process-row>span{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.mobile-primary-link{font-weight:900;color:#176ea6!important}

.listing-status-note{margin-top:.7rem;max-width:44rem}


/* =========================================================
   V0.7 CONTRACTOR PROFILE REFINEMENT
   ========================================================= */
.profile-page{background:#fff}
.profile-breadcrumb{padding:26px 0 0}
.profile-breadcrumb a{color:#5f7280;font-size:.9rem;font-weight:750}
.profile-breadcrumb a:hover{color:#176ea6}
.contractor-profile-header{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:46px;align-items:start;padding-top:30px;padding-bottom:30px}
.contractor-profile-heading h1{font-size:clamp(2.5rem,5vw,4.4rem);letter-spacing:-.055em;line-height:.98;color:#0b2b44;margin:10px 0 10px;max-width:850px}
.profile-location{color:#607482;font-weight:750;margin-bottom:16px}.profile-location>span:first-child{color:#39a7bd;font-size:.62rem;vertical-align:2px}
.profile-status-badges{margin:0 0 18px}
.profile-description{font-size:1.08rem;line-height:1.72;color:#526776;max-width:780px;margin:0}
.profile-status-explainer{margin:18px 0 0;padding:13px 15px;background:#f5f8fa;border-left:3px solid #8cb8cf;color:#536775;font-size:.9rem;line-height:1.55;max-width:780px}
.profile-action-card{background:#f8fafb;border:1px solid #dce5ea;border-radius:18px;padding:22px;box-shadow:0 14px 34px rgba(10,34,56,.06)}
.profile-action-label{font-size:.77rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#617583;margin-bottom:12px}
.profile-action-card .btn{width:100%;margin-bottom:9px}.profile-action-card .small{margin:6px 0 0;line-height:1.5}
.profile-quickfacts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dce5ea;border-radius:17px;overflow:hidden;background:#fff;box-shadow:0 14px 36px rgba(10,34,56,.045);margin-bottom:38px}
.quickfact{padding:18px 20px;border-right:1px solid #e2e9ed}.quickfact:last-child{border-right:0}.quickfact span{display:block;color:#778894;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850;margin-bottom:5px}.quickfact strong{display:block;color:#12324b;font-size:1.05rem}
.profile-layout-refined{grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr);gap:30px;align-items:start}
.profile-detail-section{padding:28px;margin-bottom:18px}.profile-section-headline{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}.profile-section-headline h2,.profile-transparency-card h2,.refined-contact-card h2{margin:4px 0 0;color:#12314a;letter-spacing:-.03em}.section-kicker{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#68808f}.light-kicker{color:#83c9d7}
.profile-chip-grid,.profile-area-chips{display:flex;flex-wrap:wrap;gap:9px}.profile-chip{display:inline-flex;align-items:center;min-height:39px;background:#eef5f8;border:1px solid #d7e6ed;border-radius:999px;padding:7px 12px;color:#27465c;font-size:.88rem;font-weight:800}.profile-area-chip{display:inline-flex;align-items:center;min-height:37px;background:#fff;border:1px solid #d9e3e8;border-radius:10px;padding:7px 11px;color:#415b6c;font-size:.86rem;font-weight:750}.profile-area-chip:before{content:'●';font-size:.5rem;color:#42a0b8;margin-right:7px}
.profile-source-copy{margin:18px 0 0;line-height:1.55}
.license-detail-card{background:#fbfcfd}.license-number-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #e0e7eb;border-radius:12px;padding:14px 16px;background:#fff}.license-number-row span{color:#6f808b;font-size:.82rem;font-weight:750}.license-number-row strong{color:#15344d;text-align:right;overflow-wrap:anywhere}
.profile-transparency-card{background:#f6f9fa;border:1px solid #dbe6eb;border-radius:17px;padding:26px;margin-bottom:0}.profile-transparency-card>p{color:#506675;line-height:1.65}.profile-transparency-card>p:last-child{margin-bottom:0}
.profile-side-refined{display:grid;gap:18px}.refined-contact-card,.claim-box-refined{padding:23px}.contact-detail{padding:15px 0;border-top:1px solid #e2e8ec}.contact-detail:first-of-type{margin-top:14px}.contact-detail span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#778995;font-weight:850;margin-bottom:5px}.contact-detail p{margin:0;line-height:1.45}.contact-detail a{overflow-wrap:anywhere}
.match-help-card-refined{padding:24px;background:linear-gradient(145deg,#0b2d49,#0d3e5d)}.match-help-card-refined h3{font-size:1.45rem;letter-spacing:-.03em}.match-help-card-refined .btn-light{background:#fff;color:#11344d;border-color:#fff;width:100%}.match-card-note,.claim-note{display:block;margin-top:11px;font-size:.76rem;line-height:1.45;color:#b9cdd9}.claim-box-refined{background:#fff;border:1px solid #dce5ea;border-radius:17px}.claim-box-refined h3{font-size:1.25rem;color:#12314a;margin:6px 0 8px}.claim-box-refined p{color:#596d7a;line-height:1.55;font-size:.9rem}.claim-box-refined .btn{width:100%}.claim-note{color:#74858f}
.profile-mobile-cta{grid-template-columns:1fr 1fr;gap:8px}
.profile-mobile-cta .btn{width:100%;min-width:0}
@media(max-width:980px){.contractor-profile-header,.profile-layout-refined{grid-template-columns:1fr}.profile-action-card{max-width:620px}.profile-quickfacts{grid-template-columns:1fr 1fr}.quickfact:nth-child(2){border-right:0}.quickfact:nth-child(-n+2){border-bottom:1px solid #e2e9ed}}
@media(max-width:640px){.profile-breadcrumb{padding-top:18px}.contractor-profile-header{padding-top:24px;gap:24px}.contractor-profile-heading h1{font-size:2.55rem}.profile-description{font-size:1rem}.profile-quickfacts{grid-template-columns:1fr 1fr;margin-bottom:26px}.quickfact{padding:14px}.quickfact strong{font-size:.95rem}.profile-detail-section,.refined-contact-card,.claim-box-refined{padding:20px}.profile-section-headline{display:block}.profile-section-headline>[data-profile-license-status-secondary]{display:inline-flex;margin-top:12px}.license-number-row{display:block}.license-number-row strong{display:block;text-align:left;margin-top:4px}.profile-chip{font-size:.82rem}.profile-mobile-cta{display:grid}.profile-mobile-cta .btn{padding-left:10px;padding-right:10px;font-size:.88rem}}

/* WordPress integration */
.admin-bar .site-header{top:32px}
.lhm-empty{padding:36px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted);background:var(--soft)}
.lhm-form-note{margin-top:16px;padding:12px 14px;border-radius:12px;background:#eef7fb;border:1px solid #cfe6f5;color:#31546a;font-size:.9rem}
.profile-main-copy{color:var(--muted);max-width:760px}
.profile-fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}
.profile-fact{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}
.profile-fact small{display:block;color:var(--muted);margin-bottom:5px}.profile-fact strong{color:var(--navy)}
.profile-content-grid{display:grid;grid-template-columns:1fr 330px;gap:28px;align-items:start}
.profile-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}
.profile-section h2{margin:0 0 14px;color:var(--navy);font-size:1.4rem}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{background:#eef4f7;color:#365064;border-radius:999px;padding:7px 10px;font-size:.86rem;font-weight:750}
.profile-contact-card{background:var(--navy);color:#fff;border-radius:20px;padding:22px;position:sticky;top:104px}.profile-contact-card h3{margin:0 0 8px}.profile-contact-card p{color:#d7e4ee}.profile-contact-card .btn{width:100%;margin-top:9px}.profile-contact-card .btn-secondary{background:#fff}
.status-note{padding:14px;border-radius:12px;background:#fff8e8;border:1px solid #f1dfb7;color:#74521a;margin-top:14px}
.status-note.verified{background:#e9f7f0;border-color:#cdebdc;color:#1c6e4b}.status-note.pending{background:#eef5fb;border-color:#d3e5f3;color:#24527a}
@media(max-width:800px){.profile-fact-grid{grid-template-columns:1fr 1fr}.profile-content-grid{grid-template-columns:1fr}.profile-contact-card{position:static}}
@media(max-width:520px){.profile-fact-grid{grid-template-columns:1fr}}

/* =========================================================
   WORDPRESS V1.1 PRODUCTION-PARITY SUPPORT
   ========================================================= */
.contractor-card[hidden]{display:none!important}
#directoryEmpty[hidden]{display:none!important}
.profile-page .site-footer{margin-top:58px}
@media(max-width:640px){.profile-page{padding-bottom:88px}.profile-page .mobile-cta.profile-mobile-cta{display:grid}}

/* v1.2 production intake */
.lhm-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-server-error{min-height:1.35em;margin:14px 0 0;color:#a12b2b;font-weight:700;font-size:.92rem}
.consent-attestation{margin-top:20px;line-height:1.5}
.success-reference{display:inline-block;margin-top:8px;font-weight:800;color:#15583f}
button:disabled,.btn:disabled{opacity:.6;cursor:wait;transform:none!important}

/* =========================================================
   V1.6 PUBLIC GROWTH + LOCAL SEO
   ========================================================= */
.footer-grid{grid-template-columns:1.35fr repeat(3,1fr)}
.home-search-section{padding:80px 0;background:#f6f9fb;border-top:1px solid #e2eaee;border-bottom:1px solid #e2eaee}
.home-seo-links{margin-top:10px}
.market-link-bar{display:flex;gap:9px;flex-wrap:wrap;padding-top:24px}
.market-link-bar a{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid #d8e4ea;border-radius:999px;background:#fff;color:#31536a;font-size:.86rem;font-weight:800}
.market-link-bar a:hover{border-color:#9fc9dd;color:#126caa}
.local-hero{background:linear-gradient(125deg,#f9fcfd,#eef7fb);border-bottom:1px solid #dce7ed;padding:54px 0 56px}
.local-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:48px;align-items:center}
.local-hero h1{font-size:clamp(2.8rem,5.6vw,5rem);line-height:.98;letter-spacing:-.055em;color:#0a263e;margin:14px 0 20px;max-width:850px}
.local-lede{font-size:1.08rem;line-height:1.72;color:#536a79;max-width:760px;margin:0 0 28px}
.seo-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:#71838f;margin-bottom:22px}
.seo-breadcrumb a{color:#496d83;font-weight:750}.seo-breadcrumb a:hover{color:#126caa}
.local-context-card{background:#0a2942;color:#fff;border-radius:20px;padding:26px;box-shadow:0 22px 48px rgba(10,34,56,.14)}
.local-context-card h2{font-size:1.55rem;line-height:1.12;letter-spacing:-.03em;margin:8px 0 13px}.local-context-card p{color:#c9d9e3;line-height:1.65;margin:0 0 16px}.local-context-card a{color:#9bd6ee;font-weight:800}
.local-context-card .section-kicker{color:#87c8e4}
.local-trust-line{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;color:#4d6878;font-size:.83rem;font-weight:750}
.seo-contractor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.seo-contractor-card{border:1px solid #dce6eb;border-radius:17px;padding:22px;background:#fff;display:flex;flex-direction:column;min-height:285px;box-shadow:0 8px 25px rgba(10,34,56,.035)}
.seo-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.seo-card-head h3{font-size:1.15rem;line-height:1.22;margin:0 0 4px;color:#12314a}.seo-card-head h3 a{color:inherit}.seo-card-head p{margin:0;color:#758793;font-size:.84rem}
.seo-contractor-card>.badges{margin:14px 0 10px}.seo-contractor-card>p{color:#607482;line-height:1.58;font-size:.9rem;flex:1}.seo-contractor-card .text-link{margin-top:16px}
.seo-card-actions{display:flex;gap:8px;margin-top:16px}.seo-card-actions .btn{flex:1;text-align:center}
.soft-section{background:#f6f9fb;border-top:1px solid #e4ebef;border-bottom:1px solid #e4ebef}
.seo-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.seo-search-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;border:1px solid #dce6eb;border-radius:16px;background:#fff;padding:20px;transition:.18s}.seo-search-card:hover{transform:translateY(-2px);border-color:#a8cada;box-shadow:0 12px 28px rgba(10,34,56,.065)}.seo-search-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#718792;font-weight:850}.seo-search-card strong{grid-column:1;font-size:1.06rem;color:#11324b;margin-top:4px}.seo-search-card b{grid-column:2;grid-row:1/3;align-self:center;color:#1675aa;font-size:1.2rem}
.seo-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.seo-info-grid.three{grid-template-columns:repeat(3,1fr)}.seo-info-grid .card{padding:26px}.seo-info-grid h2,.seo-info-grid h3{color:#12314a;letter-spacing:-.025em;margin:7px 0 10px}.seo-info-grid p{color:#617583;line-height:1.65}.seo-info-grid .btn{margin-top:7px}
.seo-check-list{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:9px}.seo-check-list li{position:relative;padding-left:22px;color:#d3e1e8;font-size:.88rem}.seo-check-list li:before{content:'✓';position:absolute;left:0;color:#69d4bf;font-weight:900}
.service-local-hero .local-context-card{background:#0c314d}
@media(max-width:1100px){.footer-grid{grid-template-columns:1.35fr repeat(2,1fr)}.seo-contractor-grid{grid-template-columns:1fr 1fr}.local-hero-grid{gap:28px}.seo-link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.local-hero-grid{grid-template-columns:1fr}.local-context-card{max-width:680px}.seo-info-grid,.seo-info-grid.three{grid-template-columns:1fr}.seo-contractor-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.home-search-section{padding:58px 0}.local-hero{padding:34px 0 42px}.local-hero h1{font-size:2.65rem}.seo-link-grid{grid-template-columns:1fr}.seo-card-actions{display:grid}.local-trust-line{display:grid;gap:5px}.market-link-bar{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.market-link-bar a{white-space:nowrap}.footer-grid{grid-template-columns:1fr}}


/* =========================================================
   V1.7 REVIEWS & TRUST
   ========================================================= */
.review-section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.review-section-head h2{margin:5px 0 0}.review-score{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center;min-width:155px;text-align:right}.review-score strong{font-size:2rem;color:#0f2942;line-height:1}.review-score .review-stars{white-space:nowrap}.review-score small{grid-column:1/-1;color:#72838f;margin-top:4px}.review-stars{color:#bd7a13;letter-spacing:1px;font-weight:900}.review-list{display:grid;gap:12px}.local-review-card{border:1px solid #dfe7eb;border-radius:15px;padding:18px;background:#fff}.local-review-top{display:flex;justify-content:space-between;gap:16px}.review-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.review-badges span{font-size:.7rem;font-weight:850;border-radius:999px;padding:5px 8px;background:#edf5f8;color:#31566c}.review-badges .service-confirmed{background:#e9f7f0;color:#176444}.local-review-card p{color:#4f6573;line-height:1.65;margin:13px 0}.review-meta{font-size:.78rem;color:#778995}.review-method-note{font-size:.82rem;color:#6d7e89;line-height:1.55;margin:16px 0 0}.review-method-note a{font-weight:800;color:#176d9e}.review-empty{background:#f7fafb;border:1px dashed #cfdee5;border-radius:14px;padding:18px}.review-empty p{margin:7px 0 0;color:#657985}.compact-local-rating{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:9px 0 3px}.compact-local-rating span{font-weight:900;color:#a9680c}.compact-local-rating small{color:#647a88;font-weight:700}.review-page{max-width:760px;margin:0 auto}.review-company-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#f5f9fb;border:1px solid #dce8ee;padding:16px;border-radius:14px;margin:16px 0 24px}.review-form-section{border-top:1px solid #e3eaee;padding-top:20px;margin-top:20px}.review-star-picker{display:flex;gap:7px;flex-wrap:wrap}.review-star-picker input{position:absolute;opacity:0;pointer-events:none}.review-star-picker label{display:grid;place-items:center;width:48px;height:48px;border:1px solid #d8e2e7;border-radius:12px;background:#fff;color:#b06c0c;font-size:1.35rem;font-weight:900;cursor:pointer}.review-star-picker input:checked+label{background:#fff7e7;border-color:#d5a443;box-shadow:0 0 0 2px rgba(213,164,67,.15)}.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-form-grid .wide{grid-column:1/-1}.review-form-grid label{font-weight:800;color:#263e50;display:block;margin-bottom:6px}.review-form-grid input,.review-form-grid select,.review-form-grid textarea{width:100%;min-height:46px;border:1px solid #cad8df;border-radius:10px;padding:10px 12px;background:#fff}.review-form-grid textarea{min-height:150px}.review-privacy-note{background:#f6f9fb;border:1px solid #dce7ed;border-radius:12px;padding:14px;font-size:.84rem;color:#617684}.home-review-section{padding:72px 0;background:#f8fafb;border-top:1px solid #e2e9ed}.home-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-review-card{background:#fff;border:1px solid #dfe7eb;border-radius:17px;padding:20px}.home-review-card h3{font-size:1rem;color:#17384f;margin:6px 0}.home-review-card p{color:#5c7180;line-height:1.6}.home-review-card .review-stars{font-size:.9rem}
@media(max-width:760px){.review-section-head,.local-review-top{display:block}.review-score{text-align:left;margin-top:14px}.review-badges{justify-content:flex-start;margin-top:10px}.review-company-card{display:block}}

/* v2.0 trust, accessibility and launch foundation */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:99999;background:#fff;color:#0f2942;padding:10px 14px;border-radius:6px}.skip-link:focus{left:8px}.hero-start-form{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;align-items:end}.hero-start-form select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff}.policy-shell,.guide-shell{max-width:900px;padding-top:42px;padding-bottom:70px}.policy-shell h2,.guide-shell h2{margin-top:34px}.policy-shell li,.guide-shell li{margin:8px 0}.policy-callout,.guide-cta,.safety-note,.receipt-next{margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.safety-note{background:#fff8e5;border-color:#e8c65c}.trust-policy-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}.trust-policy-links a{font-weight:700}.contact-detail small{color:var(--muted)}.field select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px}.choice:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #68a7d4;outline-offset:3px}.review-star-button:focus-visible{outline:3px solid #68a7d4;outline-offset:2px}@media(max-width:800px){.hero-start-form{grid-template-columns:1fr}.policy-shell,.guide-shell{padding-top:28px}}


/* ===== v2.1 Homeowner consent + contractor profile experience ===== */
.homeowner-consent-panel,.contractor-rules-acceptance{margin-top:22px;padding:20px;border:1px solid #cbdde7;border-radius:16px;background:linear-gradient(180deg,#f7fbfd,#fff)}
.homeowner-consent-panel h3,.contractor-rules-acceptance h3{margin:5px 0 10px;color:var(--navy)}
.homeowner-consent-panel .attestation,.contractor-rules-acceptance .attestation{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;font-weight:700;color:#253f52;line-height:1.55}
.homeowner-consent-panel .attestation input,.contractor-rules-acceptance .attestation input{margin-top:5px;width:18px;height:18px}
.consent-boundaries{display:grid;gap:6px;margin:14px 0;padding:14px 16px 14px 34px;background:#eef6f9;border-radius:12px;color:#4d6575;font-size:.88rem;line-height:1.45}
.lhm-consent-ok{border:2px solid #8bc7a8}.lhm-consent-warning{border:2px solid #d9aa47}

.profile-v21{background:#f5f8fa;padding-bottom:76px}.profile-v21 .profile-breadcrumb{padding-bottom:18px}
.company-hero-v21{display:grid;grid-template-columns:180px minmax(0,1fr) 300px;gap:28px;align-items:center;padding:30px;background:linear-gradient(135deg,#0e2c46 0%,#123d5c 62%,#174d6e 100%);border-radius:26px;color:#fff;box-shadow:0 18px 45px rgba(15,41,66,.16)}
.company-visual-v21{width:180px;height:180px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center}.company-visual-v21 img{width:100%;height:100%;object-fit:cover}.company-monogram-v21{font-size:3.6rem;font-weight:900;letter-spacing:-.04em;color:#fff}
.company-identity-v21 .eyebrow{color:#bcddec}.company-identity-v21 h1{font-size:clamp(2.35rem,4vw,4.15rem);line-height:.98;letter-spacing:-.04em;margin:8px 0 10px;color:#fff}.company-location-v21{font-size:1.03rem;color:#cce0eb;margin-bottom:13px}.company-intro-v21{font-size:1.05rem;line-height:1.7;color:#d9e8ef;max-width:720px;margin:16px 0}.company-hero-facts-v21{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.company-hero-facts-v21 span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 11px;color:#dceaf1;font-size:.82rem}.company-hero-facts-v21 strong{color:#fff}
.company-actions-v21{background:#fff;color:#203a4e;border-radius:19px;padding:22px;box-shadow:0 12px 30px rgba(0,0,0,.13)}.company-actions-v21 .btn{display:flex;width:100%;justify-content:center;margin-top:10px}.company-actions-v21 p{font-size:.78rem;line-height:1.5;color:#6a7c89;margin:12px 0 0}.company-actions-v21 .section-kicker{color:#6f8290}
.profile-review-priority-v21{margin-top:34px;padding:42px 0;background:#fff;border-top:1px solid #e1e8ec;border-bottom:1px solid #e1e8ec}.profile-section-title-v21{max-width:760px;margin-bottom:22px}.profile-section-title-v21 h2{font-size:clamp(1.8rem,3vw,2.55rem);color:var(--navy);margin:6px 0 8px}.profile-section-title-v21 p{color:#637886;line-height:1.65}.profile-review-grid-v21{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}.profile-review-grid-single{grid-template-columns:1fr}.profile-review-grid-v21>.profile-section{margin:0;border-radius:20px;box-shadow:0 8px 28px rgba(17,50,75,.07)}.profile-review-grid-v21 .lhm-local-reviews{border-top:4px solid #2b86a9}
.company-content-v21{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start;padding-top:34px}.company-main-v21,.company-sidebar-v21{display:grid;gap:18px}.company-content-v21 .profile-section{margin:0;border-radius:20px;padding:26px;box-shadow:0 7px 24px rgba(18,51,75,.045)}
.company-about-v21 h2{font-size:1.8rem}.company-about-copy-v21{font-size:1.02rem;line-height:1.75;color:#506979}.listing-transparency-v21{margin-top:20px;padding:16px;border-radius:14px;background:#f2f7f9;border:1px solid #d9e6eb}.listing-transparency-v21 strong{color:#173e58}.listing-transparency-v21 p{margin:5px 0 0;color:#617684;line-height:1.55}
.license-card-v21{background:linear-gradient(180deg,#fff,#f7fafb)}.license-card-head-v21{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.license-card-head-v21 h2{margin-top:5px}.license-number-v21{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid #e1e8ec;border-bottom:1px solid #e1e8ec;margin:12px 0}.license-number-v21 span{color:#748692;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.license-number-v21 strong{color:#17394f;font-size:1.08rem}.evidence-link-v21{display:inline-flex;margin:5px 0 12px;font-weight:800;color:#176d9e}
.company-snapshot-v21{position:sticky;top:100px}.snapshot-row-v21{padding:14px 0;border-top:1px solid #e5ebee;display:grid;gap:4px}.snapshot-row-v21:first-of-type{margin-top:10px}.snapshot-row-v21>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.065em;color:#7c8d98;font-weight:850}.snapshot-row-v21 strong{color:#213f52;line-height:1.5}.snapshot-row-v21 small{display:block;font-weight:600;color:#7a8c97;margin-top:3px}.snapshot-row-v21 a{color:#176d9e}
.match-card-v21{border-radius:20px;padding:25px}.profile-owner-v21{margin-top:30px;background:#fff;border:1px solid #dfe8ec;border-radius:20px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.profile-owner-v21 h2{margin:5px 0 6px;color:var(--navy)}.profile-owner-v21 p{margin:0;color:#647985}
.profile-review-grid-v21 .review-section-head{gap:14px}.profile-review-grid-v21 .review-list{gap:10px}.profile-review-grid-v21 .local-review-card{background:#fafeff}
@media(max-width:1050px){.company-hero-v21{grid-template-columns:140px 1fr}.company-visual-v21{width:140px;height:140px}.company-actions-v21{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.company-actions-v21 .section-kicker,.company-actions-v21 p{grid-column:1/-1}.company-actions-v21 .btn{margin:0}.profile-review-grid-v21,.company-content-v21{grid-template-columns:1fr}.company-snapshot-v21{position:static}}
@media(max-width:680px){.profile-v21{padding-bottom:96px}.company-hero-v21{grid-template-columns:1fr;padding:22px;border-radius:20px}.company-visual-v21{width:88px;height:88px;border-radius:16px}.company-monogram-v21{font-size:2rem}.company-identity-v21 h1{font-size:2.45rem}.company-actions-v21{grid-template-columns:1fr}.company-hero-facts-v21{display:grid;grid-template-columns:1fr 1fr}.profile-review-priority-v21{margin-top:22px;padding:30px 0}.profile-review-grid-v21{gap:14px}.company-content-v21{padding-top:22px}.company-content-v21 .profile-section{padding:20px}.license-card-head-v21,.license-number-v21,.profile-owner-v21{display:block}.profile-owner-v21 .btn{margin-top:16px;width:100%}.homeowner-consent-panel,.contractor-rules-acceptance{padding:16px}}


/* ===== v2.3 Browse Companies polish ===== */
.browse-hero{background:linear-gradient(135deg,#f8fbfd 0%,#edf6fa 100%);border-bottom:1px solid #dce7ed;padding:54px 0}
.browse-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:end}
.browse-hero h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:.99;letter-spacing:-.055em;color:#0b2941;margin:10px 0 14px;max-width:900px}
.browse-hero p{font-size:1.04rem;line-height:1.7;color:#5b7180;max-width:790px;margin:0}
.browse-hero-cta{white-space:nowrap}
.browse-directory{padding-top:34px}
.browse-filter-shell{background:#fff;border:1px solid #dce6eb;border-radius:22px;padding:24px;box-shadow:0 12px 34px rgba(15,41,66,.055);margin-bottom:36px}
.browse-filter-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}
.browse-filter-top h2{margin:4px 0 0;color:#12324a;font-size:1.45rem}
.browse-results-count{display:flex;align-items:baseline;gap:6px;padding:9px 12px;background:#f4f8fa;border:1px solid #e0e9ed;border-radius:12px;color:#627684;white-space:nowrap}
.browse-results-count strong{font-size:1.2rem;color:#173d58}
.city-bubble-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.city-bubble{appearance:none;border:1px solid #d5e2e8;background:#fff;color:#31556d;border-radius:999px;padding:9px 14px;min-height:40px;font:inherit;font-size:.86rem;font-weight:850;cursor:pointer;transition:.16s ease}
.city-bubble:hover{border-color:#8fc3d8;background:#f5fbfd;color:#126b9e}
.city-bubble.active{background:#0f3551;border-color:#0f3551;color:#fff;box-shadow:0 6px 16px rgba(15,53,81,.16)}
.directory-toolbar-polished{margin:0;padding-top:18px;border-top:1px solid #e6edef}
.directory-toolbar-polished input,.directory-toolbar-polished select{border-color:#cfdde4;background:#fbfdfe;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.directory-toolbar-polished input:focus,.directory-toolbar-polished select:focus{border-color:#67a9c8;box-shadow:0 0 0 3px rgba(56,144,186,.11);outline:0}
.browse-list-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin:0 0 18px}
.browse-list-head h2{margin:4px 0 0;color:#12324a;font-size:1.75rem}
.browse-list-head p{max-width:480px;color:#6b7e8a;line-height:1.55;margin:0;font-size:.9rem;text-align:right}
.contractor-grid-polished{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contractor-card-polished{padding:0;display:grid;grid-template-columns:112px minmax(0,1fr);gap:0;overflow:hidden;border-radius:21px;border:1px solid #dbe5ea;box-shadow:0 8px 26px rgba(15,41,66,.045);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;min-width:0}
.contractor-card-polished:hover{transform:translateY(-2px);border-color:#a9cad9;box-shadow:0 15px 34px rgba(15,41,66,.085)}
.company-card-visual{background:linear-gradient(145deg,#0e304b,#1d6287);display:grid;place-items:center;min-height:100%;overflow:hidden}
.company-card-visual img{width:100%;height:100%;object-fit:cover;display:block}
.company-card-visual span{font-size:2rem;font-weight:950;letter-spacing:-.05em;color:#fff}
.company-card-body{padding:20px;min-width:0;display:flex;flex-direction:column}
.company-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.company-card-location{font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em;color:#6f8491;margin-bottom:4px}
.company-card-heading h3{font-size:1.28rem;line-height:1.2;margin:0;color:#112f47}
.company-card-heading h3 a{color:inherit;text-decoration:none}
.company-card-heading h3 a:hover{color:#176f9f}
.company-card-trust-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:13px 0 2px}
.company-card-rating,.company-card-license{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:800}
.company-card-rating{background:#fff6dd;color:#74531a;border:1px solid #f0dda3}.company-card-rating strong{color:#8a5b08}.company-card-rating small{font-size:inherit}
.company-card-license.checked{background:#eaf7f0;color:#176345}.company-card-license.pending{background:#f2f5f6;color:#65757f}
.company-card-section{margin-top:14px}
.company-card-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.065em;color:#81909a;font-weight:900;margin-bottom:7px}
.service-summary-polished{margin:0}.service-summary-polished span{background:#edf5f8;color:#375b70;border:1px solid #d9e9ef;padding:5px 8px}.service-summary-polished .more-chip{background:#f7f9fa;color:#6b7d87;border-color:#e4eaed}
.company-card-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #e8edef}
.company-card-details strong{display:block;font-size:.86rem;line-height:1.45;color:#365064;font-weight:750}
.company-card-actions-polished{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}
.company-card-actions-polished .btn{flex:1;min-width:135px;text-align:center;padding-left:14px;padding-right:14px}
.directory-empty-polished{margin-top:10px}.directory-empty-polished p{margin:8px auto 18px;max-width:520px}.directory-empty-polished .btn{margin:4px}
.directory-help-card{margin-top:34px;background:linear-gradient(125deg,#0d2f49,#124b6d);border-radius:22px;padding:28px 30px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 15px 34px rgba(15,41,66,.12)}
.directory-help-card .section-kicker{color:#9fd7eb}.directory-help-card h2{margin:5px 0 7px;font-size:1.6rem;letter-spacing:-.025em}.directory-help-card p{margin:0;color:#cfdee7;max-width:720px;line-height:1.6}.directory-help-card .btn{white-space:nowrap;background:#fff;color:#113550;border-color:#fff}.directory-help-card .btn:hover{background:#edf6fa}
@media(max-width:1080px){.contractor-grid-polished{grid-template-columns:1fr}.contractor-card-polished{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:800px){.browse-hero-inner{grid-template-columns:1fr}.browse-hero-cta{justify-self:start}.browse-list-head{display:block}.browse-list-head p{text-align:left;margin-top:8px}.directory-help-card{display:block}.directory-help-card .btn{margin-top:18px}}
@media(max-width:640px){.browse-hero{padding:38px 0}.browse-hero h1{font-size:2.55rem}.browse-filter-shell{padding:18px;border-radius:18px}.browse-filter-top{display:block}.browse-results-count{display:inline-flex;margin-top:12px}.city-bubble-row{overflow:auto;flex-wrap:nowrap;margin-left:-2px;padding:2px 2px 7px}.city-bubble{white-space:nowrap}.contractor-card-polished{grid-template-columns:1fr}.company-card-visual{height:92px;min-height:92px}.company-card-visual img{object-position:center}.company-card-visual span{font-size:1.7rem}.company-card-body{padding:18px}.company-card-heading{display:block}.company-card-heading>.badge{margin-top:9px}.company-card-details{grid-template-columns:1fr}.company-card-actions-polished{display:grid;grid-template-columns:1fr}.directory-help-card{padding:23px}.directory-help-card .btn{width:100%}}


/* ===== v2.4 Premium business representation cards ===== */
.contractor-grid-polished{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.contractor-card-premium{padding:0;overflow:hidden;border-radius:24px;border:1px solid #d8e4ea;background:#fff;box-shadow:0 10px 30px rgba(12,39,60,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;display:flex;flex-direction:column;min-width:0;position:relative}
.contractor-card-premium:hover{transform:translateY(-4px);border-color:#9fc6d8;box-shadow:0 20px 46px rgba(12,39,60,.11)}
.company-card-brand-stage{min-height:126px;padding:18px 20px 0;background:radial-gradient(circle at 82% 18%,rgba(88,174,211,.2),transparent 31%),linear-gradient(135deg,#0a2941 0%,#0f3f5e 58%,#175b7c 100%);position:relative}
.company-card-stage-topline{display:flex;justify-content:space-between;gap:12px;align-items:center}
.company-card-market{color:#d4e6ef;font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.company-card-profile-state{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:.69rem;font-weight:900;letter-spacing:.02em;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(5px)}
.company-card-profile-state.verified{background:#eaf8ef;color:#165b3d;border-color:#b9e3ca}
.company-logo-tile{position:absolute;left:20px;bottom:-37px;width:76px;height:76px;border-radius:18px;background:#fff;border:1px solid rgba(214,228,235,.95);box-shadow:0 8px 22px rgba(5,29,45,.16);display:grid;place-items:center;overflow:hidden;padding:7px}
.company-logo-tile img{width:100%;height:100%;object-fit:contain;border-radius:11px;display:block;background:#fff}
.company-logo-tile span{width:100%;height:100%;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#edf6fa,#dcecf3);font-size:1.45rem;font-weight:950;letter-spacing:-.045em;color:#123d59}
.company-card-body-premium{padding:50px 22px 20px;display:flex;flex-direction:column;flex:1;min-width:0}
.company-card-title-block{min-height:58px}
.company-card-title-block h3{margin:0;color:#0e2f47;font-size:1.38rem;line-height:1.18;letter-spacing:-.025em}
.company-card-title-block h3 a{color:inherit;text-decoration:none}.company-card-title-block h3 a:hover{color:#1471a1}
.company-card-scope{margin:7px 0 0;color:#6b7f8c;font-size:.84rem;font-weight:700}
.company-card-reputation-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 0}
.company-card-reputation-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;background:#f7fafb;border:1px solid #e1eaee;border-radius:13px;padding:9px 10px;min-width:0}
.company-card-reputation-item .reputation-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff2c9;color:#9a6500;font-weight:950;font-size:1rem}
.company-card-reputation-item.reputation-google .reputation-icon{background:#fff;border:1px solid #e2e7ea;color:#2766c5;font-family:Arial,sans-serif}
.company-card-reputation-item.reputation-license .reputation-icon{background:#e8f7ef;color:#176143}
.company-card-reputation-item strong{display:block;color:#183a52;font-size:.82rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.company-card-reputation-item small{display:block;margin-top:3px;color:#71838e;font-size:.68rem;line-height:1.2}
.company-card-reputation-item.muted .reputation-icon{background:#f1f4f6;color:#7d8b94}
.company-card-summary{margin:16px 0 0;color:#4f6675;line-height:1.62;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.35em}
.company-card-services-premium{margin-top:17px}
.service-summary-premium{display:flex;gap:6px;flex-wrap:wrap;margin:0}.service-summary-premium span{background:#edf5f8;color:#31586f;border:1px solid #d7e7ed;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:850}.service-summary-premium .more-chip{background:#f8fafb;color:#70818a;border-color:#e5eaed}
.company-card-confidence-row{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:18px;border:1px solid #e2e9ed;border-radius:14px;background:#fbfcfd;overflow:hidden}
.company-card-confidence-item{padding:11px 12px;min-width:0}.company-card-confidence-item+ .company-card-confidence-item{border-left:1px solid #e2e9ed}
.confidence-label{display:block;color:#81909a;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.065em;margin-bottom:4px}
.company-card-confidence-item strong{display:block;color:#29475b;font-size:.79rem;line-height:1.35}.company-card-confidence-item small{display:block;color:#82909a;font-size:.65rem;margin-top:2px}
.company-card-actions-premium{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;margin-top:auto;padding-top:18px}
.company-card-actions-premium .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding-left:12px;padding-right:12px}
.company-card-transparency-note{margin-top:12px;padding-top:11px;border-top:1px solid #edf1f3;color:#87959e;font-size:.65rem;line-height:1.45}
@media(max-width:1080px){.contractor-grid-polished{grid-template-columns:1fr}.contractor-card-premium{max-width:none}}
@media(max-width:640px){.contractor-grid-polished{gap:16px}.contractor-card-premium{border-radius:20px}.company-card-brand-stage{min-height:116px;padding:16px 17px 0}.company-logo-tile{left:17px;bottom:-34px;width:70px;height:70px;border-radius:16px}.company-card-body-premium{padding:46px 17px 17px}.company-card-title-block{min-height:0}.company-card-title-block h3{font-size:1.28rem}.company-card-reputation-strip{grid-template-columns:1fr}.company-card-summary{min-height:0}.company-card-confidence-row{grid-template-columns:1fr}.company-card-confidence-item+ .company-card-confidence-item{border-left:0;border-top:1px solid #e2e9ed}.company-card-actions-premium{grid-template-columns:1fr}.company-card-profile-state{font-size:.64rem}.company-card-market{font-size:.69rem}}

/* ===== v2.5 Clean business cards ===== */
.contractor-grid-polished{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.contractor-card-clean{padding:0!important;display:flex!important;flex-direction:column!important;gap:0!important;grid-template-columns:none!important;background:#fff;border:1px solid #dce6eb;border-radius:18px;overflow:hidden;box-shadow:0 5px 18px rgba(15,41,66,.045);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;min-width:0}
.contractor-card-clean:hover{transform:translateY(-2px);border-color:#a9cad8;box-shadow:0 12px 28px rgba(15,41,66,.075)}
.company-card-main-clean{padding:20px 20px 16px;flex:1;min-width:0}
.company-card-header-clean{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:center}
.company-card-avatar-clean{width:62px;height:62px;border-radius:14px;border:1px solid #dce7ec;background:#f3f8fa;display:grid;place-items:center;overflow:hidden;text-decoration:none}
.company-card-avatar-clean img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;padding:5px}
.company-card-avatar-clean span{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#0d3552,#176a91);color:#fff;font-weight:950;font-size:1.18rem;letter-spacing:-.04em}
.company-card-identity-clean{min-width:0}
.company-card-location-clean{font-size:.72rem;color:#71838f;font-weight:800;margin-bottom:4px}
.company-card-identity-clean h3{font-size:1.2rem;line-height:1.2;margin:0;color:#102f46;letter-spacing:-.02em}
.company-card-identity-clean h3 a{color:inherit;text-decoration:none}
.company-card-identity-clean h3 a:hover{color:#126f9f}
.company-card-status-clean{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px;color:#617684;font-size:.7rem;font-weight:750}
.company-card-status-clean .verified{color:#176143}
.company-card-reviews-clean{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px;padding-top:13px;border-top:1px solid #edf1f3;font-size:.76rem;color:#5e7280}
.local-rating-clean b{color:#9a6500;margin-right:3px}
.google-rating-clean{padding-left:10px;border-left:1px solid #dfe7eb;color:#4c6e83;font-weight:750}
.company-card-summary-clean{margin:14px 0 0;color:#506775;line-height:1.55;font-size:.86rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.company-card-services-clean{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.company-card-services-clean span{background:#f1f6f8;border:1px solid #e0e9ed;color:#3c5c6f;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:800}
.company-card-services-clean .more-chip{background:#fff;color:#72838d}
.company-card-footer-clean{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px 15px;border-top:1px solid #edf1f3;background:#fbfcfd}
.company-card-actions-clean{display:flex;gap:8px}
.company-card-actions-clean .btn{min-height:40px;padding:9px 15px;font-size:.8rem}
.company-card-unclaimed-clean{font-size:.67rem;color:#8a979f;white-space:nowrap}
@media(max-width:1080px){.contractor-grid-polished{grid-template-columns:1fr}}
@media(max-width:640px){.company-card-main-clean{padding:17px}.company-card-header-clean{grid-template-columns:54px minmax(0,1fr);gap:12px}.company-card-avatar-clean{width:54px;height:54px;border-radius:12px}.company-card-identity-clean h3{font-size:1.1rem}.company-card-footer-clean{padding:12px 17px 14px;align-items:flex-start;flex-direction:column}.company-card-actions-clean{width:100%}.company-card-actions-clean .btn{flex:1;text-align:center}.company-card-unclaimed-clean{white-space:normal}.google-rating-clean{padding-left:0;border-left:0;width:100%}}

/* ===== v2.6 Photo-forward clean business cards ===== */
.contractor-card-photo{overflow:hidden}
.company-card-photo{position:relative;display:block;width:100%;aspect-ratio:16/7;background:#eaf2f6;overflow:hidden;border-bottom:1px solid #e2e9ed}
.company-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s ease}
.contractor-card-photo:hover .company-card-photo img{transform:scale(1.018)}
.company-card-photo-placeholder{position:absolute;right:12px;bottom:10px;background:rgba(255,255,255,.88);backdrop-filter:blur(5px);border:1px solid rgba(189,207,216,.8);border-radius:999px;padding:5px 9px;color:#68808d;font-size:.65rem;font-weight:800}
.contractor-card-photo .company-card-main-clean{padding:18px 20px 15px}
.contractor-card-photo .company-card-identity-clean h3{font-size:1.18rem}
.contractor-card-photo .company-card-status-clean{margin-top:7px}
.contractor-card-photo .company-card-summary-clean{margin-top:12px}
.contractor-card-photo .company-card-services-clean{margin-top:13px}
.contractor-card-photo .company-card-services-clean span{background:#f3f7f9;border-color:#e2e9ed;padding:5px 9px;color:#2f5368}
@media(max-width:640px){.company-card-photo{aspect-ratio:16/8}.contractor-card-photo .company-card-main-clean{padding:16px 17px 14px}.company-card-photo-placeholder{font-size:.6rem;right:9px;bottom:8px}}

/* ===== v2.6 Contractor profile photo gallery ===== */
.profile-photo-gallery-v26{margin-top:26px;margin-bottom:22px}
.profile-photo-gallery-v26 .profile-section-title-v21{margin-bottom:16px}
.company-photo-grid-v26{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.company-photo-grid-v26 a{display:block;border-radius:15px;overflow:hidden;background:#eef4f7;min-height:150px}
.company-photo-grid-v26 a:first-child{grid-row:span 2;min-height:310px}
.company-photo-grid-v26 img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.company-photo-grid-v26 a:hover img{transform:scale(1.02)}
@media(max-width:760px){.company-photo-grid-v26{grid-template-columns:1fr 1fr}.company-photo-grid-v26 a:first-child{grid-column:1/-1;grid-row:auto;min-height:220px}.company-photo-grid-v26 a{min-height:130px}}


/* =========================================================
   v2.8 — Review visibility + profile/logo image + single CTA
   ========================================================= */
.contractor-card-photo{overflow:visible}
.company-card-photo{border-radius:16px 16px 0 0}
.company-card-main-v28{position:relative;padding-top:44px!important}
.company-card-profile-photo-v28{position:absolute;left:20px;top:-34px;width:68px;height:68px;border-radius:50%;background:#fff;border:4px solid #fff;box-shadow:0 5px 16px rgba(15,47,70,.18);overflow:hidden;display:grid;place-items:center;z-index:2}
.company-card-profile-photo-v28 img{width:100%;height:100%;object-fit:cover;display:block}
.company-card-profile-photo-v28 span{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#0f3958,#1f6f98);color:#fff;font-weight:950;font-size:1rem;letter-spacing:-.03em}
.company-card-review-stack-v28{display:grid;gap:5px;margin-top:9px}
.company-card-local-review-v28{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#647986;font-size:.72rem;line-height:1.35}
.company-card-local-review-v28 .review-source-v28{font-weight:850;color:#29495f}
.company-card-local-review-v28 b{color:#9b6408}
.company-card-status-v28{margin-top:7px}
.company-card-actions-v28{width:100%}
.company-card-actions-v28 .btn{width:100%;text-align:center}
.company-card-footer-clean{align-items:center}

.company-profile-logo-v28{position:absolute;left:24px;bottom:-38px;width:82px;height:82px;border-radius:50%;background:#fff;border:5px solid #fff;box-shadow:0 7px 22px rgba(12,42,62,.2);overflow:hidden;display:grid;place-items:center;z-index:3}
.company-profile-logo-v28 img{width:100%;height:100%;object-fit:cover}
.company-profile-logo-v28 span{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#0f3958,#1f6f98);color:#fff;font-size:1.15rem;font-weight:950}
.company-visual-v21{position:relative;overflow:visible}
.company-identity-v21{padding-top:4px}

@media(max-width:640px){
  .company-card-main-v28{padding-top:40px!important}
  .company-card-profile-photo-v28{left:17px;width:62px;height:62px;top:-31px}
  .company-card-footer-clean{display:block}
  .company-card-unclaimed-clean{display:block;margin-top:8px}
  .company-profile-logo-v28{left:18px;width:72px;height:72px;bottom:-34px}
}


/* v2.9 review-first company cards */
.company-card-review-stack-v28{margin-top:10px;padding:10px 12px;border:1px solid #e3eaee;border-radius:11px;background:#f8fbfc;gap:7px}
.company-card-local-review-v28{font-size:.74rem;color:#536b79}
.company-card-local-review-v28 .review-source-v28{min-width:112px;color:#173e57}
.company-reputation-summary-v29{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 2px}.company-reputation-pill-v29{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dfe7eb;border-radius:999px;background:#fff;color:#46606f;font-size:.78rem}.company-reputation-pill-v29 strong{color:#173d56}
@media(max-width:640px){.company-card-local-review-v28 .review-source-v28{min-width:0;width:100%}.company-reputation-summary-v29{display:grid;grid-template-columns:1fr}.company-reputation-pill-v29{border-radius:10px}}




/* =========================================================
   v3.2 — richer placeholders for cards and profile/logo
   ========================================================= */
.company-card-photo-fallback,
.company-banner-fallback-v32{position:relative;display:flex;align-items:flex-end;min-height:100%;padding:18px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#12344d 0%,#1e5a7a 48%,#5ba7bf 100%)}
.company-card-photo-fallback::before,
.company-banner-fallback-v32::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 18%,rgba(255,255,255,.18),transparent 16%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 38%),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 18px,rgba(255,255,255,0) 18px 36px)}
.company-card-photo-art,
.company-banner-fallback-art-v32{position:absolute;inset:0;pointer-events:none}
.hvac-sun{position:absolute;right:20px;top:18px;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.18);box-shadow:0 0 0 12px rgba(255,255,255,.07)}
.hvac-home{position:absolute;left:20px;bottom:22px;width:78px;height:52px;background:rgba(255,255,255,.88);border-radius:8px;box-shadow:0 10px 18px rgba(7,22,34,.08)}
.hvac-home::before{content:"";position:absolute;left:9px;top:-17px;width:55px;height:55px;background:rgba(255,255,255,.88);transform:rotate(45deg);border-radius:8px}
.hvac-home::after{content:"";position:absolute;left:31px;bottom:0;width:16px;height:24px;background:#dbe8ef;border-radius:3px 3px 0 0;z-index:2}
.hvac-unit{position:absolute;left:118px;bottom:20px;width:72px;height:58px;border-radius:12px;background:rgba(14,34,49,.2);border:2px solid rgba(255,255,255,.34)}
.hvac-unit::before{content:"";position:absolute;left:50%;top:50%;width:30px;height:30px;border-radius:50%;border:3px solid rgba(255,255,255,.75);transform:translate(-50%,-50%)}
.hvac-unit::after{content:"";position:absolute;left:50%;top:50%;width:3px;height:32px;background:rgba(255,255,255,.72);transform:translate(-50%,-50%);box-shadow:0 0 0 0 rgba(255,255,255,0),0 0 0 0 rgba(255,255,255,0)}
.company-card-photo-fallback-copy,
.company-banner-fallback-copy-v32{position:relative;z-index:2;margin-left:auto;max-width:290px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(5px)}
.company-card-photo-fallback-copy strong,
.company-banner-fallback-copy-v32 strong{display:block;font-size:.95rem;letter-spacing:-.02em}
.company-card-photo-fallback-copy span,
.company-banner-fallback-copy-v32 span{display:block;margin-top:4px;font-size:.75rem;line-height:1.42;color:rgba(255,255,255,.84)}
.company-card-profile-photo-v28.is-fallback,
.company-profile-logo-v28.is-fallback{background:linear-gradient(145deg,#0f3958,#29779a)!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;color:#fff;text-align:center}
.company-card-profile-photo-v28.is-fallback::before,
.company-profile-logo-v28.is-fallback::before{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(255,255,255,.18)}
.company-card-profile-photo-v28.is-fallback span,
.company-profile-logo-v28.is-fallback span{position:relative;z-index:1;width:auto;height:auto;display:block;background:none;font-size:1.02rem;line-height:1;font-weight:950;letter-spacing:-.03em}
.company-card-profile-photo-v28.is-fallback small,
.company-profile-logo-v28.is-fallback small{position:relative;z-index:1;display:block;font-size:.46rem;line-height:1.12;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.76);max-width:70%;margin:0 auto}
.company-profile-logo-v28.is-fallback span{font-size:1.18rem}
.company-profile-logo-v28.is-fallback small{font-size:.5rem;max-width:68%}
.company-visual-v21{background:rgba(255,255,255,.08)}
.company-banner-fallback-v32{height:100%;padding:22px}
.company-banner-fallback-copy-v32{max-width:320px}
.company-banner-fallback-copy-v32 strong{font-size:1rem}
.company-banner-fallback-copy-v32 span{font-size:.78rem}
@media(max-width:680px){.company-card-photo-fallback,.company-banner-fallback-v32{padding:14px}.company-card-photo-fallback-copy,.company-banner-fallback-copy-v32{max-width:210px;padding:10px 11px}.company-card-photo-fallback-copy strong,.company-banner-fallback-copy-v32 strong{font-size:.85rem}.company-card-photo-fallback-copy span,.company-banner-fallback-copy-v32 span{font-size:.68rem}.hvac-home{left:16px;bottom:16px;width:62px;height:42px}.hvac-home::before{left:7px;top:-14px;width:44px;height:44px}.hvac-home::after{left:24px;width:14px;height:20px}.hvac-unit{left:92px;bottom:15px;width:58px;height:46px}.hvac-unit::before{width:24px;height:24px}.hvac-unit::after{height:26px}.hvac-sun{right:14px;top:14px;width:44px;height:44px}.company-card-profile-photo-v28.is-fallback small{font-size:.43rem}.company-profile-logo-v28.is-fallback small{font-size:.46rem}}


/* =========================================================
   v3.3 — premium contractor profile pages
   ========================================================= */
.premium-company-profile{padding:0 0 84px;background:linear-gradient(180deg,#f5f9fb 0%,#fbfdfe 180px,#fff 181px)}
.premium-profile-breadcrumb{padding-top:24px;padding-bottom:14px}
.premium-profile-breadcrumb a{color:#355669;font-weight:700;text-decoration:none}
.premium-company-hero{padding-bottom:26px}
.premium-company-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) 330px;gap:24px;align-items:stretch}
.premium-company-visual-shell,.premium-company-summary,.premium-company-contact{background:#fff;border:1px solid #e3ebef;box-shadow:0 18px 50px rgba(15,41,60,.07);border-radius:24px}
.premium-company-visual-shell{padding:18px}
.premium-company-visual{position:relative;border-radius:20px;overflow:visible;height:100%;min-height:420px;background:#eaf2f6}
.premium-company-visual > img,.premium-company-visual > .company-banner-fallback-v32{width:100%;height:100%;display:block;border-radius:20px;overflow:hidden}
.premium-company-logo{position:absolute;left:28px;bottom:-42px;width:96px;height:96px;border-radius:50%;background:#fff;border:6px solid #fff;box-shadow:0 12px 30px rgba(10,37,56,.18);overflow:hidden;display:grid;place-items:center;z-index:3}
.premium-company-logo img{width:100%;height:100%;object-fit:cover}
.premium-company-logo.is-fallback{background:linear-gradient(145deg,#0f3958,#29779a);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center}
.premium-company-logo.is-fallback::before{content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.premium-company-logo.is-fallback span,.premium-company-logo.is-fallback small{position:relative;z-index:1}
.premium-company-logo.is-fallback span{font-size:1.28rem;font-weight:950;line-height:1;letter-spacing:-.03em}
.premium-company-logo.is-fallback small{font-size:.52rem;line-height:1.15;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.78);max-width:70%}
.premium-company-summary{padding:28px 28px 24px}
.premium-company-topline{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:8px}
.premium-location-line{font-size:.92rem;color:#567283;font-weight:700}
.premium-company-summary h1{font-size:clamp(2.35rem,4vw,3.6rem);line-height:.98;letter-spacing:-.04em;margin:8px 0 18px;color:#0b263c}
.premium-review-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;border-radius:18px;background:linear-gradient(180deg,#fbfdfe,#f3f8fb);border:1px solid #e3edf2}
.premium-review-main{min-width:0}
.premium-review-label{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#6a7f8d;margin-bottom:8px}
.premium-review-value{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}
.premium-review-value strong{font-size:1.55rem;color:#153a53;letter-spacing:-.03em}
.premium-review-value span{font-size:.96rem;color:#546d7c;font-weight:700}
.premium-review-main p{margin:8px 0 0;color:#657c89;font-size:.88rem;line-height:1.5}
.premium-trust-stack{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.premium-trust-pill,.premium-inline-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:.74rem;font-weight:800;border:1px solid #d8e4ea;background:#fff;color:#23455b}
.premium-trust-pill.verified,.premium-inline-badge.verified{background:#edf9f1;border-color:#cfe9d7;color:#15633e}
.premium-trust-pill.pending,.premium-inline-badge.pending{background:#fff8e7;border-color:#f1e0a5;color:#7c5a00}
.premium-trust-pill.unclaimed{background:#f4f7f9;border-color:#dde7ec;color:#516775}
.premium-company-description{margin:18px 0 0;color:#4a6473;font-size:1rem;line-height:1.72;max-width:62ch}
.premium-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.premium-tag-row span,.premium-chip{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:#eef5f8;border:1px solid #dde8ed;color:#22445a;font-size:.78rem;font-weight:800}
.premium-company-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.premium-company-stats div{padding:15px 16px;border-radius:18px;background:#f8fbfd;border:1px solid #e4edf1}
.premium-company-stats strong{display:block;font-size:1.05rem;color:#163a53}
.premium-company-stats span{display:block;margin-top:4px;color:#6a7f8d;font-size:.78rem;font-weight:700}
.premium-company-contact{padding:24px;display:flex;flex-direction:column;justify-content:flex-start}
.premium-company-contact h3{margin:6px 0 8px;font-size:1.45rem;letter-spacing:-.03em;color:#0d2b40}
.premium-company-contact p{margin:0 0 14px;color:#637a88;line-height:1.55}
.premium-contact-actions{display:grid;gap:10px;margin-top:4px}
.premium-contact-actions .btn{text-align:center;width:100%}
.premium-contact-note{margin-top:14px;padding-top:14px;border-top:1px solid #e7eef2;font-size:.82rem;color:#69808d;line-height:1.5}
.premium-review-showcase{padding:16px 0 6px}
.premium-review-showcase-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:stretch}
.premium-section-intro,.premium-review-highlight-card,.premium-card,.premium-sidebar-card,.premium-owner-panel{background:#fff;border:1px solid #e3ebef;box-shadow:0 18px 50px rgba(15,41,60,.05);border-radius:22px}
.premium-section-intro{padding:24px 26px}
.premium-section-intro h2{margin:8px 0 10px;font-size:1.9rem;letter-spacing:-.03em;color:#0d2c42}
.premium-section-intro p{margin:0;color:#607785;line-height:1.65;max-width:64ch}
.premium-review-highlight-card{padding:22px;display:grid;gap:12px;align-content:start;background:linear-gradient(180deg,#12344d 0%,#194863 100%);color:#fff;border-color:transparent}
.premium-review-highlight-stat{font-size:2.35rem;font-weight:950;letter-spacing:-.05em;line-height:1}
.premium-review-highlight-copy strong{display:block;font-size:1.03rem}
.premium-review-highlight-copy span{display:block;margin-top:5px;color:rgba(255,255,255,.8);line-height:1.55;font-size:.88rem}
.premium-review-highlight-card .btn{justify-self:start}
.premium-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding-top:22px}
.premium-main-column,.premium-sidebar-column{display:grid;gap:20px;align-content:start}
.premium-card{overflow:hidden}
.premium-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px 24px 16px;border-bottom:1px solid #ebf1f4}
.premium-card-head h2{margin:6px 0 0;font-size:1.55rem;letter-spacing:-.03em;color:#0f2c42}
.premium-card-body{padding:22px 24px}
.premium-prose p{margin:0;color:#546a78;line-height:1.75;font-size:1rem}
.premium-transparency-note{margin-top:18px;padding:16px 18px;border-radius:16px;background:#f7fbfd;border:1px solid #e3edf2}
.premium-transparency-note strong{display:block;color:#163b54}
.premium-transparency-note p{margin:6px 0 0;font-size:.9rem}
.premium-chip-grid{display:flex;gap:9px;flex-wrap:wrap}
.premium-chip-grid-area .premium-chip{background:#fcfdfe}
.premium-muted{margin-top:16px;color:#6b808d;line-height:1.55}
.premium-license-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}
.premium-license-number{padding:18px;border-radius:18px;background:linear-gradient(180deg,#f7fbfd,#eef6fa);border:1px solid #ddeaf0}
.premium-license-number span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6a7f8d;font-weight:800}
.premium-license-number strong{display:block;margin-top:10px;font-size:1.55rem;letter-spacing:-.03em;color:#143952}
.premium-license-copy p{margin:0;color:#596f7d;line-height:1.65}
.premium-sidebar-column{position:relative}
.premium-sidebar-card{padding:22px}
.premium-sidebar-card h3{margin:8px 0 12px;font-size:1.3rem;letter-spacing:-.03em;color:#0e2c42}
.premium-detail-row{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid #edf2f4}
.premium-detail-row:last-child{border-bottom:0;padding-bottom:0}
.premium-detail-row span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#6a7f8d}
.premium-detail-row strong{color:#193b53;font-size:.95rem;line-height:1.45}
.premium-detail-row strong small{display:block;margin-top:3px;color:#6e818d;font-size:.8rem;font-weight:600}
.premium-sidebar-accent{background:linear-gradient(180deg,#12344d 0%,#1a4863 100%);color:#fff;border-color:transparent}
.premium-sidebar-accent h3,.premium-sidebar-accent p,.premium-sidebar-accent .light-kicker,.premium-sidebar-footnote{color:#fff}
.premium-sidebar-footnote{margin:12px 0 0;color:rgba(255,255,255,.84);font-size:.82rem}
.premium-owner-panel{margin-top:24px;padding:26px 28px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.premium-owner-panel h2{margin:8px 0 8px;font-size:1.9rem;letter-spacing:-.03em;color:#0e2d43}
.premium-owner-panel p{margin:0;color:#5f7784;line-height:1.65;max-width:65ch}
.premium-photo-grid a{border-radius:18px}
@media(max-width:1180px){.premium-company-hero-grid{grid-template-columns:1fr 1fr}.premium-company-contact{grid-column:1/-1}.premium-review-showcase-grid,.premium-content-grid{grid-template-columns:1fr}.premium-license-grid{grid-template-columns:1fr}.premium-owner-panel{display:block}.premium-owner-panel .btn{margin-top:16px}}
@media(max-width:860px){.premium-company-hero-grid{grid-template-columns:1fr}.premium-company-visual{min-height:300px}.premium-company-summary{padding-top:54px}.premium-company-logo{left:24px;bottom:-38px;width:88px;height:88px}.premium-company-topline{display:block}.premium-review-row{display:block}.premium-trust-stack{justify-content:flex-start;margin-top:14px}.premium-company-stats{grid-template-columns:1fr}.premium-card-head,.premium-card-body,.premium-section-intro,.premium-review-highlight-card,.premium-sidebar-card,.premium-company-contact,.premium-company-summary,.premium-company-visual-shell,.premium-owner-panel{padding-left:18px;padding-right:18px}.premium-card-head{padding-top:20px}.premium-card-body{padding-top:18px}.premium-review-showcase{padding-top:6px}}
@media(max-width:640px){.premium-company-summary h1{font-size:2.15rem}.premium-company-logo{width:76px;height:76px;left:18px;bottom:-30px;border-width:5px}.premium-company-logo.is-fallback span{font-size:1.05rem}.premium-company-logo.is-fallback small{font-size:.45rem}.premium-review-highlight-stat{font-size:2rem}.premium-card-head h2,.premium-section-intro h2,.premium-owner-panel h2{font-size:1.45rem}}


/* =========================================================
   v3.4 — full-width profile hero + private review UX
   ========================================================= */
.premium-company-hero{padding-bottom:28px}
.premium-company-banner-shell{background:#fff;border:1px solid #e3ebef;box-shadow:0 18px 50px rgba(15,41,60,.07);border-radius:26px;padding:16px;margin-bottom:22px}
.premium-company-banner{position:relative;width:100%;height:clamp(300px,34vw,430px);border-radius:20px;overflow:visible;background:#eaf2f6}
.premium-company-banner > img,.premium-company-banner > .company-banner-fallback-v32{width:100%;height:100%;display:block;object-fit:cover;border-radius:20px;overflow:hidden}
.premium-company-banner .premium-company-logo{left:28px;bottom:-42px}
.premium-company-info-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:stretch}
.premium-company-info-grid .premium-company-summary,.premium-company-info-grid .premium-company-contact{height:100%}
.premium-company-summary{padding-top:34px}
.premium-review-private-note{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.86);font-size:.82rem;line-height:1.55}
@media(max-width:980px){.premium-company-info-grid{grid-template-columns:1fr}.premium-company-banner{height:clamp(260px,48vw,380px)}.premium-company-summary{padding-top:50px}}
@media(max-width:640px){.premium-company-banner-shell{padding:10px;border-radius:20px}.premium-company-banner{height:230px;border-radius:16px}.premium-company-banner > img,.premium-company-banner > .company-banner-fallback-v32{border-radius:16px}.premium-company-banner .premium-company-logo{left:18px;bottom:-30px}.premium-company-info-grid{gap:16px}.premium-company-summary{padding-top:46px}.premium-review-private-note{font-size:.78rem}}


/* =========================================================
   v3.5 — open homeowner review flow
   ========================================================= */
.premium-review-button-v35{justify-self:start;margin-top:2px}
.review-page-open-v35{max-width:860px;margin:0 auto;padding:30px}
.review-company-picker-v35{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:22px}
.review-company-picker-v35 label{grid-column:1/-1}
.review-company-picker-v35 select{min-height:50px;border:1px solid #cfdce4;border-radius:12px;padding:10px 12px;background:#fff}
.review-source-explainer-v35{margin:16px 0 22px;padding:13px 15px;border-radius:13px;background:#f4f8fa;border:1px solid #e0eaef;color:#526b79;line-height:1.55}
.open-review-form-v35{margin-top:8px}
.open-review-form-v35 .review-form-section{margin-top:22px}
.open-review-form-v35 .review-privacy-note{background:#f8fbfc;border:1px solid #e2ebef;border-radius:13px;padding:14px 15px}
.open-review-form-v35 textarea{min-height:150px}
.review-badges span:first-child{background:#edf4f7;color:#2e596f}
@media(max-width:680px){.review-page-open-v35{padding:22px 18px}.review-company-picker-v35{grid-template-columns:1fr}.review-company-picker-v35 .btn{width:100%;text-align:center}}


/* =========================================================
   v3.6 — fast branded homeowner review flow
   ========================================================= */
.lhm-review-flow-v36{min-height:72vh;background:linear-gradient(180deg,#f1f7fa 0,#f8fbfc 250px,#fff 251px);padding-bottom:78px}
.lhm-review-hero-v36{padding:54px 0 38px;background:linear-gradient(135deg,#0f2942 0%,#173f5c 62%,#1d6f8f 100%);color:#fff;position:relative;overflow:hidden}
.lhm-review-hero-v36::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-120px;top:-220px;border:70px solid rgba(255,255,255,.055)}
.lhm-review-hero-v36 .eyebrow{color:#a9d5e7}
.lhm-review-hero-inner-v36{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.lhm-review-hero-v36 h1{margin:9px 0 8px;font-size:clamp(2.5rem,5vw,4.1rem);line-height:.98;letter-spacing:-.045em;color:#fff}
.lhm-review-hero-v36 p{margin:0;max-width:620px;color:#d8e8ef;font-size:1.04rem}
.lhm-review-time-v36{min-width:116px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);text-align:center;backdrop-filter:blur(8px)}
.lhm-review-time-v36 strong{display:block;font-size:1.05rem;color:#fff}.lhm-review-time-v36 span{display:block;margin-top:2px;font-size:.75rem;color:#cfe4ec;font-weight:700}
.lhm-review-shell-v36{max-width:760px;margin:-18px auto 0;position:relative;z-index:2}
.lhm-review-card-v36{background:#fff;border:1px solid #e0e9ee;border-radius:24px;padding:28px;box-shadow:0 24px 70px rgba(15,41,66,.10)}
.lhm-review-company-v36{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;padding-bottom:22px;border-bottom:1px solid #e9eff2}
.lhm-review-company-logo-v36{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0f3958,#287b9e);color:#fff;font-weight:950;box-shadow:0 5px 16px rgba(15,57,88,.16);overflow:hidden}.lhm-review-company-logo-v36 img{width:100%;height:100%;object-fit:cover}.lhm-review-company-v36>div:nth-child(2)>span{display:block;color:#758895;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.lhm-review-company-v36 h2{margin:2px 0 1px;font-size:1.3rem;letter-spacing:-.025em;color:#112f45}.lhm-review-company-v36 p{margin:0;color:#718490;font-size:.84rem}.lhm-review-company-v36>a{font-size:.8rem;font-weight:800;color:#176e9b}
.lhm-review-error-v36{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#fff2f2;border:1px solid #f0cccc;color:#8f2424;font-size:.88rem;font-weight:700}
.lhm-review-form-v36{margin-top:4px}.lhm-review-question-v36{margin-top:24px}.lhm-review-question-v36>label,.lhm-review-question-v36 legend{display:block;margin-bottom:9px;color:#19384e;font-size:.92rem;font-weight:850}.lhm-review-question-v36 legend{font-size:1.04rem}.lhm-review-rating-field-v36{border:0;padding:0;margin-left:0;margin-right:0}
.lhm-review-stars-v36{display:flex;gap:8px;align-items:center}.lhm-review-stars-v36 input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.lhm-review-stars-v36 label{width:58px;height:58px;display:grid;place-items:center;border-radius:15px;background:#f7fafb;border:1px solid #dce7ec;color:#c2ccd2;font-size:2rem;line-height:1;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.lhm-review-stars-v36 label:hover{transform:translateY(-2px);border-color:#d1a14a;color:#d59a29;background:#fff9ec}.lhm-review-stars-v36 label.is-selected{background:#fff7e3;border-color:#d8aa50;color:#d49418;box-shadow:0 5px 14px rgba(180,126,24,.09)}.lhm-review-rating-caption-v36{margin-top:8px;color:#758894;font-size:.78rem;font-weight:700}
.lhm-review-question-v36 textarea,.lhm-review-question-v36 input[type=text]{width:100%;border:1px solid #cfdde4;border-radius:14px;background:#fbfdfe;color:#172c3c;padding:13px 14px;outline:0;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.lhm-review-question-v36 textarea{min-height:126px;resize:vertical;line-height:1.55}.lhm-review-question-v36 textarea:focus,.lhm-review-question-v36 input[type=text]:focus{background:#fff;border-color:#5496b6;box-shadow:0 0 0 3px rgba(65,137,174,.12)}.lhm-review-helper-v36{display:block;margin-top:6px;color:#7a8d98;font-size:.76rem}
.lhm-review-name-row-v36{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:12px}.lhm-review-last-initial-v36 label span{font-weight:600;color:#8797a0;font-size:.72rem}.lhm-review-confirm-v36{display:flex;gap:10px;align-items:flex-start;margin:24px 0 16px;padding:13px 14px;border-radius:14px;background:#f6fafc;border:1px solid #e0e9ed;color:#4e6574;font-size:.84rem;cursor:pointer}.lhm-review-confirm-v36 input{margin-top:3px;accent-color:#1d6fa5}.lhm-review-submit-v36{width:100%;justify-content:center;text-align:center;min-height:54px;font-size:.98rem}.lhm-review-footnote-v36{text-align:center;margin:10px auto 0;color:#82919a;font-size:.73rem;line-height:1.45;max-width:520px}
.lhm-review-picker-card-v36>h2,.lhm-review-success-v36>h2{margin:7px 0 6px;font-size:1.7rem;color:#102f46;letter-spacing:-.03em}.lhm-review-picker-card-v36>p,.lhm-review-success-v36>p{margin:0;color:#667d8b}.lhm-review-picker-v36{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:22px}.lhm-review-picker-v36 label{grid-column:1/-1;font-weight:800;color:#213e52}.lhm-review-picker-v36 select{width:100%;min-height:52px;border:1px solid #cfdde4;border-radius:13px;padding:10px 12px;background:#fff}.lhm-review-success-v36{text-align:center;padding-top:38px;padding-bottom:38px}.lhm-review-success-mark-v36{width:62px;height:62px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:#e9f7ef;color:#17714b;font-size:1.7rem;font-weight:950}.lhm-review-success-v36 .btn{margin-top:18px}
@media(max-width:680px){.lhm-review-hero-v36{padding:38px 0 34px}.lhm-review-hero-inner-v36{display:block}.lhm-review-time-v36{display:inline-block;margin-top:18px}.lhm-review-shell-v36{margin-top:-12px}.lhm-review-card-v36{padding:20px 17px;border-radius:20px}.lhm-review-company-v36{grid-template-columns:52px minmax(0,1fr)}.lhm-review-company-logo-v36{width:52px;height:52px}.lhm-review-company-v36>a{grid-column:2}.lhm-review-stars-v36{justify-content:space-between;gap:5px}.lhm-review-stars-v36 label{width:52px;height:52px;font-size:1.75rem}.lhm-review-name-row-v36{grid-template-columns:minmax(0,1fr) 98px}.lhm-review-picker-v36{grid-template-columns:1fr}.lhm-review-picker-v36 .btn{width:100%}}


/* =========================================================
   v3.7 — one-name review + quick highlight bubbles
   ========================================================= */
.lhm-review-traits-field-v37{border:0;padding:0;margin-left:0;margin-right:0}
.lhm-review-traits-v37{display:flex;flex-wrap:wrap;gap:9px}
.lhm-review-trait-v37{position:relative;display:inline-flex;cursor:pointer}
.lhm-review-trait-v37 input{position:absolute;opacity:0;pointer-events:none}
.lhm-review-trait-v37 span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border-radius:999px;border:1px solid #d6e2e8;background:#f8fbfc;color:#4d6675;font-size:.8rem;font-weight:800;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease}
.lhm-review-trait-v37 input:checked + span{background:#173f5c;border-color:#173f5c;color:#fff;box-shadow:0 5px 14px rgba(23,63,92,.14)}
.lhm-review-trait-v37 input:focus-visible + span{outline:3px solid rgba(65,137,174,.22);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.lhm-review-trait-v37:hover span{transform:translateY(-1px);border-color:#91b3c4}}
.review-trait-bubbles-v37{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}
.review-trait-bubbles-v37 span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef5f8;border:1px solid #dce8ed;color:#31566b;font-size:.7rem;font-weight:800}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lhm-review-name-single-v37{margin-top:20px}


/* =========================================================
   v3.8 — premium contact gating + review snapshot
   ========================================================= */
.premium-company-info-grid.no-premium-contact{grid-template-columns:minmax(0,1fr)}
.premium-review-snapshot-v38{align-content:center;min-height:190px}
.premium-review-snapshot-stars-v38{font-size:1.75rem;line-height:1;color:#f2b23a;letter-spacing:.08em;text-shadow:0 1px 0 rgba(0,0,0,.05)}
.premium-review-snapshot-traits-v38{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.premium-review-snapshot-traits-v38 span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.72rem;font-weight:800}
.premium-review-snapshot-date-v38{font-size:.82rem;color:rgba(255,255,255,.78);font-weight:700}
@media(max-width:980px){.premium-company-info-grid.has-premium-contact,.premium-company-info-grid.no-premium-contact{grid-template-columns:1fr}}


/* =========================================================
   v3.13 — Browse Companies trust/location emphasis
   ========================================================= */
.company-card-location-clean{
  font-size:.82rem;
  line-height:1.35;
  color:#667d8a;
  font-weight:800;
  margin-bottom:5px;
}
.company-card-status-clean{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:7px;
  color:#617684;
  font-size:.70rem;
  font-weight:750;
}
.company-card-status-clean .verified{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#177245;
  font-size:.88rem;
  line-height:1.25;
  font-weight:900;
  letter-spacing:-.01em;
}
@media(max-width:640px){
  .company-card-location-clean{font-size:.80rem}
  .company-card-status-clean .verified{font-size:.84rem}
}


/* =========================================================
   v3.14 — polished homeowner contact authorization
   ========================================================= */
.consent-panel-v314{margin-top:28px;padding:0!important;border:1px solid #d7e6ef!important;border-radius:22px!important;background:#fff!important;overflow:hidden;box-shadow:0 14px 34px rgba(15,41,66,.06)}
.consent-heading-v314{padding:24px 26px 18px;background:linear-gradient(145deg,#f5fbfe 0%,#eef7fb 100%);border-bottom:1px solid #e3edf2}
.consent-heading-v314 h3{margin:7px 0 6px!important;font-size:1.55rem;letter-spacing:-.025em;color:var(--navy)}
.consent-heading-v314 p{margin:0;color:#607685;font-size:.94rem;line-height:1.55}
.consent-choice-v314{display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;align-items:start;margin:20px 22px 0;padding:18px 20px;border:1px solid #d9e6ed;border-radius:16px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;position:relative}
.consent-choice-v314:hover{border-color:#9fc5dc;background:#fbfdfe;box-shadow:0 6px 20px rgba(19,67,96,.05)}
.consent-choice-v314 input{position:absolute;opacity:0;pointer-events:none}
.consent-check-v314{width:24px;height:24px;border-radius:7px;border:2px solid #95a8b5;background:#fff;display:grid;place-items:center;margin-top:1px;transition:.16s ease}
.consent-choice-v314 input:checked + .consent-check-v314{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 4px rgba(29,111,165,.10)}
.consent-choice-v314 input:checked + .consent-check-v314::after{content:"✓";color:#fff;font-size:.9rem;font-weight:950;line-height:1}
.consent-choice-v314:has(input:checked){border-color:#9fc9df;background:#f7fbfe}
.consent-choice-v314 input:focus-visible + .consent-check-v314{outline:3px solid rgba(29,111,165,.22);outline-offset:2px}
.consent-choice-copy-v314{display:grid;gap:7px;min-width:0}
.consent-choice-copy-v314>strong{font-size:1.03rem;color:#15364e;line-height:1.35}
.consent-choice-copy-v314>span{font-size:.91rem;color:#516a79;line-height:1.62;font-weight:500}
.consent-choice-copy-v314 b{color:#173e58;font-weight:850}
.consent-highlights-v314{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 22px 0}
.consent-highlights-v314>div{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;align-items:center;padding:13px 14px;border-radius:14px;background:#f5f9fb;border:1px solid #e3ecf1}
.consent-icon-v314{grid-row:1/3;width:30px;height:30px;border-radius:9px;background:#e4f1f7;color:#1d6fa5;display:grid;place-items:center;font-size:.76rem;font-weight:900}
.consent-highlights-v314 strong{font-size:.82rem;color:#24475e;line-height:1.25}
.consent-highlights-v314 small{font-size:.72rem;color:#6a7f8d;line-height:1.35;margin-top:2px}
.consent-fineprint-v314{margin:15px 22px 0!important;padding:0;color:#657c89!important;font-size:.81rem;line-height:1.5}
.consent-links-v314{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 22px;background:#fafcfd;border-top:1px solid #e9eff2;color:#6a7f8d;font-size:.78rem;line-height:1.45}
.consent-link-row-v314{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.consent-link-row-v314 a{display:inline-flex;padding:5px 8px;border-radius:8px;color:#285571;font-weight:800;background:#fff;border:1px solid #dfe8ed}
.consent-link-row-v314 a:hover{border-color:#a8c9db;background:#f5fbfe}
@media(max-width:720px){.consent-heading-v314{padding:20px 18px 16px}.consent-heading-v314 h3{font-size:1.3rem}.consent-choice-v314{margin:16px 14px 0;padding:16px;gap:12px}.consent-highlights-v314{grid-template-columns:1fr;margin:14px 14px 0}.consent-fineprint-v314{margin:14px 14px 0!important}.consent-links-v314{display:grid;padding:13px 14px}.consent-link-row-v314{gap:5px}.consent-choice-copy-v314>span{font-size:.86rem}}

/* =========================================================
   v4.0 — Contractor Portal / My Profile
   ========================================================= */
.contractor-portal-page{background:linear-gradient(180deg,#f2f7fa 0,#f8fbfc 260px,#fff 261px);padding-bottom:80px;min-height:70vh}
.contractor-portal-hero{padding:58px 0 42px;background:linear-gradient(135deg,#0f2942 0%,#194b68 58%,#287da1 100%);color:#fff}
.contractor-portal-hero .eyebrow{color:#b9d8e7}.contractor-portal-hero h1{margin:8px 0 8px;color:#fff;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1;letter-spacing:-.045em}.contractor-portal-hero p{margin:0;color:#dceaf1;font-size:1.05rem;max-width:650px}
.contractor-portal-wrap{margin-top:28px}.contractor-portal-auth,.contractor-portal-app{max-width:1180px;margin:0 auto}
.portal-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.portal-panel{background:#fff;border:1px solid #dce7ed;border-radius:22px;padding:28px;box-shadow:0 16px 46px rgba(16,45,65,.07)}.portal-login-panel{border-top:5px solid #1d78aa}.portal-access-panel{background:linear-gradient(180deg,#fff,#f7fbfd)}
.portal-panel h1,.portal-panel h2{color:#102e44;letter-spacing:-.035em}.portal-panel h1{font-size:2.25rem;margin:8px 0 10px}.portal-panel h2{font-size:1.75rem;margin:8px 0 10px}.portal-panel>p{color:#607887;line-height:1.65;margin:0 0 20px}.portal-panel form{display:grid;gap:9px}.portal-panel form label,.portal-profile-form label{font-weight:800;color:#294c61;font-size:.83rem}.portal-panel form label span,.portal-profile-form label span{font-weight:600;color:#7a8b95}.portal-panel input,.portal-panel textarea,.portal-panel select,.portal-profile-form input:not([type=checkbox]):not([type=file]),.portal-profile-form textarea,.portal-profile-form select{width:100%;border:1px solid #cfdde5;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:#18374b;box-shadow:0 1px 1px rgba(0,0,0,.015);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.portal-panel input:focus,.portal-panel textarea:focus,.portal-panel select:focus,.portal-profile-form input:focus,.portal-profile-form textarea:focus,.portal-profile-form select:focus{border-color:#5aa1c3;box-shadow:0 0 0 3px rgba(49,138,180,.11)}.portal-panel input:disabled,.portal-profile-form input:disabled{background:#f3f6f8;color:#72838c}.portal-panel .btn{margin-top:8px;justify-content:center}.portal-lost{font-size:.84rem;color:#397490;font-weight:700;text-align:center;margin-top:4px}.portal-check{display:inline-flex!important;align-items:center;gap:8px;font-weight:700!important}.portal-check input[type=checkbox]{width:18px!important;height:18px!important;margin:0!important}.lhm-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.portal-notice{display:grid;gap:3px;padding:14px 17px;border-radius:12px;margin-bottom:18px;border:1px solid}.portal-notice strong{font-size:.95rem}.portal-notice span{font-size:.86rem;line-height:1.5}.portal-notice.success{background:#effaf3;border-color:#cde8d6;color:#1d6241}.portal-notice.error{background:#fff5f5;border-color:#efd0d0;color:#8b2e2e}
.portal-app-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;background:#fff;border:1px solid #dbe6ec;border-radius:20px;padding:24px 26px;box-shadow:0 13px 40px rgba(15,45,65,.06);margin-bottom:18px}.portal-app-head h1{font-size:2.3rem;line-height:1.05;letter-spacing:-.04em;color:#102f45;margin:7px 0 10px}.portal-status-row{display:flex;gap:8px;flex-wrap:wrap}.portal-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f0f4f6;border:1px solid #dde7eb;color:#55707f;font-size:.72rem;font-weight:850}.portal-status.good{background:#edf9f1;border-color:#cfe9d7;color:#17633e}.portal-status.premium{background:#edf5fb;border-color:#c9dfed;color:#155e83}.portal-status.warn{background:#fff8e6;border-color:#eddda5;color:#7c5b00}.portal-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.portal-profile-form{display:grid;gap:18px}.portal-section{background:#fff;border:1px solid #dce7ed;border-radius:20px;overflow:hidden;box-shadow:0 10px 34px rgba(18,48,68,.045)}.portal-section-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#173b57,#1f6488);color:#fff}.portal-section-head>div{display:flex;align-items:center;gap:10px}.portal-section-head>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:.72rem;font-weight:900}.portal-section-head h2{margin:0;color:#fff;font-size:1.12rem;letter-spacing:-.015em}.portal-section-head p{margin:0;color:#d8e9f1;font-size:.8rem}.portal-section-body{padding:22px}.portal-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-fields .wide{grid-column:1/-1}.portal-fields small,.portal-section-body>small,.portal-photo-card small{display:block;margin-top:5px;color:#70838d;font-size:.76rem;line-height:1.45}
.portal-photo-grid{display:grid;grid-template-columns:220px minmax(320px,1fr) minmax(300px,1fr);gap:18px}.portal-photo-card{border:1px solid #e0e9ee;border-radius:16px;padding:14px;background:#f9fbfc}.portal-photo-card h3{font-size:.95rem;color:#24495e;margin:0 0 12px}.portal-logo-preview{width:150px;height:150px;border-radius:50%;overflow:hidden;background:#eaf2f6;border:5px solid #fff;box-shadow:0 8px 24px rgba(13,45,66,.1);display:grid;place-items:center;margin-bottom:12px}.portal-logo-preview img{width:100%;height:100%;object-fit:cover}.portal-banner-preview{aspect-ratio:16/7;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,#173b57,#56a5be);display:grid;place-items:center;margin-bottom:12px}.portal-banner-preview img{width:100%;height:100%;object-fit:cover}.portal-image-empty{display:grid;place-items:center;width:100%;height:100%;min-height:80px;padding:18px;text-align:center;color:#78909d;font-size:.77rem;font-weight:800;background:linear-gradient(135deg,#e8f1f5,#f7fbfc)}.portal-photo-card input[type=file]{display:block;width:100%;margin:8px 0 9px;color:#4d6877;font-size:.78rem}.portal-gallery-preview{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:8px;margin-bottom:10px}.portal-gallery-item{position:relative;display:block!important;border:1px solid #dce7ec;border-radius:10px;overflow:hidden;background:#fff}.portal-gallery-item img{width:100%;height:82px;object-fit:cover}.portal-gallery-item span{display:flex;align-items:center;gap:4px;padding:5px 6px;font-size:.65rem;color:#56717f}.portal-gallery-item input{width:14px!important;height:14px!important;margin:0!important}
.portal-chip-select{display:flex;flex-wrap:wrap;gap:9px}.portal-chip-select label{cursor:pointer}.portal-chip-select input{position:absolute;opacity:0;pointer-events:none}.portal-chip-select span{display:inline-flex;padding:9px 13px;border:1px solid #d9e5eb;border-radius:999px;background:#f7fafb;color:#355b6f;font-size:.8rem;font-weight:800;transition:.15s ease}.portal-chip-select input:checked+span{background:#173b57;color:#fff;border-color:#173b57;box-shadow:0 4px 12px rgba(23,59,87,.14)}.portal-custom-list{margin-top:18px}.portal-custom-list label{display:block;margin-bottom:6px}.portal-verification-note{display:grid;gap:3px;margin-top:14px;padding:13px 15px;border:1px solid #e9dca7;border-radius:11px;background:#fff9e8;color:#715a13}.portal-verification-note strong{font-size:.86rem}.portal-verification-note span{font-size:.78rem;line-height:1.45}.portal-readonly-status{padding:13px 15px;border:1px solid #dfe8ed;border-radius:12px;background:#f8fbfc}.portal-readonly-status>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#748690;font-weight:850}.portal-readonly-status strong{display:block;margin-top:5px;color:#234b61}.portal-readonly-status small{display:block;margin-top:5px;color:#6f818b;font-size:.76rem}
.portal-save-bar{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 17px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid #d6e3e9;border-radius:14px;box-shadow:0 12px 38px rgba(15,44,64,.13)}.portal-save-bar div{display:grid;gap:2px}.portal-save-bar strong{color:#173b57;font-size:.92rem}.portal-save-bar span{color:#6d818c;font-size:.77rem;line-height:1.35}.portal-save-bar .btn{min-width:190px;justify-content:center}
.nav-my-profile{font-weight:800;color:#1c668c!important}
@media(max-width:1050px){.portal-photo-grid{grid-template-columns:1fr 1fr}.portal-gallery-card{grid-column:1/-1}.portal-auth-grid{grid-template-columns:1fr}.portal-app-head{align-items:stretch;flex-direction:column}.portal-head-actions{justify-content:flex-start}.portal-fields{grid-template-columns:1fr}.portal-fields .wide{grid-column:auto}}
@media(max-width:720px){.contractor-portal-hero{padding:42px 0 32px}.contractor-portal-wrap{margin-top:18px}.portal-panel,.portal-app-head,.portal-section-body{padding-left:16px;padding-right:16px}.portal-photo-grid{grid-template-columns:1fr}.portal-gallery-card{grid-column:auto}.portal-logo-preview{width:125px;height:125px}.portal-section-head{align-items:flex-start;flex-direction:column;gap:5px}.portal-section-head p{padding-left:38px}.portal-save-bar{position:static;align-items:stretch;flex-direction:column}.portal-save-bar .btn{width:100%}.portal-head-actions{display:grid;grid-template-columns:1fr}.portal-head-actions .btn{justify-content:center}.portal-gallery-preview{grid-template-columns:repeat(3,1fr)}}

/* =========================================================
   v4.1 — Lead lifecycle, contractor My Leads, homeowner status
   ========================================================= */
.lead-success-v41{padding:30px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f7fbfd);border:1px solid #dbe7ed;box-shadow:0 20px 50px rgba(16,49,70,.08)}
.lead-success-v41 h2{margin:8px 0 10px;font-size:2rem;color:#0d2d43;letter-spacing:-.03em}.lead-success-v41>p{color:#58717f;line-height:1.65;max-width:64ch}.lead-success-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.lead-success-facts>div{padding:14px;border-radius:14px;background:#fff;border:1px solid #e2ebef}.lead-success-facts span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#728592;font-weight:800}.lead-success-facts strong{display:block;margin-top:5px;color:#173b57}.receipt-next-v41{padding:20px;border-radius:16px;background:#eef6fa}.receipt-next-v41 ol{margin:12px 0 14px;padding-left:22px;color:#4f6978}.receipt-next-v41 li{margin:7px 0}.lead-success-assurance{padding:11px 13px;border-radius:10px;background:#fff;color:#17603e;font-weight:800}.lead-status-button{margin-top:15px}

.portal-leads-app{display:grid;gap:18px}.portal-lead-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portal-lead-kpis>div{background:#fff;border:1px solid #dfe8ed;border-radius:16px;padding:17px 18px;box-shadow:0 8px 24px rgba(15,48,70,.05)}.portal-lead-kpis span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6f8290;font-weight:800}.portal-lead-kpis strong{display:block;margin-top:5px;font-size:1.9rem;color:#163b54}.portal-lead-list{display:grid;gap:10px}.portal-lead-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border:1px solid #e1e9ed;border-radius:16px;background:#fff;text-decoration:none;color:inherit;transition:.15s ease}.portal-lead-card:hover{border-color:#9fc2d4;box-shadow:0 10px 25px rgba(15,48,70,.07);transform:translateY(-1px)}.portal-lead-ref{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#708592;font-weight:850}.portal-lead-card h3,.portal-lead-detail h2{margin:5px 0 5px;color:#153a53;letter-spacing:-.02em}.portal-lead-meta{font-size:.82rem;color:#657b88;line-height:1.45}.portal-lead-card-side{display:grid;justify-items:end;gap:7px;color:#557080;font-size:.8rem;font-weight:750}.portal-lead-state{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eaf5fb;color:#0c668f;font-weight:850;font-size:.74rem}.portal-lead-state.warn{background:#fff2e8;color:#9a4e18}.portal-lead-empty{padding:28px;border:1px dashed #cfdae0;border-radius:14px;text-align:center;color:#6a7f8b}.portal-lead-empty strong,.portal-lead-empty span{display:block}.portal-lead-empty span{margin-top:5px}.portal-lead-back{margin:0}.portal-lead-back a{text-decoration:none;font-weight:750;color:#315b73}.portal-contact-stop{display:grid;gap:4px;padding:15px 17px;border-radius:13px;background:#fff2e8;border:1px solid #f4d4bd;color:#8c4315}.portal-lead-detail{overflow:hidden}.portal-lead-detail-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 22px;background:linear-gradient(135deg,#123b58,#195b7f);color:#fff}.portal-lead-detail-head .portal-lead-ref,.portal-lead-detail-head .portal-lead-meta{color:rgba(255,255,255,.75)}.portal-lead-detail-head h2{color:#fff;font-size:1.65rem}.portal-lead-detail-head .portal-lead-state{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.18)}.portal-lead-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.portal-lead-info-grid>div{padding:13px;border:1px solid #e4ecef;border-radius:12px;background:#f9fbfc}.portal-lead-info-grid span,.portal-homeowner-note>span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#718591;font-weight:800}.portal-lead-info-grid strong{display:block;margin-top:5px;color:#173b57}.portal-homeowner-note{margin-top:14px;padding:15px;border-radius:13px;background:#f4f8fa}.portal-homeowner-note p{margin:6px 0 0;color:#526c7a;line-height:1.6}.portal-contact-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.portal-primary-actions,.portal-progress-actions{display:flex;gap:14px;row-gap:14px;flex-wrap:wrap;align-items:flex-start}.portal-lead-actions-section .portal-section-body{display:grid;gap:16px}.portal-lead-actions-section .portal-accept-lead{margin-bottom:0}.portal-lead-actions-section .portal-primary-actions{margin-top:0}.portal-lead-actions-section .portal-action-details{flex:1 1 230px}.portal-lead-actions-section .portal-action-details>summary{min-height:48px;display:flex;align-items:center}.portal-lead-action-form{margin:0}.portal-action-details{border:1px solid #dde7ec;border-radius:12px;background:#fff;min-width:200px}.portal-action-details>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:800;color:#284f66}.portal-action-details>summary::-webkit-details-marker{display:none}.portal-action-details[open]{padding-bottom:12px}.portal-action-details[open]>summary{border-bottom:1px solid #e7eef2;margin-bottom:12px}.portal-action-details form{display:grid;gap:9px;padding:0 12px}.portal-action-details label{font-size:.78rem;font-weight:800;color:#4e6877}.portal-action-details label span{font-weight:600;color:#87959d}.portal-action-details select,.portal-action-details textarea,.portal-action-details input{width:100%}.portal-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.request-status-page{background:#f5f9fb;min-height:70vh;padding-bottom:70px}.request-status-hero{padding:48px 0 74px;background:linear-gradient(135deg,#0f334d,#1c5c7e);color:#fff}.request-status-hero .eyebrow{color:#b8d9e8}.request-status-hero h1{margin:8px 0 8px;color:#fff;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.04em}.request-status-hero p{margin:0;color:#d8e8ef}.request-status-wrap{margin-top:-38px;display:grid;gap:18px}.status-main-card,.status-section,.status-info-strip,.status-review-opportunity,.status-support{background:#fff;border:1px solid #dfe8ed;border-radius:22px;box-shadow:0 16px 42px rgba(14,44,64,.06)}.status-main-card{padding:26px}.status-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.status-ref{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:#718591;font-weight:850}.status-topline h2{margin:5px 0 0;color:#123851;font-size:2rem;letter-spacing:-.03em}.status-overall-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#e8f5fb;color:#0b668e;font-size:.75rem;font-weight:850}.status-overall-pill.warn{background:#fff1e7;color:#974a16}.status-overall-pill.done{background:#eaf8ef;color:#17613f}.status-request-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.status-request-facts>div{padding:13px 14px;border-radius:13px;background:#f8fbfc;border:1px solid #e6edf0}.status-request-facts span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#738692;font-weight:850}.status-request-facts strong{display:block;margin-top:4px;color:#244b62}.status-overall-copy{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:15px;border-radius:14px;background:#f0f7fa}.status-pulse{width:10px;height:10px;border-radius:50%;background:#1a83b6;margin-top:5px;box-shadow:0 0 0 5px rgba(26,131,182,.11)}.status-overall-copy strong{color:#173b57}.status-overall-copy p{margin:4px 0 0;color:#647b88}.status-info-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.status-info-strip>div{padding:18px 20px;border-right:1px solid #e6edf0}.status-info-strip>div:last-child{border-right:0}.status-info-strip strong,.status-info-strip span{display:block}.status-info-strip strong{color:#153b54}.status-info-strip span{margin-top:5px;color:#6a7f8b;font-size:.84rem;line-height:1.5}.status-section{padding:24px}.status-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.status-section-head h2{margin:6px 0 0;color:#123951;font-size:1.65rem;letter-spacing:-.03em}.status-section-head>span{font-size:.76rem;color:#758792;font-weight:800}.status-empty{padding:24px;border:1px dashed #ccd9df;border-radius:14px;text-align:center;color:#6a7e8a}.status-empty strong,.status-empty span{display:block}.status-empty span{margin-top:5px}.status-company-list{display:grid;gap:10px}.status-company-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #e2e9ed;border-radius:16px}.status-company-logo{width:62px;height:62px;border-radius:50%;overflow:hidden;background:#edf3f6;display:grid;place-items:center}.status-company-logo img{width:100%;height:100%;object-fit:cover}.status-company-logo.fallback{background:linear-gradient(145deg,#123b58,#2b799a);color:#fff;font-size:1.25rem;font-weight:900}.status-company-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-company-title h3{margin:0;color:#163b54;font-size:1.05rem}.status-verified{font-size:.7rem;font-weight:850;color:#167044}.status-company-copy p{margin:3px 0 7px;color:#71828d;font-size:.82rem}.status-company-state{display:flex;gap:7px;align-items:center;color:#4f6b79;font-size:.8rem}.status-company-state>span{width:7px;height:7px;border-radius:50%;background:#1a83b6}.status-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-action-card{padding:18px;border-radius:16px;background:#f8fbfc;border:1px solid #e2ebef}.status-action-card h3{margin:0;color:#173b57}.status-action-card p{color:#647b88;line-height:1.55}.status-action-card form{display:grid;gap:10px}.status-action-card label{font-size:.78rem;font-weight:800;color:#4d6877}.status-action-card label span{font-weight:600;color:#85949d}.status-stop-card{background:#fffaf7}.status-review-opportunity{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 24px}.status-review-opportunity h2{margin:6px 0 5px;color:#143a53}.status-review-opportunity p{margin:0;color:#637a87}.status-support{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 20px;color:#5f7582}.status-support strong{color:#244b62}.status-notice{display:grid;gap:3px;padding:14px 16px;border-radius:14px}.status-notice.success{background:#eaf8ef;border:1px solid #cde8d6;color:#17613f}.status-notice.warn{background:#fff1e7;border:1px solid #f0d3bd;color:#914817}.status-invalid{margin-top:70px}.status-invalid h1{color:#143a53}

@media(max-width:900px){.lead-success-facts,.status-request-facts,.portal-lead-info-grid{grid-template-columns:1fr 1fr}.portal-lead-kpis{grid-template-columns:1fr 1fr}.status-info-strip{grid-template-columns:1fr}.status-info-strip>div{border-right:0;border-bottom:1px solid #e6edf0}.status-info-strip>div:last-child{border-bottom:0}.status-action-grid{grid-template-columns:1fr}.status-review-opportunity{display:block}.status-review-opportunity .btn{margin-top:14px}}
@media(max-width:680px){.lead-success-v41{padding:22px 18px}.lead-success-facts,.status-request-facts,.portal-lead-info-grid,.portal-lead-kpis{grid-template-columns:1fr}.portal-lead-card{display:block}.portal-lead-card-side{justify-items:start;margin-top:12px}.portal-lead-detail-head,.status-topline,.status-section-head{display:block}.portal-lead-detail-head .portal-lead-state,.status-overall-pill{margin-top:10px}.portal-contact-buttons{display:grid}.portal-contact-buttons .btn{width:100%;text-align:center}.portal-primary-actions,.portal-progress-actions{display:grid;gap:12px}.portal-primary-actions>* ,.portal-progress-actions>*{width:100%}.portal-action-details{min-width:0}.portal-two-fields{grid-template-columns:1fr}.request-status-hero{padding:36px 0 62px}.request-status-wrap{margin-top:-28px}.status-main-card,.status-section{padding:18px}.status-company-card{grid-template-columns:54px 1fr}.status-company-logo{width:54px;height:54px}.status-company-card>.btn{grid-column:1/-1;width:100%;text-align:center}.status-support{display:block}.status-support span{display:block;margin-top:5px}}


/* ===== v4.1.1 Contractor login + administrator portal preview ===== */
.portal-admin-preview-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #dce7ed;border-radius:22px;padding:28px;box-shadow:0 16px 44px rgba(15,41,66,.08)}
.portal-admin-preview-card h2{margin:10px 0 8px;color:#0f2942;font-size:1.8rem;letter-spacing:-.03em}.portal-admin-preview-card>p{color:#5f7480;line-height:1.6}
.portal-admin-preview-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:20px}.portal-admin-preview-form label{grid-column:1/-1;font-weight:800;color:#27495f}.portal-admin-preview-form select{width:100%;min-height:50px;border:1px solid #cad9e1;border-radius:11px;padding:0 13px;background:#fff}
.portal-admin-preview-note{margin-top:16px!important;padding:13px 14px;border-radius:12px;background:#fff8e7;color:#72540d!important;border:1px solid #f0dfad;font-size:.88rem}.portal-admin-preview-note strong{color:#614700}
.portal-admin-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#eaf4fb;border:1px solid #cfe4f0;color:#173b57}.portal-admin-preview-banner strong{display:block}.portal-admin-preview-banner span{display:block;margin-top:3px;color:#557182;font-size:.88rem}.portal-admin-preview-banner .btn{flex:0 0 auto}
@media(max-width:720px){.portal-admin-preview-form{grid-template-columns:1fr}.portal-admin-preview-form .btn{width:100%}.portal-admin-preview-banner{align-items:flex-start;flex-direction:column}.portal-admin-preview-banner .btn{width:100%}}

/* =========================================================
   v4.2 — streamlined contractor portal editors
   ========================================================= */
.portal-hours-wrap{padding-top:4px}
.portal-subsection-title,.portal-builder-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.portal-subsection-title>div,.portal-builder-head>div{display:grid;gap:3px}
.portal-subsection-title strong{color:#173b57;font-size:.95rem}
.portal-subsection-title span,.portal-builder-head small{color:#70838d;font-size:.76rem;line-height:1.4}
.portal-mini-action{appearance:none;border:1px solid #cbdce4;background:#f7fafc;color:#2b596f;border-radius:8px;padding:7px 10px;font-weight:750;font-size:.72rem;cursor:pointer}
.portal-mini-action:hover{background:#eef5f8;border-color:#aac8d6}
.portal-hours-row{display:grid;grid-template-columns:190px minmax(260px,1fr) 68px;gap:14px;align-items:center;padding:10px 12px;border:1px solid #e0eaee;border-radius:11px;background:#fbfdfe;margin-top:8px;transition:.15s ease}
.portal-hours-row.is-closed{background:#f7f9fa;color:#75858d}
.portal-day-toggle{display:flex!important;align-items:center;gap:9px;margin:0!important;cursor:pointer}
.portal-day-toggle input{position:absolute;opacity:0;pointer-events:none}
.portal-day-toggle span{width:34px;height:20px;border-radius:999px;background:#cbd8de;position:relative;flex:0 0 auto;transition:.15s ease}
.portal-day-toggle span:after{content:"";position:absolute;width:14px;height:14px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.15s ease}
.portal-day-toggle input:checked+span{background:#1d789f}
.portal-day-toggle input:checked+span:after{transform:translateX(14px)}
.portal-day-toggle strong{font-size:.82rem;color:#294b5e}
.portal-time-range{display:flex;align-items:center;gap:8px}
.portal-time-range input[type=time]{min-width:0;width:100%;padding:8px 9px!important}
.portal-time-range span{font-size:.72rem;color:#78909d;font-weight:750}
.portal-day-status{justify-self:end;font-size:.7rem;font-weight:850;color:#28714e;text-transform:uppercase;letter-spacing:.04em}
.portal-hours-row.is-closed .portal-day-status{color:#89979e}
.portal-hours-row.is-closed .portal-time-range{opacity:.45}
.portal-builder-block{margin-top:18px;padding:16px;border:1px solid #e0eaee;border-radius:14px;background:#fbfdfe}
.portal-chip-select+.portal-builder-block{margin-top:20px}
.portal-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}
.portal-add-row input{margin:0!important}
.portal-add-row .btn{white-space:nowrap;min-height:42px}
.portal-editable-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;min-height:4px}
.portal-edit-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 8px 7px 11px;border:1px solid #cfe0e8;border-radius:999px;background:#eef6f9;color:#244d62;font-size:.76rem;font-weight:800}
.portal-edit-chip button{width:21px;height:21px;border:0;border-radius:50%;background:#dceaf0;color:#486b7c;display:grid;place-items:center;line-height:1;padding:0;font-size:16px;cursor:pointer}
.portal-edit-chip button:hover{background:#c8dfe8;color:#173b57}
.portal-area-chips .portal-edit-chip{background:#f5f8fa}
@media(max-width:720px){.portal-subsection-title,.portal-builder-head{align-items:flex-start;flex-direction:column}.portal-hours-row{grid-template-columns:1fr;gap:8px}.portal-time-range{width:100%}.portal-day-status{justify-self:start}.portal-add-row{grid-template-columns:1fr}.portal-add-row .btn{width:100%;justify-content:center}}


/* =========================================================
   v4.6 — polished contractor password setup
   ========================================================= */
.portal-password-setup{max-width:1060px;margin:0 auto}
.portal-password-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border:1px solid #d8e5eb;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(14,44,64,.11)}
.portal-password-intro{position:relative;padding:38px;background:linear-gradient(145deg,#0e2941 0%,#154764 58%,#1e7395 100%);color:#fff;overflow:hidden}
.portal-password-intro::after{content:"";position:absolute;right:-70px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07)}
.portal-password-brand{display:flex;align-items:center;gap:10px;font-size:.72rem;font-weight:900;letter-spacing:.11em;color:inherit}
.portal-password-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff;color:#173b57;font-size:.82rem;letter-spacing:-.03em;box-shadow:0 7px 20px rgba(0,0,0,.14)}
.portal-password-intro .eyebrow{display:block;margin-top:58px;color:#acd4e5}
.portal-password-intro h2{margin:8px 0 12px;font-size:2.35rem;line-height:1.02;letter-spacing:-.045em;color:#fff}
.portal-password-intro>p{margin:0;color:#d8e9f0;line-height:1.68;max-width:48ch}
.portal-password-company{position:relative;z-index:1;margin-top:27px;padding:16px 18px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(255,255,255,.09)}
.portal-password-company small{display:block;color:#a8cedf;font-size:.65rem;font-weight:900;letter-spacing:.11em}
.portal-password-company strong{display:block;margin-top:5px;font-size:1.15rem}
.portal-password-company span{display:block;margin-top:3px;color:#d7e7ee;font-size:.84rem}
.portal-password-points{position:relative;z-index:1;display:grid;gap:9px;margin-top:24px;color:#dceaf0;font-size:.86rem}
.portal-password-card{padding:40px 42px;background:#fff}
.portal-password-card>.eyebrow{color:#367b9b}
.portal-password-card h1{margin:8px 0 9px;color:#102e44;font-size:2.15rem;line-height:1.05;letter-spacing:-.04em}
.portal-password-card>p{margin:0 0 24px;color:#647b88;line-height:1.6}
.portal-password-form{display:grid;gap:9px}
.portal-password-form label{margin-top:8px;color:#294c61;font-size:.82rem;font-weight:850}
.portal-password-input{display:grid;grid-template-columns:1fr auto;border:1px solid #cbdbe3;border-radius:11px;background:#fff;overflow:hidden;transition:.15s ease}
.portal-password-input:focus-within{border-color:#5b9dbc;box-shadow:0 0 0 3px rgba(51,135,174,.11)}
.portal-password-input input{width:100%;min-height:50px;border:0!important;border-radius:0!important;padding:12px 13px!important;box-shadow:none!important;outline:0!important}
.portal-password-input button{min-width:64px;border:0;border-left:1px solid #e1e9ed;background:#f7fafb;color:#39708b;font-size:.78rem;font-weight:850;cursor:pointer}
.portal-password-form>small{color:#7a8d97;font-size:.76rem;line-height:1.45}
.portal-password-form .btn{width:100%;justify-content:center;margin-top:16px;min-height:52px}
.portal-password-login-note{margin-top:18px;padding-top:17px;border-top:1px solid #e8eef1;color:#74858e;font-size:.83rem;text-align:center}
.portal-password-login-note a{color:#2d708f;font-weight:800}
.portal-password-expired{max-width:650px;margin:0 auto;border:1px solid #dce7ed;border-radius:24px;box-shadow:0 20px 55px rgba(15,44,64,.09)}
.portal-password-expired .portal-password-brand{color:#173b57}.portal-password-expired h1{margin-top:26px}.portal-password-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
@media(max-width:860px){.portal-password-shell{grid-template-columns:1fr}.portal-password-intro{padding:28px}.portal-password-intro .eyebrow{margin-top:34px}.portal-password-intro h2{font-size:1.9rem}.portal-password-card{padding:30px 28px}}
@media(max-width:560px){.portal-password-shell{border-radius:20px}.portal-password-intro,.portal-password-card{padding:23px 19px}.portal-password-card h1{font-size:1.75rem}.portal-password-actions{display:grid}.portal-password-actions .btn{width:100%;justify-content:center}}

/* =========================================================
   v4.7 — contractor invite/setup polish
   ========================================================= */
.contractor-setup-page{background:radial-gradient(circle at 15% 0,rgba(38,125,162,.09),transparent 30%),linear-gradient(180deg,#edf4f7 0%,#f7fafb 100%);padding:46px 0 78px;min-height:calc(100vh - 120px)}
.contractor-setup-page .contractor-portal-wrap{margin-top:0}
.contractor-setup-page .portal-password-setup{max-width:1080px}
.contractor-setup-page .portal-password-shell{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);border:0;border-radius:24px;box-shadow:0 28px 80px rgba(15,43,61,.14),0 2px 8px rgba(15,43,61,.06)}
.contractor-setup-page .portal-password-intro{padding:42px 42px 38px;background:linear-gradient(150deg,#0d2a40 0%,#12415c 56%,#1a6687 100%)}
.contractor-setup-page .portal-password-intro::before{content:"";position:absolute;left:-100px;top:-110px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
.contractor-setup-page .portal-password-intro::after{right:-105px;bottom:-105px;width:310px;height:310px;background:rgba(255,255,255,.055)}
.contractor-setup-page .portal-password-brand{position:relative;z-index:2;font-size:.7rem;letter-spacing:.13em}
.contractor-setup-page .portal-password-mark{width:44px;height:44px;border-radius:11px;font-size:.78rem}
.portal-password-kicker{position:relative;z-index:2;display:flex;align-items:center;gap:9px;margin-top:58px;color:#a8d3e4;font-size:.67rem;font-weight:900;letter-spacing:.14em}
.portal-password-kicker span{width:24px;height:2px;border-radius:2px;background:#65b6d6}
.contractor-setup-page .portal-password-intro h2{position:relative;z-index:2;margin:12px 0 13px;font-size:2.55rem;line-height:1.01;letter-spacing:-.048em}
.contractor-setup-page .portal-password-intro>p{position:relative;z-index:2;color:#d7e8ef;line-height:1.7}
.contractor-setup-page .portal-password-intro>p strong{color:#fff}
.contractor-setup-page .portal-password-company{margin-top:26px;padding:16px 18px;background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.16)}
.portal-password-points{margin-top:25px!important;gap:10px!important}
.portal-password-points>span{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;color:#dcebf1}
.portal-password-points b{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#9fd1e4;font-size:.62rem;letter-spacing:.03em}
.portal-password-points em{font-style:normal;line-height:1.35}
.portal-password-trust{position:relative;z-index:2;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);color:#a9cad8;font-size:.72rem;line-height:1.55}
.contractor-setup-page .portal-password-card{padding:46px 48px 40px}
.portal-password-step{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;color:#487a91;font-size:.66rem;font-weight:900;letter-spacing:.12em}
.portal-password-step strong{padding:5px 8px;border:1px solid #d5e4ea;border-radius:999px;background:#f6fafb;color:#6f8792;font-size:.62rem;letter-spacing:.04em}
.contractor-setup-page .portal-password-card h1{margin:0 0 10px;font-size:2.35rem;letter-spacing:-.045em;color:#102e44}
.contractor-setup-page .portal-password-card>p{margin:0 0 25px;color:#647b88}
.contractor-setup-page .portal-password-card>p strong{color:#294d61}
.contractor-setup-page .portal-password-form{gap:8px}
.contractor-setup-page .portal-password-form label{margin-top:9px;font-size:.79rem;color:#294c61}
.contractor-setup-page .portal-password-input{border-radius:10px;background:#fbfdfe;border-color:#c9d9e1}
.contractor-setup-page .portal-password-input input{min-height:52px;background:transparent}
.contractor-setup-page .portal-password-input button{min-width:66px;background:#f4f8fa;color:#39718c}
.portal-password-requirement,.portal-password-match{font-size:.72rem;color:#7d8f98;line-height:1.35}
.portal-password-requirement span{display:inline-block;width:15px;color:#83959e;font-weight:900}
.portal-password-requirement.is-valid{color:#327255}.portal-password-requirement.is-valid span{color:#327255}
.portal-password-match.is-valid{color:#327255}.portal-password-match.is-invalid{color:#a65346}
.portal-password-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:3px 0 2px}
.portal-password-strength i{height:4px;border-radius:999px;background:#e4ecef;transition:.18s ease}
.portal-password-strength.level-1 i:nth-child(-n+1),.portal-password-strength.level-2 i:nth-child(-n+2),.portal-password-strength.level-3 i:nth-child(-n+3),.portal-password-strength.level-4 i:nth-child(-n+4){background:#5b9fba}
.portal-password-submit{display:flex!important;align-items:center;gap:9px;margin-top:18px!important;font-size:.9rem}
.portal-password-submit span{font-size:1.15rem;line-height:1}
.portal-password-auto{text-align:center;color:#84949c;font-size:.69rem;line-height:1.45;margin-top:2px}
.contractor-setup-page .portal-password-login-note{margin-top:20px;padding-top:18px;font-size:.78rem}
@media(max-width:860px){.contractor-setup-page{padding:26px 0 54px}.contractor-setup-page .portal-password-shell{grid-template-columns:1fr}.contractor-setup-page .portal-password-intro{padding:30px 28px}.portal-password-kicker{margin-top:34px}.contractor-setup-page .portal-password-intro h2{font-size:2rem}.contractor-setup-page .portal-password-card{padding:32px 28px}}
@media(max-width:560px){.contractor-setup-page{padding:15px 0 38px}.contractor-setup-page .portal-password-shell{border-radius:18px}.contractor-setup-page .portal-password-intro,.contractor-setup-page .portal-password-card{padding:24px 20px}.portal-password-kicker{margin-top:28px}.contractor-setup-page .portal-password-card h1{font-size:1.85rem}.portal-password-step{margin-bottom:19px}}

/* v4.8 — focused contractor password setup */
.contractor-setup-page .portal-password-shell-simple{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);max-width:940px;margin-inline:auto;min-height:530px}
.contractor-setup-page .portal-password-shell-simple .portal-password-intro{display:flex;flex-direction:column;justify-content:space-between;padding:38px 38px 34px;background:linear-gradient(150deg,#0d2a40 0%,#12415c 62%,#17607f 100%)}
.contractor-setup-page .portal-password-shell-simple .portal-password-brand{margin:0}
.contractor-setup-page .portal-password-welcome{position:relative;z-index:2;margin-top:auto;padding-top:68px}
.contractor-setup-page .portal-password-welcome h2{margin:0 0 26px!important;max-width:320px;font-size:2.45rem!important;line-height:1.02!important;letter-spacing:-.05em!important}
.contractor-setup-page .portal-password-shell-simple .portal-password-company{margin:0;padding:15px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px}
.contractor-setup-page .portal-password-shell-simple .portal-password-company small{font-size:.61rem;letter-spacing:.13em;color:#9fc9da}
.contractor-setup-page .portal-password-shell-simple .portal-password-company strong{margin-top:5px;font-size:1rem;line-height:1.3}
.contractor-setup-page .portal-password-shell-simple .portal-password-company span{margin-top:4px;color:#c6dce5;font-size:.77rem;word-break:break-word}
.contractor-setup-page .portal-password-shell-simple .portal-password-card{display:flex;flex-direction:column;justify-content:center;padding:52px 56px}
.contractor-setup-page .portal-password-shell-simple .portal-password-card h1{margin:0 0 8px;font-size:2.2rem;line-height:1.05}
.portal-password-signin-as{margin:0 0 28px;color:#71848e;font-size:.79rem;line-height:1.4}
.portal-password-signin-as strong{color:#375c70;font-weight:800}
.contractor-setup-page .portal-password-shell-simple .portal-password-form{gap:8px}
.contractor-setup-page .portal-password-shell-simple .portal-password-submit{margin-top:20px!important}
.contractor-setup-page .portal-password-shell-simple .portal-password-requirement{margin-bottom:2px}
.contractor-setup-page .portal-password-shell-simple .portal-password-match:empty{display:none}
@media(max-width:860px){.contractor-setup-page .portal-password-shell-simple{grid-template-columns:1fr;min-height:0}.contractor-setup-page .portal-password-shell-simple .portal-password-intro{min-height:auto;padding:26px}.contractor-setup-page .portal-password-welcome{padding-top:45px}.contractor-setup-page .portal-password-welcome h2{max-width:420px;font-size:2rem!important;margin-bottom:20px!important}.contractor-setup-page .portal-password-shell-simple .portal-password-card{padding:34px 28px}}
@media(max-width:560px){.contractor-setup-page .portal-password-shell-simple .portal-password-intro{padding:22px 20px}.contractor-setup-page .portal-password-welcome{padding-top:34px}.contractor-setup-page .portal-password-welcome h2{font-size:1.82rem!important}.contractor-setup-page .portal-password-shell-simple .portal-password-card{padding:30px 20px}.contractor-setup-page .portal-password-shell-simple .portal-password-card h1{font-size:1.8rem}}


/* v4.9 contractor lead actions */
.portal-lead-open{pointer-events:none;padding:8px 12px;font-size:.76rem;line-height:1}
.portal-accept-lead{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;margin-bottom:14px;border:1px solid #b9d8e7;border-radius:14px;background:#f0f8fc}
.portal-accept-lead>div{display:grid;gap:3px}.portal-accept-lead strong{color:#173b57}.portal-accept-lead span{font-size:.8rem;color:#627b89}
@media(max-width:680px){.portal-accept-lead{align-items:stretch;flex-direction:column}.portal-accept-lead .btn{width:100%;justify-content:center}}

/* v4.10 contractor public profile preview */


/* ===== v4.13 Contractor photo selector + pre-save previews ===== */
.portal-upload-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 7px}
.portal-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.portal-file-button{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border-radius:11px;border:1px solid #bdd2dc;background:#fff;color:#173b57;font-size:.79rem;font-weight:850;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(21,57,79,.05);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.portal-file-button:hover{border-color:#6f9fb6;box-shadow:0 6px 16px rgba(21,57,79,.09);transform:translateY(-1px)}
.portal-file-input:focus + .portal-file-button,.portal-file-button:focus-within{outline:3px solid rgba(29,111,165,.16);outline-offset:2px}
.portal-file-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#e9f3f8;color:#1d6fa5;font-size:1rem;font-weight:950}
.portal-file-status{min-width:0;color:#6b808b;font-size:.73rem;line-height:1.35;overflow-wrap:anywhere}
.portal-file-status.is-selected{color:#2d5e74;font-weight:750}
.portal-file-status.is-error{color:#a23a31;font-weight:800}
.portal-file-clear{display:inline-flex;align-items:center;border:0;background:transparent;padding:2px 0;margin:0 0 5px;color:#8c4a42;font-size:.72rem;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.portal-file-clear[hidden]{display:none!important}
.portal-logo-preview,.portal-banner-preview{position:relative}
.portal-logo-preview.is-new::after,.portal-banner-preview.is-new::after{content:"New photo selected";position:absolute;right:8px;bottom:8px;padding:5px 8px;border-radius:999px;background:rgba(15,41,66,.86);color:#fff;font-size:.62rem;font-weight:850;letter-spacing:.01em}
.portal-gallery-item.portal-gallery-new{position:relative;border:2px solid #7daabe}
.portal-gallery-item.portal-gallery-new img{height:82px}
.portal-gallery-item.portal-gallery-new span{justify-content:center;background:#eef7fa;color:#28566c;font-weight:800}
.portal-gallery-new-remove{position:absolute;top:5px;right:5px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(15,41,66,.86);color:#fff;font-size:17px;line-height:1;cursor:pointer;display:grid;place-items:center;z-index:2}
.portal-gallery-new-remove:hover{background:#0f2942}
@media(max-width:720px){.portal-upload-control{align-items:stretch;flex-direction:column}.portal-file-button{width:100%}.portal-file-status{width:100%;text-align:center}.portal-file-clear{align-self:flex-start}}

/* ===== v4.14 Additional photo cumulative selection queue ===== */


/* ===== v4.15 Public demo contractor profile ===== */
.company-card-demo-badge{display:inline-flex;align-items:center;width:max-content;margin:6px 0 0;padding:5px 9px;border-radius:999px;background:#fff3df;border:1px solid #efcc94;color:#805418;font-size:.76rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.demo-profile-notice-v415{margin:0 auto 18px;padding:14px 18px;border:1px solid #efcc94;border-radius:14px;background:#fff8eb;color:#684816;display:flex;gap:10px;align-items:flex-start}
.demo-profile-notice-v415 strong{color:#51370f}
.demo-profile-notice-v415 span{color:#775926}
.demo-profile-disabled-v415{cursor:default;pointer-events:none;opacity:.88}
.demo-profile-inline-note-v415{font-size:.86rem;color:var(--muted);margin:10px 0 0}
@media(max-width:640px){.demo-profile-notice-v415{padding:12px 14px}}

/* ===== v4.16 Demo profile polish + premium contact treatment ===== */
.premium-company-contact{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#edf1ff 0%,#f8fbff 56%,#eef8fb 100%);
  border-color:#c9d6ee;
  box-shadow:0 20px 52px rgba(39,66,119,.12);
}
.premium-company-contact::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,#4c5fbd,#2f86a6);
}
.premium-company-contact .section-kicker{color:#4656a6}
.premium-company-contact h3{color:#152e52}
.premium-company-contact p{color:#536883}
.premium-company-contact .btn-secondary{background:#fff;border-color:#bccae3;color:#24415f}
.demo-review-list-v416{margin:0;padding:0;background:transparent;border:0;box-shadow:none}

/* v4.17 public suggestions board */
.lhm-suggestions-page-v417{background:#f8fafc;min-height:60vh}
.lhm-suggestions-hero-v417{background:linear-gradient(145deg,#f4f9fd 0%,#eaf4fb 56%,#fff 100%);border-bottom:1px solid #dfeaf1}
.lhm-suggestions-hero-grid-v417{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:44px;align-items:center;padding:64px 0 58px}
.lhm-suggestions-hero-v417 h1{font-size:clamp(2.7rem,5vw,4.4rem);margin:17px 0 15px;max-width:780px}
.lhm-suggestions-hero-v417 p{font-size:1.1rem;color:#526777;max-width:720px;margin:0}
.lhm-suggestions-hero-note-v417{padding:20px 22px;background:#fff;border:1px solid #d7e4ec;border-radius:16px;box-shadow:0 12px 32px rgba(15,41,66,.07)}
.lhm-suggestions-hero-note-v417 strong,.lhm-suggestions-hero-note-v417 span{display:block}.lhm-suggestions-hero-note-v417 strong{color:var(--navy);margin-bottom:4px}.lhm-suggestions-hero-note-v417 span{color:var(--muted);font-size:.9rem}
.lhm-suggestions-layout-v417{display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;align-items:start;padding-top:42px;padding-bottom:72px}
.lhm-suggestion-submit-card-v417{position:sticky;top:94px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 26px rgba(15,41,66,.055)}
.lhm-suggestion-submit-card-v417 h2{font-size:1.55rem;line-height:1.15;color:var(--navy);margin:8px 0 8px;letter-spacing:-.025em}.lhm-suggestion-submit-card-v417>p{margin:0 0 20px;color:var(--muted);font-size:.93rem}
.lhm-suggestion-form-v417{display:grid;gap:8px}.lhm-suggestion-form-v417 label{font-size:.84rem;font-weight:800;color:#29485b;margin-top:7px}.lhm-suggestion-form-v417 label span{font-weight:600;color:#7b8a94}
.lhm-suggestion-form-v417 input,.lhm-suggestion-form-v417 select,.lhm-suggestion-form-v417 textarea{width:100%;border:1px solid #cfdce4;border-radius:11px;background:#fff;padding:12px 13px;color:var(--ink);outline:0}.lhm-suggestion-form-v417 textarea{resize:vertical;line-height:1.5}.lhm-suggestion-form-v417 input:focus,.lhm-suggestion-form-v417 select:focus,.lhm-suggestion-form-v417 textarea:focus{border-color:#5793b7;box-shadow:0 0 0 3px rgba(29,111,165,.11)}
.lhm-suggestion-form-v417 .btn{margin-top:9px;width:100%}.lhm-suggestion-success-v417{display:none;text-align:center;padding:20px 5px 4px}.lhm-suggestion-success-v417.show{display:block}.lhm-suggestion-success-v417 h3{margin:8px 0 4px;color:var(--navy)}.lhm-suggestion-success-v417 p{margin:0 0 17px;color:var(--muted)}.lhm-suggestion-success-mark-v417{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#e7f6ef;color:var(--green);font-size:1.35rem;font-weight:900}
.lhm-suggestion-board-head-v417{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:3px 0 17px}.lhm-suggestion-board-head-v417 h2{margin:7px 0 0;color:var(--navy);font-size:2rem;letter-spacing:-.035em}
.lhm-suggestion-sort-v417{display:flex;gap:5px;background:#edf2f5;padding:4px;border-radius:10px}.lhm-suggestion-sort-v417 a{font-size:.78rem;font-weight:800;color:#5d7180;padding:8px 10px;border-radius:8px;white-space:nowrap}.lhm-suggestion-sort-v417 a.active{background:#fff;color:var(--navy);box-shadow:0 1px 4px rgba(15,41,66,.08)}
.lhm-suggestion-list-v417{display:grid;gap:12px}.lhm-suggestion-card-v417{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:18px;background:#fff;border:1px solid #dfe7ec;border-radius:17px;padding:21px 20px 20px 22px;box-shadow:0 4px 16px rgba(15,41,66,.035)}
.lhm-suggestion-card-meta-v417{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#7a8b96;font-size:.75rem;font-weight:750}.lhm-suggestion-card-meta-v417 span:first-child{color:#326b8c;background:#eef6fb;padding:4px 7px;border-radius:7px}.lhm-suggestion-card-v417 h3{color:var(--navy);font-size:1.14rem;line-height:1.25;margin:9px 0 7px}.lhm-suggestion-card-v417 p{color:#526675;margin:0;font-size:.93rem;line-height:1.55}.lhm-suggestion-by-v417{margin-top:11px;color:#82909a;font-size:.76rem;font-weight:650}
.lhm-suggestion-support-v417{align-self:center;text-align:center}.lhm-suggestion-like-v417{width:100%;min-height:76px;border:1px solid #cddde6;border-radius:14px;background:#f8fbfd;color:#375c72;display:grid;grid-template-columns:auto auto;justify-content:center;align-content:center;column-gap:5px;row-gap:0;cursor:pointer;transition:.16s}.lhm-suggestion-like-v417:hover:not(:disabled){border-color:#7eabc4;background:#edf7fc;transform:translateY(-1px)}.lhm-suggestion-like-v417 strong{font-size:1.05rem}.lhm-suggestion-like-v417>span:last-child{grid-column:1/-1;font-size:.71rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.lhm-suggestion-heart-v417{font-size:.95rem;color:#6a90a7}.lhm-suggestion-like-v417.is-liked{background:#eaf4fb;border-color:#a8cada;color:#175c83;cursor:default}.lhm-suggestion-like-v417.is-liked .lhm-suggestion-heart-v417{color:#1d6fa5}.lhm-suggestion-like-v417:disabled{opacity:1}.lhm-suggestion-like-status-v417{display:block;color:#72828c;font-size:.68rem;line-height:1.25;margin-top:5px;min-height:1em}
.lhm-suggestion-empty-v417{padding:34px;border:1px dashed #cad7df;border-radius:17px;background:#fff;text-align:center}.lhm-suggestion-empty-v417 strong,.lhm-suggestion-empty-v417 span{display:block}.lhm-suggestion-empty-v417 strong{color:var(--navy)}.lhm-suggestion-empty-v417 span{color:var(--muted);font-size:.9rem;margin-top:3px}
@media(max-width:980px){.lhm-suggestions-layout-v417{grid-template-columns:1fr}.lhm-suggestion-submit-card-v417{position:static}.lhm-suggestions-hero-grid-v417{grid-template-columns:1fr}.lhm-suggestions-hero-note-v417{max-width:620px}}
@media(max-width:640px){.lhm-suggestions-hero-grid-v417{padding:44px 0 40px}.lhm-suggestions-layout-v417{padding-top:26px}.lhm-suggestion-board-head-v417{display:block}.lhm-suggestion-sort-v417{margin-top:14px;width:max-content;max-width:100%}.lhm-suggestion-card-v417{grid-template-columns:1fr;padding:18px}.lhm-suggestion-support-v417{text-align:left}.lhm-suggestion-like-v417{width:112px;min-height:66px}.lhm-suggestion-like-status-v417{display:inline-block;margin-left:8px}.lhm-suggestion-submit-card-v417{padding:20px}}
.lhm-suggestion-form-v417 .form-error{min-height:1.1em;color:#a12b2b;font-size:.78rem;font-weight:700;line-height:1.35}


/* v4.18 suggestion submission confirmation */
.lhm-submitted-suggestion-v418{margin:16px 0 10px;text-align:left;border:1px solid #cfdce4;border-radius:14px;background:#f8fbfd;padding:15px 16px}
.lhm-submitted-suggestion-meta-v418{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:7px;font-size:.75rem;font-weight:800;color:#557080;text-transform:uppercase;letter-spacing:.035em}
.lhm-submitted-suggestion-v418>strong{display:block;color:var(--navy);font-size:1.02rem;line-height:1.3;margin-bottom:6px}
.lhm-submitted-suggestion-v418>p{margin:0 0 8px;color:#385465;white-space:pre-wrap;line-height:1.5}
.lhm-submitted-suggestion-v418>small{display:block;color:#6d7f89;font-weight:700}
.lhm-submitted-note-v418{font-size:.82rem!important;line-height:1.45;margin:11px 0 17px!important;color:#607783!important}

/* v4.20 — Suggestions visual polish + mobile-first refinement */
.lhm-suggestions-page-v417{background:linear-gradient(180deg,#f8fbfd 0,#f6f9fb 100%)}
.lhm-suggestions-hero-v417{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7fbfe 0%,#edf7fc 54%,#f8fbfd 100%);border-bottom:1px solid #dce8ef}
.lhm-suggestions-hero-v417:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-210px;top:-285px;background:radial-gradient(circle,rgba(29,111,165,.13) 0,rgba(29,111,165,0) 69%);pointer-events:none}
.lhm-suggestions-hero-grid-v417{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) 330px;gap:56px;padding:70px 0 64px}
.lhm-suggestions-hero-v417 h1{font-size:clamp(2.75rem,5.4vw,4.65rem);line-height:1.01;letter-spacing:-.055em;margin:17px 0 16px;max-width:760px}
.lhm-suggestions-hero-v417 p{font-size:1.08rem;line-height:1.65;color:#4d6372;max-width:670px}
.lhm-suggestions-hero-actions-v420{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}
.lhm-suggestions-hero-actions-v420 .btn{padding:12px 18px;border-radius:12px}
.lhm-suggestions-text-link-v420{display:inline-flex;align-items:center;gap:7px;color:#2b5f7e;font-size:.9rem;font-weight:800;padding:10px 2px}
.lhm-suggestions-text-link-v420:hover{color:var(--blue)}
.lhm-suggestions-hero-note-v417{display:flex;align-items:flex-start;gap:13px;padding:20px 21px;background:rgba(255,255,255,.9);border:1px solid #d4e3ec;border-radius:18px;box-shadow:0 16px 42px rgba(15,41,66,.08);backdrop-filter:blur(8px)}
.lhm-suggestions-note-icon-v420{flex:0 0 38px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e8f4fb;color:#1d6fa5;font-size:1.05rem;font-weight:900}
.lhm-suggestions-hero-note-v417 strong{font-size:.96rem;line-height:1.3;margin:1px 0 5px}
.lhm-suggestions-hero-note-v417 span:not(.lhm-suggestions-note-icon-v420){font-size:.84rem;line-height:1.55;color:#627684}

.lhm-suggestions-layout-v417{grid-template-columns:390px minmax(0,1fr);gap:34px;padding-top:44px;padding-bottom:78px}
.lhm-suggestion-submit-card-v417{scroll-margin-top:94px;top:96px;border:1px solid #d7e2e9;border-radius:22px;padding:27px;background:#fff;box-shadow:0 12px 34px rgba(15,41,66,.06)}
.lhm-suggestion-submit-card-v417:before{content:"";display:block;width:42px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--blue),#4aa6c8);margin-bottom:18px}
.lhm-suggestion-submit-card-v417 h2{font-size:1.6rem;margin:7px 0 9px}
.lhm-suggestion-submit-card-v417>p{font-size:.92rem;line-height:1.55;margin-bottom:21px}
.lhm-suggestion-form-v417{gap:9px}
.lhm-suggestion-form-v417 label{font-size:.82rem;margin-top:8px;color:#29495c}
.lhm-suggestion-form-v417 input,.lhm-suggestion-form-v417 select,.lhm-suggestion-form-v417 textarea{min-height:48px;border-color:#ccd9e1;border-radius:12px;padding:12px 13px;background:#fbfdfe;transition:border-color .16s,box-shadow .16s,background .16s}
.lhm-suggestion-form-v417 textarea{min-height:142px}
.lhm-suggestion-form-v417 input:focus,.lhm-suggestion-form-v417 select:focus,.lhm-suggestion-form-v417 textarea:focus{background:#fff;border-color:#4f8eb5;box-shadow:0 0 0 4px rgba(29,111,165,.10)}
.lhm-suggestion-form-v417 input::placeholder,.lhm-suggestion-form-v417 textarea::placeholder{color:#8b9aa4}
.lhm-suggestion-form-v417 .btn{min-height:50px;border-radius:12px;margin-top:11px}

.lhm-suggestion-board-v417{scroll-margin-top:94px;min-width:0}
.lhm-suggestion-board-head-v417{align-items:center;margin:0 0 18px;padding:3px 1px 0}
.lhm-suggestion-board-head-v417>div:first-child{min-width:0}
.lhm-suggestion-board-head-v417 h2{display:inline-block;font-size:2.05rem;line-height:1.1;margin:7px 9px 0 0}
.lhm-suggestion-count-v420{display:inline-flex;vertical-align:middle;align-items:center;border:1px solid #d5e2e9;background:#fff;color:#607582;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;white-space:nowrap}
.lhm-suggestion-sort-v417{flex:0 0 auto;border:1px solid #dbe4e9;background:#edf2f5;padding:4px;border-radius:12px}
.lhm-suggestion-sort-v417 a{min-height:37px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:9px;font-size:.76rem}
.lhm-suggestion-sort-v417 a.active{box-shadow:0 2px 7px rgba(15,41,66,.09)}

.lhm-suggestion-list-v417{gap:14px}
.lhm-suggestion-card-v417{scroll-margin-top:100px;grid-template-columns:minmax(0,1fr) 112px;gap:21px;border-color:#dce5ea;border-radius:19px;padding:22px 21px 21px 23px;box-shadow:0 5px 18px rgba(15,41,66,.035);transition:border-color .16s,box-shadow .16s,transform .16s}
.lhm-suggestion-card-v417:hover{border-color:#cbdbe4;box-shadow:0 10px 25px rgba(15,41,66,.065);transform:translateY(-1px)}
.lhm-suggestion-card-v417:target{border-color:#76aeca;box-shadow:0 0 0 4px rgba(29,111,165,.09),0 12px 28px rgba(15,41,66,.07)}
.lhm-suggestion-card-meta-v417{font-size:.73rem;gap:8px}
.lhm-suggestion-card-meta-v417 span:first-child{border:1px solid #d8eaf4;background:#f1f8fc;color:#286789;border-radius:999px;padding:4px 8px}
.lhm-suggestion-card-v417 h3{font-size:1.17rem;margin:10px 0 8px;letter-spacing:-.015em}
.lhm-suggestion-card-v417 p{font-size:.92rem;line-height:1.62;color:#4c6271}
.lhm-suggestion-by-v417{margin-top:12px;font-size:.75rem}
.lhm-suggestion-like-v417{min-height:79px;border-radius:15px;background:#f7fbfd;border-color:#cbdce6;box-shadow:0 2px 8px rgba(15,41,66,.025)}
.lhm-suggestion-like-v417:focus-visible{outline:3px solid rgba(29,111,165,.24);outline-offset:2px}
.lhm-suggestion-like-v417 strong{font-size:1.08rem}
.lhm-suggestion-like-v417>span:last-child{font-size:.69rem;letter-spacing:.055em}
.lhm-suggestion-empty-v417{border-radius:19px;padding:42px 24px}

.lhm-submitted-suggestion-v418{border-radius:16px;background:#f7fbfd;border-color:#cfdee7}

@media(max-width:980px){
  .lhm-suggestions-hero-grid-v417{grid-template-columns:minmax(0,1fr) 290px;gap:34px;padding:58px 0 54px}
  .lhm-suggestions-layout-v417{grid-template-columns:1fr;gap:34px;padding-top:34px}
  .lhm-suggestion-submit-card-v417{position:static;max-width:760px;width:100%;margin:0 auto}
  .lhm-suggestion-board-v417{width:100%}
}

@media(max-width:720px){
  .lhm-suggestions-page-v417 .container{width:min(calc(100% - 28px),var(--max))}
  .lhm-suggestions-hero-v417:before{width:360px;height:360px;right:-190px;top:-190px}
  .lhm-suggestions-hero-grid-v417{display:block;padding:38px 0 34px}
  .lhm-suggestions-hero-v417 .eyebrow{font-size:.73rem;padding:6px 9px}
  .lhm-suggestions-hero-v417 h1{font-size:clamp(2.15rem,11vw,3.1rem);line-height:1.01;margin:13px 0 12px;letter-spacing:-.05em}
  .lhm-suggestions-hero-v417 p{font-size:.96rem;line-height:1.58;max-width:560px}
  .lhm-suggestions-hero-actions-v420{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
  .lhm-suggestions-hero-actions-v420 .btn,.lhm-suggestions-text-link-v420{min-height:46px;width:100%;justify-content:center;text-align:center;border-radius:11px}
  .lhm-suggestions-text-link-v420{border:1px solid #cbdde7;background:rgba(255,255,255,.68);padding:10px 11px;font-size:.8rem}
  .lhm-suggestions-hero-note-v417{margin-top:20px;padding:15px 16px;border-radius:15px;gap:11px}
  .lhm-suggestions-note-icon-v420{width:34px;height:34px;flex-basis:34px;border-radius:10px}
  .lhm-suggestions-hero-note-v417 strong{font-size:.89rem}
  .lhm-suggestions-hero-note-v417 span:not(.lhm-suggestions-note-icon-v420){font-size:.79rem;line-height:1.45}

  .lhm-suggestions-layout-v417{gap:31px;padding-top:24px;padding-bottom:52px}
  .lhm-suggestion-submit-card-v417{padding:19px 17px 18px;border-radius:17px;box-shadow:0 6px 20px rgba(15,41,66,.045)}
  .lhm-suggestion-submit-card-v417:before{width:35px;height:3px;margin-bottom:13px}
  .lhm-suggestion-submit-card-v417 h2{font-size:1.35rem;line-height:1.15;margin:6px 0 7px}
  .lhm-suggestion-submit-card-v417>p{font-size:.84rem;line-height:1.48;margin-bottom:14px}
  .lhm-suggestion-form-v417{gap:7px}
  .lhm-suggestion-form-v417 label{font-size:.78rem;margin-top:7px}
  .lhm-suggestion-form-v417 input,.lhm-suggestion-form-v417 select,.lhm-suggestion-form-v417 textarea{font-size:16px;min-height:48px;border-radius:11px;padding:11px 12px}
  .lhm-suggestion-form-v417 textarea{min-height:118px}
  .lhm-suggestion-form-v417 .btn{min-height:50px;margin-top:9px}

  .lhm-suggestion-board-head-v417{display:block;margin-bottom:14px}
  .lhm-suggestion-board-head-v417 h2{font-size:1.58rem;margin:5px 7px 0 0}
  .lhm-suggestion-count-v420{font-size:.68rem;padding:4px 8px}
  .lhm-suggestion-sort-v417{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:none;margin-top:13px}
  .lhm-suggestion-sort-v417 a{min-height:40px;font-size:.74rem;padding:7px 8px}

  .lhm-suggestion-list-v417{gap:11px}
  .lhm-suggestion-card-v417{grid-template-columns:1fr;gap:15px;padding:17px 16px 15px;border-radius:16px;box-shadow:0 3px 12px rgba(15,41,66,.032)}
  .lhm-suggestion-card-v417:hover{transform:none;box-shadow:0 3px 12px rgba(15,41,66,.032)}
  .lhm-suggestion-card-meta-v417{font-size:.68rem;gap:6px}
  .lhm-suggestion-card-meta-v417 span:first-child{padding:3px 7px}
  .lhm-suggestion-card-v417 h3{font-size:1.05rem;line-height:1.28;margin:8px 0 6px}
  .lhm-suggestion-card-v417 p{font-size:.88rem;line-height:1.56}
  .lhm-suggestion-by-v417{font-size:.71rem;margin-top:9px}
  .lhm-suggestion-support-v417{display:flex;align-items:center;gap:9px;text-align:left;border-top:1px solid #e5ecef;padding-top:12px;min-width:0}
  .lhm-suggestion-like-v417{width:auto;flex:0 0 auto;min-width:138px;min-height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 13px}
  .lhm-suggestion-like-v417 strong{font-size:.98rem;order:2}
  .lhm-suggestion-heart-v417{font-size:.95rem;order:1}
  .lhm-suggestion-like-v417>span:last-child{grid-column:auto;font-size:.69rem;letter-spacing:.035em;order:3}
  .lhm-suggestion-like-status-v417{display:block;min-height:0;margin:0;flex:1;font-size:.67rem;line-height:1.3}
}

@media(max-width:420px){
  .lhm-suggestions-page-v417 .container{width:min(calc(100% - 22px),var(--max))}
  .lhm-suggestions-hero-grid-v417{padding:31px 0 29px}
  .lhm-suggestions-hero-v417 h1{font-size:2.08rem}
  .lhm-suggestions-hero-actions-v420{grid-template-columns:1fr}
  .lhm-suggestions-text-link-v420{min-height:44px}
  .lhm-suggestion-submit-card-v417{padding:17px 14px 16px}
  .lhm-suggestion-board-head-v417 h2{font-size:1.43rem}
  .lhm-suggestion-card-v417{padding:15px 14px 13px}
  .lhm-suggestion-support-v417{gap:7px}
  .lhm-suggestion-like-v417{min-width:130px;padding-left:10px;padding-right:10px}
}

/* v4.21 — Suggestions All/Newest mobile tabs */
@media(max-width:720px){
  .lhm-suggestion-sort-v417{gap:4px;padding:4px}
  .lhm-suggestion-sort-v417 a{font-weight:800}
}


/* =========================================================
   v4.22 — Homepage polish / mobile refinement
   ========================================================= */
.home-v422{overflow:hidden;background:#fff}
.home-v422 .hero-premium{background:linear-gradient(125deg,#fbfdfe 0%,#eef7fb 50%,#f8fbfd 100%)}
.home-v422 .hero-grid-bg{opacity:.72;background-size:52px 52px;mask-image:linear-gradient(105deg,black 0%,rgba(0,0,0,.65) 52%,transparent 86%)}
.home-v422 .premium-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:56px;padding:76px 0 48px;align-items:center}
.home-v422 .hero-copy{max-width:790px}
.home-v422 .eyebrow-clean{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:999px;font-weight:850}
.home-v422 .hero-premium h1{font-size:clamp(3rem,5.45vw,4.95rem);line-height:.98;max-width:760px;margin:20px 0 20px;letter-spacing:-.055em;text-wrap:balance}
.home-v422 .hero-lede{font-size:1.12rem!important;line-height:1.62;max-width:690px!important;margin-bottom:24px!important}
.home-v422 .hero-start-block{max-width:710px;background:#fff;border:1px solid #dbe5eb;border-radius:20px;padding:12px;box-shadow:0 20px 52px rgba(10,34,56,.10)}
.home-v422 .hero-form-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 6px 12px}
.home-v422 .hero-form-heading>div{display:grid;gap:2px}
.home-v422 .hero-form-heading span{font-size:.65rem;letter-spacing:.13em;font-weight:900;color:#4f7890}
.home-v422 .hero-form-heading strong{font-size:1.02rem;color:#12354e;letter-spacing:-.015em}
.home-v422 .hero-form-heading small{font-size:.74rem;font-weight:800;color:#6b7f8c;background:#f2f6f8;border:1px solid #e1e9ed;border-radius:999px;padding:6px 9px;white-space:nowrap}
.home-v422 .premium-zip-card{max-width:none;margin:0;padding:8px 8px 8px 14px;border-radius:14px;box-shadow:none;border-color:#d9e4ea;background:#fbfdfe}
.home-v422 .hero-start-form{gap:8px}
.home-v422 .hero-start-form .zip-input-wrap{padding:3px 10px}
.home-v422 .hero-start-form .zip-input-wrap+ .zip-input-wrap{border-left:1px solid #e0e8ed}
.home-v422 .hero-start-form select,.home-v422 .hero-start-form input{min-height:40px!important;background:transparent!important}
.home-v422 .hero-start-form select{border:0!important;padding:0 28px 0 0!important;border-radius:0!important;color:#17364d;font-weight:750}
.home-v422 .hero-start-form .btn{border-radius:12px;min-height:56px;padding-inline:20px;white-space:nowrap}
.home-v422 .hero-assurances{margin-top:14px;gap:10px 18px;font-size:.81rem}
.home-v422 .hero-assurances span{display:inline-flex;align-items:center;gap:3px}
.home-v422 .match-console{border-radius:22px;padding:24px;background:linear-gradient(155deg,#0a263e 0%,#0e3653 100%);box-shadow:0 24px 60px rgba(9,36,57,.20)}
.home-v422 .match-console:before{background:radial-gradient(circle at 90% 5%,rgba(62,164,215,.20),transparent 38%)}
.home-v422 .console-top h2{font-size:1.38rem;line-height:1.15}
.home-v422 .console-issues{gap:8px}
.home-v422 .console-issue{padding:13px 12px;border-radius:14px;background:rgba(255,255,255,.05)}
.home-v422 .console-issue:hover{transform:translateY(-1px);background:rgba(255,255,255,.09)}
.home-v422 .console-icon{border-radius:11px}
.home-v422 .console-more{padding-top:14px}
.home-v422 .proof-row{margin-top:0;margin-bottom:24px;border-radius:18px;box-shadow:0 12px 35px rgba(10,34,56,.055);background:rgba(255,255,255,.92)}
.home-v422 .proof-stat{padding:18px 20px;gap:10px}
.home-v422 .proof-stat strong{font-size:1.19rem}
.home-v422 .proof-stat span{font-size:.79rem}

.home-v422 .trust-section{padding:82px 0 78px}
.home-v422 .premium-section-head{margin-bottom:32px;gap:38px}
.home-v422 .premium-section-head h2{font-size:clamp(2.15rem,4vw,3.45rem);line-height:1.04;text-wrap:balance}
.home-v422 .premium-section-head p{max-width:520px;font-size:.98rem;line-height:1.68}
.home-v422 .section-label{display:inline-flex;align-items:center;gap:8px}
.home-v422 .section-label:before{content:"";width:22px;height:2px;border-radius:99px;background:#66a6c8}
.home-v422 .trust-cards{gap:14px}
.home-v422 .trust-card{min-height:0;padding:24px 22px 26px;border-radius:19px;border-color:#dfe7eb;box-shadow:0 8px 24px rgba(10,34,56,.035)}
.home-v422 .trust-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf6fa;color:#216b92;font-size:.68rem}
.home-v422 .trust-card h3{margin:20px 0 9px;font-size:1.08rem}
.home-v422 .trust-policy-links{gap:8px;margin-top:20px}
.home-v422 .trust-policy-links a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid #dfe8ec;border-radius:999px;background:#fbfdfe;color:#436577;font-size:.79rem;font-weight:800}
.home-v422 .trust-policy-links a:hover{border-color:#b7d2df;background:#f1f8fb}

.home-v422 .section-soft-premium{padding:78px 0;background:linear-gradient(180deg,#f3f7f9 0%,#f7fafb 100%)}
.home-v422 .how-grid{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:62px}
.home-v422 .how-intro{position:sticky;top:116px}
.home-v422 .how-steps{gap:12px;position:relative}
.home-v422 .how-step{grid-template-columns:48px 1fr;gap:16px;border-radius:18px;padding:21px 22px;box-shadow:0 8px 22px rgba(10,34,56,.035)}
.home-v422 .how-step>span{width:40px;height:40px;background:linear-gradient(145deg,#0d3553,#185a7e)}
.home-v422 .how-step strong{font-size:1.02rem}

.home-v422 .coverage-section{padding:78px 0}
.home-v422 .coverage-grid{gap:14px}
.home-v422 .coverage-grid a{min-height:105px;border-radius:18px;padding:22px 20px;align-content:center;box-shadow:0 8px 22px rgba(10,34,56,.025)}
.home-v422 .coverage-grid a:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(10,34,56,.07)}
.home-v422 .coverage-grid b,.home-v422 .seo-search-card b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#edf6fb;color:#176f9f;font-size:1rem}

.home-v422 .home-search-section{padding:76px 0;background:#f7fafb}
.home-v422 .home-seo-links{gap:12px}
.home-v422 .seo-search-card{border-radius:17px;padding:20px 19px;box-shadow:0 7px 20px rgba(10,34,56,.025)}
.home-v422 .seo-search-card:hover{box-shadow:0 13px 30px rgba(10,34,56,.07)}

.home-v422 .home-review-section{padding:76px 0;background:#fff}
.home-v422 .home-review-grid{gap:14px}
.home-v422 .home-review-card{border-radius:19px;padding:22px;box-shadow:0 9px 24px rgba(10,34,56,.035)}
.home-v422 .home-review-card p{font-size:.91rem}
.home-v422 .home-review-card small{color:#748590}

.home-v422 .replacement-section{padding:18px 0 78px}
.home-v422 .replacement-panel{border-radius:26px;padding:48px;box-shadow:0 26px 58px rgba(10,34,56,.16)}
.home-v422 .decision-card{border-radius:20px;background:rgba(255,255,255,.075)}
.home-v422 .contractor-callout{padding:0 0 20px}
.home-v422 .contractor-callout-inner{border-radius:22px;padding:34px 36px;background:linear-gradient(135deg,#fafcfd,#f4f9fb);box-shadow:0 10px 28px rgba(10,34,56,.035)}

@media(max-width:1100px){
  .home-v422 .premium-hero-grid{gap:34px}
  .home-v422 .hero-premium h1{font-size:clamp(3rem,6.2vw,4.45rem)}
  .home-v422 .trust-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .home-v422 .premium-hero-grid{grid-template-columns:1fr;padding:54px 0 34px}
  .home-v422 .hero-copy{max-width:760px}
  .home-v422 .match-console{max-width:none}
  .home-v422 .how-grid{grid-template-columns:1fr;gap:30px}
  .home-v422 .how-intro{position:static;max-width:720px}
}
@media(max-width:640px){
  .home-v422 .premium-hero-grid{padding:32px 0 26px;gap:24px}
  .home-v422 .eyebrow-clean{font-size:.67rem;padding:7px 10px}
  .home-v422 .hero-premium h1{font-size:clamp(2.45rem,12.5vw,3.1rem);line-height:1.01;margin:16px 0 14px;letter-spacing:-.05em}
  .home-v422 .hero-lede{font-size:.98rem!important;line-height:1.57;margin-bottom:18px!important}
  .home-v422 .hero-start-block{padding:10px;border-radius:18px}
  .home-v422 .hero-form-heading{padding:3px 4px 10px}
  .home-v422 .hero-form-heading strong{font-size:.95rem}
  .home-v422 .hero-form-heading small{font-size:.68rem;padding:5px 8px}
  .home-v422 .premium-zip-card{padding:8px;display:grid;gap:0}
  .home-v422 .hero-start-form .zip-input-wrap{padding:9px 8px 10px}
  .home-v422 .hero-start-form .zip-input-wrap+ .zip-input-wrap{border-left:0;border-top:1px solid #e1e9ed}
  .home-v422 .hero-start-form .btn{width:100%;margin-top:7px;min-height:52px}
  .home-v422 .hero-assurances{grid-template-columns:1fr 1fr;gap:7px 10px;font-size:.75rem;margin-top:12px}
  .home-v422 .hero-assurances span:last-child{grid-column:1/-1}
  .home-v422 .match-console{padding:17px;border-radius:18px}
  .home-v422 .console-top{display:flex;align-items:flex-start;margin-bottom:13px}
  .home-v422 .console-top h2{font-size:1.18rem;margin-top:4px}
  .home-v422 .availability-badge{margin-top:0;font-size:.65rem;padding:5px 7px}
  .home-v422 .console-issue{grid-template-columns:34px 1fr 16px;padding:10px;gap:10px;border-radius:12px}
  .home-v422 .console-icon{width:34px;height:34px;border-radius:9px}
  .home-v422 .console-issue strong{font-size:.88rem}
  .home-v422 .console-issue small{font-size:.72rem}
  .home-v422 .console-more{font-size:.73rem;padding-top:12px}
  .home-v422 .proof-row{grid-template-columns:1fr 1fr;margin-bottom:18px;border-radius:15px}
  .home-v422 .proof-stat{padding:14px 12px;display:grid;gap:3px;border-right:1px solid #e1e8ed!important;border-bottom:1px solid #e1e8ed}
  .home-v422 .proof-stat:nth-child(2n){border-right:0!important}
  .home-v422 .proof-stat:nth-last-child(-n+2){border-bottom:0}
  .home-v422 .proof-stat strong{font-size:1rem}
  .home-v422 .proof-stat span{font-size:.7rem;line-height:1.3}
  .home-v422 .trust-section,.home-v422 .coverage-section,.home-v422 .home-search-section,.home-v422 .home-review-section{padding:52px 0}
  .home-v422 .premium-section-head{margin-bottom:22px}
  .home-v422 .premium-section-head h2{font-size:2.05rem;line-height:1.06;margin-top:8px}
  .home-v422 .premium-section-head p{font-size:.91rem;line-height:1.58;margin-top:12px}
  .home-v422 .section-label{font-size:.64rem}
  .home-v422 .section-label:before{width:16px}
  .home-v422 .trust-cards{grid-template-columns:1fr;gap:9px}
  .home-v422 .trust-card{display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding:16px;border-radius:15px}
  .home-v422 .trust-number{grid-row:1/3}
  .home-v422 .trust-card h3{margin:1px 0 5px;font-size:.97rem}
  .home-v422 .trust-card p{font-size:.82rem;line-height:1.5}
  .home-v422 .trust-policy-links{display:grid;gap:7px}
  .home-v422 .trust-policy-links a{justify-content:center;border-radius:12px}
  .home-v422 .section-soft-premium{padding:52px 0}
  .home-v422 .how-intro h2{font-size:2.05rem}
  .home-v422 .how-intro p{font-size:.92rem;line-height:1.58}
  .home-v422 .how-steps{gap:9px}
  .home-v422 .how-step{grid-template-columns:38px 1fr;gap:11px;padding:15px;border-radius:15px}
  .home-v422 .how-step>span{width:34px;height:34px;font-size:.72rem}
  .home-v422 .how-step strong{font-size:.94rem}
  .home-v422 .how-step p{font-size:.8rem;line-height:1.48}
  .home-v422 .compact-head .btn{width:100%;margin-top:16px;text-align:center}
  .home-v422 .coverage-grid{grid-template-columns:1fr 1fr;gap:9px}
  .home-v422 .coverage-grid a{min-height:98px;padding:14px;border-radius:15px}
  .home-v422 .coverage-grid span{font-size:.97rem}
  .home-v422 .coverage-grid small{font-size:.72rem;line-height:1.35}
  .home-v422 .coverage-grid b{width:26px;height:26px;font-size:.85rem}
  .home-v422 .home-seo-links{gap:9px}
  .home-v422 .seo-search-card{padding:15px;border-radius:14px}
  .home-v422 .home-review-grid{grid-template-columns:1fr;gap:9px}
  .home-v422 .home-review-card{padding:17px;border-radius:15px}
  .home-v422 .replacement-section{padding:4px 0 52px}
  .home-v422 .replacement-panel{padding:26px 18px;border-radius:18px;gap:28px}
  .home-v422 .replacement-copy h2{font-size:2.08rem}
  .home-v422 .replacement-copy p{font-size:.9rem;line-height:1.58}
  .home-v422 .decision-card{border-radius:15px;padding:14px}
  .home-v422 .contractor-callout-inner{padding:24px 18px;border-radius:18px}
  .home-v422 .contractor-callout-inner h2{font-size:1.75rem}
  .home-v422 .contractor-callout-inner p{font-size:.9rem;line-height:1.58}
  .home-v422 .callout-actions .btn{width:100%;text-align:center}
}

/* =========================================================
   v4.23 — Simplified trust-first homepage
   ========================================================= */
.home-v423{overflow:hidden;background:#fff;color:#17212b}
.home-v423 .hm-hero{position:relative;padding:84px 0 64px;background:linear-gradient(135deg,#f9fcfe 0%,#eef7fb 58%,#f8fbfd 100%);border-bottom:1px solid #dfe9ee}
.home-v423 .hm-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 10%,rgba(29,111,165,.10),transparent 33%);pointer-events:none}
.home-v423 .hm-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.78fr);gap:72px;align-items:center}
.home-v423 .hm-hero-copy{max-width:760px}
.home-v423 .hm-kicker{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;line-height:1;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#236f99}
.home-v423 .hm-kicker:before{content:"";width:24px;height:2px;border-radius:99px;background:#57a1c8}
.home-v423 .hm-hero h1{max-width:760px;margin:18px 0 20px;font-size:clamp(3.2rem,6.4vw,5.9rem);line-height:.94;letter-spacing:-.06em;color:#0b2941;text-wrap:balance}
.home-v423 .hm-hero-lede{max-width:700px;margin:0;font-size:1.16rem;line-height:1.68;color:#536775}
.home-v423 .hm-promise-row{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}
.home-v423 .hm-promise-row span{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid #d9e7ed;border-radius:999px;background:rgba(255,255,255,.83);font-size:.83rem;font-weight:800;color:#3e5c6e}
.home-v423 .hm-promise-row b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e4f5ef;color:#177a61;font-size:.72rem}
.home-v423 .hm-hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px}
.home-v423 .hm-primary-cta{min-height:56px;padding-inline:24px;border-radius:13px;box-shadow:0 14px 30px rgba(29,111,165,.18)}
.home-v423 .hm-secondary-cta{min-height:56px;padding-inline:22px;border-radius:13px;background:#fff}
.home-v423 .hm-microcopy{margin:11px 0 0;font-size:.78rem;font-weight:700;color:#778a96}

.home-v423 .hm-trust-panel{position:relative;background:#0b2b45;color:#fff;border-radius:26px;padding:30px;box-shadow:0 28px 64px rgba(8,38,60,.18);overflow:hidden}
.home-v423 .hm-trust-panel:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-110px;top:-100px;background:rgba(72,161,207,.12);pointer-events:none}
.home-v423 .hm-trust-panel-head{position:relative;z-index:1;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.11)}
.home-v423 .hm-trust-panel-head>span{display:block;color:#84bfdc;font-size:.69rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900}
.home-v423 .hm-trust-panel-head h2{margin:7px 0 0;font-size:1.65rem;line-height:1.13;letter-spacing:-.025em;color:#fff}
.home-v423 .hm-trust-list{position:relative;z-index:1;display:grid;gap:0}
.home-v423 .hm-trust-item{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.10)}
.home-v423 .hm-trust-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(92,178,220,.12);border:1px solid rgba(123,194,229,.16);color:#91cae6;font-size:.68rem;font-weight:900;letter-spacing:.06em}
.home-v423 .hm-trust-item strong{display:block;margin-bottom:4px;font-size:.98rem;color:#fff}
.home-v423 .hm-trust-item p{margin:0;color:#bbccd7;font-size:.84rem;line-height:1.55}
.home-v423 .hm-trust-link{position:relative;z-index:1;display:inline-flex;gap:6px;align-items:center;margin-top:18px;color:#fff;font-size:.82rem;font-weight:850}
.home-v423 .hm-trust-link:hover{text-decoration:underline}

.home-v423 .hm-proof-section{padding:0 0 30px;background:linear-gradient(180deg,#eef7fb 0%,#fff 100%)}
.home-v423 .hm-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);transform:translateY(-1px);border:1px solid #dce8ed;border-radius:0 0 20px 20px;background:#fff;box-shadow:0 14px 34px rgba(10,34,56,.055);overflow:hidden}
.home-v423 .hm-proof-card{display:grid;gap:3px;padding:20px 22px;border-right:1px solid #e4ebef}
.home-v423 .hm-proof-card:last-child{border-right:0}
.home-v423 .hm-proof-card strong{font-size:1.24rem;line-height:1.1;color:#10324d;letter-spacing:-.02em}
.home-v423 .hm-proof-card span{font-size:.76rem;font-weight:750;color:#70818c}

.home-v423 .hm-simple-section{padding:84px 0 88px}
.home-v423 .hm-section-heading{max-width:760px;margin:0 auto 40px;text-align:center}
.home-v423 .hm-section-heading .hm-kicker{justify-content:center}
.home-v423 .hm-section-heading h2{margin:14px 0 14px;font-size:clamp(2.35rem,4.8vw,4rem);line-height:1.02;letter-spacing:-.045em;color:#0c2d47;text-wrap:balance}
.home-v423 .hm-section-heading p{max-width:650px;margin:0 auto;color:#627480;font-size:1rem;line-height:1.7}
.home-v423 .hm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.home-v423 .hm-step{position:relative;padding:26px;border:1px solid #dfe8ed;border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(10,34,56,.035)}
.home-v423 .hm-step>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6fa;color:#1d6fa5;font-weight:900;font-size:.78rem}
.home-v423 .hm-step h3{margin:22px 0 8px;font-size:1.12rem;color:#12344d;letter-spacing:-.018em}
.home-v423 .hm-step p{margin:0;color:#687985;font-size:.9rem;line-height:1.62}
.home-v423 .hm-center-action{text-align:center;margin-top:30px}
.home-v423 .hm-center-action .btn{border-radius:13px}

.home-v423 .hm-browse-section{padding:0 0 76px}
.home-v423 .hm-browse-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:center;padding:42px 46px;border-radius:26px;background:linear-gradient(135deg,#0b2a43 0%,#114568 100%);color:#fff;box-shadow:0 24px 52px rgba(9,39,61,.16)}
.home-v423 .hm-kicker-light{color:#9bcde5}
.home-v423 .hm-kicker-light:before{background:#82bdd9}
.home-v423 .hm-browse-panel h2{margin:12px 0 10px;font-size:clamp(2rem,3.6vw,3rem);line-height:1.04;letter-spacing:-.04em;color:#fff}
.home-v423 .hm-browse-panel p{max-width:700px;margin:0;color:#c4d5df;font-size:.94rem;line-height:1.65}
.home-v423 .hm-browse-actions{display:grid;justify-items:end;gap:13px;min-width:260px}
.home-v423 .hm-browse-actions .btn{min-width:210px;border-radius:12px}
.home-v423 .hm-market-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 11px}
.home-v423 .hm-market-links a{font-size:.75rem;font-weight:800;color:#d5e7f0}
.home-v423 .hm-market-links a:hover{text-decoration:underline}

.home-v423 .hm-transparency-section{padding:78px 0;background:#f7fafb;border-top:1px solid #e3ebef;border-bottom:1px solid #e3ebef}
.home-v423 .hm-transparency-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:64px;align-items:start}
.home-v423 .hm-transparency-grid h2{max-width:440px;margin:13px 0 0;font-size:clamp(2.1rem,4vw,3.45rem);line-height:1.03;letter-spacing:-.045em;color:#0c2d47}
.home-v423 .hm-transparency-links{display:grid;gap:10px}
.home-v423 .hm-transparency-links a{display:grid;grid-template-columns:minmax(170px,.42fr) 1fr;gap:18px;align-items:center;padding:17px 19px;border:1px solid #dfe7eb;border-radius:15px;background:#fff;transition:.18s ease}
.home-v423 .hm-transparency-links a:hover{transform:translateY(-1px);border-color:#bed4df;box-shadow:0 10px 24px rgba(10,34,56,.05)}
.home-v423 .hm-transparency-links strong{font-size:.91rem;color:#163d58}
.home-v423 .hm-transparency-links span{font-size:.82rem;color:#6c7e89}

.home-v423 .hm-contractor-strip{padding:26px 0 34px;background:#fff}
.home-v423 .hm-contractor-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 20px;border:1px solid #e0e8ec;border-radius:15px;background:#fbfdfe}
.home-v423 .hm-contractor-strip-inner>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.home-v423 .hm-contractor-strip strong{color:#173d57;font-size:.88rem}
.home-v423 .hm-contractor-strip span{color:#74848f;font-size:.8rem}
.home-v423 .hm-contractor-strip a{color:#1d6fa5;font-size:.82rem;font-weight:850;white-space:nowrap}

@media(max-width:980px){
  .home-v423 .hm-hero{padding:62px 0 44px}
  .home-v423 .hm-hero-grid{grid-template-columns:1fr;gap:34px}
  .home-v423 .hm-hero-copy{max-width:820px}
  .home-v423 .hm-trust-panel{max-width:none}
  .home-v423 .hm-proof-grid{grid-template-columns:1fr 1fr}
  .home-v423 .hm-proof-card:nth-child(2){border-right:0}
  .home-v423 .hm-proof-card:nth-child(-n+2){border-bottom:1px solid #e4ebef}
  .home-v423 .hm-steps{grid-template-columns:1fr}
  .home-v423 .hm-step{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:start}
  .home-v423 .hm-step>span{grid-row:1 / span 2}
  .home-v423 .hm-step h3{margin:1px 0 5px}
  .home-v423 .hm-browse-panel{grid-template-columns:1fr;gap:26px}
  .home-v423 .hm-browse-actions{justify-items:start}
  .home-v423 .hm-market-links{justify-content:flex-start}
  .home-v423 .hm-transparency-grid{grid-template-columns:1fr;gap:28px}
}

@media(max-width:640px){
  .home-v423 .hm-hero{padding:42px 0 30px}
  .home-v423 .hm-hero-grid{gap:26px}
  .home-v423 .hm-kicker{font-size:.65rem;letter-spacing:.11em}
  .home-v423 .hm-hero h1{font-size:clamp(2.65rem,13.5vw,3.5rem);line-height:.96;margin:15px 0 16px;letter-spacing:-.055em}
  .home-v423 .hm-hero-lede{font-size:1rem;line-height:1.6}
  .home-v423 .hm-promise-row{display:grid;grid-template-columns:1fr;margin-top:20px;gap:7px}
  .home-v423 .hm-promise-row span{min-height:35px;width:max-content;max-width:100%;font-size:.79rem;padding:7px 10px}
  .home-v423 .hm-hero-actions{display:grid;grid-template-columns:1fr;margin-top:22px;gap:9px}
  .home-v423 .hm-hero-actions .btn{width:100%;min-height:52px;text-align:center;justify-content:center}
  .home-v423 .hm-microcopy{text-align:center;font-size:.74rem}
  .home-v423 .hm-trust-panel{padding:22px 19px;border-radius:19px;box-shadow:0 18px 42px rgba(8,38,60,.16)}
  .home-v423 .hm-trust-panel-head{padding-bottom:16px}
  .home-v423 .hm-trust-panel-head h2{font-size:1.38rem}
  .home-v423 .hm-trust-item{grid-template-columns:36px 1fr;gap:11px;padding:16px 0}
  .home-v423 .hm-trust-icon{width:34px;height:34px;border-radius:10px}
  .home-v423 .hm-trust-item strong{font-size:.92rem}
  .home-v423 .hm-trust-item p{font-size:.79rem;line-height:1.5}
  .home-v423 .hm-proof-section{padding-bottom:16px}
  .home-v423 .hm-proof-grid{border-radius:0 0 16px 16px}
  .home-v423 .hm-proof-card{padding:15px 14px}
  .home-v423 .hm-proof-card strong{font-size:1.04rem}
  .home-v423 .hm-proof-card span{font-size:.69rem}
  .home-v423 .hm-simple-section{padding:58px 0 62px}
  .home-v423 .hm-section-heading{margin-bottom:26px;text-align:left}
  .home-v423 .hm-section-heading .hm-kicker{justify-content:flex-start}
  .home-v423 .hm-section-heading h2{font-size:2.35rem;line-height:1.03;margin:12px 0}
  .home-v423 .hm-section-heading p{font-size:.92rem;line-height:1.62}
  .home-v423 .hm-steps{gap:9px}
  .home-v423 .hm-step{padding:18px;border-radius:15px;grid-template-columns:38px 1fr;gap:11px}
  .home-v423 .hm-step>span{width:34px;height:34px;border-radius:10px}
  .home-v423 .hm-step h3{font-size:1rem}
  .home-v423 .hm-step p{font-size:.82rem;line-height:1.53}
  .home-v423 .hm-center-action{margin-top:20px}
  .home-v423 .hm-center-action .btn{width:100%;min-height:52px}
  .home-v423 .hm-browse-section{padding-bottom:54px}
  .home-v423 .hm-browse-panel{width:calc(100% - 24px);padding:27px 20px;border-radius:20px;gap:22px}
  .home-v423 .hm-browse-panel h2{font-size:2rem}
  .home-v423 .hm-browse-panel p{font-size:.86rem}
  .home-v423 .hm-browse-actions{display:grid;width:100%}
  .home-v423 .hm-browse-actions .btn{width:100%;min-width:0;text-align:center}
  .home-v423 .hm-market-links{gap:8px}
  .home-v423 .hm-market-links a{display:inline-flex;padding:7px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px}
  .home-v423 .hm-transparency-section{padding:58px 0}
  .home-v423 .hm-transparency-grid h2{font-size:2.25rem}
  .home-v423 .hm-transparency-links a{grid-template-columns:1fr;gap:4px;padding:15px;border-radius:13px}
  .home-v423 .hm-transparency-links span{font-size:.77rem}
  .home-v423 .hm-contractor-strip{padding:20px 0 28px}
  .home-v423 .hm-contractor-strip-inner{display:grid;gap:12px;padding:15px}
  .home-v423 .hm-contractor-strip-inner>div{display:grid;gap:2px}
}

/* ============================================================
   v4.24 — Privacy + About page polish
   ============================================================ */
.privacy-page-v424 .privacy-hero-v424{background:linear-gradient(180deg,#f4f9fb 0%,#fff 100%);border-bottom:1px solid #e4edf1}
.privacy-page-v424 .privacy-hero-v424 p{max-width:680px}
.policy-shell-v424{max-width:940px}
.policy-summary-v424{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:-4px 0 38px;padding:12px;border:1px solid #dfe9ee;border-radius:18px;background:#f8fbfc}
.policy-summary-v424>div{min-width:0;padding:14px 15px;border-radius:12px;background:#fff;border:1px solid #e6edf1}
.policy-summary-v424 strong,.policy-summary-v424 span{display:block}
.policy-summary-v424 strong{margin-bottom:4px;color:#6b7f8c;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.policy-summary-v424 span{color:#173e58;font-size:.88rem;font-weight:800;overflow-wrap:anywhere}
.policy-shell-v424 h2{margin-top:38px;font-size:1.38rem;letter-spacing:-.02em;color:#173e58}
.policy-shell-v424 p,.policy-shell-v424 li{color:#506979;line-height:1.72}
.policy-shell-v424 ul{padding-left:22px}
.policy-shell-v424 li+li{margin-top:9px}
.policy-shell-v424 code{padding:2px 5px;border-radius:5px;background:#eef4f7;color:#1c536f;font-size:.84em}
.policy-highlight-v424{margin:24px 0 6px;padding:19px 20px;border:1px solid #cfe2ec;border-left:4px solid #2b83b3;border-radius:14px;background:#f2f8fb}
.policy-highlight-v424 strong{color:#173e58}
.policy-highlight-v424 p{margin:6px 0 0}
.policy-contact-v424{margin-top:42px;background:#f4f9fb;border-color:#d5e5ed}
.policy-contact-v424 p:last-child{margin-bottom:0}

.trust-page .about-badge-v424{display:inline-flex;margin-bottom:10px;padding:7px 10px;border:1px solid #d7e6ed;border-radius:999px;background:#fff;color:#4a7187;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.trust-page:has(.about-badge-v424) .compact-page-hero{padding:54px 0 46px;background:linear-gradient(180deg,#f3f8fb 0%,#fff 100%);border-bottom:1px solid #e2ebef}
.trust-page:has(.about-badge-v424) .policy-shell{max-width:1040px;padding-top:48px}
.about-intro-grid-v424{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:24px;align-items:stretch}
.about-lead-v424{padding:6px 0}
.about-lead-v424>span,.about-founder-v424 .section-kicker,.about-section-v424 .section-kicker,.about-split-v424 .section-kicker,.about-roadmap-v424 .section-kicker{color:#3a799c;font-size:.67rem;font-weight:900;letter-spacing:.12em}
.about-lead-v424 h2{max-width:650px;margin:8px 0 13px!important;font-size:2rem!important;line-height:1.12}
.about-lead-v424 p{max-width:700px;margin:0;font-size:1.03rem}
.about-free-card-v424{padding:25px;border-radius:19px;background:#0d304b;color:#fff;box-shadow:0 18px 38px rgba(9,42,64,.12)}
.about-free-card-v424>strong{display:block;font-size:1.35rem}
.about-free-card-v424>p{margin:8px 0 18px;color:#c6d7e1;line-height:1.6}
.about-free-card-v424>div{display:flex;flex-wrap:wrap;gap:7px}
.about-free-card-v424 span{padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);font-size:.72rem;font-weight:800}
.about-founder-v424{display:grid;grid-template-columns:72px 1fr;gap:24px;margin:54px 0;padding:30px;border:1px solid #dbe7ed;border-radius:22px;background:#f8fbfc}
.about-founder-mark-v424{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#e7f3f8;color:#24749d;font-size:.82rem;font-weight:900}
.about-founder-v424 h2{margin:7px 0 12px!important;font-size:1.75rem!important}
.about-founder-v424 p:last-child{margin-bottom:0}
.about-values-v424{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 54px}
.about-values-v424 article{padding:22px 19px;border:1px solid #dee8ed;border-radius:17px;background:#fff}
.about-values-v424 article>span{display:inline-grid;place-items:center;width:30px;height:30px;margin-bottom:17px;border-radius:9px;background:#eef6fa;color:#397b9c;font-size:.65rem;font-weight:900}
.about-values-v424 h3{margin:0 0 8px;color:#173e58;font-size:1rem;line-height:1.25}
.about-values-v424 p{margin:0;font-size:.87rem;line-height:1.58}
.about-section-v424{padding:0 0 46px;border-bottom:1px solid #e4ecef}
.about-section-v424 h2,.about-split-v424 h2,.about-roadmap-v424 h2{margin:8px 0 10px!important;font-size:1.55rem!important}
.about-split-v424{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:46px 0;border-bottom:1px solid #e4ecef}
.about-roadmap-v424{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:46px 0 12px;padding:28px 30px;border-radius:20px;background:#0e304a;color:#fff}
.about-roadmap-v424>div{max-width:700px}
.about-roadmap-v424 h2{color:#fff}
.about-roadmap-v424 p{margin-bottom:0;color:#c7d7e0}
.about-roadmap-v424 .btn{white-space:nowrap;background:#fff;color:#174d6b;border-color:#fff}
.about-roadmap-v424 .btn:hover{background:#edf6fa}

@media(max-width:860px){
  .policy-summary-v424{grid-template-columns:1fr 1fr}
  .about-intro-grid-v424{grid-template-columns:1fr}
  .about-values-v424{grid-template-columns:1fr 1fr}
  .about-roadmap-v424{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .privacy-page-v424 .privacy-hero-v424{padding:34px 0 28px}
  .policy-shell-v424{padding-top:24px}
  .policy-summary-v424{grid-template-columns:1fr;gap:7px;margin-bottom:28px;padding:8px;border-radius:14px}
  .policy-summary-v424>div{padding:11px 12px}
  .policy-shell-v424 h2{margin-top:30px;font-size:1.22rem}
  .policy-shell-v424 p,.policy-shell-v424 li{font-size:.91rem;line-height:1.65}
  .policy-highlight-v424{padding:15px 16px}
  .trust-page:has(.about-badge-v424) .compact-page-hero{padding:36px 0 30px}
  .trust-page:has(.about-badge-v424) .policy-shell{padding-top:30px}
  .about-lead-v424 h2{font-size:1.55rem!important}
  .about-free-card-v424{padding:20px;border-radius:16px}
  .about-founder-v424{grid-template-columns:1fr;gap:14px;margin:34px 0;padding:21px;border-radius:17px}
  .about-founder-mark-v424{width:46px;height:46px;border-radius:13px}
  .about-founder-v424 h2{font-size:1.38rem!important}
  .about-values-v424{grid-template-columns:1fr;gap:8px;margin-bottom:36px}
  .about-values-v424 article{padding:17px 16px;border-radius:14px}
  .about-values-v424 article>span{margin-bottom:12px}
  .about-section-v424{padding-bottom:32px}
  .about-split-v424{grid-template-columns:1fr;gap:28px;padding:32px 0}
  .about-roadmap-v424{margin:32px 0 4px;padding:22px 19px;border-radius:17px}
  .about-roadmap-v424 .btn{width:100%;justify-content:center}
}

/* v4.25 — Shared Browse Companies card component on Local Market pages */

/* v4.26 — compact independent-builder trust block */
.hm-independent-wrap-v426{margin-top:-44px;margin-bottom:72px}
.lhm-suggestions-independent-wrap-v426{padding-top:30px}
.lhm-independent-block-v426{display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;align-items:start;padding:27px 30px;border:1px solid #dbe7ed;border-radius:22px;background:linear-gradient(135deg,#f9fcfd 0%,#f2f8fb 100%);box-shadow:0 14px 36px rgba(16,52,76,.055)}
.lhm-independent-number-v426{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:#e8f3f9;color:#21678f;font-size:.85rem;font-weight:900;letter-spacing:.08em}
.lhm-independent-copy-v426 .section-kicker{color:#3a799c;font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.lhm-independent-copy-v426 h2{margin:7px 0 9px;color:#10324b;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.08;letter-spacing:-.03em}
.lhm-independent-copy-v426 p{max-width:850px;margin:0;color:#5b7080;font-size:.94rem;line-height:1.65}
.lhm-independent-link-v426{display:inline-flex;align-items:center;gap:8px;margin-top:13px;color:#176a98;font-weight:800;text-decoration:none}
.lhm-independent-link-v426:hover{text-decoration:underline}
.lhm-independent-note-v426{margin-top:10px!important;color:#244d66!important;font-weight:700}
.lhm-independent-block-v426.is-suggestions{background:#fff}
@media(max-width:700px){
  .hm-independent-wrap-v426{margin-top:-30px;margin-bottom:52px}
  .lhm-suggestions-independent-wrap-v426{padding-top:18px}
  .lhm-independent-block-v426{grid-template-columns:1fr;gap:12px;padding:20px;border-radius:18px}
  .lhm-independent-number-v426{width:46px;height:46px;border-radius:13px}
  .lhm-independent-copy-v426 h2{font-size:1.38rem;margin-top:6px}
  .lhm-independent-copy-v426 p{font-size:.88rem;line-height:1.6}
  .lhm-independent-link-v426{margin-top:11px;font-size:.9rem}
}


/* v4.27 — move independent-builder block above Simple by Design on homepage */
.hm-independent-wrap-v427{margin-top:0;margin-bottom:44px}
@media (max-width:700px){.hm-independent-wrap-v427{margin-bottom:28px}}

/* v4.28 — remove Local Markets column from global footer */

/* v4.29 — direct homeowner-to-company messaging */
.premium-message-action-v429{display:flex;align-items:center;gap:14px;margin-top:22px;padding:15px 16px;border:1px solid #cfe0e8;border-radius:18px;background:linear-gradient(135deg,#f5fbfe,#eef7fb)}
.premium-message-action-v429 .btn{flex:0 0 auto;min-width:150px;justify-content:center}
.premium-message-action-v429 p{margin:0;color:#526f7e;font-size:.86rem;line-height:1.45}
.message-company-page-v429{background:#f6f9fb;min-height:70vh;padding-bottom:76px}
.message-company-hero-v429{background:linear-gradient(135deg,#102f48,#1c5e7d);color:#fff}
.message-company-hero-v429 .eyebrow{color:#c5deeb}.message-company-hero-v429 h1{color:#fff}.message-company-hero-v429 p{color:#dcebf2;max-width:720px}
.message-company-wrap-v429{max-width:920px;padding-top:28px}
.message-company-card-v429{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:17px 20px;border:1px solid #d7e4ea;border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(15,48,70,.05)}
.message-company-card-v429 span,.message-form-head-v429>span{display:block;color:#6d8290;font-size:.69rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.message-company-card-v429 strong{display:block;margin-top:4px;color:#153a53;font-size:1.2rem}.message-company-card-v429 small{display:block;margin-top:2px;color:#6b808d}.message-company-card-v429 a{font-weight:800;color:#17688e;text-decoration:none}
.message-company-form-v429{padding:28px;border:1px solid #d9e5ea;border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(15,48,70,.06)}
.message-form-head-v429{margin-bottom:22px}.message-form-head-v429 h2{margin:5px 0 6px;color:#143a53;font-size:1.75rem;letter-spacing:-.025em}.message-form-head-v429 p{margin:0;color:#627987}
.message-form-grid-v429{display:grid;grid-template-columns:1fr 1fr;gap:17px}.message-form-grid-v429 .wide{grid-column:1/-1}.message-form-grid-v429 label{display:block;margin-bottom:6px;color:#31536a;font-size:.8rem;font-weight:800}.message-form-grid-v429 input,.message-form-grid-v429 select,.message-form-grid-v429 textarea{width:100%;border:1px solid #cadbe3;border-radius:11px;background:#fff;padding:12px 13px;font:inherit;color:#173b53;box-shadow:none}.message-form-grid-v429 textarea{resize:vertical;min-height:132px}.message-form-grid-v429 input:focus,.message-form-grid-v429 select:focus,.message-form-grid-v429 textarea:focus{outline:0;border-color:#4b90ae;box-shadow:0 0 0 3px rgba(55,133,169,.12)}
.message-form-grid-v429 small{display:block;margin-top:5px;color:#7b8d97;font-size:.73rem}.message-choice-row-v429{display:flex;flex-wrap:wrap;gap:8px}.message-choice-row-v429 label{display:inline-flex;align-items:center;gap:7px;margin:0;padding:10px 12px;border:1px solid #d5e2e8;border-radius:10px;background:#f8fbfc;cursor:pointer}.message-choice-row-v429 input{width:auto;margin:0}
.message-consent-v429{display:flex;gap:11px;align-items:flex-start;margin-top:20px;padding:15px 16px;border:1px solid #d7e4ea;border-radius:13px;background:#f6fafc}.message-consent-v429 input{margin-top:3px}.message-consent-v429 strong,.message-consent-v429 small{display:block}.message-consent-v429 strong{color:#244b61}.message-consent-v429 small{margin-top:4px;color:#6a808d;line-height:1.45}
.message-submit-v429{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid #e6edef}.message-submit-v429 strong,.message-submit-v429 span{display:block}.message-submit-v429 strong{color:#214b62}.message-submit-v429 span{margin-top:3px;color:#738690;font-size:.8rem}
.message-success-v429,.message-error-v429{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px;padding:20px;border-radius:17px}.message-success-v429{background:#edf9f2;border:1px solid #cce8d6;color:#1d5b3b}.message-success-v429>span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#1f7a4d;color:#fff;font-weight:900}.message-success-v429 strong,.message-error-v429 strong{font-size:1.05rem}.message-success-v429 p,.message-error-v429 p{margin:5px 0 0;line-height:1.55}.message-success-v429 small{display:block;margin-top:7px}.message-error-v429{display:block;background:#fff3ef;border:1px solid #f0d0c5;color:#7f381f}
.portal-message-nav-v429{gap:7px}.portal-message-nav-v429>span{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#173b57;color:#fff;font-size:.7rem}
.portal-message-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-message-kpis>div{padding:17px 18px;border:1px solid #dfe8ed;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,48,70,.05)}.portal-message-kpis span{display:block;color:#6f8290;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-message-kpis strong{display:block;margin-top:5px;color:#163b54;font-size:1.9rem}.portal-message-list{display:grid;gap:10px}.portal-message-card.is-unread{border-color:#93bfd2;background:#fbfeff;box-shadow:0 8px 24px rgba(19,105,145,.08)}.portal-lead-state.unread{background:#e6f4fb;color:#0b678f}.portal-message-detail{overflow:hidden}.portal-message-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px;background:linear-gradient(135deg,#123b58,#195b7f);color:#fff}.portal-message-detail-head h2{margin:5px 0;color:#fff}.portal-message-detail-head .portal-lead-ref,.portal-message-detail-head .portal-lead-meta{color:rgba(255,255,255,.76)}.portal-message-detail-head .portal-lead-state{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff}.portal-message-info-grid-v429{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-message-email-note{margin:14px 0 0;color:#667d89;font-size:.8rem;line-height:1.5}
@media(max-width:720px){.premium-message-action-v429{display:grid;gap:10px}.premium-message-action-v429 .btn{width:100%;min-width:0}.message-company-page-v429{padding-bottom:48px}.message-company-wrap-v429{padding-top:18px}.message-company-card-v429{align-items:flex-start;flex-direction:column;padding:15px 16px}.message-company-form-v429{padding:19px 16px;border-radius:18px}.message-form-head-v429 h2{font-size:1.45rem}.message-form-grid-v429{grid-template-columns:1fr;gap:14px}.message-form-grid-v429 .wide{grid-column:auto}.message-choice-row-v429{display:grid;grid-template-columns:1fr 1fr}.message-choice-row-v429 label{min-height:44px}.message-submit-v429{align-items:stretch;flex-direction:column}.message-submit-v429 .btn{width:100%;justify-content:center}.message-consent-v429{padding:14px}.portal-message-kpis{grid-template-columns:1fr 1fr}.portal-message-detail-head{display:block}.portal-message-detail-head .portal-lead-state{margin-top:10px}.portal-message-info-grid-v429{grid-template-columns:1fr}.portal-message-card{display:block}.portal-message-card .portal-lead-card-side{justify-items:start;margin-top:12px}}
@media(max-width:420px){.message-choice-row-v429{grid-template-columns:1fr}.portal-message-kpis{grid-template-columns:1fr}}

/* v4.34 — contractor billing & spending controls */
.portal-billing-kpis-v434{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.portal-billing-kpis-v434>div{background:#fff;border:1px solid #dce6eb;border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(15,41,66,.05)}.portal-billing-kpis-v434 span{display:block;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#6d8190}.portal-billing-kpis-v434 strong{display:block;margin-top:6px;font-size:26px;line-height:1.1;color:#173b57}.portal-billing-kpis-v434 small{display:block;margin-top:5px;color:#768995;line-height:1.4}.portal-rate-grid-v434{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-rate-grid-v434>div{border:1px solid #dfe8ed;border-radius:14px;padding:18px;background:#fbfdfe}.portal-rate-grid-v434 span{display:block;font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#66808e}.portal-rate-grid-v434 strong{display:block;font-size:25px;color:#173b57;margin:8px 0 6px}.portal-rate-grid-v434 strong em{font-size:13px;font-style:normal;font-weight:750;color:#718793}.portal-rate-grid-v434 small{display:block;line-height:1.55;color:#667d89}.portal-budget-control-v434{max-width:520px;margin-bottom:18px}.portal-budget-control-v434>label{display:block;font-weight:800;color:#24465b;margin-bottom:7px}.portal-budget-input-v434{display:flex;align-items:center;border:1px solid #c9d8df;border-radius:10px;overflow:hidden;background:#fff;max-width:260px}.portal-budget-input-v434 span{font-weight:850;color:#617886;padding-left:13px}.portal-budget-input-v434 input{border:0!important;box-shadow:none!important;margin:0!important;width:100%;min-height:44px}.portal-budget-control-v434 small{display:block;color:#6b818e;line-height:1.55;margin-top:7px}.portal-pause-grid-v434{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-pause-grid-v434>label{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #dce7ec;border-radius:13px;background:#fbfdfe;cursor:pointer}.portal-pause-grid-v434 input{width:19px;height:19px;margin:2px 0 0}.portal-pause-grid-v434 strong{display:block;color:#23465a;font-size:14px}.portal-pause-grid-v434 small{display:block;margin-top:4px;color:#6a818e;line-height:1.5}.portal-billing-save-v434{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid #e5edf1}.portal-billing-save-v434 strong{display:block;color:#25465a}.portal-billing-save-v434 span{display:block;color:#6e8490;font-size:12px;margin-top:3px}.portal-charge-row-v434{display:grid;grid-template-columns:minmax(220px,1fr) 160px minmax(240px,.8fr);gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid #e7eef2}.portal-charge-row-v434:last-of-type{border-bottom:0}.portal-charge-row-v434>div:first-child>strong{display:block;color:#23465b;margin:3px 0}.portal-charge-row-v434>div:first-child>small{color:#718692}.portal-charge-amount-v434{text-align:right}.portal-charge-amount-v434>strong{display:block;font-size:19px;color:#183e58}.portal-charge-status-v434{display:inline-block;margin-top:5px;padding:4px 8px;border-radius:999px;background:#edf4f8;color:#426579;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.portal-charge-status-v434.paid{background:#e9f6ee;color:#28704b}.portal-charge-status-v434.disputed,.portal-charge-status-v434.hold{background:#fff3df;color:#8a5a10}.portal-charge-status-v434.credited,.portal-charge-status-v434.void{background:#f0f2f4;color:#66747d}.portal-charge-review-v434 details{border:1px solid #dfe7eb;border-radius:10px;padding:10px 12px;background:#fafcfd}.portal-charge-review-v434 summary{cursor:pointer;font-weight:800;color:#31546a}.portal-charge-review-v434 form{display:grid;gap:8px;margin-top:10px}.portal-charge-review-v434 select,.portal-charge-review-v434 textarea{width:100%}.portal-review-pending-v434{display:inline-block;padding:7px 10px;border-radius:9px;background:#fff3df;color:#8a5a10;font-weight:800;font-size:12px}.portal-credit-policy-v434{margin-top:18px;padding:16px 18px;border:1px solid #d7e5ec;border-radius:13px;background:#f6fafc}.portal-credit-policy-v434 strong{color:#244a60}.portal-credit-policy-v434 p{margin:5px 0 0;color:#657d89;line-height:1.55}
@media(max-width:980px){.portal-billing-kpis-v434{grid-template-columns:1fr 1fr}.portal-rate-grid-v434{grid-template-columns:1fr}.portal-charge-row-v434{grid-template-columns:1fr 130px}.portal-charge-review-v434{grid-column:1/-1}.portal-pause-grid-v434{grid-template-columns:1fr}}
@media(max-width:620px){.portal-billing-kpis-v434{grid-template-columns:1fr 1fr;gap:9px}.portal-billing-kpis-v434>div{padding:14px}.portal-billing-kpis-v434 strong{font-size:21px}.portal-billing-save-v434{align-items:stretch;flex-direction:column}.portal-billing-save-v434 .btn{width:100%}.portal-charge-row-v434{grid-template-columns:1fr}.portal-charge-amount-v434{text-align:left}.portal-budget-input-v434{max-width:none}}

/* =========================================================
   v4.35 — streamlined contractor portal app
   ========================================================= */
.portal-logged-in-v435{background:#f3f7f9;min-height:calc(100vh - 80px);padding:0 0 64px}
.portal-logged-in-v435 .contractor-portal-wrap{max-width:1440px;margin-top:0;padding-top:28px}
.portal-shell-app-v435{max-width:none!important}
.portal-shell-v435{display:grid;grid-template-columns:248px minmax(0,1fr);gap:22px;align-items:start}
.portal-sidebar-v435{position:sticky;top:18px;display:flex;flex-direction:column;min-height:calc(100vh - 52px);padding:18px;background:#102f45;border-radius:22px;color:#fff;box-shadow:0 18px 48px rgba(14,42,61,.14)}
.portal-brand-v435{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:2px 4px 16px;border-bottom:1px solid rgba(255,255,255,.11)}
.portal-brand-mark-v435{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;color:#173b57;font-size:.72rem;font-weight:950;letter-spacing:-.03em}
.portal-brand-v435>span:last-child{display:grid}.portal-brand-v435 strong{font-size:.82rem;line-height:1.15}.portal-brand-v435 small{margin-top:2px;color:#9fc3d5;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.portal-company-v435{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;margin:16px 0;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.055)}
.portal-company-v435 img,.portal-company-fallback-v435{width:44px;height:44px;border-radius:12px;object-fit:cover}.portal-company-fallback-v435{display:grid;place-items:center;background:#2d6f91;color:#fff;font-weight:900}
.portal-company-v435>div{min-width:0}.portal-company-v435 strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.portal-company-v435 span{display:block;margin-top:3px;color:#9fc2d4;font-size:.68rem}
.portal-nav-v435{display:grid;gap:5px}.portal-nav-v435 a{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border-radius:11px;color:#c9dce6;text-decoration:none;transition:.15s ease}.portal-nav-v435 a:hover{background:rgba(255,255,255,.07);color:#fff}.portal-nav-v435 a.is-active{background:#fff;color:#173b57;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.portal-nav-icon-v435{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.08);font-size:.71rem;font-weight:900}.portal-nav-v435 a.is-active .portal-nav-icon-v435{background:#e8f2f7;color:#1d6689}.portal-nav-v435 a>span:nth-child(2){display:grid}.portal-nav-v435 strong{font-size:.8rem}.portal-nav-v435 small{margin-top:1px;color:inherit;opacity:.67;font-size:.63rem}.portal-nav-v435 b{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#1b7ca8;color:#fff;font-size:.65rem}.portal-nav-v435 b.money{background:#d7a643;color:#173b57}
.portal-sidebar-bottom-v435{display:grid;gap:4px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.11)}.portal-side-link-v435{padding:8px 9px;border-radius:9px;color:#acd0e0!important;text-decoration:none;font-size:.72rem;font-weight:800}.portal-side-link-v435:hover{background:rgba(255,255,255,.07);color:#fff!important}
.portal-main-v435{min-width:0;display:grid;gap:18px}.portal-page-head-v435{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 2px 2px}.portal-page-head-v435 .eyebrow{color:#4d829c}.portal-page-head-v435 h1{margin:6px 0 5px;color:#102f45;font-size:clamp(2rem,3vw,2.8rem);line-height:1;letter-spacing:-.045em}.portal-page-head-v435 p{margin:0;max-width:720px;color:#667d89;line-height:1.55}.portal-page-status-v435{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:360px}.portal-page-status-v435 span{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid #dbe6eb;border-radius:999px;background:#fff;color:#607887;font-size:.68rem;font-weight:850}.portal-page-status-v435 span.good{background:#edf8f1;border-color:#cee8d7;color:#1e6844}.portal-page-status-v435 span.premium{background:#edf5fb;border-color:#c7dfed;color:#155f83}.portal-page-status-v435 span.warn{background:#fff7e5;border-color:#eadb9d;color:#765900}
.portal-overview-grid-v435{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portal-overview-stat-v435{display:block;padding:18px;border:1px solid #dbe6eb;border-radius:17px;background:#fff;text-decoration:none;box-shadow:0 7px 24px rgba(15,45,65,.045);transition:.15s ease}.portal-overview-stat-v435:hover{transform:translateY(-2px);border-color:#aacbd9;box-shadow:0 11px 30px rgba(15,45,65,.08)}.portal-overview-stat-v435 span{display:block;color:#6f8490;font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.portal-overview-stat-v435 strong{display:block;margin-top:5px;color:#173b57;font-size:1.85rem;letter-spacing:-.03em}.portal-overview-stat-v435 small{display:block;margin-top:5px;color:#4f7488;font-size:.75rem;font-weight:750;line-height:1.4}
.portal-overview-columns-v435{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.portal-simple-head-v435{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e4ecef;background:#fbfdfe}.portal-simple-head-v435>div>span{display:block;color:#50809a;font-size:.65rem;font-weight:900;letter-spacing:.09em}.portal-simple-head-v435 h2{margin:4px 0 0;color:#173b57;font-size:1.15rem;letter-spacing:-.02em}.portal-simple-head-v435 p{margin:4px 0 0;color:#728590;font-size:.78rem;line-height:1.45}.portal-quick-actions-v435{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-quick-actions-v435 a{display:block;padding:14px;border:1px solid #e0e9ed;border-radius:12px;background:#f9fbfc;text-decoration:none}.portal-quick-actions-v435 a:hover{border-color:#afd0de;background:#f4fafc}.portal-quick-actions-v435 strong,.portal-quick-actions-v435 span{display:block}.portal-quick-actions-v435 strong{color:#234b61;font-size:.86rem}.portal-quick-actions-v435 span{margin-top:4px;color:#6d818d;font-size:.73rem;line-height:1.4}.portal-account-list-v435{display:grid}.portal-account-list-v435>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #e8eef1}.portal-account-list-v435>div:last-child{border-bottom:0}.portal-account-list-v435 span{color:#6c818d;font-size:.75rem}.portal-account-list-v435 strong{max-width:65%;color:#244a60;font-size:.78rem;text-align:right;word-break:break-word}
.portal-attention-v435{margin-top:0}.portal-attention-row-v435{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #e8eef1;text-decoration:none}.portal-attention-row-v435:last-child{border-bottom:0}.portal-attention-row-v435>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#fff4df;color:#885f16;font-weight:900}.portal-attention-row-v435 strong,.portal-attention-row-v435 small{display:block}.portal-attention-row-v435 strong{color:#244b61;font-size:.82rem}.portal-attention-row-v435 small{margin-top:3px;color:#718590;font-size:.72rem;line-height:1.4}.portal-attention-row-v435 b{color:#39718b;font-size:.72rem}.portal-all-set-v435{display:grid;gap:4px;padding:14px;border:1px solid #d6e9dd;border-radius:12px;background:#f1faf4;color:#226344}.portal-all-set-v435 span{font-size:.76rem;color:#55766a}
.portal-profile-summary-v435{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:18px;align-items:center;padding:14px 16px;border:1px solid #dbe6eb;border-radius:14px;background:#fff}.portal-profile-summary-v435>div:first-child{display:grid}.portal-profile-summary-v435 span{color:#5d8092;font-size:.64rem;font-weight:900;letter-spacing:.08em}.portal-profile-summary-v435 strong{margin-top:3px;color:#173b57}.portal-profile-summary-v435 small{margin-top:2px;color:#73858f;font-size:.72rem}.portal-progress-v435{height:9px;border-radius:999px;background:#e7eef2;overflow:hidden}.portal-progress-v435 i{display:block;height:100%;border-radius:999px;background:#237aa2}
.portal-profile-jump-v435{position:sticky;top:10px;z-index:16;display:flex;gap:6px;overflow-x:auto;padding:7px;border:1px solid #dbe6eb;border-radius:13px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 8px 25px rgba(15,45,65,.06)}.portal-profile-jump-v435 a{white-space:nowrap;padding:8px 10px;border-radius:8px;color:#446779;text-decoration:none;font-size:.72rem;font-weight:850}.portal-profile-jump-v435 a:hover{background:#edf5f8;color:#174d69}
.portal-profile-form-v435{gap:16px}.portal-profile-form-v435 .portal-section{scroll-margin-top:80px}.portal-field-heading-v435{margin:0 0 10px;color:#244a60;font-size:.9rem}.portal-divider-v435{border:0;border-top:1px solid #e5ecef;margin:22px 0}.portal-builder-flat-v435{margin-top:0}.portal-delivery-grid-v435{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:15px}.portal-delivery-grid-v435 input{width:100%;border:1px solid #cfdde5;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:#18374b}.portal-profile-form-v435 .portal-simple-head-v435 .portal-mini-action{flex:0 0 auto}
.portal-shell-v435 .portal-section{box-shadow:0 7px 24px rgba(18,48,68,.04)}.portal-shell-v435 .portal-section-head{padding:14px 18px}.portal-shell-v435 .portal-section-body{padding:19px}.portal-shell-v435 .portal-lead-kpis,.portal-shell-v435 .portal-message-kpis,.portal-shell-v435 .portal-billing-kpis-v434{margin-bottom:0}
.portal-shell-v435 .portal-billing-kpis-v434{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-shell-v435 .portal-rate-grid-v434{gap:10px}.portal-shell-v435 .portal-rate-grid-v434>div{padding:15px}.portal-shell-v435 .portal-rate-grid-v434 strong{font-size:22px}
.portal-shell-v435 .portal-lead-kpis>div,.portal-shell-v435 .portal-message-kpis>div{box-shadow:none}.portal-shell-v435 .portal-lead-list-section,.portal-shell-v435 .portal-billing-rates-v434,.portal-shell-v435 .portal-billing-controls-v434,.portal-shell-v435 .portal-billing-history-v434{margin-top:0}
@media(max-width:1180px){.portal-shell-v435{grid-template-columns:220px minmax(0,1fr)}.portal-overview-grid-v435{grid-template-columns:1fr 1fr}.portal-overview-columns-v435{grid-template-columns:1fr}.portal-photo-grid{grid-template-columns:1fr 1fr}.portal-gallery-card{grid-column:1/-1}.portal-shell-v435 .portal-billing-kpis-v434{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.portal-logged-in-v435 .contractor-portal-wrap{padding-top:14px}.portal-shell-v435{display:block}.portal-sidebar-v435{position:static;min-height:0;padding:13px;border-radius:16px;margin-bottom:15px}.portal-brand-v435{padding-bottom:10px}.portal-company-v435{margin:10px 0}.portal-nav-v435{display:flex;overflow-x:auto;gap:5px;padding-bottom:2px}.portal-nav-v435 a{flex:0 0 auto;grid-template-columns:28px auto auto;min-width:105px;padding:8px}.portal-nav-icon-v435{width:26px;height:26px}.portal-nav-v435 small{display:none}.portal-sidebar-bottom-v435{display:flex;margin-top:10px;padding-top:10px}.portal-page-head-v435{display:block}.portal-page-status-v435{justify-content:flex-start;margin-top:11px;max-width:none}.portal-profile-jump-v435{top:6px}.portal-delivery-grid-v435{grid-template-columns:1fr}}
@media(max-width:620px){.portal-logged-in-v435{padding-bottom:42px}.portal-logged-in-v435 .contractor-portal-wrap{padding-left:12px;padding-right:12px}.portal-company-v435{grid-template-columns:38px 1fr}.portal-company-v435 img,.portal-company-fallback-v435{width:38px;height:38px}.portal-page-head-v435 h1{font-size:2rem}.portal-page-head-v435 p{font-size:.86rem}.portal-overview-grid-v435{grid-template-columns:1fr 1fr;gap:8px}.portal-overview-stat-v435{padding:14px}.portal-overview-stat-v435 strong{font-size:1.45rem}.portal-overview-stat-v435 small{font-size:.68rem}.portal-quick-actions-v435{grid-template-columns:1fr}.portal-profile-summary-v435{grid-template-columns:1fr;gap:10px}.portal-simple-head-v435{align-items:flex-start;flex-direction:column;padding:15px}.portal-simple-head-v435 .portal-mini-action{width:100%}.portal-photo-grid{grid-template-columns:1fr}.portal-gallery-card{grid-column:auto}.portal-shell-v435 .portal-billing-kpis-v434{grid-template-columns:1fr 1fr}.portal-shell-v435 .portal-section-body{padding:15px}.portal-save-bar{bottom:7px}.portal-save-bar>div{display:none}.portal-save-bar .btn{width:100%;justify-content:center}.portal-profile-jump-v435{margin-left:-2px;margin-right:-2px}.portal-attention-row-v435{grid-template-columns:28px 1fr}.portal-attention-row-v435>b{display:none}}
@media(max-width:420px){.portal-overview-grid-v435{grid-template-columns:1fr}.portal-shell-v435 .portal-billing-kpis-v434{grid-template-columns:1fr}.portal-nav-v435 a{min-width:94px}.portal-brand-v435 small{display:none}}

/* v4.36 — Free Start credits */
.portal-free-start-v436{border-color:#cfe6d7;background:linear-gradient(180deg,#fff,#fbfefc)}
.portal-free-start-grid-v436{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-free-start-grid-v436>div{padding:18px;border:1px solid #d8e9de;border-radius:14px;background:#f7fcf9}.portal-free-start-grid-v436 span{display:block;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#587766}.portal-free-start-grid-v436 strong{display:block;margin:7px 0 5px;color:#1f5b3d;font-size:27px}.portal-free-start-grid-v436 strong em{font-size:13px;font-style:normal;color:#6e8978}.portal-free-start-grid-v436 small{display:block;color:#61796b;line-height:1.5}.portal-free-start-lock-v436{margin-top:14px;padding:13px 15px;border:1px solid #ead9a8;border-radius:12px;background:#fffaf0}.portal-free-start-lock-v436 strong,.portal-free-start-lock-v436 span{display:block}.portal-free-start-lock-v436 strong{color:#715617}.portal-free-start-lock-v436 span{margin-top:4px;color:#7c7153}.portal-charge-status-v434.free{background:#e9f6ee;color:#28704b}
@media(max-width:760px){.portal-free-start-grid-v436{grid-template-columns:1fr}}


/* v4.37 — Stripe payments + contractor billing polish */
.portal-payments-v437 .portal-section-body{display:grid;gap:16px}.portal-payment-grid-v437{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:14px}.portal-payment-grid-v437>div{border:1px solid #dce7ec;border-radius:13px;background:#fbfdfe;padding:16px}.portal-payment-grid-v437 span{display:block;color:#6d818c;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.portal-payment-grid-v437 strong{display:block;color:#173b57;font-size:18px;margin-top:6px}.portal-payment-grid-v437 small{display:block;color:#6c7f89;margin-top:5px;line-height:1.45}.portal-payment-grid-v437 small.bad{color:#a23a2b;font-weight:750}.portal-payment-actions-v437{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.portal-payment-actions-v437 form,.portal-premium-start-v437{margin:0}.portal-premium-start-v437{margin-top:12px}.portal-auto-billing-note-v437{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #cfe1e8;border-radius:12px;background:#f2f8fa}.portal-auto-billing-note-v437 strong{color:#173b57;white-space:nowrap}.portal-auto-billing-note-v437 span{color:#4f6978;line-height:1.5}.portal-notice.error{border-color:#e3b7ae;background:#fff5f3;color:#7d3328}
@media(max-width:900px){.portal-payment-grid-v437{grid-template-columns:1fr}.portal-auto-billing-note-v437{display:block}.portal-auto-billing-note-v437 strong{display:block;margin-bottom:5px}}

/* v4.40.4 — Billing Review Protection + UI Polish */
.portal-billing-review-v4404{border:1px solid #d9e5eb;border-radius:14px;background:#fbfdfe;overflow:hidden}
.portal-billing-review-v4404[open]{border-color:#c6dce7;box-shadow:0 8px 22px rgba(15,41,66,.06)}
.portal-billing-review-v4404>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-size:12px;font-weight:850;color:#234d66;transition:.16s ease}
.portal-billing-review-v4404>summary::-webkit-details-marker{display:none}
.portal-billing-review-v4404>summary:after{content:"+";display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#edf5f9;color:#2a6384;font-size:17px;line-height:1}
.portal-billing-review-v4404[open]>summary{border-bottom:1px solid #e2ebef;background:#f6fafc}
.portal-billing-review-v4404[open]>summary:after{content:"−"}
.portal-review-intro-v4404{padding:14px 14px 0}
.portal-review-intro-v4404 strong,.portal-review-intro-v4404 span,.portal-review-intro-v4404 small{display:block}
.portal-review-intro-v4404 strong{font-size:13px;color:#21475d}
.portal-review-intro-v4404 span{margin-top:5px;font-size:12px;line-height:1.5;color:#647c89}
.portal-review-intro-v4404 small{margin-top:7px;font-size:11px;font-weight:750;color:#466b7f}
.portal-review-form-v4404{display:grid;gap:13px;padding:14px}
.portal-review-form-v4404 label>span{display:block;margin-bottom:6px;font-size:12px;font-weight:850;color:#284e63}
.portal-review-select-v4404{position:relative}
.portal-review-select-v4404:after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:2px solid #507184;border-bottom:2px solid #507184;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.portal-review-form-v4404 select,.portal-review-form-v4404 textarea{width:100%;margin:0;border:1px solid #c8d8e0!important;border-radius:11px!important;background:#fff!important;color:#1f3f52!important;box-shadow:none!important;outline:0;transition:border-color .16s ease,box-shadow .16s ease}
.portal-review-form-v4404 select{appearance:none;-webkit-appearance:none;min-height:47px;padding:0 42px 0 13px!important;font-weight:700}
.portal-review-form-v4404 textarea{min-height:104px;padding:11px 13px!important;resize:vertical;line-height:1.5}
.portal-review-form-v4404 select:focus,.portal-review-form-v4404 textarea:focus{border-color:#498caf!important;box-shadow:0 0 0 3px rgba(29,111,165,.10)!important}
.portal-review-form-v4404 label>small{display:block;margin-top:5px;color:#7a8d98;font-size:10px;line-height:1.45}
.portal-review-rule-v4404{display:grid;gap:3px;padding:11px 12px;border:1px solid #eadfca;border-radius:11px;background:#fffaf1}
.portal-review-rule-v4404 strong{font-size:11px;color:#7b591f;text-transform:uppercase;letter-spacing:.04em}
.portal-review-rule-v4404 span{font-size:11px;line-height:1.5;color:#75694f}
.portal-review-form-v4404 .btn{justify-self:start;padding:10px 14px;border-radius:10px}
.portal-review-state-v4404{display:grid;gap:3px;padding:11px 12px;border:1px solid #dce7ec;border-radius:12px;background:#f8fbfc}
.portal-review-state-v4404 strong{font-size:12px;color:#284e63}
.portal-review-state-v4404 span,.portal-review-state-v4404 small{font-size:11px;line-height:1.45;color:#687f8c}
.portal-review-state-v4404.pending{border-color:#ead8ad;background:#fffaf0}
.portal-review-state-v4404.pending strong{color:#805a13}
.portal-review-state-v4404.approved{border-color:#cce3d5;background:#f3faf6}
.portal-review-state-v4404.approved strong{color:#276846}
.portal-review-state-v4404.denied,.portal-review-state-v4404.closed{border-color:#dfe5e8;background:#f7f9fa}
.portal-review-state-v4404.denied strong,.portal-review-state-v4404.closed strong{color:#596b75}
.portal-charge-status-v434.free{background:#edf8f2;color:#28704b}
@media(max-width:620px){
  .portal-billing-review-v4404>summary{padding:12px}
  .portal-review-intro-v4404{padding:12px 12px 0}
  .portal-review-form-v4404{padding:12px}
  .portal-review-form-v4404 .btn{width:100%;justify-self:stretch}
}


/* v4.40.5 — Contractor Portal Form Polish */
/* Shared portal form language: product-style controls instead of browser-default fields. */
.portal-shell-v435 .portal-lead-actions-section select,
.portal-shell-v435 .portal-lead-actions-section input[type="date"],
.portal-shell-v435 .portal-lead-actions-section input[type="time"],
.portal-shell-v435 .portal-lead-actions-section input[type="number"],
.portal-shell-v435 .portal-lead-actions-section textarea,
.portal-shell-v435 .portal-billing-review-v4405 select,
.portal-shell-v435 .portal-billing-review-v4405 textarea{
  width:100%;min-height:48px;margin:0!important;border:1px solid #cfdde5!important;border-radius:12px!important;
  background:#f9fbfc!important;color:#173b53!important;padding:11px 13px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  outline:none!important;font:inherit;line-height:1.35;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.portal-shell-v435 .portal-lead-actions-section select,
.portal-shell-v435 .portal-billing-review-v4405 select{
  appearance:none;-webkit-appearance:none;padding-right:42px!important;cursor:pointer;font-weight:720;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23557384' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:12px 7px!important
}
.portal-shell-v435 .portal-lead-actions-section input[type="date"],
.portal-shell-v435 .portal-lead-actions-section input[type="time"]{padding-right:11px!important;font-weight:700;cursor:pointer}
.portal-shell-v435 .portal-lead-actions-section input[type="date"]::-webkit-calendar-picker-indicator,
.portal-shell-v435 .portal-lead-actions-section input[type="time"]::-webkit-calendar-picker-indicator{opacity:.56;cursor:pointer;padding:5px}
.portal-shell-v435 .portal-lead-actions-section textarea,
.portal-shell-v435 .portal-billing-review-v4405 textarea{min-height:118px;resize:vertical;line-height:1.55}
.portal-shell-v435 .portal-lead-actions-section select:hover,
.portal-shell-v435 .portal-lead-actions-section input:hover,
.portal-shell-v435 .portal-lead-actions-section textarea:hover,
.portal-shell-v435 .portal-billing-review-v4405 select:hover,
.portal-shell-v435 .portal-billing-review-v4405 textarea:hover{border-color:#aac4d2!important;background:#fff!important}
.portal-shell-v435 .portal-lead-actions-section select:focus,
.portal-shell-v435 .portal-lead-actions-section input:focus,
.portal-shell-v435 .portal-lead-actions-section textarea:focus,
.portal-shell-v435 .portal-billing-review-v4405 select:focus,
.portal-shell-v435 .portal-billing-review-v4405 textarea:focus{
  border-color:#4b91b3!important;background:#fff!important;box-shadow:0 0 0 4px rgba(41,126,166,.11)!important;outline:none!important
}
.portal-shell-v435 .portal-lead-actions-section label,
.portal-shell-v435 .portal-billing-review-v4405 label>span{display:block;margin:0 0 6px;color:#38586b;font-size:11px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.portal-shell-v435 .portal-lead-actions-section label span{font-size:10px;font-weight:750;letter-spacing:0;text-transform:none;color:#8a9aa3}

/* Outcome cards */
.portal-shell-v435 .portal-progress-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.portal-shell-v435 .portal-progress-actions>form{grid-column:1/-1;margin:0;justify-self:start}
.portal-shell-v435 .portal-outcome-card-v4405{min-width:0!important;border:1px solid #d9e5eb;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(15,41,66,.025);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.portal-shell-v435 .portal-outcome-card-v4405:hover{border-color:#bad0dc;box-shadow:0 8px 24px rgba(15,41,66,.06)}
.portal-shell-v435 .portal-outcome-card-v4405[open]{padding-bottom:0!important;border-color:#b9d2df;box-shadow:0 10px 28px rgba(15,41,66,.075)}
.portal-shell-v435 .portal-outcome-card-v4405.unreachable{grid-column:1/-1}
.portal-shell-v435 .portal-outcome-card-v4405>summary{display:grid!important;grid-template-columns:38px minmax(0,1fr) 18px;gap:11px;align-items:center;min-height:72px!important;padding:13px 14px!important;margin:0!important;border:0!important;background:#fff;list-style:none;cursor:pointer}
.portal-shell-v435 .portal-outcome-card-v4405>summary::-webkit-details-marker{display:none}
.portal-outcome-icon-v4405{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef6fa;color:#286686;font-size:14px;font-weight:950;line-height:1}
.portal-outcome-summary-copy-v4405{min-width:0;display:block}
.portal-outcome-summary-copy-v4405 strong{display:block;color:#173c55;font-size:14px;font-weight:850;line-height:1.2}
.portal-outcome-summary-copy-v4405 small{display:block;margin-top:4px;color:#748894;font-size:10.5px;font-weight:620;line-height:1.35}
.portal-outcome-chevron-v4405{width:9px;height:9px;border-right:2px solid #8197a3;border-bottom:2px solid #8197a3;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease;justify-self:end}
.portal-outcome-card-v4405[open] .portal-outcome-chevron-v4405{transform:rotate(225deg) translate(-2px,-1px)}
.portal-outcome-card-v4405[open]>summary{background:#f8fbfc!important;border-bottom:1px solid #e2ebef!important}
.portal-outcome-card-v4405.won .portal-outcome-icon-v4405{background:#eaf7ef;color:#1b7048}
.portal-outcome-card-v4405.won[open]{border-color:#bcdcca}
.portal-outcome-card-v4405.lost .portal-outcome-icon-v4405{background:#fff1ef;color:#a24c40}
.portal-outcome-card-v4405.unreachable .portal-outcome-icon-v4405,.portal-outcome-card-v4405.not-fit .portal-outcome-icon-v4405{background:#fff7e8;color:#8b6419}
.portal-shell-v435 .portal-outcome-card-v4405 form{display:grid;gap:13px;padding:16px!important;margin:0!important;background:#fff}
.portal-shell-v435 .portal-outcome-card-v4405 form>.btn{width:100%;min-height:46px;margin:2px 0 0!important;justify-content:center;border-radius:11px}
.portal-shell-v435 .portal-outcome-card-v4405.won form>.btn{box-shadow:0 5px 14px rgba(29,111,165,.13)}
.portal-shell-v435 .portal-two-fields{gap:11px}
.portal-money-field-v4405{display:grid;grid-template-columns:39px minmax(0,1fr);align-items:center;border:1px solid #cfdde5;border-radius:12px;background:#f9fbfc;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.portal-money-field-v4405:focus-within{border-color:#4b91b3;background:#fff;box-shadow:0 0 0 4px rgba(41,126,166,.11)}
.portal-money-field-v4405>span{display:grid;place-items:center;height:100%;color:#5b7483;font-weight:850;background:#f1f6f8;border-right:1px solid #d9e5eb}
.portal-shell-v435 .portal-money-field-v4405 input{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}

/* Billing history rows now give the review interface room to breathe. */
.portal-shell-v435 .portal-charge-row-v434{grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;padding:18px 0}
.portal-shell-v435 .portal-charge-review-v434{grid-column:1/-1;min-width:0}
.portal-shell-v435 .portal-charge-amount-v434{min-width:110px}
.portal-shell-v435 .portal-billing-review-v4405{padding:0!important;border:1px solid #d9e5eb!important;border-radius:15px!important;background:#fff!important;overflow:hidden;box-shadow:0 2px 8px rgba(15,41,66,.025)}
.portal-shell-v435 .portal-billing-review-v4405[open]{border-color:#b9d2df!important;box-shadow:0 10px 28px rgba(15,41,66,.07)!important}
.portal-shell-v435 .portal-billing-review-v4405>summary{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:11px;align-items:center;padding:13px 14px!important;background:#fff!important;border:0!important;list-style:none;cursor:pointer}
.portal-shell-v435 .portal-billing-review-v4405>summary:after{display:none!important;content:none!important}
.portal-review-summary-icon-v4405{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf5f9;color:#286686;font-size:15px;font-weight:950}
.portal-review-summary-copy-v4405{display:block;min-width:0}
.portal-review-summary-copy-v4405 strong{display:block;color:#173c55;font-size:13px;font-weight:850;line-height:1.25}
.portal-review-summary-copy-v4405 small{display:block;margin-top:3px;color:#788b96;font-size:10.5px;font-weight:620;line-height:1.35}
.portal-review-summary-chevron-v4405{width:9px;height:9px;border-right:2px solid #8197a3;border-bottom:2px solid #8197a3;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease;justify-self:end}
.portal-billing-review-v4405[open] .portal-review-summary-chevron-v4405{transform:rotate(225deg) translate(-2px,-1px)}
.portal-shell-v435 .portal-billing-review-v4405[open]>summary{background:#f7fafc!important;border-bottom:1px solid #e1ebef!important;margin:0!important}
.portal-shell-v435 .portal-review-intro-v4404{margin:14px 14px 0;padding:13px 14px;border:1px solid #d8e7ee;border-radius:12px;background:#f5fafc}
.portal-shell-v435 .portal-review-intro-v4404 strong{font-size:12.5px;color:#214b63}
.portal-shell-v435 .portal-review-intro-v4404 span{font-size:11.5px;color:#617b89;line-height:1.55}
.portal-shell-v435 .portal-review-intro-v4404 small{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:7px;background:#e8f2f7;color:#37647b;font-size:10px;font-weight:850}
.portal-shell-v435 .portal-review-form-v4404{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;padding:14px!important;margin:0!important}
.portal-shell-v435 .portal-review-form-v4404 label{margin:0}
.portal-shell-v435 .portal-review-form-v4404 label:nth-of-type(2){grid-row:span 2}
.portal-shell-v435 .portal-review-form-v4404 textarea{min-height:130px!important}
.portal-shell-v435 .portal-review-form-v4404 label>small{font-size:10px;color:#7e909a;line-height:1.45}
.portal-shell-v435 .portal-review-select-v4404:after{display:none!important}
.portal-shell-v435 .portal-review-rule-v4404{align-self:start;padding:12px 13px;border-radius:12px;border:1px solid #eadbb6;background:#fffaf0}
.portal-shell-v435 .portal-review-rule-v4404 strong{font-size:10px;color:#805e1e;letter-spacing:.06em}
.portal-shell-v435 .portal-review-rule-v4404 span{font-size:10.5px;line-height:1.55;color:#74694f}
.portal-shell-v435 .portal-review-form-v4404>.btn{grid-column:1/-1;justify-self:end;min-width:175px;min-height:44px;margin:0!important;border-radius:11px;padding:10px 16px}
.portal-shell-v435 .portal-review-state-v4404{padding:13px 14px;border-radius:12px}

/* Keep the early Not-a-Fit card consistent with the outcome system. */
.portal-shell-v435 .portal-primary-actions .portal-outcome-card-v4405{flex:1 1 280px}
.portal-shell-v435 .portal-primary-actions .portal-outcome-card-v4405>summary{min-height:64px!important}

@media(max-width:980px){
  .portal-shell-v435 .portal-progress-actions{grid-template-columns:1fr 1fr}
  .portal-shell-v435 .portal-outcome-card-v4405.unreachable{grid-column:1/-1}
  .portal-shell-v435 .portal-review-form-v4404{grid-template-columns:1fr}
  .portal-shell-v435 .portal-review-form-v4404 label:nth-of-type(2){grid-row:auto}
  .portal-shell-v435 .portal-review-form-v4404>.btn{grid-column:auto;justify-self:stretch;width:100%}
}
@media(max-width:680px){
  .portal-shell-v435 .portal-progress-actions{grid-template-columns:1fr}
  .portal-shell-v435 .portal-outcome-card-v4405.unreachable{grid-column:auto}
  .portal-shell-v435 .portal-outcome-card-v4405>summary{min-height:66px!important;padding:12px!important}
  .portal-outcome-summary-copy-v4405 small,.portal-review-summary-copy-v4405 small{font-size:10px}
  .portal-shell-v435 .portal-charge-row-v434{grid-template-columns:1fr}
  .portal-shell-v435 .portal-charge-amount-v434{text-align:left;min-width:0}
  .portal-shell-v435 .portal-charge-review-v434{grid-column:auto}
  .portal-shell-v435 .portal-billing-review-v4405>summary{padding:12px!important}
  .portal-shell-v435 .portal-review-intro-v4404{margin:12px 12px 0;padding:12px}
  .portal-shell-v435 .portal-review-form-v4404{padding:12px!important}
}


/* v4.40.6 — Appointment control fix */
/* Chrome/Windows date and time controls have a large intrinsic width. In the
   three-card outcome grid that allowed the time field to push past the card.
   Keep every grid item shrinkable, then give Appointment its own stacked form. */
.portal-shell-v435 .portal-outcome-card-v4405 .portal-two-fields>div{
  min-width:0;
}
.portal-shell-v435 .portal-outcome-card-v4405 input[type="date"],
.portal-shell-v435 .portal-outcome-card-v4405 input[type="time"]{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.portal-shell-v435 .portal-outcome-card-v4405.appointment .portal-two-fields{
  grid-template-columns:minmax(0,1fr)!important;
  gap:13px!important;
}
.portal-shell-v435 .portal-outcome-card-v4405.appointment form{
  gap:14px!important;
}
.portal-shell-v435 .portal-outcome-card-v4405.appointment input[type="date"],
.portal-shell-v435 .portal-outcome-card-v4405.appointment input[type="time"]{
  width:100%!important;
  min-height:50px!important;
}
.portal-shell-v435 .portal-outcome-card-v4405.appointment .portal-save-appointment-v4406{
  width:100%!important;
  min-height:46px!important;
  margin-top:1px!important;
  justify-content:center!important;
  border-radius:11px!important;
}

/* v4.40.7 — Editable outcome history */
.portal-shell-v435 .portal-recorded-outcome-v4407{
  border:1px solid #d8e5eb;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 6px 22px rgba(15,41,66,.05);
}
.portal-shell-v435 .portal-recorded-outcome-head-v4407{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:18px 18px 16px;
  background:linear-gradient(180deg,#fbfdfe,#f6fafc);
  border-bottom:1px solid #e1ebef;
}
.portal-recorded-outcome-head-v4407>div{min-width:0}
.portal-recorded-outcome-head-v4407>div>span{
  display:block;
  margin-bottom:5px;
  color:#67808f;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
}
.portal-recorded-outcome-head-v4407 h3{
  margin:0;
  color:#153b55;
  font-size:19px;
  line-height:1.2;
}
.portal-recorded-outcome-head-v4407 p{
  margin:6px 0 0;
  max-width:620px;
  color:#6a7f8b;
  font-size:12px;
  line-height:1.5;
}
.portal-recorded-status-v4407{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 11px;
  border-radius:999px;
  background:#edf4f8;
  color:#315c73;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.portal-recorded-status-v4407.won{background:#eaf7ef;color:#176b43}
.portal-recorded-status-v4407.lost{background:#fff0ee;color:#9b443b}
.portal-recorded-status-v4407.declined,
.portal-recorded-status-v4407.unable_to_reach{background:#fff6e7;color:#80601d}
.portal-recorded-status-v4407.credited{background:#eef5fb;color:#2a6181}
.portal-shell-v435 .portal-recorded-outcome-grid-v4407{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:16px 18px 18px;
}
.portal-recorded-outcome-grid-v4407>div{
  min-width:0;
  padding:13px 14px;
  border:1px solid #e0e9ee;
  border-radius:12px;
  background:#f9fbfc;
}
.portal-recorded-outcome-grid-v4407>div>span{
  display:block;
  margin-bottom:4px;
  color:#748995;
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.portal-recorded-outcome-grid-v4407>div>strong{
  display:block;
  color:#173c55;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.portal-shell-v435 .portal-edit-outcome-v4407{
  margin:0 18px 18px;
  border:1px solid #d7e4ea;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}
.portal-shell-v435 .portal-edit-outcome-v4407>summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 18px;
  gap:10px;
  align-items:center;
  min-height:48px;
  padding:11px 13px;
  list-style:none;
  cursor:pointer;
  background:#f8fbfc;
}
.portal-shell-v435 .portal-edit-outcome-v4407>summary::-webkit-details-marker{display:none}
.portal-edit-outcome-v4407>summary>span:first-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:9px;
  background:#1678b5;
  color:#fff;
  font-size:11.5px;
  font-weight:900;
}
.portal-edit-outcome-v4407>summary>small{
  color:#728691;
  font-size:10.5px;
  font-weight:650;
}
.portal-edit-outcome-v4407[open]>summary{
  border-bottom:1px solid #e1ebef;
  background:#f6fafc;
}
.portal-edit-outcome-v4407[open]>summary .portal-outcome-chevron-v4405{
  transform:rotate(225deg) translate(-2px,-1px);
}
.portal-edit-outcome-body-v4407{padding:14px;background:#fbfdfe}
.portal-edit-outcome-note-v4407{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px 10px;
  margin-bottom:13px;
  padding:11px 12px;
  border:1px solid #dce8ee;
  border-radius:11px;
  background:#f4f9fb;
}
.portal-edit-outcome-note-v4407 strong{color:#214c64;font-size:11.5px;font-weight:900}
.portal-edit-outcome-note-v4407 span{color:#708590;font-size:10.5px;line-height:1.45}
.portal-shell-v435 .portal-edit-outcome-grid-v4407{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.portal-shell-v435 .portal-edit-outcome-grid-v4407 .portal-outcome-card-v4405.unreachable{grid-column:auto}
.portal-shell-v435 .portal-edit-outcome-grid-v4407 .portal-outcome-card-v4405.not-fit{grid-column:1/-1}

@media(max-width:760px){
  .portal-shell-v435 .portal-recorded-outcome-head-v4407{flex-direction:column;align-items:flex-start}
  .portal-shell-v435 .portal-recorded-outcome-grid-v4407{grid-template-columns:1fr;padding:14px}
  .portal-shell-v435 .portal-edit-outcome-v4407{margin:0 14px 14px}
  .portal-shell-v435 .portal-edit-outcome-grid-v4407{grid-template-columns:1fr}
  .portal-shell-v435 .portal-edit-outcome-grid-v4407 .portal-outcome-card-v4405.not-fit{grid-column:auto}
}


/* =========================================================
   v1.3 — Homeowner trust commitments
   ========================================================= */
.home-v423 .hm-homeowner-commitment-v13{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:10px;max-width:760px;margin:0 0 22px}
.home-v423 .hm-homeowner-commitment-item-v13{display:flex;align-items:flex-start;gap:11px;padding:15px 16px;border-radius:15px;border:1px solid #cfe1e9;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(11,43,69,.055)}
.home-v423 .hm-homeowner-commitment-item-v13.primary{border-color:#abd4c5;background:#f2fbf7}
.home-v423 .hm-homeowner-commitment-item-v13.secondary{border-color:#c9dfea;background:#f5fafd}
.home-v423 .hm-homeowner-commitment-icon-v13{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#177a61;color:#fff;font-size:.78rem;font-weight:950;margin-top:1px}
.home-v423 .hm-homeowner-commitment-item-v13.secondary .hm-homeowner-commitment-icon-v13{background:#1d6fa5}
.home-v423 .hm-homeowner-commitment-item-v13 strong{display:block;color:#0f3b2e;font-size:1.03rem;line-height:1.25;letter-spacing:-.015em}
.home-v423 .hm-homeowner-commitment-item-v13.secondary strong{color:#123f5b}
.home-v423 .hm-homeowner-commitment-item-v13 span:not(.hm-homeowner-commitment-icon-v13){display:block;margin-top:3px;color:#5f756d;font-size:.76rem;line-height:1.45;font-weight:650}
.home-v423 .hm-homeowner-commitment-item-v13.secondary span:not(.hm-homeowner-commitment-icon-v13){color:#637b89}

@media(max-width:760px){
  .home-v423 .hm-homeowner-commitment-v13{grid-template-columns:1fr;margin-bottom:19px}
}
@media(max-width:640px){
  .home-v423 .hm-homeowner-commitment-item-v13{padding:13px 14px;border-radius:13px}
  .home-v423 .hm-homeowner-commitment-item-v13 strong{font-size:.94rem}
  .home-v423 .hm-homeowner-commitment-item-v13 span:not(.hm-homeowner-commitment-icon-v13){font-size:.72rem}
}


/* v1.5 — polished Contractor Contact Rules */
.trust-page:has(.contractor-rules-v15) .compact-page-hero{padding:56px 0 50px;background:linear-gradient(180deg,#f1f8fc 0%,#f7fbfd 100%);border-bottom:1px solid #dfeaf0}
.trust-page:has(.contractor-rules-v15) .compact-page-hero .container{max-width:1120px}
.trust-page:has(.contractor-rules-v15) .compact-page-hero .eyebrow{display:none}
.rules-hero-label-v15{display:inline-flex;align-items:center;margin-bottom:14px;padding:7px 11px;border:1px solid #cfe3ef;border-radius:999px;background:#e6f3fb;color:#145d82;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.trust-page:has(.contractor-rules-v15) .compact-page-hero h1{max-width:760px;margin:0;color:#0f2942;font-size:clamp(2.55rem,5vw,4.15rem);line-height:1.02;letter-spacing:-.055em}
.trust-page:has(.contractor-rules-v15) .compact-page-hero p{max-width:780px;margin:20px 0 0;color:#5a7283;font-size:1.12rem;line-height:1.65}
.trust-page:has(.contractor-rules-v15) .policy-shell{max-width:1040px;padding-top:48px;padding-bottom:84px}
.contractor-rules-v15{display:grid;gap:28px}
.rules-version-v15{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 22px;border:1px solid #dbe6ec;border-radius:14px;background:#f7fafc}
.rules-version-v15>div{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.rules-version-v15 span{color:#6b7f8c;font-size:.75rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.rules-version-v15 strong{padding:5px 9px;border-radius:7px;background:#e8f2f7;color:#174c67;font-size:.84rem}
.rules-version-v15 p{margin:0;max-width:620px;color:#526b7a;font-size:.92rem;line-height:1.6}
.rules-summary-v15{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rules-summary-v15>div{padding:18px 19px;border:1px solid #dfe8ed;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(15,41,66,.04)}
.rules-summary-v15 strong{display:block;margin-bottom:5px;color:#173e58;font-size:.96rem}
.rules-summary-v15 span{display:block;color:#607684;font-size:.88rem;line-height:1.55}
.rules-intro-v15{margin-top:8px;padding:30px 32px;border-radius:16px;background:#102f46;color:#fff}
.rules-intro-v15 .section-kicker{color:#8bc4e2}
.policy-shell .rules-intro-v15 h2{margin:8px 0 12px;max-width:800px;color:#fff;font-size:1.55rem;line-height:1.3;letter-spacing:-.025em}
.rules-intro-v15 p{max-width:830px;margin:0;color:#d8e5ec;line-height:1.7}
.rules-list-v15{display:grid;gap:0;border-top:1px solid #dfe8ed}
.rule-item-v15{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:30px 4px;border-bottom:1px solid #dfe8ed}
.rule-number-v15{display:grid;place-items:center;width:44px;height:34px;margin-top:2px;border-radius:8px;background:#edf6fb;color:#176489;font-size:.78rem;font-weight:900;letter-spacing:.04em}
.policy-shell .rule-item-v15 h2{margin:0 0 9px;color:#102f46;font-size:1.24rem;line-height:1.35;letter-spacing:-.02em}
.rule-item-v15 p{margin:0;color:#526a79;font-size:.97rem;line-height:1.7}
.rules-bottom-note-v15{display:grid;grid-template-columns:1fr auto;column-gap:24px;row-gap:5px;align-items:center;margin-top:4px;padding:24px 26px;border:1px solid #d8e5eb;border-radius:15px;background:#f7fafc}
.rules-bottom-note-v15 strong{color:#173e58;font-size:1.02rem}
.rules-bottom-note-v15 span{grid-column:1;color:#5d7482;font-size:.9rem;line-height:1.55}
.rules-bottom-note-v15 .btn{grid-column:2;grid-row:1/3;white-space:nowrap}
@media(max-width:760px){
  .trust-page:has(.contractor-rules-v15) .compact-page-hero{padding:38px 0 34px}
  .trust-page:has(.contractor-rules-v15) .compact-page-hero h1{font-size:2.55rem}
  .trust-page:has(.contractor-rules-v15) .compact-page-hero p{font-size:1rem}
  .trust-page:has(.contractor-rules-v15) .policy-shell{padding-top:28px;padding-bottom:60px}
  .rules-version-v15{align-items:flex-start;flex-direction:column;gap:10px;padding:17px}
  .rules-summary-v15{grid-template-columns:1fr}
  .rules-intro-v15{padding:24px 22px}
  .policy-shell .rules-intro-v15 h2{font-size:1.3rem}
  .rule-item-v15{grid-template-columns:42px 1fr;gap:14px;padding:24px 0}
  .rule-number-v15{width:38px;height:30px}
  .policy-shell .rule-item-v15 h2{font-size:1.08rem}
  .rule-item-v15 p{font-size:.92rem}
  .rules-bottom-note-v15{grid-template-columns:1fr;padding:20px}
  .rules-bottom-note-v15 span,.rules-bottom-note-v15 .btn{grid-column:1;grid-row:auto}
  .rules-bottom-note-v15 .btn{margin-top:10px;justify-self:start}
}


/* v1.6 — contractor application rules access */
.contractor-rules-read-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0 4px}
.contractor-rules-read-btn{min-height:46px;padding:11px 16px;border-color:#b9d1df;background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(15,41,66,.06)}
.contractor-rules-read-btn:hover{border-color:#82afc8;background:#f8fbfd}
.contractor-rules-read-note{max-width:430px;color:#627887;font-size:.88rem;line-height:1.45}
.contractor-rules-attestation{margin-top:16px!important;background:#fbfdfe!important}
.contractor-rules-attestation>span{display:grid;gap:4px}
.contractor-rules-attestation strong{color:#173b57;font-size:.98rem}
.contractor-rules-attestation small{display:block;color:#607684;font-size:.84rem;font-weight:550;line-height:1.5}
@media(max-width:680px){.contractor-rules-read-row{display:grid;gap:8px}.contractor-rules-read-btn{width:100%}.contractor-rules-read-note{text-align:center;font-size:.82rem}}

/* v1.7 — contractor pricing and terminology clarity */
.contractor-pricing-card-v17{padding:24px}
.contractor-pricing-head-v17{padding-bottom:18px;border-bottom:1px solid #dce8ee}
.contractor-pricing-head-v17 h3{margin:6px 0 8px;font-size:1.45rem;letter-spacing:-.025em;color:var(--navy)}
.contractor-pricing-head-v17 p{margin:0;color:#5d7280;line-height:1.55;font-size:.92rem}
.contractor-pricing-list-v17{display:grid;gap:12px;margin-top:16px}
.contractor-pricing-item-v17{padding:16px;border:1px solid #dce8ee;border-radius:14px;background:#fff}
.contractor-pricing-item-v17.premium{background:#fbf9ff;border-color:#e3daf2}
.contractor-pricing-title-v17{display:block}.contractor-pricing-title-v17 strong{display:block}.contractor-pricing-title-v17>span{display:block;margin-top:5px}
.contractor-pricing-title-v17 strong{color:#153b54;font-size:.98rem;line-height:1.3}
.contractor-pricing-title-v17 strong em{display:inline-block;margin-left:5px;font-style:normal;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:#76569a;background:#f1eafb;border-radius:999px;padding:3px 7px;vertical-align:1px}
.contractor-pricing-title-v17>span{color:#087b73;font-size:.82rem;font-weight:850}
.contractor-pricing-item-v17.premium .contractor-pricing-title-v17>span{color:#6c4b92}
.contractor-pricing-item-v17 p{margin:9px 0 0;color:#5c7180;font-size:.86rem;line-height:1.55}
.contractor-pricing-control-v17{margin:16px 0 18px;padding:14px 15px;border-radius:13px;background:#eef8f8;border:1px solid #d4e9e7}
.contractor-pricing-control-v17 strong{display:block;color:#155b58;font-size:.9rem}
.contractor-pricing-control-v17 p{margin:5px 0 0;color:#57726f;font-size:.82rem;line-height:1.5}
@media(max-width:680px){.contractor-pricing-card-v17{padding:18px}.contractor-pricing-head-v17 h3{font-size:1.3rem}.contractor-pricing-item-v17{padding:14px}}


/* ===== v1.14 Homeowner launch-readiness polish ===== */
.lead-review-v114{margin-top:24px;padding:20px;border:1px solid #d7e5ec;border-radius:18px;background:#f8fbfd}
.lead-review-head-v114{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.lead-review-head-v114 h3{margin:5px 0 4px;color:#123951;font-size:1.18rem;letter-spacing:-.018em}
.lead-review-head-v114 p{margin:0;color:#657a87;font-size:.84rem;line-height:1.5}
.lead-review-grid-v114{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.lead-review-grid-v114>div{position:relative;min-height:76px;padding:13px 54px 13px 14px;border:1px solid #e0e9ee;border-radius:13px;background:#fff}
.lead-review-grid-v114 span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#738692;font-weight:850}
.lead-review-grid-v114 strong{display:block;margin-top:5px;color:#193f59;font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
.lead-review-grid-v114 button{position:absolute;right:11px;top:12px;padding:0;border:0;background:transparent;color:#1d6fa5;font:inherit;font-size:.73rem;font-weight:850;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.lead-review-grid-v114 button:hover{color:#124f78}
.status-timing-v114{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid #dce8ee;border-radius:16px;background:#f8fbfd;color:#607784}
.status-timing-v114 strong{flex:0 0 auto;color:#173e58}
.status-timing-v114 span{line-height:1.55;font-size:.85rem}
@media(min-width:981px){
  .home-v423 .hm-hero{padding:58px 0 42px}
  .home-v423 .hm-hero-grid{gap:56px;align-items:start}
  .home-v423 .hm-hero h1{font-size:clamp(3rem,5.6vw,5.15rem);margin:14px 0 16px}
  .home-v423 .hm-homeowner-commitment-v13{gap:8px;margin-bottom:16px}
  .home-v423 .hm-homeowner-commitment-item-v13{padding:12px 14px}
  .home-v423 .hm-hero-lede{font-size:1.08rem!important;line-height:1.55}
  .home-v423 .hm-promise-row{margin-top:18px}
  .home-v423 .hm-hero-actions{margin-top:20px}
  .home-v423 .hm-trust-panel{padding:26px}
  .home-v423 .hm-trust-item{padding:16px 0}
}
@media(max-width:680px){
  .lead-review-v114{padding:16px;margin-top:20px}
  .lead-review-grid-v114{grid-template-columns:1fr}
  .status-timing-v114{display:grid;gap:5px}
}
