*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--teal);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #bc4b08;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5.1vw,4.2rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:24px}h2{font-size:1.7rem;line-height:1.2}h3{line-height:1.35}p{overflow-wrap:anywhere}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.site-header{background:white;border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}.brand{font-size:2rem;font-weight:900;letter-spacing:-2px;text-decoration:none;color:var(--navy);line-height:1.1}.brand small{display:block;font-size:.68rem;font-weight:600;letter-spacing:.02em;margin-top:5px}.brand-dot{color:var(--teal)}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}nav>a{font-weight:650;text-decoration:none}button{border:0}.inline{display:inline-flex;align-items:center;margin:0}.link-button{background:none;color:var(--teal);padding:10px 4px;text-decoration:underline}.locale-switch{gap:2px}.locale-switch button{padding:10px;background:#edf2f5;color:var(--navy);min-height:44px}.locale-switch [aria-pressed=true]{background:var(--navy);color:white}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center;padding:80px 0 52px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:800;color:var(--teal);margin-bottom:20px}.lead{font-size:1.1rem;color:var(--muted);max-width:540px}.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-block:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:14px 24px;background:var(--navy);color:white;border:1px solid var(--navy);border-radius:10px;text-decoration:none;font-weight:750;line-height:1.35}.button:hover{background:#204766}.button.secondary{background:white;color:var(--navy);border-color:var(--line)}.button.small{min-height:44px;padding:10px 16px;font-size:.9rem}.full{width:100%;margin-top:24px}.hero-art{height:360px;position:relative;overflow:hidden;border-radius:28px;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white}.hero-art>span{font-size:5rem;font-weight:900;letter-spacing:-6px;z-index:1}.hero-art .brand-dot{color:var(--bright)}.hero-art p{color:var(--bright);letter-spacing:.3em;font-size:.85rem}.circuit{position:absolute;width:300px;height:300px;border:1px solid #ffffff20;border-radius:50%;transform:rotate(-25deg)}.circuit:before,.circuit:after{content:"";position:absolute;inset:35px;border:16px solid #22e3ca18;border-radius:30px}.circuit:after{inset:90px -100px;border:1px solid #22e3ca60}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;margin-bottom:24px;min-width:0;overflow-wrap:anywhere}.service{position:relative;padding:32px}.number{display:block;color:var(--teal);font-size:1rem;font-weight:800;margin-bottom:32px}.orange{color:#ac480c}.service p{color:var(--muted)}.service a{font-weight:750}.how{padding:48px 0 72px}.how>h2{margin-bottom:32px}.step-number{display:inline-grid;place-items:center;width:42px;height:42px;background:#d7f6ee;color:var(--teal);border-radius:50%;font-weight:800;margin-bottom:16px}.how p{color:var(--muted)}footer{padding:32px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}footer strong{font-size:1.3rem;color:var(--navy)}footer p{margin:8px 0}.form-shell{max-width:780px;margin:48px auto 72px;background:white;padding:40px;border:1px solid var(--line);border-radius:18px}.form-shell.narrow{max-width:530px}.form-shell h1{font-size:2.3rem}.form-shell h2{font-size:1.1rem}label{display:block;font-weight:650;margin:22px 0 7px}input,select,textarea{display:block;width:100%;min-width:0;min-height:50px;border:1px solid #8599ac;border-radius:8px;background:white;color:var(--navy);padding:12px}textarea{resize:vertical}input[type=file]{font-size:.9rem}input[aria-invalid=true],select[aria-invalid=true]{border:2px solid #a62c16}.hint{font-size:.88rem;color:var(--muted);margin:8px 0 16px}.alert{background:#fff1e9;border-left:4px solid #b84d18;padding:18px;margin:24px 0}.alert a{color:#8d2e0b}.alert ul{padding-left:20px;margin-bottom:0}.success{padding:15px;background:#def9ee;color:#115e41}fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;margin:24px 0;padding:20px}legend{font-weight:800;padding:0 8px}fieldset label:first-of-type{margin-top:6px}.page-heading{padding:48px 0 24px}.page-heading h1{font-size:2.8rem;margin-top:12px}.badge{display:inline-block;padding:5px 12px;border-radius:6px;background:#def4ef;color:#155d52;font-size:.85rem;font-weight:750}.empty{padding:50px;text-align:center;color:var(--muted)}dl{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px 24px}dt{font-weight:750}dd{margin:0;overflow-wrap:anywhere}.preserve{white-space:pre-wrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px}.photo-grid img{width:100%;height:160px;object-fit:cover;border-radius:10px}.notice{padding:20px;background:#edf6fa}.history{padding-left:22px}.history li{margin:12px 0}.history time{color:var(--muted);padding-left:12px;font-size:.9rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:12px;border-bottom:1px solid var(--line)}.skip{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:3}.skip:focus{top:8px}.wizard-controls{display:flex;gap:12px;align-items:center;justify-content:space-between}.wizard-controls span{font-weight:700}[hidden]{display:none!important}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:32px;padding-top:48px}.hero-art{height:220px}.hero-art>span{font-size:4rem}.header-row{align-items:flex-start}.grid.three{grid-template-columns:1fr}.how{padding-top:24px}.form-shell{padding:26px}.header-row nav{gap:10px;justify-content:flex-end}.brand small{max-width:130px;line-height:1.4}}@media(max-width:520px){.container{width:calc(100% - 32px)}.header-row{flex-direction:column;gap:16px}.header-row nav{justify-content:flex-start;gap:12px}.brand small{display:none}.hero{padding-top:36px}.hero-art{height:180px}.grid{grid-template-columns:1fr;gap:0}.hero h1{font-size:2.5rem}.actions>.button{width:100%}.form-shell{padding:20px;margin-top:24px}.form-shell h1{font-size:1.9rem}.card{padding:22px}fieldset{padding:14px}.page-heading h1{font-size:2.2rem}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:14px}.wizard-controls .button{padding:12px 18px}.how{padding-bottom:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Lifecycle controls remain regular HTML forms and work without JavaScript. */
.workflow-panel { border-top: 5px solid var(--teal); }
.offer-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.price { font-size: 1.8rem; color: var(--navy); }
.offer-card { border-top: 4px solid var(--bright); }
.offer-card h3 { margin-top: 20px; }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 12px; margin-bottom: 28px; }
.stat-card { border-radius: 14px; background: var(--navy); color: white; padding: 20px; display: flex; flex-direction: column; }
.stat-card strong { color: var(--bright); font-size: 2rem; }
.disputes { border-left: 5px solid var(--orange); }
.disputes a { display: inline-block; padding: 8px 0; }
.offer-list { list-style: none; padding: 0; }
.offer-list li { display: flex; flex-wrap: wrap; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.history li { overflow-wrap: anywhere; }
.history li p { font-size: .9rem; margin: 4px 0; }
@media (max-width: 520px) { .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stat-card { padding: 14px; } }
.badge[data-status="disputed"] { background: #fff0e2; color: #8a3700; }
.badge[data-status="in_progress"] { background: #d8f8ff; color: #064e64; }
.badge[data-status="cancelled"] { background: #f2e7e7; color: #7d2626; }
.badge[data-status="completed"] { background: #d9f7e6; color: #145632; }

/* Mobile MVP: compact navigation, readable inbox and large touch targets. */
.unread-count { display: inline-flex; min-width: 26px; min-height: 26px; align-items: center; justify-content: center; padding: 1px 7px; border-radius: 20px; background: var(--bright); color: var(--navy); font-size: .8rem; font-weight: 850; }
.notification-list { list-style: none; padding: 0; margin: 0; }
.notification { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding: 22px 8px; border-bottom: 1px solid var(--line); }
.notification.unread { border-left: 4px solid var(--teal); padding-left: 16px; background: #f0fbf8; }
.notification p { margin: 5px 0; }.notification time { color: var(--muted); font-size: .85rem; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 18px; flex-wrap: wrap; margin: 30px 0 50px; }
.admin-nav { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }.admin-nav [aria-current=page] { background: var(--navy); color: white; }
.admin-records { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; align-items: start; }
summary { cursor: pointer; padding: 12px 0; min-height: 48px; font-weight: 750; overflow-wrap: anywhere; }
.delete-record { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 12px; }.delete-record input[type=checkbox] { width: 28px; min-height: 28px; margin: 12px 0; accent-color: var(--teal); }
.button.danger { background: #943b27; color: white; border-color: #943b27; }.edit-offer { margin-top: 24px; border-top: 1px solid var(--line); }
.pwa-controls { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }.pwa-controls p:empty { display: none; }
.header-row nav { max-width: 830px; }.site-header .header-row { flex-wrap: wrap; }
@media(max-width:768px) { .admin-records { grid-template-columns: 1fr; }.notification { flex-direction: column; }.header-row nav { justify-content: flex-start; gap: 12px; }.header-row { gap: 18px; } }
@media(max-width:390px) { .card { padding: 18px; }.form-shell { padding: 16px; }.notification.unread { padding-left: 10px; }.pagination .button { padding: 12px 18px; } }

/* Long Ukrainian/Russian headings must not widen a 320px mobile viewport. */
h1 { overflow-wrap: anywhere; hyphens: auto; }

/* EKSK Modern 2.0. Shared tokens; no external fonts, filters or libraries. */
:root {
  --blue:#087FE8; --navy:#07558B; --orange:#FF790F; --ice:#EAF6FF;
  --white:#FFFFFF; --ink:#103D60; --muted:#315975; --line:#C8DFEF; --control-line:#6C8CA5;
  --teal:#066FC6; --bright:#C8EDFF; --paper:#F6FAFE;
  --radius-card:20px; --radius-control:12px;
  --shadow-card:0 8px 28px #07558b0d; --shadow-raised:0 20px 48px #032e6129;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-5:48px;
}
body { background:var(--paper);color:var(--ink); }
.container { width:min(1200px,calc(100% - 48px)); }
h1,h2,h3 { color:var(--navy);text-wrap:balance; }
h1 { hyphens:none;overflow-wrap:normal; }
h2 { font-size:clamp(1.7rem,2.6vw,2.25rem);letter-spacing:-.035em; }
h3 { font-size:1.12rem;letter-spacing:-.015em; }
a { color:var(--teal); }
a:hover { color:var(--navy); }
:focus-visible { outline:3px solid var(--navy);outline-offset:4px; }
#main:focus-visible { outline:none; }
.brand { font-size:2.15rem;color:var(--navy);letter-spacing:-.085em; }
.brand-dot { color:var(--orange); }
.site-header { background:white;border-bottom:1px solid var(--line); }
.site-header .header-row { padding-block:12px;gap:20px;flex-wrap:nowrap; }
.header-row nav { max-width:none;gap:16px;justify-content:flex-end; }
.main-nav>a { display:inline-flex;align-items:center;min-height:44px;font-size:.88rem; }
.main-nav .masters-link { background:var(--navy);border-color:var(--navy);padding:12px 18px;min-height:48px;box-shadow:none; }
.main-nav .masters-link:hover { background:#043D68; }
.locale-switch { background:var(--ice);border-radius:var(--radius-control);padding:3px; }
.locale-switch button { color:var(--navy);background:transparent;min-height:44px;min-width:44px;padding:8px;border-radius:9px;font-weight:750; }
.locale-switch [aria-pressed=true] { background:var(--navy);color:white; }
.link-button { min-height:44px; }
.button { border-radius:var(--radius-control);background:var(--teal);border-color:var(--teal);box-shadow:0 4px 10px #07558b12; }
.button:hover { background:var(--navy);color:white;border-color:var(--navy); }
.button:active { transform:translateY(1px); }
.button.secondary { background:white;color:var(--navy);box-shadow:none;border-color:var(--line); }
.button.secondary:hover { background:var(--ice);border-color:var(--teal); }
input,select,textarea { border-radius:var(--radius-control);border-color:var(--control-line);min-height:50px;color:var(--ink); }
input::placeholder,textarea::placeholder { color:#486D87;opacity:1; }
input:focus,select:focus,textarea:focus { border-color:var(--teal); }
.card,.form-shell { border-color:var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card); }
.form-shell { margin-block:32px 48px; }
.page-heading { padding-block:32px 20px; }
.badge { border-radius:8px; }
.eyebrow { color:var(--teal);font-size:.72rem;font-weight:800;letter-spacing:.11em;margin-bottom:12px; }
#main { min-height:55vh; }
/* First screen: vivid backdrop, comfortable form, no decorative DOM. */
.order-hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:42px;align-items:center;padding:32px;position:relative;isolation:isolate;margin:20px -16px 12px; }
.order-hero::before { content:"";position:absolute;inset:0;z-index:-1;border-radius:24px;background:linear-gradient(90deg,#043D68AA,transparent 75%),radial-gradient(ellipse at 6% 10%,#58bdff40,transparent 58%),linear-gradient(125deg,#07558B 0%,#087FE8 67%,#45ACF3 100%); }
.order-hero::after { content:"";position:absolute;z-index:-1;pointer-events:none;right:8%;top:16px;width:180px;height:180px;border-radius:36px;border:1px solid #ffffff25;transform:rotate(25deg); }
.hero-copy { min-width:0; }
.hero-copy h1 { color:white;font-size:clamp(2.4rem,4.15vw,3.65rem);line-height:1.06;letter-spacing:-.045em;margin-bottom:20px;max-width:580px; }
.hero-copy .eyebrow { color:#E1F3FF; }
.hero-description { color:white;font-size:1rem;line-height:1.65;margin-bottom:24px;max-width:540px; }
.category-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin:0;gap:12px;border:0; }
.category-choices .category-choice { margin:0;display:flex;align-items:center;gap:12px;padding:20px 16px;min-height:110px;position:relative;border:2px solid transparent;border-radius:16px;background:white;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .16s ease; }
.category-choice:hover { transform:translateY(-2px); }
.category-choice:has(:checked) { border-color:#063E71;background:#D9F0FF;box-shadow:0 0 0 3px #ffffff66; }
.category-electrical:has(:checked) { border-color:#B64B00;background:#FFF0DF; }
.category-choice:has(:focus-visible) { outline:3px solid white;outline-offset:4px; }
.category-choice input { position:absolute;top:8px;right:8px;width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:var(--teal); }
.category-electrical input { accent-color:#B64B00; }
.category-choice strong { display:block;color:var(--navy);font-size:1.13rem; }
.category-choice small { display:block;color:var(--muted);font-size:.72rem;line-height:1.5;margin-top:6px; }
.service-icon { width:44px;height:44px;flex:0 0 44px;display:block;color:var(--blue); }
.category-electrical .service-icon,.popular-electrical .service-icon { color:#C65000; }
.hero-assurances { display:flex;flex-wrap:wrap;gap:10px 20px;font-size:.8rem;color:white;margin-top:20px; }
.hero-assurances span { display:flex;gap:8px;align-items:center; }.hero-assurances i { font-style:normal;font-weight:900; }
.quick-panel { background:white;padding:var(--space-3);border:1px solid #ffffff;border-radius:var(--radius-card);box-shadow:var(--shadow-raised);min-width:0; }
.quick-heading { display:flex;gap:12px;align-items:center;margin-bottom:12px; }.quick-heading h2 { font-size:1.38rem;letter-spacing:-.025em;margin:0 0 3px; }.quick-heading p { font-size:.83rem;color:var(--muted);margin:0; }
.quick-symbol { display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;background:var(--ice);color:var(--teal);border-radius:12px;font-size:1.8rem;font-weight:800; }
.quick-panel label { font-size:.85rem;margin:12px 0 5px; }.quick-panel input,.quick-panel select,.quick-panel textarea { background:#FBFDFF;font-size:1rem;padding:10px 12px; }
.quick-panel textarea { min-height:70px; }.quick-panel .hint { color:var(--muted);font-size:.75rem;line-height:1.5;margin:6px 0 10px; }
.two-field-row { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.two-field-row>div { min-width:0; }
.extra-fields { margin:12px 0; border-top:1px solid var(--line); }.extra-fields summary { color:var(--navy);font-size:.8rem;min-height:44px;padding:12px 0; }
.quick-panel .find-master,.customer-bottom .button,.masters-hero .button { background:var(--orange);color:#08344F;border-color:var(--orange);box-shadow:0 8px 20px #ff790f30;min-height:54px; }
.quick-panel .find-master { width:100%;justify-content:space-between;font-size:1rem;padding:14px 18px; }
.quick-panel .find-master:hover,.customer-bottom .button:hover,.masters-hero .button:hover { background:#FF922F;border-color:#FF922F;color:#08344F; }
.quick-panel .find-master:active,.masters-hero .button:active { background:#F36B00; }
.quick-privacy { color:var(--muted);font-size:.7rem;line-height:1.5;text-align:center;margin:10px 0 0; }
.bot-field { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
/* Compact, intentional rhythm; equal-height cards and clear groups. */
.customer-section { padding:var(--space-4) 0; }.section-heading { display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:20px; }.section-heading h2 { margin-bottom:0; }.section-heading>p { max-width:380px;margin-bottom:0;color:var(--muted);font-size:.9rem; }
.popular-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }.popular-card { padding:26px;background:white;border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border-top:4px solid var(--blue); }
.popular-electrical { border-top-color:var(--orange); }.popular-title { display:flex;gap:14px;align-items:center;margin-bottom:16px; }.popular-title h3 { font-size:1.4rem;margin:0; }.popular-title .service-icon { padding:6px;width:48px;height:48px;flex-basis:48px;background:var(--ice);border-radius:12px; }.popular-electrical .service-icon { background:#FFF0DF; }
.service-links { display:grid;grid-template-columns:1fr 1fr;gap:0 20px; }.service-links a { display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 0;border-bottom:1px solid #E1EDF6;font-size:.86rem;text-decoration:none;color:var(--ink); }.service-links a:hover { color:var(--teal);text-decoration:underline; }.service-links a span { color:var(--teal); }.service-links .other-service { font-weight:750; }
.process-section { border:0; }.process-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2); }.process-grid article { padding:24px;background:var(--ice);border:1px solid var(--line);border-radius:var(--radius-card); }
.process-grid article:nth-child(2) { background:#FFF1E3;border-color:#F2DAC3; }.process-grid article:nth-child(3) { background:#E5F2FF; }
.process-number { display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--navy);color:white;font-weight:850;font-size:.9rem;margin-bottom:18px; }.process-grid article:nth-child(2) .process-number { background:#A84700; }.process-grid h3 { margin-bottom:10px; }.process-grid p { font-size:.86rem;line-height:1.65;color:var(--muted);margin-bottom:0; }
.benefit-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2); }.benefit-grid article { padding:22px;background:white;border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card); }.ui-icon { width:44px;height:44px;display:block;padding:10px;border-radius:12px;background:var(--ice);color:var(--navy);margin-bottom:16px; }.benefit-grid h3 { font-size:1rem;margin-bottom:10px; }.benefit-grid p { font-size:.83rem;line-height:1.65;color:var(--muted);margin:0; }
.city-section { display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:28px;margin-block:16px;background:var(--ice);border:1px solid var(--line);border-radius:var(--radius-card); }.city-section h2 { margin-bottom:12px; }.city-section p { color:var(--muted);font-size:.9rem;margin-bottom:0; }.city-links { display:flex;gap:10px;flex-wrap:wrap; }.city-links a { display:flex;gap:24px;align-items:center;justify-content:space-between;flex:1 1 130px;padding:14px 16px;min-height:50px;background:white;color:var(--navy);border:1px solid var(--line);border-radius:12px;font-weight:750;text-decoration:none; }.city-links a:hover { border-color:var(--teal);background:#F7FCFF; }
.faq-section { display:grid;grid-template-columns:.8fr 1.2fr;gap:40px; }.faq-section>div>p { color:var(--muted);font-size:.9rem; }.faq-list { display:grid;gap:10px; }.faq-list details { background:white;border:1px solid var(--line);border-radius:14px;padding:0 18px; }.faq-list summary { color:var(--ink);font-size:.9rem;padding:16px 0; }.faq-list details[open] { border-color:var(--teal); }.faq-list p { color:var(--muted);font-size:.88rem;padding-bottom:4px; }
.customer-bottom { background:linear-gradient(115deg,var(--navy),#0871C7);color:white;border-radius:var(--radius-card);padding:32px;text-align:center;margin:16px 0 32px; }.customer-bottom h2 { color:white;font-size:1.8rem;margin-bottom:10px; }.customer-bottom p { color:white;font-size:.95rem; }
.footer-row { display:flex;justify-content:space-between;align-items:start;gap:32px; }.footer-row>div { max-width:420px; }.footer-row nav { flex-wrap:wrap;font-size:.85rem;gap:16px; }.footer-row nav a { min-height:44px;display:inline-flex;align-items:center; }.footer-row p { font-size:.82rem; }
footer { background:white;color:var(--muted);padding-block:28px max(28px,env(safe-area-inset-bottom)); }.pwa-controls { margin-bottom:16px; }
/* Masters: useful content occupies the second column, never invented metrics. */
.masters-hero { display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:36px;padding:36px;background:linear-gradient(120deg,#07558B,#087FE8);border-radius:24px;margin-block:20px 12px; }
.masters-hero h1 { color:white;font-size:clamp(2.25rem,3.8vw,3.35rem);margin-bottom:18px; }.masters-hero .eyebrow,.masters-hero .lead { color:white; }.masters-hero .lead { font-size:1rem;margin-bottom:24px; }
.masters-directions { display:grid;gap:14px; }.master-direction { padding:22px;background:white;border-radius:var(--radius-card);box-shadow:var(--shadow-card); }.master-direction>div { display:flex;align-items:center;gap:12px; }.master-direction h2 { font-size:1.25rem;margin:0; }.master-direction p { color:var(--muted);font-size:.86rem;line-height:1.65;margin:12px 0 0; }.master-direction .service-icon { width:38px;height:38px;flex-basis:38px; }
.masters-terms { display:grid;grid-template-columns:1fr 1.3fr;gap:36px;padding:28px;background:white;border:1px solid var(--line);border-radius:var(--radius-card);margin-bottom:32px; }.masters-terms h2 { margin-bottom:0; }.masters-terms p { color:var(--muted);margin:0;font-size:.92rem; }
.access-kit { padding:22px;background:var(--ice);border:1px solid var(--line);border-radius:var(--radius-card);margin-block:24px; }.access-kit input { font:.85rem/1.5 ui-monospace,monospace; }.access-kit .button { margin-top:10px;min-height:44px; }.access-kit #copy-status { margin:12px 0 0;font-size:.85rem; }.guest-ownership { margin-top:24px;border-top:4px solid var(--teal); }
@media(max-width:1100px) {
  .site-header .header-row { flex-wrap:wrap; }.header-row nav { gap:12px; }
  .order-hero { gap:24px;padding:24px; }.category-choices .category-choice { flex-direction:column;align-items:start;padding:18px 12px; }
  .benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .container { width:calc(100% - 32px); }.order-hero { grid-template-columns:1fr;padding:24px 16px;margin:12px -4px;gap:22px; }
  .hero-copy h1 { font-size:2.65rem;max-width:620px;margin-bottom:14px; }.hero-description { max-width:none;margin-bottom:18px; }
  .category-choices .category-choice { flex-direction:row;align-items:center;min-height:86px;padding:16px; }.hero-assurances { margin-top:14px; }
  .quick-panel { width:100%;max-width:640px;justify-self:center;padding:22px; }
  .customer-section { padding-block:24px; }.section-heading { align-items:start;gap:20px; }.section-heading>p { max-width:290px; }
  .process-grid { gap:12px; }.process-grid article { padding:20px; }
  .faq-section { gap:24px;grid-template-columns:1fr; }.masters-hero { padding:28px;gap:24px;grid-template-columns:1fr; }.masters-directions { grid-template-columns:1fr 1fr; }.masters-terms { grid-template-columns:1fr;gap:16px; }
  .footer-row { flex-direction:column;gap:16px; }
}
@media(max-width:600px) {
  .site-header .header-row { display:grid;grid-template-columns:auto 1fr;gap:8px 12px;padding-block:10px; }
  .brand { font-size:1.95rem; }.main-nav { display:contents; }.main-nav .masters-link { grid-column:2;grid-row:1;justify-self:end;font-size:.78rem;min-height:44px;padding:10px 12px; }.main-nav .locale-switch { grid-column:2;justify-self:end; }.main-nav .my-requests { grid-column:1;grid-row:2;font-size:.8rem;white-space:nowrap; }.main-nav .login-link { display:none; }.main-nav>a:not(.masters-link):not(.my-requests):not(.login-link),.main-nav>form:not(.locale-switch) { grid-column:1/-1;grid-row:auto; }
  .hero-copy h1 { font-size:clamp(1.95rem,8vw,2.6rem);line-height:1.08; }.hero-copy .eyebrow { font-size:.64rem; }.hero-description { font-size:.88rem;line-height:1.55; }
  .category-choices { gap:10px; }.category-choices .category-choice { padding:16px 10px;gap:8px;min-height:78px; }.category-choice strong { font-size:.96rem; }.category-choice small { display:none; }.category-choice .service-icon { width:32px;height:32px;flex-basis:32px; }.hero-assurances { font-size:.71rem;gap:8px 12px; }
  .quick-panel { padding:18px 16px; }.quick-heading h2 { font-size:1.2rem; }.quick-heading p { font-size:.76rem; }.quick-panel .hint { font-size:.75rem; }.quick-privacy { font-size:.72rem; }
  .two-field-row { grid-template-columns:1fr;gap:0; }.quick-panel label { font-size:.86rem; }.extra-fields summary { font-size:.8rem; }
  .section-heading { display:block; }.section-heading>p { max-width:none;margin-top:12px; }.popular-grid { grid-template-columns:1fr;gap:16px; }.popular-card { padding:22px 18px; }.service-links { gap:0 14px; }.service-links a { font-size:.83rem; }
  .process-grid { grid-template-columns:1fr; }.process-grid article { display:grid;grid-template-columns:44px 1fr;gap:0 14px; }.process-number { grid-row:1/3;margin-bottom:0; }.process-grid h3 { margin-top:2px; }.process-grid p { grid-column:2; }
  .benefit-grid { grid-template-columns:1fr;gap:12px; }.benefit-grid article { display:grid;grid-template-columns:44px 1fr;gap:0 14px;padding:20px; }.benefit-grid .ui-icon { grid-row:1/3;margin-bottom:0; }.benefit-grid p { grid-column:2; }
  .city-section { grid-template-columns:1fr;gap:18px;padding:22px; }.city-links a { flex-basis:100%; }.customer-bottom { padding:28px 20px; }.customer-bottom h2 { font-size:1.6rem; }
  .masters-hero { padding:24px 18px; }.masters-hero h1 { font-size:2.1rem;overflow-wrap:anywhere; }.masters-directions { grid-template-columns:1fr; }.masters-hero .button { width:100%;font-size:.9rem;padding-inline:12px; }.masters-terms { padding:22px; }
  .access-kit { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .category-choice { transition:none; }.button:active { transform:none; } }

/* Editorial public pages share Modern 2.0 tokens and never style private data tables. */
.breadcrumbs{padding:1rem 0;font-size:.9rem;color:var(--navy,#07558b)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}
.breadcrumbs li+li:before{content:'/';margin-right:.4rem;color:#07558b}
.breadcrumbs a{color:#07558b;text-underline-offset:4px}
.seo-public .order-hero{margin-top:0}.seo-public .hero-copy h1{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.08;max-width:19ch}
.seo-public .hero-description{font-size:1.05rem;max-width:54ch}.seo-public .hero-copy{padding-block:2rem}
.seo-service-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.service-chip{min-height:44px;padding:.6rem .8rem;border:1px solid #aacde8;border-radius:12px;background:#f1f9ff;color:#07558b;font:inherit;text-align:left;cursor:pointer}
.service-chip:hover{background:#dcedff;border-color:#087fe8}.service-chip:focus-visible{outline:3px solid #07558b;outline-offset:3px}
.seo-guide-grid,.seo-detail-grid,.seo-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.seo-guide,.seo-expert,.seo-detail-grid article{padding:1.6rem;border-radius:20px;background:#fff;border:1px solid #c7dff1;box-shadow:0 8px 26px #07558b0d}
.seo-guide{text-decoration:none;color:#07558b;display:flex;flex-direction:column;gap:.6rem;transition:transform .15s ease}
.seo-guide h3,.seo-guide p{margin:0}.seo-guide span{font-weight:700;color:#07558b}.seo-guide strong{margin-top:auto}
.seo-guide:hover{transform:translateY(-2px);border-color:#087fe8}.seo-detail-grid li{margin-bottom:.8rem}.seo-detail-grid ul{padding-left:1.3rem}
.seo-safety{padding:1.5rem;border-radius:20px;background:#fff1e6;color:#512b0b}.seo-master-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.district-chips{display:flex;gap:.6rem;flex-wrap:wrap;padding:0;list-style:none}.district-chips li{padding:.6rem 1rem;border-radius:12px;background:#eaf6ff;color:#07558b}
.locale-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:#07558b;font-weight:750;text-decoration:none;border-radius:10px}
.locale-switch a[aria-current=page]{background:#07558b;color:#fff}
.seo-public .customer-section{margin-block:2.7rem}.seo-public .popular-card>p{line-height:1.7}.seo-public .popular-card .button{white-space:normal}
@media(max-width:767px){.seo-guide-grid,.seo-detail-grid,.seo-reading-grid{grid-template-columns:1fr}.seo-public .hero-copy{padding-block:1.3rem}.seo-public .hero-copy h1{max-width:none}.seo-master-cta{align-items:flex-start;flex-direction:column}.seo-public .customer-section{margin-block:2rem}.seo-guide,.seo-expert,.seo-detail-grid article{padding:1.15rem}.breadcrumbs{font-size:.8rem}.service-chip{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.seo-guide{transition:none}.seo-guide:hover{transform:none}}

.seo-public .popular-grid.seo-single{grid-template-columns:1fr}.seo-single .popular-card>p{max-width:85ch}

/* Call-oriented landing pages: short briefs, actual jobs and one native order form. */
.call-public .hero-copy h1{font-size:clamp(2rem,3.3vw,3.25rem);max-width:21ch}
.call-public .hero-description{font-size:1.02rem;line-height:1.6}.call-public .hero-copy{padding-block:1rem}
.call-public .customer-section{margin-block:2.4rem}.call-public .section-heading p{max-width:70ch}
.call-work-group{margin-top:1.5rem}.call-group-title{color:#07558b;font-size:1.15rem;margin-bottom:.8rem}
.call-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.call-work{padding:1.1rem;background:#fff;border:1px solid #bdd8ee;border-radius:18px;box-shadow:0 6px 20px #07558b09;display:flex;flex-direction:column;min-width:0}
.call-work-heading{display:flex;align-items:center;gap:.65rem}.call-work .service-icon{width:32px;height:32px;flex-basis:32px}.call-work-heading h3{font-size:1.04rem;margin:0;color:#07558b}
.call-work p{font-size:.94rem;line-height:1.55;margin:.75rem 0}.call-work>a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:44px;margin-top:auto;color:#07558b;font-weight:750;text-decoration:none}
.call-work-electrical{border-top:3px solid #ff790f}.call-work-plumbing{border-top:3px solid #087fe8}.call-work-electrical .service-icon{color:#b54700}
.call-work a:hover{text-decoration:underline}.call-work a:focus-visible{outline:3px solid #07558b;outline-offset:3px;border-radius:8px}
.call-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.call-cases article{padding:1.2rem;background:#eaf6ff;border-radius:18px}.call-cases p{margin:0}
.call-explainer>p,.call-cost>p{max-width:87ch}.call-quality{background:#fff;padding:1.1rem 1.3rem;border-left:4px solid #087fe8;border-radius:12px;margin-top:1rem}.call-quality h3{font-size:1.1rem}.call-quality p{margin:0}
.call-cost{padding:1.5rem;background:#eaf6ff;border-radius:20px}.call-cost .button{margin-top:.5rem}.call-platform-note{font-size:.93rem;color:#07558b;margin:1rem 0 0;max-width:94ch}
.call-overview-list{padding-left:1.2rem;margin-bottom:1.3rem}.call-overview-list li{margin-bottom:.4rem}.call-public .benefit-grid h3{font-size:1.05rem}
.call-public .hero-copy .category-choice strong{font-size:1.02rem}
@media(max-width:1000px){.call-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.call-work-grid,.call-cases{grid-template-columns:1fr}.call-work{padding:.9rem 1rem}.call-work p{margin:.5rem 0}.call-work-group{margin-top:1.2rem}.call-public .hero-copy h1{max-width:none;font-size:clamp(1.85rem,7vw,2.35rem)}.call-public .hero-description{font-size:.96rem}.call-public .customer-section{margin-block:1.8rem}.call-public .hero-copy{padding-block:.25rem}.call-quality,.call-cost{padding:1.15rem}}
.call-work-group .call-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.call-work-group .call-work:last-child:nth-child(odd){grid-column:1/-1}
.seo-guide-grid:has(>.seo-guide:only-child){grid-template-columns:1fr}
@media(max-width:600px){.call-work-group .call-work-grid{grid-template-columns:1fr}}
.call-public .quick-panel .find-master:active{color:#032235}

/* Plumbing-only call cards. One continuous grid; electrical groups stay unchanged. */
.plumbing-work-types{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;padding:0;margin:0 0 1.1rem;color:#07558b;font-size:.92rem;font-weight:650}
.plumbing-work-types li{display:flex;align-items:center;gap:.5rem}.plumbing-work-types li::before{content:"";width:6px;height:6px;border-radius:50%;background:#087fe8;flex:none}
.plumbing-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.plumbing-work-card{position:relative;padding:1.3rem;border:1px solid #c5e3fa;border-radius:20px;box-shadow:0 5px 18px #07558b0c;background:#fff;color:#07558b;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease;overflow-wrap:anywhere}
.plumbing-work-icon{display:grid;place-items:center;width:60px;height:60px;margin-bottom:1rem;border-radius:16px;background:#eaf6ff;color:#087fe8;flex:none}
.plumbing-work-card .service-icon{width:36px;height:36px;flex-basis:36px}
.plumbing-work-card h3{font-size:1.08rem;line-height:1.35;margin:0;color:#07558b}
.plumbing-work-card p{margin:.65rem 0 1.1rem;font-size:.94rem;line-height:1.55;color:#173d57}
.plumbing-work-action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:44px;margin-top:auto;color:#07558b;font-weight:750}
.plumbing-work-action>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eaf6ff;flex:none}
.plumbing-work-card:hover{color:#07558b;border-color:#087fe8;box-shadow:0 10px 26px #07558b1a;transform:translateY(-3px);text-decoration:none}
.plumbing-work-card:focus-visible{outline:3px solid #07558b;outline-offset:4px;border-color:#087fe8;box-shadow:0 10px 26px #07558b1a}
.plumbing-work-card.is-selected{border-color:#087fe8;background:#eaf6ff;box-shadow:inset 0 0 0 1px #087fe8,0 5px 18px #07558b12}
.plumbing-work-card.is-selected .plumbing-work-icon{background:#d5ecff}
@media(max-width:1023px){.plumbing-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.plumbing-work-grid{grid-template-columns:1fr;gap:.8rem}.plumbing-work-card{padding:1.1rem}.plumbing-work-icon{width:56px;height:56px;margin-bottom:.85rem}.plumbing-work-card p{margin:.6rem 0 .8rem}}
@media(prefers-reduced-motion:reduce){.plumbing-work-card{transition:none}.plumbing-work-card:hover{transform:none}}
