:root{--blue:#0d63d8;--blue2:#1595ff;--dark:#10131a;--ink:#0f172a;--text:#344054;--muted:#667085;--line:#e5eaf2;--soft:#f6f9ff;--white:#fff;--footer:#0b0f14;--gold:#f6b800}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}.site-header{position:sticky;top:0;z-index:50;height:108px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.6vw}.brand img{height:96px;width:96px;object-fit:contain}nav{display:flex;gap:34px;font-weight:900;font-size:16px;color:#101828}.header-actions{display:flex;align-items:center;gap:18px}.phone{font-weight:950;color:var(--blue);line-height:1.05;font-size:18px}.phone span{display:block;font-size:13px;color:#344054;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:15px 24px;font-weight:950;transition:.2s;border:0}.btn:hover{transform:translateY(-1px)}.btn.small{padding:13px 22px}.primary{background:var(--blue);color:#fff;box-shadow:0 16px 32px rgba(13,99,216,.25)}.secondary{background:#fff;color:var(--blue);border:1px solid #a9c8ff;box-shadow:0 12px 24px rgba(15,23,42,.06)}.light{background:#fff;color:var(--blue)}.outline-light{border:1px solid rgba(255,255,255,.65);color:#fff}.hero{position:relative;min-height:860px;background:#f6fbff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.hero::before{content:'';position:absolute;inset:0;background-image:url('assets/hero-wide.png');background-size:cover;background-position:center center;background-repeat:no-repeat;z-index:0}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 33%,rgba(255,255,255,.55) 49%,rgba(255,255,255,.08) 67%,rgba(255,255,255,0) 100%)}
.hero:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.12) 16%,rgba(255,255,255,0) 74%,rgba(255,255,255,.48) 100%);pointer-events:none}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;gap:30px;align-items:end;width:100%;padding:86px 4.6vw 34px}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:2.4px;color:var(--blue);font-size:15px;font-weight:950}.hero h1{font-size:clamp(46px,5.35vw,76px);line-height:1.03;margin:0 0 22px;letter-spacing:-2.6px;max-width:860px}.hero h1 span{display:block;color:var(--blue)}.lead{font-size:22px;color:#1f2937;max-width:670px;margin:0;line-height:1.55}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin:34px 0 42px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:840px}.stat{background:rgba(255,255,255,.96);border:1px solid rgba(215,226,242,.95);border-radius:15px;padding:19px 14px;text-align:center;box-shadow:0 18px 44px rgba(15,23,42,.10);min-height:134px;display:flex;align-items:center;justify-content:center;flex-direction:column}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#eaf2ff;color:var(--blue);font-size:24px;margin-bottom:10px}.stat strong{display:block;font-size:25px;line-height:1.1}.stat small{display:block;color:#26354f;font-weight:800;font-size:13.5px;line-height:1.35}.stat em{font-style:normal;color:var(--gold);letter-spacing:2px}.review-float{justify-self:end;align-self:end;width:min(455px,100%);background:rgba(255,255,255,.97);border:1px solid rgba(218,226,238,.95);box-shadow:0 28px 60px rgba(15,23,42,.16);border-radius:18px;padding:29px;position:relative;margin-bottom:0}.stars{color:var(--gold);font-size:23px;letter-spacing:3px}.review-float p{font-size:17.5px;line-height:1.55;margin:16px 0;color:#1f2937}.review-float strong{color:var(--blue);font-size:16px}.review-float .g{position:absolute;right:26px;bottom:22px;width:38px;height:38px;border-radius:50%;background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:950}.promise-bar{position:relative;z-index:3;margin:0 4.6vw 34px;background:linear-gradient(90deg,#005bd3,#0078ed);border-radius:8px;padding:26px 36px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;box-shadow:0 22px 50px rgba(13,99,216,.25);color:#fff}.promise-bar div{display:grid;grid-template-columns:62px 1fr;column-gap:12px;align-items:center;border-right:1px solid rgba(255,255,255,.22)}.promise-bar div:last-child{border-right:0}.promise-bar span{grid-row:1/3;font-size:38px;line-height:1}.promise-bar strong{font-size:18px;line-height:1.2}.promise-bar small{opacity:.92;font-size:14px;font-weight:600}
.section{padding:86px 6vw}.centered{text-align:center}.section-head{max-width:870px;margin:0 auto 44px}.section-head h2,.team h2,.areas h2{font-size:clamp(32px,4vw,52px);line-height:1.08;margin:0 0 12px;letter-spacing:-1.3px}.section-head p,.areas p{font-size:18px;color:var(--muted)}.big{font-size:26px}.reviews{background:linear-gradient(180deg,#f3f8ff,#fff)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1160px;margin:0 auto 34px}.review-grid blockquote{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 18px 38px rgba(15,23,42,.07)}.avatar{width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;margin-bottom:13px}.review-grid cite{display:block;font-style:normal;font-weight:950;font-size:18px}.review-grid span{color:var(--gold);letter-spacing:2px}.review-grid p{color:#344054;font-size:17px}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 20px;text-align:center;box-shadow:0 14px 35px rgba(15,23,42,.04)}.service-card .icon{margin:0 auto 16px;width:54px;height:54px;border:2px solid var(--blue);border-radius:14px;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900}.service-card h3{font-size:19px;line-height:1.15;margin:0 0 12px}.service-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.service-card a{color:var(--blue);font-weight:900;font-size:14px}.team{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;background:#f8fbff}.team-card{background:#fff;border:1px solid var(--line);border-radius:22px;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 28px 60px rgba(15,23,42,.08);padding:35px}.team-card img{max-width:280px;width:70%;filter:drop-shadow(0 20px 35px rgba(15,23,42,.16))}.team-card h3{font-size:26px;margin:20px 0 8px}.team-card p{max-width:430px;color:var(--muted);font-weight:700}.team-copy p{font-size:18px;color:var(--muted)}.check-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:17px}.check-list li{position:relative;padding-left:40px}.check-list li:before{content:'✓';position:absolute;left:0;top:2px;width:24px;height:24px;border:2px solid var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);font-weight:950}.check-list strong{display:block;font-size:18px}.check-list span{color:var(--muted)}.areas{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center}.area-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.area-list li{font-weight:900;color:#1a2b4f}.area-list li:before{content:'✓';color:#fff;background:var(--blue);border-radius:50%;font-size:11px;padding:2px 5px;margin-right:8px}.map-card{height:380px;border:1px solid #d7e4f6;border-radius:18px;background:linear-gradient(45deg,#eaf5ff 25%,transparent 25%),linear-gradient(-45deg,#eaf5ff 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eaf5ff 75%),linear-gradient(-45deg,transparent 75%,#eaf5ff 75%);background-size:42px 42px;background-position:0 0,0 21px,21px -21px,-21px 0;background-color:#f8fbff;position:relative;overflow:hidden}.map-circle{position:absolute;inset:50px 110px;border-radius:50%;background:rgba(13,99,216,.12);border:1px solid rgba(13,99,216,.18)}.pin{position:absolute;background:#fff;color:var(--blue);font-weight:950;border:1px solid #cfe0ff;border-radius:999px;padding:8px 12px;box-shadow:0 12px 25px rgba(15,23,42,.08)}.watertown{top:120px;left:44%}.sioux{bottom:92px;left:48%}.brookings{top:172px;left:53%}.milbank{top:82px;left:25%}.cta{background:linear-gradient(90deg,#0066e6,#168fff);color:#fff;padding:32px 6vw;display:flex;align-items:center;justify-content:space-between;gap:18px}.cta strong{font-size:26px;display:block}.cta span{opacity:.9}footer{background:var(--footer);color:#cbd5e1;padding:54px 6vw;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}footer img{width:110px}footer h4{color:#fff;margin:0 0 13px}footer a,footer span{display:block;color:#cbd5e1;margin:7px 0}.mobile-call{display:none}@media(max-width:1180px){.hero-inner{grid-template-columns:1fr}.review-float{justify-self:start}.stat-grid,.promise-bar{grid-template-columns:repeat(2,1fr)}.promise-bar div:nth-child(2){border-right:0}.promise-bar div{padding:10px 0}.service-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.site-header{height:auto;padding:12px 5vw}.brand img{height:74px;width:74px}nav{display:none}.header-actions .phone{display:none}.hero{min-height:auto;background-size:auto 72%;background-position:center bottom}.hero-shade{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.74))}.hero-inner{padding-top:70px}.hero h1{letter-spacing:-1.4px}.stat-grid,.promise-bar,.team,.areas{grid-template-columns:1fr}.promise-bar div{border-right:0;border-bottom:1px solid rgba(255,255,255,.22);padding:12px 0}.promise-bar div:last-child{border-bottom:0}.review-grid{grid-template-columns:1fr}.cta{flex-direction:column;text-align:center}footer{grid-template-columns:1fr 1fr}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--blue);text-align:center}.mobile-call a{display:block;color:#fff;font-weight:950;padding:14px}}@media(max-width:620px){.section{padding:64px 5vw}.hero-inner{padding:48px 5vw 24px}.hero-actions{flex-direction:column}.service-grid,.area-list{grid-template-columns:1fr}.review-float{padding:22px}.promise-bar{margin:0 5vw 28px;padding:22px}.hero h1{font-size:42px}.lead{font-size:19px}footer{grid-template-columns:1fr;padding-bottom:80px}}

.photo-card{padding:0;overflow:hidden;align-items:flex-start;text-align:left;min-height:440px}
.photo-card img{width:100%;height:300px;object-fit:cover;object-position:center;max-width:none;filter:none}
.photo-card h3,.photo-card p{padding-left:30px;padding-right:30px}
.photo-card p{padding-bottom:30px}
.local-seo{background:#fff}
.seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1240px;margin:0 auto}
.seo-grid article{background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 14px 32px rgba(15,23,42,.05)}
.seo-grid h3{font-size:21px;line-height:1.18;margin:0 0 12px;color:#0f172a}
.seo-grid p{color:#475467;margin:0;line-height:1.65;font-size:16px}
@media(max-width:1180px){.seo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hero::before{background-position:62% center}.photo-card img{height:240px}}
@media(max-width:620px){.seo-grid{grid-template-columns:1fr}.hero::before{background-position:62% center}.hero{min-height:760px}}


/* Mobile-only conversion layout fixes: desktop remains unchanged */
.mobile-hero-photo{display:none}
@media(max-width:900px){
  .site-header{height:auto;min-height:96px;padding:10px 5vw;gap:12px;background:#fff;position:sticky;top:0}
  .brand img{height:86px;width:86px;object-fit:contain}
  .header-actions{margin-left:auto}
  .header-actions .btn.small{padding:13px 18px;font-size:16px;border-radius:10px;white-space:nowrap}
  .hero{min-height:auto;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);display:block;overflow:visible}
  .hero::before,.hero:after,.hero-shade{display:none!important}
  .hero-inner{display:flex;flex-direction:column;gap:24px;padding:28px 5vw 22px!important;align-items:stretch}
  .mobile-hero-photo{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:68% center;border-radius:20px;box-shadow:0 18px 42px rgba(15,23,42,.13);border:1px solid #e3edf8;background:#eef6ff}
  .hero-copy{order:2;width:100%}
  .eyebrow{font-size:13px;letter-spacing:2.2px;margin-bottom:12px}
  .hero h1{font-size:clamp(37px,10vw,46px)!important;line-height:1.06;letter-spacing:-1.3px;margin-bottom:18px;max-width:100%}
  .hero h1 span{display:inline;color:var(--blue)}
  .lead{font-size:18px;line-height:1.55;max-width:100%}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:13px;margin:24px 0 24px}
  .hero-actions .btn{width:100%;min-height:56px;font-size:18px;border-radius:12px}
  .stat-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px;max-width:none;margin-top:4px}
  .stat{min-height:112px;padding:14px 10px;border-radius:16px;box-shadow:0 12px 28px rgba(15,23,42,.08)}
  .stat-icon{width:42px;height:42px;font-size:21px;margin-bottom:7px}
  .stat strong{font-size:21px;line-height:1.1}
  .stat small{font-size:12.5px}
  .review-float{display:none}
  .promise-bar{display:none}
  .mobile-call{display:none!important}
  .reviews{padding-top:54px}
}
@media(max-width:620px){
  .site-header{min-height:92px}
  .brand img{height:78px;width:78px}
  .header-actions .btn.small{padding:12px 16px;font-size:15px}
  .mobile-hero-photo{aspect-ratio:16/11;object-position:68% center;border-radius:18px}
  .section{padding:58px 5vw}
  .hero-inner{padding-top:22px!important}
  .hero h1{font-size:40px!important}
  .lead{font-size:18px}
}
@media(max-width:390px){
  .hero h1{font-size:36px!important}
  .header-actions .btn.small{font-size:14px;padding:11px 13px}
  .brand img{height:72px;width:72px}
}


/* Dedicated service pages */
.service-hero-page{background:linear-gradient(135deg,#f4f9ff 0%,#fff 60%);padding:96px 6vw 70px;border-bottom:1px solid var(--line)}
.service-hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.service-hero-page h1{font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-2px;margin:0 0 20px;color:#0f172a}
.service-badge-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 22px 55px rgba(15,23,42,.08);text-align:center}
.service-page-icon{width:76px;height:76px;border-radius:20px;border:2px solid var(--blue);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:38px;margin:0 auto 18px;font-weight:950}
.issue-grid{max-width:1120px;margin:0 auto 34px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.issue-grid li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;font-weight:900;box-shadow:0 12px 26px rgba(15,23,42,.04)}
.issue-grid li:before{content:'✓';color:#fff;background:var(--blue);border-radius:50%;font-size:12px;padding:2px 6px;margin-right:10px}
.service-detail-grid{margin-top:26px}
.local-strip{background:#f8fbff}
.area-chips{max-width:980px;margin:0 auto;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.area-chips span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-weight:900;color:#1a2b4f}
@media(max-width:900px){.service-hero-inner{grid-template-columns:1fr}.service-hero-page{padding:58px 5vw 48px}.service-hero-page h1{font-size:42px}.issue-grid{grid-template-columns:1fr}.service-badge-card{padding:26px}.service-detail-grid{grid-template-columns:1fr!important}}


/* City service pages */
.city-pages{background:#fff}.city-pages a{color:var(--blue)}.city-hero-page{background:linear-gradient(135deg,#eef7ff 0%,#fff 65%)}
.local-list{margin:0;padding-left:20px;color:#475467;font-weight:800;line-height:1.9}.city-service-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1180px){.city-service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.city-service-grid{grid-template-columns:1fr}.local-list{font-size:15px}.site-header nav{display:none!important}}

/* Visible city-page dropdown */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown>a{font-weight:900}
.dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 45px rgba(15,23,42,.14);padding:10px;display:none;z-index:100}
.dropdown-menu a{display:block;padding:10px 12px;border-radius:9px;color:#101828;font-size:14px;white-space:nowrap}
.dropdown-menu a:hover{background:#f3f8ff;color:var(--blue)}
.nav-dropdown:hover .dropdown-menu{display:block}
.area-list a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.nav-dropdown{display:none}}
