:root{--paper:#fffaf5;--ink:#17110f;--muted:#6d625d;--line:rgba(23,17,15,.14);--red:#c93f33;--blue:#234f9a;--white:#fff;--gold:#d5a642;--pad:clamp(18px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(201,63,51,.10),transparent 28%),radial-gradient(circle at 18% 76%,rgba(35,79,154,.14),transparent 30%),var(--paper)}
header{min-height:74px;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);font:11px/1.2 "Courier New",monospace;text-transform:uppercase;letter-spacing:.1em;position:sticky;top:0;background:rgba(255,250,245,.82);backdrop-filter:blur(18px);z-index:20}nav{display:flex;gap:16px;flex-wrap:wrap}nav a{color:var(--muted)}nav a:hover{color:var(--red)}.brand{font:700 22px/1 Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink)}
.hero{min-height:calc(100vh - 74px);padding:7vw var(--pad);display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:6vw;align-items:center;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:linear-gradient(180deg,var(--red) 0 33%,var(--blue) 33% 66%,#fff 66%)}.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{grid-column:2;position:relative;z-index:2}.hero>button{margin-top:26px}
.rs-pattern{position:relative;min-height:500px;background:linear-gradient(180deg,var(--red) 0 33%,var(--blue) 33% 66%,#fff 66%);border:1px solid var(--line);box-shadow:0 28px 80px rgba(35,79,154,.14);overflow:hidden}.rs-pattern:before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.6);background:repeating-radial-gradient(circle,transparent 0 30px,rgba(255,255,255,.26) 30px 32px,transparent 32px 60px)}.rs-pattern b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 clamp(70px,10vw,150px)/.82 Arial,sans-serif;color:white;letter-spacing:-.08em;text-shadow:0 12px 36px rgba(0,0,0,.2)}.rs-pattern span{position:absolute;width:34px;height:34px;border:2px solid rgba(255,255,255,.8);transform:rotate(45deg)}.rs-pattern span:nth-child(2){left:12%;top:12%}.rs-pattern span:nth-child(3){right:12%;top:46%}.rs-pattern span:nth-child(4){left:18%;bottom:12%}
.eyebrow,.section-head span,.section-title span,.context span,.links span{font:10px/1.4 "Courier New",monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--blue)}h1,h2{margin:0;line-height:.86;letter-spacing:-.055em;font-weight:400}h1{font-size:clamp(58px,9vw,136px);margin:28px 0}h1 em,h2 em{font-style:normal;color:var(--red)}.lead{max-width:820px;color:#3c302b;font-size:clamp(18px,2vw,24px)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-actions a,.hero button,.cta button{display:inline-flex;align-items:center;width:max-content;padding:15px 18px;border:1px solid var(--red);border-radius:999px;background:var(--red);color:white;font:10px/1 "Courier New",monospace;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:.25s}.hero-actions a+ a{background:transparent;color:var(--red)}.hero-actions a:hover,.hero button:hover,.cta button:hover{transform:translateY(-3px)}
.section-head{padding:8vw var(--pad) 42px}.section-head h2,.section-title h2,.faq h2,.cta h2{font-size:clamp(50px,7vw,112px);margin-top:22px}.hub-grid,.context,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.cards{grid-template-columns:repeat(5,1fr);margin-top:44px}.hub-grid article,.context>div,.context article,.cards article{min-height:320px;padding:30px;background:rgba(255,255,255,.78);position:relative;transition:.3s}.hub-grid article:after,.context>div:after{content:"";position:absolute;right:24px;top:24px;width:28px;height:28px;border:2px solid rgba(201,63,51,.26);transform:rotate(45deg)}.hub-grid article:hover{background:white;transform:translateY(-6px)}.hub-grid h2,.context h2{font-size:clamp(34px,4vw,58px);margin:0 0 18px}.hub-grid p,.context p,.cards p,.faq p{color:#665853}.hub-grid a,.links a{display:inline-flex;margin:8px 6px 0 0;padding:11px 13px;border:1px solid rgba(201,63,51,.24);border-radius:999px;font:10px/1.1 "Courier New",monospace;text-transform:uppercase;color:#72342d}.hub-grid a:hover,.links a:hover{background:var(--red);color:white;border-color:var(--red)}
.includes,.faq,.cta{padding:8vw var(--pad)}.faq{display:grid;grid-template-columns:38% 62%;gap:6vw;background:#fff}.faq details{padding:22px 0;border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;font:16px/1.3 "Courier New",monospace}.links{padding:42px var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px}.links div{display:flex;gap:8px;flex-wrap:wrap}.cta{min-height:56vh;display:grid;place-content:center;text-align:center;background:#fff5f0}footer{padding:32px var(--pad);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);font:10px/1.4 "Courier New",monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
@media(max-width:1000px){.hero,.hub-grid,.context,.cards,.faq{grid-template-columns:1fr}.rs-pattern{min-height:320px;order:2}}@media(max-width:700px){header{position:relative;align-items:flex-start;flex-direction:column}h1{font-size:clamp(54px,15vw,90px)}.links{align-items:flex-start;flex-direction:column}.hub-grid article,.context>div,.context article,.cards article{min-height:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Service city pages */
.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{grid-column:1/-1;max-width:960px}
.includes{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0,#fff8f4 100%)}
.includes:before{content:"";position:absolute;right:var(--pad);top:36px;width:min(340px,38vw);aspect-ratio:1;border:1px solid rgba(201,63,51,.22);background:linear-gradient(45deg,transparent 43%,rgba(201,63,51,.12) 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,rgba(26,76,157,.11) 43% 57%,transparent 57%);transform:rotate(45deg);animation:serbMark 13s ease-in-out infinite;pointer-events:none}
.section-title{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.36fr);gap:28px;align-items:end;margin-bottom:42px}
.section-title span{grid-column:1/-1}
.section-title h2{max-width:900px;line-height:.9}
.cards{position:relative;z-index:1;margin-top:0;grid-template-columns:repeat(5,minmax(0,1fr));box-shadow:0 30px 80px rgba(201,63,51,.07)}
.cards article{min-height:230px;display:flex;flex-direction:column;justify-content:space-between;gap:34px;overflow:hidden;transition:transform .28s ease,background .28s ease}
.cards article:hover{background:#fff;transform:translateY(-5px)}
.cards article b{width:48px;height:48px;border:1px solid rgba(201,63,51,.3);border-radius:50%;display:grid;place-items:center;color:var(--red);background:#fff;font:11px/1 "Courier New",monospace}
.cards article p{margin:0;color:#221b18;font-size:clamp(18px,2vw,24px);line-height:1.14}
.faq{align-items:start}
.faq>div{background:#fff;border-top:1px solid var(--line)}
.faq details{padding:24px 0}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#221b18}
.faq summary:after{content:"+";width:34px;height:34px;border:1px solid rgba(201,63,51,.28);border-radius:50%;display:grid;place-items:center;color:var(--red);flex:0 0 auto}
.faq details[open] summary:after{content:"-";background:var(--red);color:#fff}
.faq p{max-width:760px;margin:18px 0 0;font-size:17px;line-height:1.65}
.cta h2{line-height:.9;margin-bottom:28px}
@keyframes serbMark{50%{transform:rotate(45deg) translateY(12px)}}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards article:last-child{grid-column:1/-1}}
@media(max-width:700px){.section-title,.cards{grid-template-columns:1fr}.cards article{min-height:190px}.includes:before{opacity:.34}}

@media(max-width:700px){body{min-width:0}h1{font-size:clamp(42px,12vw,72px);overflow-wrap:anywhere}.lead{font-size:16px}.hero{padding-bottom:42px}.hero-actions{width:100%;align-items:stretch;flex-direction:column}.hero-actions a,.hero button,.cta button{width:100%;max-width:100%;white-space:normal;text-align:center;line-height:1.25}.section-title h2,.faq h2,.cta h2{font-size:clamp(40px,12vw,72px);overflow-wrap:anywhere}.context article,.context>div,.hub-grid article,.cards article{padding:24px 20px}.cards article{gap:24px}.cards article p{font-size:20px}.faq{padding-top:54px;padding-bottom:54px}.faq summary{font-size:15px;align-items:flex-start}.links a{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.cta{min-height:46vh;padding-top:64px;padding-bottom:64px}}

/* Mobile polish for city service pages */
main,section,article,div,p,h1,h2,h3,a,button{min-width:0}
.hero button,.cta button{gap:12px}
.hero button b,.cta button b{flex:0 0 auto}
.links span,.section-title span,.eyebrow{overflow-wrap:anywhere}
@media(max-width:760px){
  header{padding:16px 18px;gap:14px}
  nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  nav a{min-height:38px;display:flex;align-items:center;justify-content:center;padding:8px 9px;border:1px solid rgba(201,63,51,.18);border-radius:999px;text-align:center;font-size:9px;letter-spacing:.08em}
  .hero{display:block;padding:42px 18px 38px;min-height:auto}
  .hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{max-width:none}
  .hero h1{margin:22px 0 18px;line-height:.9}
  .hero .lead{max-width:none;line-height:1.58}
  .hero>button{min-height:50px;margin-top:24px;padding:0 16px}
  .context,.cards,.faq{display:grid;grid-template-columns:1fr}
  .context>div,.context article{min-height:auto;padding:24px 18px}
  .context h2{font-size:clamp(30px,10vw,46px);line-height:.95}
  .includes{padding:58px 18px}
  .section-title{display:block;margin-bottom:28px}
  .section-title h2{margin-top:16px;line-height:.92}
  .cards{border:0;box-shadow:none;gap:12px;background:transparent}
  .cards article,.cards article:last-child{grid-column:auto;min-height:auto;padding:22px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.88)}
  .cards article b{width:40px;height:40px}
  .cards article p{font-size:18px;line-height:1.22}
  .faq{padding:58px 18px;gap:26px}
  .faq h2{margin-top:0;line-height:.94}
  .faq>div{border-top:0}
  .faq details{padding:18px 0}
  .faq summary{line-height:1.35}
  .faq p{font-size:15px;line-height:1.6}
  .links{padding:28px 18px;gap:16px}
  .links div{width:100%;display:grid;grid-template-columns:1fr;gap:10px}
  .links a{width:100%;justify-content:center;padding:13px 14px}
  .cta{min-height:auto;padding:62px 18px}
  .cta h2{line-height:.94}
  footer{padding:26px 18px}
}
@media(max-width:380px){
  nav{grid-template-columns:1fr}
  h1{font-size:clamp(38px,12vw,52px)}
  .section-title h2,.faq h2,.cta h2{font-size:clamp(36px,12vw,52px)}
}
