/* v90 signature headers. One system: Manrope, steel and graphite, green only for money, silky motion. */
:root{--h90-ease:cubic-bezier(.16,.8,.12,1);--h90-steel:#8E939B;--h90-ink:#0B0C0E;--h90-mute:#5A6068;--h90-gain:#0E9F5C;--h90-gain-dk:#13B06A}
html body:not(#_):not(#__):not(#___) .h90g{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,4.6vw,76px);align-items:center}
@media(max-width:999px){html body:not(#_):not(#__):not(#___) .h90g{grid-template-columns:1fr;gap:44px}}
html body:not(#_):not(#__):not(#___) .h90-vis{position:relative;min-width:0;width:100%;max-width:600px;margin-left:auto}
@media(max-width:999px){html body:not(#_):not(#__):not(#___) .h90-vis{margin:0 auto;max-width:560px}}
.h90-dk{border-radius:28px;background:radial-gradient(120% 90% at 50% 0%,#1D2025 0%,#0D0E11 62%,#08090B 100%);box-shadow:0 50px 90px -46px rgba(10,12,16,.75),inset 0 0 0 1px rgba(255,255,255,.07),inset 0 1px 0 rgba(255,255,255,.12);color:#E6E9ED}
.h90-lt{border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.44));-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 40px 80px -48px rgba(20,24,30,.45),inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 1px rgba(20,24,30,.06)}
@keyframes h90in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes h90fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.h90-vis{animation:h90in 1.1s var(--h90-ease) .15s both}}

/* ---------- Services: system map */
.x9sm{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(14px,2vw,26px);align-items:center;padding:clamp(22px,2.6vw,34px) clamp(16px,2vw,26px)}
.sm-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.sm-wires path{fill:none;stroke:rgba(190,196,204,.22);stroke-width:1}
.sm-wires path.lit{stroke:url(#smg);stroke-width:1.4}
.sm-col{position:relative;z-index:1;display:grid;gap:7px;grid-auto-rows:1fr;align-self:stretch;align-content:center}
.sm-col .sm-cap{align-self:end;white-space:nowrap}

.sm-cap{margin:0 0 6px;font-size:13px;color:#9AA0A8;letter-spacing:.01em}
.sm-cap b{font-size:22px;color:#F4F6F8;font-weight:700;margin-right:6px;letter-spacing:-.02em}

.sm-chip{display:flex;align-items:center;width:100%;box-sizing:border-box;font-size:12.5px;line-height:1.25;font-weight:500;color:#C9CED4;text-decoration:none;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:color .5s var(--h90-ease),background .5s var(--h90-ease),box-shadow .5s var(--h90-ease)}
.sm-chip:hover,.sm-chip.on{color:#fff;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 24px -6px rgba(200,210,220,.35)}
@media(prefers-reduced-motion:no-preference){.sm-chip{animation:h90in .9s var(--h90-ease) both;animation-delay:calc(.35s + var(--i)*.07s)}}
.sm-core{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;width:clamp(108px,10vw,132px);aspect-ratio:1;border-radius:50%;place-content:center;text-align:center;background:radial-gradient(circle at 50% 35%,#2A2E34,#121418 70%);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 60px -10px rgba(190,200,212,.35)}
.sm-core img{width:42px;height:auto}
.sm-core b{font-size:14px;font-weight:600;color:#F4F6F8}
.sm-core>span:not(.sm-ring){font-size:11px;color:#9AA0A8;max-width:96px;line-height:1.3}
.sm-ring{position:absolute;inset:-10px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
@media(prefers-reduced-motion:no-preference){.sm-ring{animation:smp 4.2s var(--h90-ease) infinite}.sm-ring.r2{animation-delay:2.1s}}
@keyframes smp{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.55);opacity:0}}
@media(max-width:560px){.x9sm{grid-template-columns:1fr 1fr;gap:10px;padding:20px 14px 18px}.sm-wires{display:none}.sm-core{grid-column:1/-1;grid-row:1;margin:0 auto 10px;width:104px}.sm-col{grid-auto-rows:auto;gap:6px}.sm-chip{font-size:12px;padding:6px 10px;min-height:0}.sm-r .sm-chip{justify-content:flex-start;text-align:left}.sm-r .sm-cap{text-align:left}.sm-cap b{font-size:20px}}

/* ---------- How it works: step rail */
.x9hw{padding:clamp(24px,2.6vw,34px) clamp(20px,2.4vw,32px) clamp(20px,2.4vw,28px)}
.hw-steps{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.hw-steps li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;align-items:start}
@media(prefers-reduced-motion:no-preference){.hw-steps li{animation:h90in 1s var(--h90-ease) both;animation-delay:calc(.45s + var(--i)*.55s)}}
.hw-steps li:not(:last-child)::before{content:"";position:absolute;left:23px;top:54px;bottom:-16px;width:2px;border-radius:2px;background:linear-gradient(180deg,#2A2E34,#9AA0A8);transform-origin:top}
@media(prefers-reduced-motion:no-preference){.hw-steps li:not(:last-child)::before{animation:hwr 1.1s var(--h90-ease) both;animation-delay:calc(.9s + var(--i)*.55s)}}
@keyframes hwr{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.hw-num{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:20px;font-weight:700;color:#F4F6F8;background:radial-gradient(circle at 40% 30%,#3A3F46,#0F1114 75%);box-shadow:0 10px 24px -10px rgba(10,12,16,.6),inset 0 1px 0 rgba(255,255,255,.18)}
.hw-steps b{display:block;font-size:clamp(18px,1.5vw,21px);font-weight:700;letter-spacing:-.015em;color:var(--h90-ink);margin:4px 0 4px}
.hw-steps span:not(.hw-num){display:block;font-size:15px;line-height:1.5;color:var(--h90-mute)}
.hw-end{margin:24px 0 0;padding:16px 18px;border-radius:16px;background:rgba(11,12,14,.04);font-size:15px;color:var(--h90-mute)}
.hw-end b{color:var(--h90-ink)}

/* ---------- Industries: roll */
.x9id{padding:0}
.id-win{position:relative;height:calc(var(--rh) * 3.4);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 74%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 74%,transparent 100%)}
.id-list{list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;top:0;transition:transform 1.1s var(--h90-ease);will-change:transform}
.x9id{--rh:104px}
.id-list li{height:var(--rh);display:flex;align-items:center}
.id-list a{display:block;width:100%;padding:0 24px;text-decoration:none;color:inherit}
.id-list b{display:block;font-size:clamp(30px,3.2vw,46px);line-height:1.05;font-weight:700;letter-spacing:-.03em;color:rgba(20,24,30,.16);transition:color .6s var(--h90-ease)}
.id-list span{display:block;margin-top:8px;opacity:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;line-height:1.4;color:var(--h90-mute);transition:opacity .9s var(--h90-ease)}
html body:not(#_):not(#__):not(#___) .id-list li.on b{color:var(--h90-ink)}
.id-list li.on span{opacity:1}
.id-band{position:absolute;left:0;right:0;top:50%;height:var(--rh);transform:translateY(-50%);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.7),rgba(255,255,255,.35));box-shadow:0 30px 60px -40px rgba(20,24,30,.4),inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 1px rgba(20,24,30,.05);z-index:-1}
.id-win{isolation:isolate}
.id-count{margin:14px 24px 0;font-size:15px;color:var(--h90-mute)}
.id-count b{color:var(--h90-ink)}
@media(max-width:560px){.x9id{--rh:92px}.id-win{height:290px}.id-list span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.id-list a{padding:0 18px}.id-list span{font-size:14px}}

/* ---------- Pricing and price guide: the written quote */
.x9qd{padding:18px 8px 26px}
.qd-back{position:absolute;inset:34px 22px 4px 30px;border-radius:24px;background:linear-gradient(160deg,#e9ebee,#d9dce0);transform:translateY(14px) scale(.96);box-shadow:0 30px 60px -40px rgba(20,24,30,.5)}
.qd-sheet{position:relative;border-radius:24px;padding:clamp(22px,2.4vw,30px);background:#fff;box-shadow:0 50px 90px -50px rgba(20,24,30,.55),0 0 0 1px rgba(20,24,30,.06)}
@media(prefers-reduced-motion:no-preference){.qd-sheet{animation:qds 1.3s var(--h90-ease) .2s both}}
@keyframes qds{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.qd-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.qd-top img{width:30px;height:auto}
.qd-top b{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--h90-ink)}
.qd-fixed{margin-left:auto;font-size:12.5px;font-weight:600;color:#3D434B;padding:6px 11px;border-radius:999px;box-shadow:inset 0 0 0 1.5px #3D434B}
.qd-tabs{display:flex;gap:6px;padding:4px;border-radius:999px;background:#F1F2F4;margin-bottom:12px}
.qd-tabs span{flex:1;text-align:center;font-size:12.5px;font-weight:600;color:#6A7078;padding:8px 6px;border-radius:999px;transition:background .7s var(--h90-ease),color .7s var(--h90-ease),box-shadow .7s var(--h90-ease)}
.qd-tabs span.on{background:#fff;color:var(--h90-ink);box-shadow:0 4px 12px -6px rgba(20,24,30,.35)}
.qd-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:11px 2px;font-size:14.5px}
.qd-row+.qd-row{margin-top:6px}
.qd-row b{color:var(--h90-ink);font-weight:600}
.qd-row span{color:var(--h90-mute)}
@media(prefers-reduced-motion:no-preference){.qd-row{animation:h90fade .9s var(--h90-ease) both;animation-delay:calc(.7s + var(--i)*.18s)}}
.qd-nums{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.qd-nums>div{padding:16px 16px 14px;border-radius:18px;background:#F4F5F6}
.qd-big{display:block;font-size:clamp(34px,3.4vw,48px);line-height:1;font-weight:700;letter-spacing:-.035em;color:var(--h90-ink)}
.qd-big.gain{color:var(--h90-gain)}
.qd-nums b{display:block;margin-top:8px;font-size:14px;font-weight:700;color:var(--h90-ink);line-height:1.3}
.qd-sign{position:absolute;right:26px;bottom:-14px;width:150px;opacity:.9}
.qd-sign svg{width:100%;height:auto;overflow:visible}
.qd-sign path{fill:none;stroke:#2A2E34;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:0}
@media(prefers-reduced-motion:no-preference){.qd-sign path{animation:qdsig 2.2s var(--h90-ease) 1.4s both}}
@keyframes qdsig{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
@media(max-width:560px){.qd-row{grid-template-columns:78px minmax(0,1fr);font-size:14px}.qd-tabs span{font-size:11.5px;padding:7px 3px;white-space:nowrap;letter-spacing:-.01em}
.qd-fixed{display:none}.qd-big{font-size:34px}.qd-nums>div{padding:14px 12px 12px}.qd-nums b{font-size:13px}}

/* ---------- About: mark over the skyline */
.x9ab{display:grid;justify-items:center;text-align:center}
.ab-stage{position:relative;width:100%;aspect-ratio:1.7;display:grid;place-items:center}
.ab-sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;opacity:.55;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 96%),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,#000 40%,transparent 96%),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect}
.ab-glow{position:absolute;width:70%;aspect-ratio:2;border-radius:50%;top:14%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0))}
.ab-mark{position:relative;width:min(46%,250px);height:auto;filter:drop-shadow(0 26px 30px rgba(20,24,30,.22));margin-bottom:9%}
@media(prefers-reduced-motion:no-preference){.ab-mark{animation:abm 1.6s var(--h90-ease) .2s both,abf 7s ease-in-out 1.8s infinite}}
@keyframes abm{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
@keyframes abf{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.ab-badge{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 18px;border-radius:999px;font-size:15px;font-weight:600;color:var(--h90-ink);background:linear-gradient(160deg,rgba(255,255,255,.8),rgba(255,255,255,.45));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -24px rgba(20,24,30,.45),inset 0 0 0 1px rgba(255,255,255,.95),0 0 0 1px rgba(20,24,30,.06)}
.ab-cap{margin:14px 0 0;font-size:16px;color:var(--h90-mute)}
.ab-cap b{color:var(--h90-ink)}

/* ---------- Blog: deck of articles */
.h90-blog{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,5vw,80px);align-items:center}
@media(max-width:999px){.h90-blog{grid-template-columns:1fr;gap:36px}}
.x9bl{display:grid;max-width:440px;margin:0 auto}
.bl-card{grid-area:1/1;display:grid;gap:12px;align-content:start;min-height:220px;padding:26px 26px 22px;border-radius:24px;text-decoration:none;color:var(--h90-ink);background:#fff;box-shadow:0 40px 70px -46px rgba(20,24,30,.55),0 0 0 1px rgba(20,24,30,.06);transform-origin:50% 100%;transition:transform 1.1s var(--h90-ease),opacity 1.1s var(--h90-ease),box-shadow .6s var(--h90-ease)}
.bl-card b{font-size:clamp(20px,1.8vw,24px);line-height:1.2;font-weight:700;letter-spacing:-.02em}
.bl-k{justify-self:start;font-size:12.5px;font-weight:600;color:#3D434B;padding:5px 11px;border-radius:999px;background:#F1F2F4}
.bl-a{margin-top:auto;font-size:13px;color:var(--h90-mute)}
.bl-card[data-p="0"]{transform:none;z-index:4}
.bl-card[data-p="1"]{transform:translate(18px,-14px) rotate(3deg) scale(.97);z-index:3;opacity:.92}
.bl-card[data-p="2"]{transform:translate(34px,-26px) rotate(6deg) scale(.94);z-index:2;opacity:.7}
.bl-card[data-p="3"]{transform:translate(46px,-36px) rotate(9deg) scale(.91);z-index:1;opacity:.45}
.bl-card>*{transition:opacity .6s var(--h90-ease)}
.bl-card:not([data-p="0"])>*{opacity:0}
.bl-card:hover{box-shadow:0 46px 80px -46px rgba(20,24,30,.65),0 0 0 1px rgba(20,24,30,.1)}
@media(max-width:560px){.x9bl{max-width:none;margin:14px 22px 0 0}.bl-card{min-height:170px;padding:20px 18px 16px}.bl-card[data-p="1"]{transform:translate(10px,-9px) rotate(2deg) scale(.97)}.bl-card[data-p="2"]{transform:translate(18px,-16px) rotate(4deg) scale(.94)}.bl-card[data-p="3"]{transform:translate(24px,-22px) rotate(6deg) scale(.91)}}

/* ---------- FAQ: the ask box */
.x9fq{padding:clamp(22px,2.4vw,30px)}
.fq-box{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;background:#fff;color:#3D434B;box-shadow:0 14px 30px -22px rgba(20,24,30,.5),0 0 0 1px rgba(20,24,30,.08)}
.fq-q{font-size:clamp(16px,1.4vw,18px);font-weight:600;color:var(--h90-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fq-caret{width:2px;height:20px;margin-left:-8px;background:#3D434B;border-radius:2px}
@media(prefers-reduced-motion:no-preference){.fq-caret{animation:fqc 1s steps(1) infinite}}
@keyframes fqc{50%{opacity:0}}
.fq-ans{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;margin-top:14px;padding:18px;border-radius:18px;background:linear-gradient(160deg,#16181C,#0B0C0E);color:#E6E9ED;transition:opacity .7s var(--h90-ease),transform .7s var(--h90-ease);min-height:96px}
.fq-ans img{width:34px;height:auto;margin-top:3px;filter:invert(1) brightness(1.6)}
.fq-ans p{margin:0;font-size:16px;line-height:1.5}
.fq-ans.off{opacity:0;transform:translateY(8px)}
.fq-note{margin:16px 2px 0;font-size:15px;color:var(--h90-mute)}
.fq-note b{color:var(--h90-ink)}

/* ---------- Security: rings */
.x9sr{display:grid;justify-items:center;gap:18px}
.sr-art{position:relative;width:min(100%,420px);aspect-ratio:1}
.sr-art svg{width:100%;height:100%;overflow:visible}
.sr-c{fill:none;stroke:rgba(20,24,30,.16);stroke-width:1}
.sr-g:nth-child(2) .sr-c{stroke:rgba(20,24,30,.2)}
.sr-t{font-size:12px;font-weight:600;fill:#3D434B;letter-spacing:.02em;paint-order:stroke;stroke:#F5F4F1;stroke-width:5px;stroke-linejoin:round}
.sr-dot{fill:#2A2E34}
.sr-g{transform-origin:180px 180px}
@media(prefers-reduced-motion:no-preference){.sr-g{animation:srr 60s linear infinite,h90fade 1.2s var(--h90-ease) both;animation-delay:0s,calc(.3s + var(--i)*.25s)}.sr-g:nth-of-type(2n){animation-direction:reverse,normal;animation-duration:80s,1.2s}}
@keyframes srr{to{transform:rotate(360deg)}}
.sr-core{fill:#0F1114}
.sr-lock{fill:none;stroke:#E6E9ED;stroke-width:2.2;stroke-linejoin:round;transform:translate(0,-6px)}
.sr-mid{position:absolute;left:50%;top:calc(50% + 50px);transform:translateX(-50%);font-size:14px;font-weight:700;color:var(--h90-ink);white-space:nowrap}
.sr-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.sr-links a{font-size:13.5px;font-weight:600;color:#3D434B;text-decoration:none;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(20,24,30,.1);transition:background .4s var(--h90-ease)}
.sr-links a:hover{background:#fff}

/* ---------- Policies: tabs */
.x9pl{display:grid;gap:10px}
.pl-tab{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 20px;border-radius:18px;text-decoration:none;color:var(--h90-ink);background:linear-gradient(160deg,rgba(255,255,255,.8),rgba(255,255,255,.45));box-shadow:0 18px 40px -32px rgba(20,24,30,.4),inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 1px rgba(20,24,30,.05);transition:transform .9s var(--h90-ease),background .9s var(--h90-ease),color .9s var(--h90-ease),box-shadow .9s var(--h90-ease)}
.pl-n{font-size:14px;font-weight:700;color:var(--h90-steel)}
.pl-tab b{font-size:17px;font-weight:650;letter-spacing:-.01em}
.pl-go{color:var(--h90-steel);transition:transform .6s var(--h90-ease)}
.pl-tab.on,.pl-tab:hover{background:linear-gradient(160deg,#1B1D21,#0B0C0E);color:#F4F6F8;transform:translateX(-6px);box-shadow:0 30px 50px -30px rgba(10,12,16,.6)}
html body:not(#_):not(#__):not(#___) .pl-tab.on b,html body:not(#_):not(#__):not(#___) .pl-tab:hover b{color:#F4F6F8}
.pl-tab.on .pl-n,.pl-tab:hover .pl-n{color:#9AA0A8}
.pl-tab.on .pl-go,.pl-tab:hover .pl-go{transform:translateX(4px);color:#F4F6F8}
@media(prefers-reduced-motion:no-preference){.pl-tab{animation:h90in .9s var(--h90-ease) both;animation-delay:calc(.3s + var(--i)*.1s)}}
@media(max-width:560px){.pl-tab{padding:15px 16px}}

/* ---------- Philosophy: six rules */
.x9ph{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ph-t{display:grid;align-content:space-between;gap:16px;min-height:140px;padding:18px 18px 16px;border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(255,255,255,.45));box-shadow:0 18px 40px -32px rgba(20,24,30,.4),inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 1px rgba(20,24,30,.05);transition:background .6s var(--h90-ease),color .6s var(--h90-ease)}
.ph-n{font-size:clamp(38px,3.4vw,50px);line-height:1;font-weight:700;letter-spacing:-.04em;color:rgba(20,24,30,.14);transition:color 1s var(--h90-ease)}
.ph-t b{font-size:16px;line-height:1.3;font-weight:650;color:var(--h90-ink);transition:color .6s var(--h90-ease)}
.ph-t.on{background:linear-gradient(160deg,#1B1D21,#0B0C0E)}
.ph-t.on .ph-n{color:#9AA0A8}html body:not(#_):not(#__):not(#___) .ph-t.on b{color:#F4F6F8}
@media(prefers-reduced-motion:no-preference){.ph-t{animation:h90in .9s var(--h90-ease) both;animation-delay:calc(.3s + var(--i)*.09s)}}
@media(max-width:560px){.ph-t{min-height:118px;padding:15px 14px 13px}.ph-t b{font-size:14.5px}}

/* ---------- Location pages: town map */
html body:not(#_):not(#__):not(#___) .cm-card .tmap{position:relative}
.tmap .tm{position:absolute;inset:0;width:100%;height:100%}
.tm-line{fill:none;stroke:rgba(200,206,214,.34);vector-effect:none}
.tm-border{fill:none;stroke:rgba(200,206,214,.5)}
.tm-d{fill:rgba(220,226,232,.55)}
.tm-l{fill:#AEB4BB;font-weight:500;letter-spacing:.01em}
.tm-cl{fill:#E6E9ED;font-weight:600}
.tm-clt{fill:#E6E9ED}
.tm-mi{fill:#E6E9ED;font-weight:700}
.tm-arc{fill:none;stroke:#E6E9ED;stroke-linecap:round;stroke-dasharray:.012 .02;opacity:.85}
.tm-pin{fill:#fff}
.tm-halo{fill:rgba(255,255,255,.14);transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:no-preference){.tm-halo{animation:tmh 3.6s var(--h90-ease) infinite}.tm-halo.h2{animation-delay:1.8s}}
@keyframes tmh{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.tm-badge{position:absolute;left:16px;top:16px;display:grid;gap:2px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 14px 30px -18px rgba(0,0,0,.7)}
.tm-badge.tm-bl,.tm-badge.tm-br{top:auto;bottom:16px}.tm-badge.tm-tr,.tm-badge.tm-br{left:auto;right:16px}
@media(max-width:560px){html body:not(#_):not(#__):not(#___) .h90-town .cm-card{height:200px}html body:not(#_):not(#__):not(#___) .h90-town .tm-badge{display:none}.tm-badge{left:12px;top:12px;padding:7px 11px;border-radius:12px}.tm-badge.tm-bl,.tm-badge.tm-br{bottom:12px}.tm-badge.tm-tr,.tm-badge.tm-br{right:12px}.tm-badge b{font-size:13.5px}.tm-badge span{font-size:11.5px}}
.tm-badge b{font-size:15px;font-weight:700;color:#F4F6F8;letter-spacing:-.01em}
.tm-badge span{font-size:12.5px;color:#AEB4BB}


/* v91: one headline scale on every inner page, two or three lines on desktop */
html body:not(#_):not(#__):not(#___) .h90-hero h1,html body:not(#_):not(#__):not(#___) .h90-blog h1{font-size:clamp(40px,3.9vw,60px);line-height:1.04;max-width:none;text-wrap:balance}
html body:not(#_):not(#__):not(#___) .h90-hero .hero-copy,html body:not(#_):not(#__):not(#___) .h90-blog .h90-bcopy{min-width:0}
html body:not(#_):not(#__):not(#___) .h90-hero .lede{max-width:34em}
.qd-row{background:#F6F7F8;border-radius:12px;padding:11px 14px}
.sm-chip{white-space:nowrap;padding:7px 12px}
.x9sm{align-items:start}
.sm-col{grid-auto-rows:34px;align-content:start;align-self:start}
.sm-core{align-self:center}
.x9id .id-list b{color:rgba(20,24,30,.26)}
.x9id .id-list li:not(.on) a{opacity:1}
.ab-stage{aspect-ratio:2}
.bl-a{display:inline-flex;gap:6px;font-size:14.5px;font-weight:600;color:#3D434B}
.bl-card b{font-size:clamp(20px,1.7vw,24px)}
@media(max-width:999px){html body:not(#_):not(#__):not(#___) .h90-hero h1,html body:not(#_):not(#__):not(#___) .h90-blog h1{font-size:clamp(36px,8.6vw,52px)}}
@media(max-width:560px){.sm-chip{white-space:normal}.sm-col{grid-auto-rows:auto}}
/* service pages: price block with no stray claim number */
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wrap{grid-template-columns:1fr}
@media(min-width:900px){html body:not(#_):not(#__):not(#___) .wv-out.v91 .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,80px)}}
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wv-q h2{font-size:clamp(26px,2.6vw,36px);line-height:1.15;text-wrap:balance}
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wv-q p{max-width:36em;font-size:17px;line-height:1.6}
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wv-tiles{margin-top:0;gap:14px}
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wv-tile{padding:26px 24px 22px;border-radius:22px}
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wv-tile .n{font-size:min(68px,29cqi);font-weight:600}
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wv-tile.gain .n{color:#13B06A}
html body:not(#_):not(#__):not(#___) .wv-out.v91 .wv-tile span:not(.n){font-size:15px;line-height:1.45}

/* v91 services: wider map card so every system name fits on one line */
@media(min-width:1000px){html body:not(#_):not(#__):not(#___) .h90-services .h90g{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(36px,4vw,60px)}}
@media(min-width:561px){.x9sm{gap:14px;padding:26px 22px}.sm-core{width:100px}.sm-core img{width:34px}.sm-chip{font-size:12.5px;padding:7px 11px}}
/* v91 industries: three rows in the window, the count sits level with the main button */
.x9id{--rh:92px}
.id-win{height:calc(var(--rh) * 3)}
@media(min-width:1000px){html body:not(#_):not(#__):not(#___) .h90-industries .h90-vis{align-self:end;margin-bottom:var(--id-mb,84px)}}
@media(min-width:1000px){html body:not(#_):not(#__):not(#___) .h90-services h1{font-size:clamp(40px,3.6vw,52px)}html body:not(#_):not(#__):not(#___) .h90-industries{--id-mb:97px}}
