:root{
  --paper:#fbfbf7;
  --paper-2:#f3f8f7;
  --ink:#090b0d;
  --muted:#687276;
  --line:rgba(9,11,13,.14);
  --turquoise:#00a8c8;
  --sky:#7fd9ec;
  --deep:#024f65;
  --gold:#e8bb45;
  --pad:clamp(18px,4vw,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(0,168,200,.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,.82)}
  .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)}
}
*{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}
body:before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(circle at 82% 10%,rgba(0,168,200,.18),transparent 30%),radial-gradient(circle at 16% 80%,rgba(232,187,69,.14),transparent 28%),var(--paper)}
body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(0,168,200,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,168,200,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(#000,transparent 76%)}
header{min-height:76px;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(251,251,247,.78);backdrop-filter:blur(18px);z-index:20}
nav{display:flex;gap:16px;flex-wrap:wrap}
nav a{color:var(--muted);transition:color .25s ease}
nav a:hover{color:var(--turquoise)}
.brand{font:700 22px/1 Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink)}
.hero{position:relative;min-height:calc(100vh - 76px);padding:7vw var(--pad) 5vw;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(34px,6vw,86px);align-items:center;overflow:hidden}
.hero:after{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--turquoise),transparent);opacity:.55}
.hero-copy{position:relative;z-index:2}
.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{grid-column:1;position:relative;z-index:2}
.hero>button{margin-top:26px}
.eyebrow,.context span,.section-head span{font:10px/1.4 "Courier New",monospace;text-transform:uppercase;letter-spacing:.16em;color:var(--deep)}
h1,h2{margin:0;font-weight:400;letter-spacing:-.055em;line-height:.86}
h1{font-size:clamp(56px,9vw,138px);margin:28px 0;max-width:980px}
h1 em,h2 em{font-style:normal;color:var(--turquoise)}
.lead{max-width:830px;color:#30383b;font-size:clamp(18px,2vw,24px)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero-actions a,.hero button,.cta button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;width:max-content;padding:0 18px;border:1px solid var(--turquoise);border-radius:999px;color:var(--deep);font:10px/1 "Courier New",monospace;text-transform:uppercase;letter-spacing:.14em;background:transparent;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}
.hero-actions a:first-child{background:var(--turquoise);color:white}
.hero-actions a:hover,.hero button:hover,.cta button:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,168,200,.22)}
.ornament{position:absolute;top:96px;bottom:70px;width:44px;opacity:.9;z-index:1}
.ornament-left{left:calc(var(--pad) - 10px);background:linear-gradient(var(--turquoise),var(--turquoise)) center/1px 100% no-repeat}
.ornament-left:before,.ornament-left:after{content:"";position:absolute;left:50%;width:28px;height:28px;border:2px solid var(--turquoise);transform:translateX(-50%) rotate(45deg);background:var(--paper)}
.ornament-left:before{top:0}.ornament-left:after{bottom:0}
.hero-art{min-height:520px;position:relative;overflow:visible;animation:rise .9s cubic-bezier(.16,1,.3,1) both}
.kz-plain:before{content:"";position:absolute;left:2%;right:2%;top:18%;height:78px;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(0,168,200,.32) 18px 20px,transparent 20px 38px),linear-gradient(90deg,transparent,var(--turquoise),transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.kz-plain:after{content:"";position:absolute;right:-7%;top:4%;width:min(40vw,430px);height:min(40vw,430px);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(0,168,200,.18) 0deg 5deg,transparent 5deg 17deg);mask-image:radial-gradient(circle,#000 50%,transparent 69%);animation:spin 52s linear infinite}
.sun-mark{position:absolute;right:8%;top:24%;width:min(38vw,340px);aspect-ratio:1;border-radius:50%;transform:none;background:radial-gradient(circle,var(--gold) 0 16%,transparent 17%),repeating-conic-gradient(from 0deg,var(--gold) 0deg 5deg,transparent 5deg 15deg);filter:drop-shadow(0 24px 35px rgba(232,187,69,.25));animation:sun-pulse-kz 5s ease-in-out infinite;z-index:2}
.steppe-line{position:absolute;left:-8%;right:-8%;bottom:31%;height:34%;background:linear-gradient(180deg,transparent 0 24%,rgba(0,168,200,.18) 24% 25%,transparent 25% 48%,rgba(232,187,69,.35) 48% 50%,transparent 50%),linear-gradient(8deg,transparent 0 48%,rgba(0,168,200,.18) 49%,transparent 51%);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.city-rail{position:absolute;left:-4%;right:0;bottom:13%;display:flex;align-items:center;gap:14px;color:var(--deep);font:10px/1 "Courier New",monospace;letter-spacing:.16em;text-transform:uppercase}
.city-rail span{padding:12px 0;border-bottom:1px solid rgba(0,168,200,.35)}
.city-rail i{display:block;flex:1;height:1px;background:linear-gradient(90deg,var(--turquoise),transparent)}
.hero-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.62);backdrop-filter:blur(14px)}
.hero-stats span{min-height:92px;padding:22px;display:flex;align-items:end;justify-content:space-between;gap:18px;border-right:1px solid var(--line);color:var(--muted);font:10px/1.2 "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em}
.hero-stats span:last-child{border-right:0}
.hero-stats b{font:400 clamp(34px,5vw,64px)/.82 Arial,sans-serif;color:var(--ink);letter-spacing:-.05em}
.context{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.context article,.context>div{min-height:285px;padding:34px var(--pad);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.54);position:relative;overflow:hidden}
.context article:after,.context>div:after{content:"";position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;border:1px solid rgba(0,168,200,.18);transform:rotate(45deg)}
.context h2{font-size:clamp(34px,4vw,56px);margin:30px 0 14px}
.context p,.hub-grid p{color:#475053}
.section-head{padding:8vw var(--pad) 42px}
.section-head.compact{padding-top:5vw}
.section-head h2{font-size:clamp(50px,7vw,112px);margin-top:22px}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.hub-grid article{min-height:360px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.66);position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.hub-grid article:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--turquoise),var(--sky),var(--gold));transform:scaleX(.18);transform-origin:left;transition:transform .35s ease}
.hub-grid article:hover{transform:translateY(-8px);background:white;box-shadow:0 24px 60px rgba(2,79,101,.12)}
.hub-grid article:hover:before{transform:scaleX(1)}
.hub-grid h2{font-size:clamp(38px,4vw,58px);margin:0 0 18px}
.hub-grid a{display:inline-flex;margin:8px 6px 0 0;padding:11px 13px;border:1px solid rgba(0,168,200,.26);border-radius:999px;color:var(--deep);font:10px/1.1 "Courier New",monospace;text-transform:uppercase;letter-spacing:.08em;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.hub-grid a:hover{background:var(--turquoise);border-color:var(--turquoise);color:white;transform:translateY(-2px)}
.hub-grid-featured article:first-child{background:linear-gradient(145deg,#fff,#e9fbfb)}
.includes{padding:8vw var(--pad)}
.section-title h2,.faq h2,.cta h2{font-size:clamp(50px,7vw,112px);margin-top:22px}
.cards{display:grid;grid-template-columns:repeat(5,1fr);margin-top:44px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cards article{min-height:220px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.62)}
.cards b{font:11px/1 "Courier New",monospace;color:var(--gold)}
.cards p{color:#475053}
.faq{padding:8vw var(--pad);display:grid;grid-template-columns:38% 62%;gap:6vw;background:#fff;border-top:1px solid var(--line)}
.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}
.links a{display:inline-flex;padding:11px 13px;border:1px solid rgba(0,168,200,.26);border-radius:999px;color:var(--deep);font:10px/1.1 "Courier New",monospace;text-transform:uppercase;letter-spacing:.08em}
.links a:hover{background:var(--turquoise);border-color:var(--turquoise);color:white}
.cta{min-height:56vh;padding:8vw var(--pad);display:grid;place-content:center;text-align:center;background:#eefafa}
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}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes sun-pulse-kz{50%{transform:scale(1.06);filter:drop-shadow(0 28px 46px rgba(232,187,69,.34))}}
@keyframes rise{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1120px){
  .hero{grid-template-columns:1fr}
  .hero-art{min-height:380px}
  .hub-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  header{position:relative;align-items:flex-start;flex-direction:column}
  nav{gap:12px}
  .hero{min-height:auto;padding-top:54px}
  .ornament{display:none}
  h1{font-size:clamp(52px,15vw,92px)}
  .context,.hub-grid,.hero-stats,.cards,.faq{grid-template-columns:1fr}
  .hero-stats span{border-right:0;border-bottom:1px solid var(--line)}
  .hero-stats span:last-child{border-bottom:0}
  .hero-art{min-height:320px}
  .sun-mark{right:0;top:18%;width:250px}
  .city-rail{left:0;right:0;gap:8px;flex-wrap:wrap}
  .city-rail i{display:none}
  .section-head h2{font-size:clamp(48px,13vw,84px)}
  .context article,.context>div,.hub-grid article,.cards article{min-height:auto}
  .links{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* Service city pages */
.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>button{grid-column:1/-1;max-width:940px}
.includes{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0,#f8feff 100%)}
.includes:before{content:"";position:absolute;inset:34px var(--pad) auto auto;width:min(320px,36vw);aspect-ratio:1;border:1px solid rgba(0,168,200,.2);background:linear-gradient(45deg,transparent 42%,rgba(0,168,200,.11) 42% 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,rgba(197,166,93,.13) 42% 58%,transparent 58%);animation:ornamentFloat 11s 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));background:#fff;box-shadow:0 30px 80px rgba(0,53,72,.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:#f2fcfd;transform:translateY(-5px)}
.cards article b{width:48px;height:48px;border:1px solid rgba(0,168,200,.34);border-radius:50%;display:grid;place-items:center;color:var(--turquoise);background:#fff}
.cards article p{margin:0;color:var(--deep);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:var(--deep)}
.faq summary:after{content:"+";width:34px;height:34px;border:1px solid rgba(0,168,200,.28);border-radius:50%;display:grid;place-items:center;color:var(--turquoise);flex:0 0 auto}
.faq details[open] summary:after{content:"-";background:var(--turquoise);color:#fff}
.faq p{max-width:760px;margin:18px 0 0;font-size:17px;line-height:1.65}
.links{background:#fff}
.cta{background:radial-gradient(circle at 50% 0,rgba(0,168,200,.16),transparent 34%),#eefafa}
.cta h2{line-height:.9;margin-bottom:28px}
@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:.35}}

@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 final override 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(0,168,200,.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,.82)}.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)}}
