:root{
  --ds-navy:#0d0e0d;
  --ds-navy-x:#1c1d1a;
  --ds-primary:#f47c20;
  --ds-primary-hover:#dd670d;
  --ds-aqua:#f5f2f2;
  --ds-aqua-soft:#e8ebe4;
  --ds-body:#eff1ef;
  --ds-paper:#fdffff;
  --ds-ink:#151513;
  --ds-ink-x:#6e706c;
  --ds-muted:#8c8c87;
  --ds-rule:#e6e3e2;
  --ds-rule-x:#d8d8d2;
  --ds-primary-soft:#ffefe4;
  --ds-positive:#2f8e50; --ds-positive-fill:#e5f3ea; --ds-positive-bd:#cee3d4;
  --ds-stop:#c1442b;   --ds-stop-fill:#f7e3df;   --ds-stop-bd:#ebc6b8;
  --ds-warn:#f7b102;

  --ds-sp-1:4px; --ds-sp-2:8px; --ds-sp-3:12px; --ds-sp-4:16px; --ds-sp-6:24px;
  --ds-sp-8:32px; --ds-sp-10:40px; --ds-sp-12:48px; --ds-sp-16:64px;

  --ds-r-sm:12px; --ds-r-md:16px; --ds-r-lg:22px; --ds-r-xl:28px; --ds-r-2xl:30px; --ds-r-pill:999px;

  --ds-shade-sm:0 6px 20px rgba(13,14,13,.06);
  --ds-shade-md:0 12px 34px rgba(13,14,13,.06);
  --ds-shade-lg:0 28px 64px rgba(13,14,13,.17);

  --ds-font:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --ds-heading:'Helvetica Neue',Helvetica,Arial,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ds-font-accent:Georgia,'Iowan Old Style','Times New Roman',serif;
  --ds-frame:1220px;
  --ds-gutter:clamp(16px,4vw,44px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;scroll-behavior:smooth;overflow-x:hidden;scroll-padding-top:80px}
body{overflow-x:hidden;background:var(--ds-body);font-family:var(--ds-font);font-size:17px;
  line-height:1.58;color:var(--ds-ink);margin:0;-webkit-font-smoothing:antialiased}
img{height:auto;width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2{text-transform:uppercase;font-family:var(--ds-heading);margin:0;letter-spacing:-.02em;line-height:1.02;font-weight:800}
h3{letter-spacing:-.01em;font-family:var(--ds-heading);line-height:1.22;font-weight:800;margin:0}
::selection{background:var(--ds-primary);color:#fdffff}
:focus-visible{outline:3px solid var(--ds-primary);border-radius:4px;outline-offset:2px}
.work-tile-main .tick-list li::before{color:var(--ds-primary)}
.work-tile-main .tick-list li{color:#c7c7c4}
.page-links .btn{margin-left:8px}
.trail{align-items:center;font-size:13px;flex-wrap:wrap;list-style:none;display:flex;color:rgba(253,255,255,.75);margin:0;padding:12px 0 24px}
.trail li+li::before{opacity:.6;content:"/";margin-inline:8px}
.trail a{color:rgba(253,255,255,.75)}
.trail a:hover{color:#fdffff}
.trail li:last-child{color:#fdffff;font-weight:600}

.about{display:grid;gap:clamp(20px,3vw,28px)}
.stat-idx{letter-spacing:-.02em;color:var(--ds-primary-hover);
  font-family:var(--ds-heading);line-height:1;font-weight:800;font-size:clamp(34px,4.4vw,54px)}
.stat-txt{color:var(--ds-ink-x);margin-top:10px;text-transform:uppercase;letter-spacing:.04em;font-size:15px}
.hook{color:var(--ds-ink-x);font-size:clamp(16px,2vw,19px)}
.kicker{text-transform:uppercase;font-weight:700;display:inline-block;color:var(--ds-primary-hover);
  font-size:12.5px;letter-spacing:.14em}
.kicker::before{color:var(--ds-primary);content:"[ "}
.kicker::after{content:" ]";color:var(--ds-primary)}
.portfolio-strip{gap:20px;scroll-snap-type:x mandatory;padding-bottom:8px;display:flex;
  overflow-x:auto;scrollbar-width:none}
.portfolio-strip::-webkit-scrollbar{display:none}
.portfolio-cell{box-shadow:var(--ds-shade-md);scroll-snap-align:start;flex:0 0 clamp(280px,40%,420px);
  margin:0;position:relative;overflow:hidden;border-radius:var(--ds-r-lg);
  background:var(--ds-navy);border:1px solid var(--ds-rule)}
.portfolio-cell .frame{object-fit:cover;width:100%;aspect-ratio:4/3}
.portfolio-cell figcaption{left:0;position:absolute;font-weight:700;color:#fdffff;font-size:15px;
  right:0;padding:28px 18px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,2,.83));bottom:0}
.hl{font-family:var(--ds-font-accent);font-style:italic;color:var(--ds-primary-hover);font-weight:400}
.stars{gap:2px;display:inline-flex;color:var(--ds-warn)}
.stars svg,.star{height:16px;fill:var(--ds-warn);width:16px}
.status-pill::before{height:9px;border-radius:50%;width:9px;background:var(--ds-primary);content:""}

.view-hero{background:var(--ds-navy);background-image:linear-gradient(rgba(8,11,9,.83),rgba(8,11,9,.92)),var(--hero-img,linear-gradient(120deg,#2a2c2c,#0d0e0d));
  background-size:cover;
  color:#fdffff;position:relative;background-position:center}
.view-hero .wrap{padding-block:clamp(112px,10vw,132px) clamp(40px,6vw,64px)}
.view-hero h1{letter-spacing:-.02em;font-family:var(--ds-heading);font-size:clamp(32px,4.4vw,52px);font-weight:800;margin:8px 0;text-transform:uppercase}
.view-hero .wrap>p{max-width:640px;color:#dad9d2;font-size:17.5px}
.view-hero-ask .wrap{padding-bottom:clamp(48px,7vw,72px)}
.view-hero-ask .hero-grid{margin-top:var(--ds-sp-4)}
.field{background:var(--ds-paper);width:100%;font-size:15.5px;color:var(--ds-ink);
  border:1px solid var(--ds-rule);border-radius:var(--ds-r-md);font-family:inherit;padding:14px 15px}
.field:focus{box-shadow:0 0 0 3px var(--ds-primary-soft);outline:none;border-color:var(--ds-primary)}
.rating{align-items:center;gap:6px;display:flex}
.work-tile{padding:26px;display:flex;border:1px solid var(--ds-rule);
  transition:transform .2s,box-shadow .2s,border-color .2s;gap:16px;background:var(--ds-paper);box-shadow:var(--ds-shade-sm);flex-direction:column;
  border-radius:var(--ds-r-lg)}
.work-tile:hover{box-shadow:var(--ds-shade-md);border-color:transparent;transform:translateY(-3px)}
.work-tile .sym-chip{width:56px;background:var(--ds-primary-soft);border-radius:16px;height:56px}
.work-tile .sym-chip svg{width:26px;height:26px}
.work-tile h3{text-transform:none;font-size:20px}
.work-tile>p{margin:0;font-size:15.5px;color:var(--ds-ink-x);flex:1}
.work-tile-main{border-color:var(--ds-navy);color:#fdffff;background:var(--ds-navy)}
.work-tile-main h3{color:#fdffff;text-transform:uppercase;font-family:var(--ds-heading);font-weight:800;letter-spacing:-.015em;font-size:25px}
.work-tile-main>p{color:#c7c7c4}
.work-tile-main .sym-chip{background:rgba(244,124,32,.17);color:var(--ds-primary)}

.wrap{margin:0 auto;max-width:var(--ds-frame);padding-inline:var(--ds-gutter)}
.h2{font-family:var(--ds-heading);line-height:1.02;font-weight:800;
  text-transform:uppercase;margin:0;font-size:clamp(30px,3.8vw,46px);letter-spacing:-.02em}
.trust-rating{gap:14px;align-items:center;border-radius:var(--ds-r-lg);padding:14px 18px;display:flex;background:var(--ds-body)}

.stats-grid{grid-template-columns:repeat(4,1fr);text-align:center;gap:24px;display:grid}
.nav-btn{width:48px;cursor:pointer;place-items:center;background:var(--ds-paper);color:var(--ds-ink);
  box-shadow:var(--ds-shade-sm);border-radius:50%;height:48px;font-size:20px;display:grid;border:1px solid var(--ds-rule)}
.nav-btn:hover{background:var(--ds-navy);color:#fdffff;border-color:var(--ds-navy)}
.nav-btn svg{width:20px;height:20px}
.links-entry{border-radius:var(--ds-r-pill);color:var(--ds-ink-x);position:relative;padding:9px 15px;font-weight:600;transition:color .15s,background .15s;font-size:14.5px}
.links-entry:hover{background:var(--ds-aqua);color:var(--ds-primary-hover)}
.wordmark{font-family:var(--ds-heading);font-weight:800;display:inline-flex;
  letter-spacing:-.02em;font-size:19px;align-items:center;gap:12px;color:var(--ds-ink);text-transform:uppercase}
.wordmark-mark{background:var(--ds-primary);place-items:center;position:relative;height:32px;
  width:32px;border-radius:9px;display:inline-grid;flex:none}
.wordmark-mark::after{content:none}
.wordmark-mark svg{display:block}
.page-links{gap:4px;display:flex;align-items:center;margin-left:auto}

.trust-bar{box-shadow:var(--ds-shade-lg);z-index:10;display:grid;position:relative;
  background:var(--ds-paper);padding:28px 30px;align-items:center;
  grid-template-columns:repeat(3,1fr) auto;margin-top:-88px;gap:26px;border-radius:var(--ds-r-2xl);border:1px solid var(--ds-rule)}
.trust-cell{display:flex;align-items:flex-start;gap:15px}
.trust-cell>div>strong{display:block;font-weight:800;line-height:1.25;font-size:16px}
.trust-cell>div>span{font-size:14px;display:block;margin-top:3px;color:var(--ds-ink-x)}
.hero-heading{text-transform:uppercase;line-height:.98;font-family:var(--ds-heading);color:#fdffff;
  letter-spacing:-.025em;margin-top:22px;font-weight:800;font-size:clamp(38px,5.4vw,68px)}
.hero-hook{color:#dad9d2;font-size:clamp(16px,2.1vw,20px);margin-top:20px;max-width:520px}
.hero-btns{align-items:center;margin-top:30px;flex-wrap:wrap;gap:16px;display:flex}
.tick-list{list-style:none;margin:0;gap:10px;display:grid;padding:0}
.tick-list li{gap:10px;align-items:center;color:var(--ds-ink-x);font-size:14.5px;display:flex}
.tick-list li::before{font-weight:800;content:"\2713";color:var(--ds-primary-hover);flex:none;font-size:13px}

.hero{background:var(--ds-navy);background-image:linear-gradient(90deg,rgba(8,11,9,.91) 0%,rgba(8,11,9,.71) 42%,rgba(8,11,9,.27) 100%),var(--hero-img,linear-gradient(120deg,#2a2c2c,#0d0e0d));
  background-size:cover;
  position:relative;background-position:center;color:#fdffff}
.hero-body{padding-block:clamp(96px,12vw,128px) clamp(112px,15vw,180px)}
.hero-grid{display:grid;align-items:center;gap:40px;grid-template-columns:1.05fr .95fr}
.hero-txt{max-width:640px}
.hero .kicker,.status-pill{text-transform:uppercase;gap:9px;border-radius:var(--ds-r-pill);display:inline-flex;
  background:rgba(253,255,255,.06);font-weight:700;align-items:center;
  color:#fdffff;border:1px solid rgba(253,255,255,.17);letter-spacing:.1em;font-size:12px;padding:8px 15px}
.hero .kicker::before,.hero .kicker::after{content:none}

.web-masthead{z-index:100;top:0;position:fixed;left:0;background:rgba(253,255,255,.89);backdrop-filter:blur(14px);border-bottom:1px solid var(--ds-rule);right:0}
.web-masthead-body{gap:24px;display:flex;align-items:center;padding-block:16px}
.cat{color:var(--ds-ink-x);margin-top:-3px;font-size:13px}
.hero-args{display:grid;padding:0;gap:12px;max-width:520px;list-style:none;
  grid-template-columns:1fr 1fr;margin-top:36px}

.works-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}

.subsidies-box{border-radius:var(--ds-r-2xl);position:relative;padding:clamp(32px,5vw,60px);
  background:var(--ds-navy);overflow:hidden}
.subsidies-box::after{right:-80px;background:radial-gradient(circle,rgba(244,124,32,.35),transparent 70%);height:320px;top:-80px;position:absolute;pointer-events:none;content:"";
  width:320px;border-radius:50%}
.subsidies-box .kicker{color:var(--ds-primary)}
.subsidies-box .h2{max-width:560px;margin-top:14px;color:#fdffff}
.subsidies-box .hook{color:#c7c7c4;max-width:560px;margin-top:16px}
.subsidies-grid{display:grid;margin-top:40px;grid-template-columns:repeat(4,1fr);gap:18px}
.spot-tile{border-radius:var(--ds-r-2xl);box-shadow:var(--ds-shade-md);position:relative;aspect-ratio:4/3;
  overflow:hidden;background:var(--ds-aqua);border:1px solid var(--ds-rule)}
.spot-tile iframe{width:100%;inset:0;position:absolute;height:100%;display:block;border:0}
.spot-tile.loaded .spot-placeholder{display:none}
.spot-later{cursor:pointer}
.spot-placeholder{height:100%;text-align:center;display:flex;justify-content:center;align-items:center;color:var(--ds-ink);
  inset:0;background:radial-gradient(circle at 30% 30%,#ecf0ec,transparent 60%),linear-gradient(135deg,var(--ds-aqua),var(--ds-aqua-soft));border:0;gap:14px;cursor:pointer;padding:24px;
  font-weight:700;position:absolute;flex-direction:column;font-size:17px;width:100%}
.spot-locator{width:56px;transform:rotate(-45deg);background:var(--ds-primary);box-shadow:0 0 0 8px var(--ds-primary-soft);display:grid;height:56px;
  place-items:center;border-radius:50% 50% 50% 4px}
.spot-locator::after{height:16px;border-radius:50%;width:16px;background:#fdffff;content:""}
.spot-placeholder p{font-size:14px;margin:0;max-width:260px;font-weight:500;color:var(--ds-ink-x)}
.arg{padding:14px 16px;background:rgba(253,255,255,.05);font-weight:500;gap:11px;color:#fdffff;align-items:center;
  border:1px solid rgba(253,255,255,.14);display:flex;font-size:15px;border-radius:14px}
.arg i{display:grid;flex:none;font-style:normal;border-radius:50%;height:24px;width:24px;
  font-size:13px;font-weight:800;place-items:center;background:var(--ds-primary);color:#fdffff}
.locator svg,.firm-addr svg{width:16px;height:16px}
.trust-hint{color:var(--ds-ink-x);font-size:13px}
.trust-hint strong{font-weight:800;font-size:16px;color:var(--ds-ink)}
.trust-entry{color:var(--ds-ink-x)}

.hero .hl{color:var(--ds-primary)}
.band{padding-block:clamp(52px,7vw,84px)}
.band-other{background:var(--ds-paper)}
.portraits{display:flex}
.status{display:inline-flex;gap:6px;font-weight:700;padding:5px 11px;border-radius:var(--ds-r-pill);
  border:1px solid transparent;align-items:center;flex:none;font-size:12px}
.status .bullet{line-height:1;font-size:10px}
.status-available{background:var(--ds-positive-fill);color:var(--ds-positive);border-color:var(--ds-positive-bd)}
.status-hidden{background:var(--ds-stop-fill);border-color:var(--ds-stop-bd);color:var(--ds-stop)}

.menu-btn{border:none;flex-direction:column;background:none;padding:6px;z-index:1105;top:17px;right:18px;cursor:pointer;position:fixed;display:none;gap:5px}
.menu-btn span{transition:transform .3s ease,opacity .3s ease;height:3px;border-radius:2px;background:var(--ds-ink);display:block;width:26px}
.menu-btn.shown span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.menu-btn.shown span:nth-child(2){opacity:0}
.menu-btn.shown span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}

.phases-grid{display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}
.pros-list{padding:0;margin:26px 0 0;gap:13px;list-style:none;display:grid}
.pros-list li{gap:12px;display:flex;align-items:flex-start;font-weight:500}
.pros-list li::before{background:var(--ds-primary-soft);margin-top:1px;place-items:center;height:24px;font-size:12px;content:"\2713";
  border-radius:50%;flex:none;font-weight:800;width:24px;display:grid;color:var(--ds-primary-hover)}
.sym-chip{display:grid;color:var(--ds-primary-hover);border-radius:16px;flex:none;place-items:center;
  width:52px;height:52px;background:var(--ds-primary-soft)}
.sym-chip svg{height:24px;width:24px}

.budget-tile{box-shadow:var(--ds-shade-md);border-radius:var(--ds-r-2xl);border:1px solid var(--ds-rule);
  padding:30px;color:var(--ds-ink);background:var(--ds-paper)}
.budget-tile .h2{text-transform:none;margin:12px 0 4px;font-size:24px}
.budget-tile .tagline{margin:0 0 20px;color:var(--ds-ink-x);font-size:15px}
.budget-tile .kicker{color:var(--ds-primary-hover)}
.firm-tile{transition:box-shadow .2s,transform .2s;border:1px solid var(--ds-rule);background:var(--ds-paper);align-items:flex-start;
  padding:22px;border-radius:var(--ds-r-lg);display:flex;box-shadow:var(--ds-shade-sm);
  gap:16px}
.firm-tile:hover{box-shadow:var(--ds-shade-md);transform:translateY(-3px)}
.firm-mark{color:#fdffff;background:linear-gradient(150deg,var(--ds-primary),var(--ds-primary-hover));display:grid;overflow:hidden;flex:none;border-radius:16px;height:56px;
  place-items:center;line-height:1;position:relative;
  font-family:var(--ds-heading);font-weight:800;font-size:22px;width:56px}
.firm-ref{min-width:0;flex:1;flex-direction:column;display:flex;gap:8px}
.firm-head{align-items:flex-start;display:flex;justify-content:space-between;gap:10px}
.firm-head h3{font-size:17px;text-transform:none;line-height:1.25}

.firms-grid{gap:16px;grid-template-columns:repeat(3,1fr);display:grid}

.portfolio-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:36px;
  flex-wrap:wrap;justify-content:space-between}
.portfolio-head .h2{margin-top:14px}
.portfolio-nav{gap:10px;display:flex}
.subsidy-tile{background:rgba(253,255,255,.06);padding:22px;border:1px solid rgba(253,255,255,.12);border-radius:var(--ds-r-lg)}
.subsidy-tile .sym-chip{border-radius:12px;background:rgba(244,124,32,.17);width:40px;height:40px;margin-bottom:16px;color:var(--ds-primary)}
.subsidy-heading{font-family:var(--ds-heading);color:#fdffff;font-weight:800;font-size:17px}
.subsidy-txt{font-size:14px;color:#c7c7c4;margin-top:6px}
.watch-entry{font-weight:700;gap:11px;align-items:center;font-size:15px;display:inline-flex;color:#fdffff}
.watch-entry:hover{color:var(--ds-primary)}
.watch-entry .watch{width:48px;border-radius:50%;background:rgba(253,255,255,.12);justify-content:center;
  border:1px solid rgba(253,255,255,.21);align-items:center;display:inline-flex;transition:background .15s,transform .15s;
  height:48px}
.watch-entry:hover .watch{transform:scale(1.06);background:rgba(253,255,255,.17)}
.watch-entry .watch::after{content:"";width:0;border-left:10px solid #fdffff;border-top:7px solid transparent;
  height:0;border-bottom:7px solid transparent;margin-left:3px}
.firm-tile .rating{gap:8px;flex-wrap:wrap;align-items:center;display:flex}
.firm-tile .rating .idx{font-weight:800;font-size:14px}
.firm-tile .rating .nb{font-size:13px;color:var(--ds-muted)}
.firm-tile .stars .star{opacity:.28}.firm-tile .stars .star.done{opacity:1}
.firm-addr{gap:8px;font-size:14px;align-items:flex-start;display:flex;color:var(--ds-ink-x)}
.firm-addr .locator{color:var(--ds-primary-hover);margin-top:2px;flex:none}
.links-overlay{position:fixed;background:rgba(13,14,13,.52);inset:0;transition:opacity .25s,visibility .25s;opacity:0;visibility:hidden;z-index:1090}
.links-overlay.shown{visibility:visible;opacity:1}
.portrait{border-radius:50%;border:2px solid var(--ds-paper);object-fit:cover;width:38px;height:38px;background:var(--ds-aqua)}
.portrait+.portrait{margin-left:-12px}
.portrait-extra{margin-left:-12px;color:#fdffff;height:38px;display:grid;
  border:2px solid var(--ds-paper);place-items:center;font-size:12px;border-radius:50%;font-weight:800;background:var(--ds-navy);width:38px}

.action-box{display:flex;position:relative;
  overflow:hidden;background:var(--ds-navy);align-items:center;
  justify-content:space-between;padding:clamp(44px,6vw,60px);gap:28px;border-radius:var(--ds-r-2xl);flex-wrap:wrap}
.action-blob{border-radius:50%;top:-80px;height:320px;position:absolute;background:radial-gradient(circle,rgba(244,124,32,.35),transparent 70%);right:-80px;
  pointer-events:none;width:320px}
.action-txt{position:relative;max-width:560px}
.action-txt .h2{color:#fdffff}
.action-txt p{font-size:18px;color:#dad9d2;margin:16px 0 0}
.action-box .btn{margin-top:0;position:relative}

.blog{align-items:center;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,60px)}
.blog-txt .h2{margin-top:16px}
.blog-txt>p{font-size:17px;margin:18px 0 0;color:var(--ds-ink-x)}
.blog-tagline{margin-top:16px;text-transform:none}
.aside-mobile{transform:translateX(100%);z-index:1100;top:0;display:flex;width:min(320px,86vw);flex-direction:column;
  padding:84px 22px 22px;visibility:hidden;overflow-y:auto;
  right:0;box-shadow:var(--ds-shade-lg);
  background:var(--ds-paper);
  height:100%;position:fixed;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s}
.aside-mobile.shown{visibility:visible;transform:translateX(0)}
.aside-mobile nav{display:flex;flex-direction:column}
.aside-mobile a:not(.btn){padding:15px 2px;font-weight:600;font-size:16px;color:var(--ds-ink);border-bottom:1px solid var(--ds-rule)}
.aside-mobile a:not(.btn):hover{color:var(--ds-primary-hover)}
.aside-mobile a.btn{margin-top:var(--ds-sp-6);justify-content:center}
.phase-tile{border:1px solid var(--ds-rule);box-shadow:var(--ds-shade-sm);border-radius:var(--ds-r-lg);position:relative;
  background:var(--ds-paper);padding:30px 26px}
.phase-tile:not(:last-child)::after{width:26px;right:-13px;position:absolute;background:var(--ds-rule-x);z-index:1;top:54px;height:2px;content:""}
.phase-idx{width:52px;height:52px;font-family:var(--ds-heading);font-weight:800;
  color:#fdffff;place-items:center;font-size:20px;display:grid;border-radius:16px;background:var(--ds-primary);margin-bottom:20px}
.phase-heading{text-transform:none;font-family:var(--ds-heading);font-weight:800;margin:0 0 8px;font-size:18px}
.phase-txt{margin:0;font-size:14.5px;color:var(--ds-ink-x)}

.btn{white-space:nowrap;gap:10px;align-items:center;letter-spacing:.01em;
  cursor:pointer;border-radius:var(--ds-r-pill);justify-content:center;
  display:inline-flex;font-weight:700;min-height:52px;font-size:15px;border:1px solid transparent;
  transition:background .15s,color .15s,transform .12s,box-shadow .18s,border-color .15s;padding:14px 26px}
.btn svg{height:18px;width:18px}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.btn-mini{min-height:0;font-size:14px;padding:10px 18px}
.btn-xl{font-size:16px;padding:17px 32px;min-height:60px}
.btn-full{width:100%}
.btn-cta{box-shadow:0 10px 24px rgba(244,124,32,.22);background:var(--ds-primary);color:#fdffff}
.btn-cta:hover{color:#fdffff;box-shadow:0 14px 30px rgba(244,124,32,.28);background:var(--ds-primary-hover)}
.btn-hl{box-shadow:0 10px 24px rgba(244,124,32,.22);color:#fdffff;background:var(--ds-primary)}
.btn-hl:hover{color:#fdffff;background:var(--ds-primary-hover)}
.btn-soft{background:var(--ds-paper);color:var(--ds-ink);border-color:var(--ds-rule)}
.btn-soft:hover{background:var(--ds-aqua)}
.btn-dark{background:var(--ds-navy);color:#fdffff}
.btn-dark:hover{background:#000002}
.btn-clear{color:var(--ds-navy);background:var(--ds-paper)}
.btn-clear:hover{background:var(--ds-aqua)}
.intro-head{text-align:center;margin:0 auto clamp(30px,4.5vw,48px);max-width:700px}
.intro-head .h2{margin-top:14px}
.intro-head .hook{margin-top:16px}
@media(min-width:1024px){.about{grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}}
.about-infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0}

.nearby{flex-direction:column;gap:32px;display:flex}
.nearby-group h2{margin-bottom:14px;font-size:21px;text-transform:uppercase}
.nearby-menu{gap:8px 18px;flex-wrap:wrap;display:flex}
.nearby-menu a{text-decoration:underline}
.nearby-menu a:hover{color:var(--ds-primary-hover)}
.info{padding:15px 16px;border:1px solid var(--ds-rule);align-items:center;border-radius:var(--ds-r-md);gap:12px;
  display:flex;background:var(--ds-paper)}
.info-sym{background:var(--ds-primary-soft);flex:none;height:42px;width:42px;color:var(--ds-primary-hover);place-items:center;border-radius:12px;display:grid}
.info-sym svg{width:20px;height:20px}
.info-txt dt{margin-bottom:3px;font-size:12.5px;color:var(--ds-muted)}
.info-txt dd{line-height:1.15;font-weight:800;margin:0;font-size:16px}
.cityhall-row{margin:0;color:var(--ds-ink-x);display:flex;gap:10px;font-size:15px;align-items:flex-start}
.cityhall-row a{font-weight:600;color:var(--ds-primary-hover)}
.cityhall-row .locator{margin-top:1px;color:var(--ds-muted);flex:none}
.cityhall-row svg{width:18px;height:18px}
.web-tail .btn-cta{color:#fdffff;background:var(--ds-primary)}
.web-tail .btn-cta:hover{color:#fdffff;background:var(--ds-primary-hover)}

.web-tail{color:#c7c7c4;padding-block:clamp(52px,6vw,64px) 30px;background:var(--ds-navy)}
.times{padding-left:28px;color:var(--ds-ink-x);gap:5px;display:grid;font-size:14px}
.hour{justify-content:space-between;display:flex;max-width:320px;gap:16px}
.hour strong{color:var(--ds-ink);font-weight:600}
.about-cityhall{align-content:start;display:grid;padding:24px;
  border:1px solid var(--ds-rule);gap:12px;background:var(--ds-paper);border-radius:var(--ds-r-lg)}
.about-cityhall h3{font-size:18px;text-transform:none;margin:0 0 2px}
.rights{color:var(--ds-muted);padding-top:22px;border-top:1px solid rgba(253,255,255,.11);
  margin-top:38px;font-size:13px;text-align:center}

.fab-action{padding:22px 24px;background:var(--ds-paper);border:1px solid var(--ds-rule);right:20px;position:fixed;
  transition:transform .3s,opacity .3s;width:min(330px,calc(100vw - 40px));box-shadow:var(--ds-shade-lg);
  z-index:90;border-radius:var(--ds-r-lg);bottom:20px}
.fab-action[hidden]{display:none}
.fab-close{background:none;cursor:pointer;font-size:20px;border:0;color:var(--ds-muted);position:absolute;
  top:10px;line-height:1;right:12px}
.fab-heading{font-weight:800;margin:0 26px 6px 0;font-size:16.5px;font-family:var(--ds-heading)}
.fab-txt{color:var(--ds-ink-x);margin:0 0 14px;font-size:14px}
.fab-tab{right:20px;cursor:pointer;justify-content:center;box-shadow:var(--ds-shade-lg);z-index:89;
  display:none;width:62px;
  color:#fdffff;animation:floatPulse 2.4s infinite;bottom:20px;border-radius:50% 50% 50% 8px;align-items:center;height:62px;border:0;
  background:var(--ds-primary);position:fixed}
.fab-tab svg{display:block;width:27px;height:27px}
.fab-tab:hover{animation-play-state:paused;transform:scale(1.05)}
.tail-grid{gap:36px;grid-template-columns:1.4fr 1fr 1fr 1fr;display:grid}
.tail-wordmark{color:#fdffff;display:inline-flex;font-family:var(--ds-heading);align-items:center;
  gap:12px;font-weight:800;font-size:20px;text-transform:uppercase}
.tail-side>p{font-size:14.5px;color:var(--ds-muted);margin:14px 0 0}
.tail-heading{color:#fdffff;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:16px;font-size:13px}
.tail-menu{gap:11px;padding:0;margin:0;list-style:none;display:grid}
.tail-menu a{color:#c7c7c4;font-size:14.5px}
.tail-menu a:hover{color:var(--ds-primary)}
.tail-side .btn{margin-top:14px}
@keyframes floatPulse{0%,100%{box-shadow:0 0 0 0 rgba(244,124,32,.43)}50%{box-shadow:0 0 0 12px rgba(244,124,32,0)}}

.long-text{max-width:760px;margin:0 auto}
.long-text h2{letter-spacing:-.02em;font-family:var(--ds-heading);font-weight:800;margin:34px 0 12px;text-transform:uppercase;font-size:clamp(23px,3vw,32px)}
.long-text p{color:var(--ds-ink-x);margin:14px 0}
.long-text ul{padding-left:20px;color:var(--ds-ink-x)}
.long-text a:not(.btn){color:var(--ds-primary-hover);text-decoration:underline}

.blog-questions{max-width:820px;margin:0 auto;width:100%}
.blog-questions h2,.blog-questions .h2{margin:0 0 26px;text-align:center}
.questions-cell{overflow:hidden;border:1px solid var(--ds-rule);background:var(--ds-paper);margin-bottom:12px;border-radius:var(--ds-r-md)}
.questions-cell summary{padding:20px 24px;font-weight:800;list-style:none;font-family:var(--ds-heading);cursor:pointer;
  font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.questions-cell summary::-webkit-details-marker{display:none}
.questions-cell summary::after{font-size:24px;content:"+";font-weight:400;color:var(--ds-primary-hover)}
.questions-cell[open] summary::after{content:"\2013"}
.questions-a{transition:height .36s cubic-bezier(.4,0,.2,1);overflow:hidden}
.questions-a-body{color:var(--ds-ink-x);padding:0 24px 20px}

.query-ask{max-width:520px;flex-wrap:wrap;display:flex;gap:12px}
.query-ask .field{flex:1;min-width:200px}
.query-nb{color:var(--ds-ink-x);margin:20px 0}
.grid-hint{color:var(--ds-muted);font-size:13px;font-style:italic}

.blog-band h1{font-family:var(--ds-heading);text-transform:uppercase;font-weight:800;letter-spacing:-.02em;font-size:clamp(29px,4vw,42px);margin-bottom:16px}
.blog-band h2{margin:32px 0 12px;letter-spacing:-.02em;font-family:var(--ds-heading);text-transform:uppercase;font-weight:800;font-size:clamp(22px,2.8vw,32px)}
.blog-band p,.blog-band li{color:#32332e}
.blog-band ul{padding-left:20px}
.blog-band .grid-frame{overflow-x:auto;margin:18px 0}
.blog-band table{font-size:15px;width:100%;border-collapse:collapse}
.blog-band th,.blog-band td{padding:12px 14px;text-align:left;border:1px solid var(--ds-rule)}
.blog-band thead th{background:var(--ds-aqua);font-weight:800}

.page-blog{display:flex;flex-direction:column}
.page-blog .blog-band{order:1}
.page-blog .blog-questions{order:2}
.ask{display:grid;max-width:620px;gap:16px}
.ask-cell{gap:6px;display:grid}
.ask-cell label{font-weight:700;font-size:14px}
.ask-cell textarea.field{resize:vertical;min-height:150px}
.ask-hint{border-radius:var(--ds-r-md);padding:14px 16px;font-size:14px}
.ask-hint-done{background:var(--ds-positive-fill);color:var(--ds-positive);border:1px solid var(--ds-positive-bd)}
.ask-hint-hidden{background:var(--ds-stop-fill);color:var(--ds-stop);border:1px solid var(--ds-stop-bd)}

@media(max-width:1023px){
  .works-grid,.firms-grid,.phases-grid,.subsidies-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}
  .tail-grid{grid-template-columns:1fr 1fr}
  .phase-tile:not(:last-child)::after{display:none}
}
@media(max-width:860px){
  .page-links{display:none}
  .menu-btn{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-grid>div:last-child{order:-1}
  .blog{grid-template-columns:1fr}
  .trust-bar{grid-template-columns:1fr 1fr}
  .trust-rating{grid-column:1/-1}
}
@media(max-width:520px){
  .works-grid,.firms-grid,.phases-grid,.trust-bar{grid-template-columns:1fr}
  .subsidies-grid,.stats-grid{grid-template-columns:1fr 1fr}
  .tail-grid{grid-template-columns:1fr}
  .hero-args{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.leave-sheet{background:rgba(13,14,13,.56);justify-content:center;inset:0;display:none;backdrop-filter:blur(3px);z-index:1200;position:fixed;align-items:center;padding:20px}
.leave-sheet.loaded{display:flex}
.leave-sheet-tile{overflow:hidden;position:relative;box-shadow:var(--ds-shade-lg);width:100%;border-radius:var(--ds-r-2xl);grid-template-columns:.8fr 1fr;color:var(--ds-ink);max-width:860px;background:var(--ds-paper);display:grid}
.leave-sheet-aside{padding:clamp(28px,4vw,44px);background:var(--ds-navy);overflow:hidden;color:#fdffff;flex-direction:column;justify-content:center;display:flex;position:relative}
.leave-sheet-aside::after{height:86%;background:radial-gradient(circle,rgba(244,124,32,.28),transparent 70%);position:absolute;right:-28%;content:"";width:86%;bottom:-28%;border-radius:50%}
.leave-sheet-idx{color:var(--ds-primary);font-family:var(--ds-heading);line-height:.85;position:relative;font-weight:800;font-size:clamp(60px,9vw,100px)}
.leave-sheet-aside p{font-size:17px;color:#dad9d2;font-weight:600;max-width:190px;position:relative;margin-top:12px}
.leave-sheet-page{padding:clamp(28px,4vw,48px);position:relative}
.leave-sheet-page .kicker{margin-bottom:14px}
.leave-sheet-page .h2{font-size:clamp(24px,3.2vw,36px)}
.leave-sheet-page .hook{margin-top:12px}
.leave-sheet-page .tick-list{margin-top:20px;gap:12px}
.leave-sheet-page .tick-list li{font-size:15px}
.leave-sheet-page .btn{margin-top:24px}
.leave-sheet-close{border-radius:50%;line-height:1;color:var(--ds-muted);background:var(--ds-paper);top:16px;display:grid;place-items:center;height:42px;width:42px;border:1px solid var(--ds-rule);cursor:pointer;position:absolute;right:16px;font-size:20px}
.leave-sheet-ignore{color:var(--ds-muted);background:none;text-decoration:underline;border:0;margin:14px auto 0;font-size:13.5px;cursor:pointer;display:block}
@media(max-width:640px){.leave-sheet{display:none!important}}
.order-dialog{background:#fffdff;border-radius:20px;width:100%;max-width:520px;margin:0 auto;box-shadow:0 24px 60px rgba(15,30,53,.10),0 2px 6px rgba(15,30,53,.05);padding:30px 30px 26px}
.order-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.order-identity{display:flex;align-items:center;gap:10px}
.order-identity b{font-size:15px;font-weight:600;color:#0e1b32}
.order-pic{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#f4781f,#dd660c);flex:none;display:grid;place-items:center;color:#fffdff;font-weight:800;font-size:16px;line-height:1}
.order-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#dd660c;background:rgba(244,122,32,.14);padding:6px 11px;border-radius:999px;white-space:nowrap}
.tracks-band{height:5px;border-radius:999px;background:#eef3f9;margin:0 0 18px;overflow:hidden}
.track-full{display:block;height:100%;width:22%;background:#f4781f;border-radius:999px}
.order-label{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:4px 0 4px;line-height:1.2;color:#0e1b32}
.intro-second{margin:0 0 18px;color:#717cb0;font-size:14px;line-height:1.5}
.order-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.order-unit{margin-bottom:13px}
.form-label{display:block;font-size:13px;font-weight:500;color:#363f52;margin-bottom:6px}
.form-nav{width:100%;height:48px;border:1.6px solid #e5e8f4;border-radius:12px;padding:0 14px;font:inherit;font-size:15px;color:#0e1b32;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.form-nav::placeholder{color:#b3c0db}
.form-nav:focus{border-color:#f4781f;box-shadow:0 0 0 4px rgba(244,122,32,.14)}
.order-unit-shut .form-nav{border-color:#e6464d;box-shadow:0 0 0 3px rgba(229,74,79,.13)}
.order-second{display:block;margin-top:5px;font-size:12px;font-weight:600;color:#e6464d}
.order-second[hidden]{display:none}
.order-block{display:flex;gap:10px;flex-wrap:wrap}
.order-block label{flex:1;min-width:120px;margin:0;cursor:pointer;display:flex}
.order-block input{position:absolute;opacity:0;width:0;height:0}
.pill{flex:1;min-height:48px;border:1.6px solid #dcdcec;border-radius:12px;background:#fff;color:#717cb0;font:inherit;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;text-align:center;transition:.15s}
.order-block label:hover .pill{border-color:#bbc5e5}
.order-block input:checked+.pill{border-color:#f4781f;background:rgba(244,122,32,.14);color:#dd660c}
.order-promo{width:100%;height:52px;border:0;border-radius:12px;background:#f4781f;color:#fffdff;font:inherit;font-size:16px;font-weight:600;cursor:pointer;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 20px rgba(244,122,32,.14);transition:.15s}
.order-promo:hover{filter:brightness(.92)}
.order-small{margin:14px 0 0;font-size:11px;line-height:1.5;color:#98a2be;text-align:center}
.order-full{text-align:center;padding:22px 6px 14px}
.check-sym{width:60px;height:60px;margin:4px auto 16px;border-radius:50%;background:#239f6b;color:#fff;display:grid;place-items:center;font-size:31px;font-weight:800;line-height:1;box-shadow:0 10px 26px rgba(32,158,105,.30)}
.order-h2{margin:0 0 7px;font-size:20px;font-weight:800;color:#0e1b32}
.order-text{margin:0 auto;max-width:340px;color:#717cb0;font-size:14.5px;line-height:1.55}
@media (max-width:400px){.order-grid{grid-template-columns:1fr}}
