:root {
  --brand:#0064da;
  --brand-dark:#02339e;
  --brand-soft:#eaf2fd;
  --brand-soft-2:#f6faff;
  --ink:#202522;
  --muted:#616b65;
  --line:#e4e9e5;
  --surface:#fff;
  --surface-soft:#fafcfb;
  --shadow:0 12px 38px rgba(2,26,70,.08);
  --radius:14px;
  --radius-lg:28px;
  --container:1180px;
  --header-h:78px;
  --utility-h:34px;
  --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:#fff;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img {
  max-width:100%;
  display:block;
}
a {
  color:inherit;
  text-decoration:none;
}
button,
input,
select,
textarea {
  font:inherit;
}
button {
  cursor:pointer;
}
.container {
  width:min(var(--container),calc(100% - 80px));
  margin-inline:auto;
}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.skip-link {
  position:fixed;
  left:12px;
  top:-80px;
  z-index:2000;
  background:#fff;
  padding:12px 16px;
  border:2px solid var(--brand);
  border-radius:8px;
}
.skip-link:focus {
  top:12px;
}
.icon,
.feature-icon,
.service-card-icon,
.sector-card-icon,
.process-icon,
.sector-mini-icon {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.icon-xs {
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.icon-sm {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}
.button-icon {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  transition:transform .22s ease;
}
.button {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 15px;
  border-radius:6px;
  font-weight:650;
  font-size:12.5px;
  border:1px solid transparent;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.button:hover {
  transform:translateY(-2px);
}
.button:hover .button-icon {
  transform:translateX(3px);
}
.button-primary {
  background:var(--brand);
  color:#fff;
}
.button-primary:hover {
  background:var(--brand-dark);
  box-shadow:0 10px 24px rgba(47,122,72,.18);
}
.button-secondary {
  background:#fff;
  color:var(--ink);
  border-color:#87ab92;
}
.button-secondary:hover {
  border-color:var(--brand);
  color:var(--brand);
}
.button-block {
  width:100%;
}
.button-row {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.eyebrow {
  margin:0 0 10px;
  font-family:inherit;
  color:var(--brand);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.96);
}
.site-header.is-sticky .main-nav-wrap {
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(16px);
  box-shadow:0 7px 24px rgba(22,45,31,.08);
}
.utility-bar {
  height:var(--utility-h);
  background:#fbfcfb;
  border-bottom:1px solid #f0f2f0;
  font-size:12px;
}
.utility-inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.utility-status {
  display:flex;
  align-items:center;
  gap:9px;
}
.status-dot {
  width:7px;
  height:7px;
  background:var(--brand);
  border-radius:50%;
}
.utility-links {
  display:flex;
  gap:26px;
}
.utility-links a {
  display:flex;
  align-items:center;
  gap:7px;
  color:#39423d;
}
.main-nav-wrap {
  height:var(--header-h);
  border-bottom:1px solid var(--line);
}
.main-nav {
  height:100%;
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  gap:26px;
}
.brand {
  /* Tek çocuk logo görseli. Sütun flex bırakılırsa görsel kap genişliğine
     yayılıp yatay eziliyordu (ölçüldü: 128 px yerine 220 px). */
  display:inline-block;
  line-height:0;
}
.brand-logo {
  display:block;
  height:48px;
  width:auto;
}
.desktop-nav {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:38px;
  height:100%;
}
.nav-link {
  font-size:14px;
  font-weight:600;
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
}
.nav-link::after {
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
  height:2px;
  background:var(--brand);
  transform:scaleX(0);
  transition:transform .2s;
}
.nav-link:hover::after,
.nav-link.is-active::after {
  transform:scaleX(1);
}
.header-cta {
  white-space:nowrap;
}
.menu-toggle {
  display:none;
  background:transparent;
  border:0;
  color:var(--ink);
  padding:8px;
}
.mobile-menu {
  position:fixed;
  z-index:99;
  top:calc(var(--utility-h) + var(--header-h));
  left:0;
  right:0;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:var(--shadow);
}
.mobile-menu-inner {
  padding-block:22px;
  display:grid;
  gap:6px;
}
.mobile-menu .nav-link {
  height:auto;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.mobile-utility {
  display:flex;
  gap:18px;
  font-size:13px;
  padding-top:10px;
}
.hero {
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-grid {
  display:grid;
  grid-template-columns:45% 55%;
  min-height:330px;
}
.hero-copy {
  align-self:center;
  padding:34px 30px 34px 0;
  position:relative;
  z-index:2;
}
.hero h1,
.sector-hero h1 {
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.14;
  letter-spacing:-.03em;
  margin:0 0 14px;
  max-width:650px;
}
.hero h1 em,
.sector-hero h1 em {
  font-style:normal;
  color:var(--brand);
}
.hero-lead {
  font-size:14px;
  color:var(--muted);
  max-width:590px;
  margin:0 0 20px;
}
.hero-media {
  min-height:330px;
  position:relative;
}
.hero-media::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:22%;
  z-index:1;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.75) 35%,rgba(255,255,255,0) 100%);
}
.hero-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-media.rounded img {
  border-radius:var(--radius-lg) 0 0 var(--radius-lg);
}
.section {
  padding:32px 0;
  border-bottom:1px solid var(--line);
}
.compact-section {
  padding:22px 0;
}
.section-heading {
  margin-bottom:22px;
}
.section-heading.centered {
  text-align:center;
}
.section-heading h2 {
  font-size:26px;
  line-height:1.25;
  margin:0;
}
.section-heading p:not(.eyebrow) {
  color:var(--muted);
  margin:8px auto 0;
}
.section-answer {
  max-width:720px;
  margin:12px auto 0;
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
}
.simple-feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.simple-feature {
  display:grid;
  grid-template-columns:46px 1fr;
  align-items:start;
  gap:16px;
  padding:18px 26px;
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
}
.simple-feature:nth-last-child(-n+3) {
  border-bottom:0;
}
.feature-icon {
  width:46px;
  height:46px;
  color:var(--brand);
  padding:11px;
  background:var(--brand-soft);
  border-radius:50%;
}
.simple-feature h3 a,
.service-card h3 a {
  border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
.simple-feature h3 a:hover,
.service-card h3 a:hover {
  color:var(--brand);
  border-bottom-color:var(--brand);
}
.simple-feature h3,
.service-card h3,
.delivery-card h3,
.benefit-card h3 {
  font-size:16px;
  margin:1px 0 6px;
}
.simple-feature p,
.service-card p,
.delivery-card p,
.benefit-card p {
  margin:0;
  color:var(--muted);
  font-size:14px;
}
@media (min-width:901px) {
  .simple-feature:nth-child(3n) {
    border-right:0;
    padding-right:0;
  }
  .simple-feature:nth-child(3n+1) {
    padding-left:0;
  }
}
.sector-strip-section {
  background:#fdfefd;
}
.sector-mini-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
}
.sector-mini {
  display:flex;
  min-height:96px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  border-right:1px solid var(--line);
  font-size:14px;
  font-weight:600;
}
.sector-mini:last-child {
  border-right:0;
}
.sector-mini span {
  font-size:12.5px;
  line-height:1.3;
  max-width:96px;
}
.sector-mini:hover {
  color:var(--brand);
}
.sector-mini-icon {
  width:34px;
  height:34px;
  color:var(--brand);
}
.featured-project-section {
  background:#fff;
}
.featured-project-grid {
  display:grid;
  grid-template-columns:24% 52% 24%;
  align-items:stretch;
  gap:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.project-summary {
  padding:20px;
}
.project-summary h2 {
  font-size:21px;
  margin:0 0 3px;
}
.project-summary p {
  color:var(--muted);
  font-size:14px;
}
.project-summary .location {
  margin-top:3px;
}
.project-summary .button {
  margin-top:8px;
}
.before-after {
  position:relative;
  min-height:196px;
  overflow:hidden;
  background:#ddd;
}
.before-after img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ba-after-wrap {
  position:absolute;
  inset:0;
  clip-path:inset(0 0 0 50%);
}
.ba-range {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  z-index:4;
  cursor:ew-resize;
}
.ba-handle {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:3;
  width:40px;
  height:40px;
  background:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 5px 14px rgba(0,0,0,.16);
  pointer-events:none;
}
.ba-handle::before {
  content:"";
  position:absolute;
  width:2px;
  height:400px;
  background:#fff;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.ba-chevron-left,
.ba-chevron-right {
  width:13px;
  height:13px;
  fill:none;
  stroke:var(--ink);
  stroke-width:2;
  position:relative;
  z-index:1;
}
.ba-chevron-left {
  transform:rotate(90deg);
}
.ba-chevron-right {
  transform:rotate(-90deg);
}
.ba-label {
  position:absolute;
  bottom:12px;
  z-index:3;
  background:rgba(27,31,28,.78);
  color:#fff;
  font-size:10px;
  padding:5px 9px;
  border-radius:4px;
}
.ba-label-before {
  left:12px;
}
.ba-label-after {
  right:12px;
}
.metric-list {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 20px;
  gap:4px;
}
.metric-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid var(--line);
}
.metric-item:last-child {
  border-bottom:0;
}
.metric-item svg {
  width:34px;
  height:34px;
  padding:7px;
  color:var(--brand);
  background:var(--brand-soft);
  border-radius:50%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}
.metric-item div {
  display:flex;
  flex-direction:column;
}
.metric-item strong {
  font-size:20px;
  line-height:1.2;
}
.metric-item span {
  font-size:12px;
  color:var(--muted);
}
.process-layout {
  display:grid;
  grid-template-columns:200px 1fr;
  align-items:center;
  gap:30px;
}
.process-title h2 {
  font-size:24px;
  margin:0;
  line-height:1.18;
}
.process-list {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
  position:relative;
}
.process-list::before {
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  top:20px;
  height:1px;
  background:#b8cebE;
}
.process-step {
  position:relative;
  text-align:left;
  display:grid;
  grid-template-columns:32px 1fr;
  grid-template-rows:34px auto;
  column-gap:6px;
  align-items:center;
}
.process-number {
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:700;
  position:relative;
  z-index:1;
}
.process-icon {
  width:24px;
  height:24px;
  justify-self:start;
  color:var(--brand);
  position:relative;
  z-index:1;
  background:#fff;
}
.process-step div {
  grid-column:1/3;
  padding-top:6px;
}
.process-step h3 {
  font-size:13px;
  margin:0 0 2px;
  white-space:nowrap;
}
.process-step p {
  font-size:11px;
  color:var(--muted);
  margin:0;
}
.cta-band {
  background:linear-gradient(90deg,#f2f9f4,#fbfdfb);
  border-bottom:1px solid var(--line);
}
.cta-section {
  padding:22px 0 30px;
}
.cta-panel {
  overflow:hidden;
  border-radius:var(--radius);
  background:linear-gradient(90deg,#eef7f1,#fafcfa);
  padding:16px 26px;
}
.cta-decor {
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:76px;
  height:76px;
  color:#bcd8c5;
  fill:none;
  stroke:currentColor;
  stroke-width:1.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.cta-inner.has-decor {
  padding-left:104px;
}
.cta-inner .button-row {
  flex-wrap:nowrap;
}
.cta-inner .button-row .button {
  white-space:nowrap;
}
.cta-inner h2 {
  max-width:520px;
}
.cta-note {
  margin:4px 0 0;
  color:var(--muted);
  font-size:13px;
}
.cta-inner {
  position:relative;
  min-height:70px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
}
.cta-inner h2 {
  font-size:22px;
  line-height:1.25;
  margin:0;
}
.site-footer {
  padding:26px 0 12px;
  background:#fff;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.25fr repeat(4,1fr);
  gap:26px;
}
.footer-brand p {
  color:var(--muted);
  font-size:12px;
  max-width:220px;
}
.copyright {
  margin-top:16px;
}
.footer-col h3 {
  font-size:12px;
  margin:0 0 10px;
}
.footer-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:4px;
}
.footer-col li,
.footer-col a {
  font-size:11px;
  color:#4d5751;
}
.footer-contact li {
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.social-link {
  display:inline-flex;
  margin-top:10px;
}
.social-link svg {
  width:28px;
  height:28px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.7;
}
.footer-legal {
  border-top:1px solid var(--line);
  margin-top:20px;
  padding-top:12px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#7b847e;
  font-size:10px;
}
.footer-legal div {
  display:flex;
  gap:16px;
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.service-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  min-height:128px;
  display:grid;
  grid-template-columns:1fr 38%;
  overflow:hidden;
  background:#fff;
}
.service-card-copy {
  display:flex;
  gap:18px;
  align-items:center;
  padding:20px;
}
.service-card-icon {
  width:42px;
  height:42px;
  color:var(--brand);
  flex:0 0 auto;
}
.service-card img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.compact-process {
  display:grid;
  grid-template-columns:180px 1fr;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px 22px;
}
.compact-process>.eyebrow {
  margin:0;
}
.compact-steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.compact-step {
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
}
.compact-step:not(:last-child)::after {
  content:"";
  flex:1 1 auto;
  min-width:20px;
  height:1px;
  background:#d7e2da;
  margin:0 14px 0 6px;
}
.compact-step>span {
  width:26px;
  height:26px;
  flex:0 0 auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--brand-soft);
  color:var(--brand);
  font-weight:700;
  font-size:12px;
}
.compact-step svg {
  color:var(--brand);
  flex:0 0 auto;
}
.delivery-panel {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px 20px 20px;
}
.delivery-panel>.eyebrow {
  margin:0 0 12px;
}
.delivery-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.delivery-card {
  border:1px solid #eef2ef;
  background:#f7faf8;
  border-radius:10px;
  padding:18px;
  display:flex;
  gap:16px;
  align-items:center;
}
.delivery-card>svg {
  width:40px;
  height:40px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.benefits-section {
  padding:25px 0;
}
.benefit-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.benefit-card {
  padding:20px;
  display:flex;
  gap:14px;
  border-right:1px solid var(--line);
}
.benefit-card:last-child {
  border-right:0;
}
.benefit-card>svg {
  width:38px;
  height:38px;
  padding:9px;
  background:var(--brand-soft);
  border-radius:50%;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  flex:0 0 auto;
}
.sector-hero {
  border-bottom:1px solid var(--line);
}
.sector-hero-grid {
  display:grid;
  grid-template-columns:37% 63%;
  min-height:290px;
}
.sector-hero .hero-copy {
  padding-right:18px;
}
.sector-hero-slices {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  overflow:hidden;
}
.hero-slice {
  min-width:0;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.hero-slice img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s;
}
.hero-slice::after {
  content:"";
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(transparent,rgba(255,255,255,.98) 76%);
}
.hero-slice span {
  position:relative;
  z-index:1;
  width:100%;
  padding:15px 6px;
  text-align:center;
  font-size:10px;
  font-weight:650;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.hero-slice span svg {
  width:24px;
  height:24px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.hero-slice:hover img {
  transform:scale(1.035);
}
.sector-card-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}
.sector-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  text-align:center;
  background:#fff;
  padding-top:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.sector-card-icon {
  width:40px;
  height:40px;
  color:var(--brand);
}
.sector-card h3 {
  font-size:15px;
  line-height:1.25;
  margin:8px 12px 5px;
}
.sector-card p {
  font-size:11px;
  color:var(--muted);
  min-height:36px;
  margin:0 12px 12px;
}
.sector-card img {
  width:100%;
  height:112px;
  object-fit:cover;
  margin-top:auto;
}
.sector-approach-section {
  background:#fdfefd;
}
.sector-tabs {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
  margin-bottom:12px;
}
.sector-tab {
  border:1px solid var(--line);
  background:#fff;
  border-radius:6px;
  min-height:38px;
  color:#3f4943;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:11px;
}
.sector-tab.is-active {
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}
.sector-detail-panel {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px;
  display:grid;
  grid-template-columns:42% 1fr;
  gap:16px;
  background:#fff;
}
.sector-detail-panel>img {
  width:100%;
  height:245px;
  object-fit:cover;
  border-radius:10px;
}
.sector-detail-panel>* {
  min-width:0;
}
.sector-benefit-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  min-width:0;
}
.sector-benefit-grid article {
  min-width:0;
}
.sector-benefit-grid article {
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fcfdfc;
}
.sector-benefit-grid svg {
  width:31px;
  height:31px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.sector-benefit-grid h3 {
  font-size:12px;
  margin:7px 0 3px;
}
.sector-benefit-grid p {
  font-size:10px;
  color:var(--muted);
  margin:0;
}
.featured-sector-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:30px;
}
.featured-sector-grid>img {
  width:100%;
  height:270px;
  object-fit:cover;
  border-radius:var(--radius);
}
.featured-sector h2 {
  font-size:28px;
  margin:0 0 18px;
}
.featured-sector-points {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:18px;
}
.featured-sector-points>div {
  border-right:1px solid var(--line);
  padding-right:12px;
}
.featured-sector-points>div:last-child {
  border-right:0;
}
.featured-sector-points svg {
  width:34px;
  height:34px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.featured-sector-points h3 {
  font-size:12px;
  margin:7px 0 3px;
}
.featured-sector-points p {
  font-size:10px;
  color:var(--muted);
  margin:0;
}
.why-layout {
  display:grid;
  grid-template-columns:150px 1fr;
  align-items:center;
  gap:22px;
}
.why-layout>h2 {
  font-size:24px;
  margin:0;
}
.why-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.why-grid .benefit-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  align-items:flex-start;
}
.project-filter-section {
  border-bottom:1px solid var(--line);
}
.project-filter-bar {
  min-height:64px;
  display:flex;
  align-items:center;
  gap:16px;
}
.project-filter {
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  gap:7px;
  padding:12px 15px;
  border-radius:6px;
  color:#4f5a53;
}
.project-filter.is-active {
  background:var(--brand-soft);
  color:var(--brand);
  font-weight:700;
}
.project-filter-bar select {
  margin-left:auto;
  border:1px solid var(--line);
  background:#fff;
  padding:10px 14px;
  border-radius:6px;
}
.featured-project-card {
  display:grid;
  grid-template-columns:24% 54% 22%;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.featured-project-card .project-summary {
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.project-list-section {
  padding-top:0;
}
.project-row {
  display:grid;
  grid-template-columns:30% 1.2fr .55fr .55fr auto;
  align-items:center;
  gap:20px;
  min-height:98px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:8px;
}
.project-row.is-hidden {
  display:none;
}
.project-row img {
  width:100%;
  height:80px;
  object-fit:cover;
  border-radius:6px;
}
.project-row-copy h3 {
  font-size:16px;
  margin:0 0 5px;
}
.project-row-copy p {
  font-size:11px;
  color:var(--muted);
  margin:0;
  display:flex;
  align-items:center;
  gap:4px;
}
.project-scope {
  font-size:11px;
  color:var(--muted);
  margin:4px 0 0;
}
.project-kpi {
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:center;
  column-gap:7px;
}
.project-kpi svg {
  grid-row:1/3;
  width:29px;
  height:29px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.project-kpi strong {
  font-size:16px;
}
.project-kpi span {
  font-size:10px;
  color:var(--muted);
}
.project-row>a {
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--brand);
  font-size:11px;
  font-weight:700;
}
.empty-state {
  text-align:center;
  padding:30px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:var(--muted);
}
.project-process {
  padding-top:15px;
}
.project-process>.container>.eyebrow {
  text-align:left;
}
.proof-section {
  padding:20px 0;
}
.proof-grid {
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.proof-grid blockquote {
  margin:0;
  padding:23px;
  display:grid;
  grid-template-columns:35px 1fr;
  gap:5px 12px;
}
.proof-grid blockquote>svg {
  width:32px;
  height:32px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  grid-row:1/3;
}
.proof-grid blockquote p {
  font-size:14px;
  margin:0;
}
.proof-grid cite {
  font-size:10px;
  color:var(--muted);
  font-style:normal;
  display:flex;
  align-items:center;
  gap:6px;
}
.proof-stat {
  border-left:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:5px;
  padding:18px;
}
.proof-stat svg {
  width:35px;
  height:35px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.proof-stat strong {
  font-size:22px;
}
.proof-stat span {
  font-size:11px;
  color:var(--muted);
}
.timeline-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:30px;
  position:relative;
}
.timeline-grid::before {
  content:"";
  position:absolute;
  left:5%;
  right:5%;
  top:30px;
  height:1px;
  background:#acc8b4;
}
.milestone {
  position:relative;
  padding-top:2px;
  text-align:center;
}
.milestone>svg {
  width:56px;
  height:56px;
  padding:15px;
  margin-inline:auto;
  border-radius:50%;
  color:var(--brand);
  background:var(--brand-soft);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  position:relative;
  z-index:1;
}
.milestone strong {
  display:block;
  color:var(--ink);
  font-size:19px;
  font-weight:600;
  margin-top:12px;
}
.milestone h3 {
  font-size:14px;
  margin:4px 0;
}
.milestone p {
  font-size:11px;
  color:var(--muted);
  margin:0;
}
.value-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.value-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  text-align:left;
  display:grid;
  grid-template-columns:40px 1fr;
  grid-template-rows:auto auto;
  column-gap:13px;
  align-items:center;
}
.value-card svg {
  grid-row:1/3;
  width:40px;
  height:40px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.value-card h3 {
  font-size:14px;
  margin:0 0 3px;
  align-self:end;
}
.value-card p {
  align-self:start;
}
.value-card p {
  font-size:11px;
  color:var(--muted);
  margin:0;
}
.capacity-section {
  padding:22px 0;
}
.capacity-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fbfdfb;
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.capacity-stat {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:22px;
  border-right:1px solid var(--line);
}
.capacity-stat:last-child {
  border-right:0;
}
.capacity-stat svg {
  width:42px;
  height:42px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.capacity-stat div {
  display:flex;
  flex-direction:column;
}
.capacity-stat strong {
  font-size:25px;
}
.capacity-stat span {
  font-size:12px;
}
.team-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.team-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px;
  display:flex;
  align-items:center;
  gap:14px;
}
.team-card img {
  width:82px;
  height:82px;
  border-radius:50%;
  object-fit:cover;
}
.team-card h3 {
  font-size:15px;
  margin:0;
}
.team-card strong {
  display:block;
  color:var(--brand);
  font-size:12px;
}
.team-card p {
  font-size:10px;
  color:var(--muted);
  margin:5px 0 0;
}
.discipline-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.discipline-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  display:grid;
  grid-template-columns:44px 1fr;
  column-gap:15px;
  align-items:start;
}
.discipline-card>svg {
  width:44px;
  height:44px;
  padding:10px;
  background:var(--brand-soft);
  border-radius:50%;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.discipline-card h3 {
  font-size:15px;
  margin:4px 0 6px;
}
.discipline-card p {
  font-size:12.5px;
  line-height:1.55;
  color:var(--muted);
  margin:0;
}
.expertise-tags {
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:20px;
}
.expertise-tags span {
  border:1px solid #b9cfbf;
  color:#496953;
  padding:7px 17px;
  border-radius:999px;
  font-size:11px;
}
.document-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.document-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  display:flex;
  align-items:center;
  gap:14px;
}
.document-card>svg {
  width:42px;
  height:42px;
  padding:10px;
  background:var(--brand-soft);
  border-radius:50%;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  flex:0 0 auto;
}
.about-cta {
  background-image:linear-gradient(90deg,rgba(244,250,246,.96),rgba(255,255,255,.9)),url('../images/cta-atrium.webp');
  background-size:cover;
  background-position:center;
}
.contact-main {
  padding-top:26px;
}
.contact-grid {
  display:grid;
  grid-template-columns:31% 1fr;
  gap:26px;
}
.contact-info h2,
.contact-form-panel h2 {
  font-size:24px;
  margin:0 0 18px;
}
.contact-info-card {
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px;
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:8px;
}
.contact-info-card>svg {
  width:38px;
  height:38px;
  padding:9px;
  background:var(--brand-soft);
  color:var(--brand);
  border-radius:50%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.contact-info-card div {
  display:flex;
  flex-direction:column;
}
.contact-info-card strong {
  font-size:12px;
}
.contact-info-card a,
.contact-info-card span {
  font-size:12px;
  color:#465049;
}
.contact-sub {
  display:block;
  margin-top:6px;
  font-size:11px;
  line-height:1.6;
  color:var(--muted);
}
.contact-sub a {
  color:var(--brand);
}
.contact-info h3 {
  font-size:17px;
  margin:20px 0 8px;
}
.map-note {
  font-size:11px;
  color:var(--muted);
  margin:0 0 8px;
}
.map-card {
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px;
}
.map-card svg {
  width:100%;
  height:auto;
}
.contact-form-panel {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  background:#fff;
}
.contact-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px 20px;
}
.form-field {
  display:flex;
  flex-direction:column;
  gap:5px;
}
.form-field-full {
  grid-column:1/3;
}
.form-field label {
  font-size:11px;
  font-weight:700;
}
.form-field input,
.form-field select,
.form-field textarea {
  width:100%;
  border:1px solid #dfe5e0;
  border-radius:5px;
  padding:11px 12px;
  background:#fff;
  outline:0;
  transition:border-color .2s,box-shadow .2s;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(47,122,72,.12);
}
.form-field [aria-invalid=true] {
  border-color:#b13c3c;
}
.form-field small {
  min-height:15px;
  color:#a72c2c;
  font-size:10px;
}
.form-submit {
  grid-column:1/3;
  border:0;
}
.form-status {
  grid-column:1/3;
  font-size:12px;
  min-height:18px;
}
.form-status.is-success {
  color:var(--brand);
}
.form-status.is-error {
  color:#a72c2c;
}
.honeypot {
  position:absolute;
  left:-9999px;
}
.contact-form-col {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.quick-action-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.quick-action-grid a {
  border:1px solid var(--line);
  border-radius:10px;
  padding:16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:130px;
}
.quick-action-grid>a>svg:first-child {
  width:38px;
  height:38px;
  padding:9px;
  background:var(--brand-soft);
  border-radius:50%;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.qa-arrow {
  width:17px;
  height:17px;
  margin-top:auto;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.quick-action-grid strong {
  font-size:13px;
  margin:10px 0 4px;
}
.quick-action-grid span {
  font-size:10px;
  color:var(--muted);
}
.section-heading-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.section-heading-row h2 {
  font-size:25px;
}
.section-heading-row a {
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--brand);
  font-size:12px;
}
.faq-list {
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.faq-item {
  border-bottom:1px solid var(--line);
}
.faq-item:last-child {
  border-bottom:0;
}
.faq-item button {
  width:100%;
  border:0;
  background:#fff;
  min-height:46px;
  padding:10px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
}
.faq-item button svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  transition:transform .2s;
}
.faq-item button[aria-expanded=true] svg {
  transform:rotate(180deg);
}
.faq-answer {
  padding:0 16px 14px;
  color:var(--muted);
  font-size:13px;
}
.crumbs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:11.5px;
  color:var(--muted);
  margin:0 0 16px;
}
.crumbs a {
  color:var(--muted);
}
.crumbs a:hover {
  color:var(--brand);
}
.crumb-sep {
  color:#b9c4bd;
}
.crumbs [aria-current] {
  color:var(--ink);
  font-weight:600;
}
.guide-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.guide-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  background:#fff;
  transition:border-color .2s,transform .2s;
}
.guide-card:hover {
  border-color:var(--brand);
  transform:translateY(-2px);
}
.guide-card>svg {
  width:40px;
  height:40px;
  padding:10px;
  background:var(--brand-soft);
  border-radius:50%;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.guide-card h3 {
  font-size:15.5px;
  margin:6px 0 0;
}
.guide-card p {
  font-size:12.5px;
  line-height:1.55;
  color:var(--muted);
  margin:0;
}
.guide-card span {
  margin-top:auto;
  padding-top:10px;
  font-size:12px;
  font-weight:700;
  color:var(--brand);
  display:flex;
  align-items:center;
  gap:5px;
}
.guide-card span svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
}
.topic-hero {
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--brand-soft-2),#fff);
}
.topic-hero-grid {
  display:grid;
  grid-template-columns:56% 1fr;
  gap:34px;
  align-items:center;
}
.topic-hero h1 {
  font-size:clamp(27px,2.9vw,38px);
  line-height:1.16;
  letter-spacing:-.02em;
  margin:0 0 14px;
}
.topic-hero-media img {
  width:100%;
  height:250px;
  object-fit:cover;
  border-radius:var(--radius);
}
.answer-block {
  border-left:3px solid var(--brand);
  background:var(--brand-soft);
  border-radius:0 10px 10px 0;
  padding:16px 20px;
  margin:0 0 18px;
}
.answer-block p {
  margin:0;
  font-size:14.5px;
  line-height:1.6;
  color:#2b332e;
}
.topic-lead {
  color:var(--muted);
  font-size:14px;
  margin:0 0 18px;
  max-width:640px;
}
.prose {
  max-width:820px;
}
.prose h2 {
  font-size:22px;
  margin:0 0 12px;
}
.prose h3 {
  font-size:16px;
  margin:20px 0 6px;
}
.prose p {
  font-size:14px;
  line-height:1.65;
  color:#3f4943;
  margin:0 0 12px;
}
.prose a {
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:2px;
}
.checklist {
  list-style:none;
  margin:0 0 14px;
  padding:0;
  display:grid;
  gap:8px;
}
.checklist li {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:1.55;
  color:#3f4943;
}
.checklist li::before {
  content:"";
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:2px;
  border-radius:50%;
  background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230064da' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5 9.5 18 20 6.5'/%3E%3C/svg%3E") center/11px no-repeat;
}
.spec-table {
  width:100%;
  border-collapse:collapse;
  font-size:13.5px;
  margin:0 0 16px;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.spec-table caption {
  caption-side:top;
  text-align:left;
  font-size:12px;
  color:var(--muted);
  padding:0 0 8px;
}
.spec-table th,
.spec-table td {
  text-align:left;
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.spec-table thead th {
  background:var(--brand-soft);
  font-size:12.5px;
  color:#24402f;
}
.spec-table tbody tr:last-child th,
.spec-table tbody tr:last-child td {
  border-bottom:0;
}
.spec-table tbody th {
  font-weight:650;
  width:32%;
}
.table-scroll {
  overflow-x:auto;
  overscroll-behavior-x:contain;
  margin:0 0 16px;
  -webkit-overflow-scrolling:touch;
}
.table-scroll .spec-table {
  min-width:520px;
}
.fact-list {
  display:grid;
  gap:10px;
  margin:0 0 16px;
  padding:0;
  list-style:none;
}
.fact-list li {
  border:1px solid var(--line);
  border-radius:10px;
  padding:13px 16px;
  font-size:13.5px;
  line-height:1.55;
  color:#3f4943;
}
.fact-list cite {
  display:block;
  margin-top:5px;
  font-style:normal;
  font-size:11px;
  color:var(--muted);
}
.related-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.related-grid a {
  border:1px solid var(--line);
  border-radius:10px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:13px;
  font-weight:600;
  transition:border-color .2s,transform .2s;
}
.related-grid a:hover {
  border-color:var(--brand);
  transform:translateY(-2px);
}
.related-grid svg {
  width:16px;
  height:16px;
  flex:0 0 auto;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.updated-note {
  font-size:11px;
  color:#7b847e;
  margin:18px 0 0;
}
.form-section {
  background:linear-gradient(180deg,var(--brand-soft-2),#fff);
  border-bottom:1px solid var(--line);
}
.form-shell {
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow);
  padding:26px 30px 30px;
  max-width:880px;
  margin-inline:auto;
}
.form-head {
  border-bottom:1px solid var(--line);
  padding-bottom:16px;
  margin-bottom:20px;
}
.form-head h2 {
  font-size:24px;
  margin:0 0 6px;
}
.form-head p {
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  max-width:620px;
}
.detail-form {
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.detail-form .form-submit,
.detail-form .form-status,
.detail-form .form-field-full {
  grid-column:auto;
}
.form-block {
  border:0;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
}
.form-block legend {
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--brand);
  padding:0;
  margin-bottom:2px;
}
.form-block legend em {
  font-style:normal;
  text-transform:none;
  letter-spacing:0;
  font-weight:600;
  color:var(--muted);
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px 20px;
}
.field-label {
  font-size:11px;
  font-weight:700;
  display:block;
  margin-bottom:7px;
}
.field-label em,
.form-block legend em {
  font-size:11px;
}
.field-help {
  color:var(--muted)!important;
  min-height:0!important;
  font-size:11px!important;
  line-height:1.5;
  margin-top:2px;
}
.check-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.check-pill {
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:9px 12px;
  font-size:12.5px;
  cursor:pointer;
  transition:border-color .18s,background .18s;
}
.check-pill:hover {
  border-color:#9dbfa8;
}
.check-pill input {
  accent-color:var(--brand);
  width:15px;
  height:15px;
  flex:0 0 auto;
}
.check-pill:has(input:checked) {
  border-color:var(--brand);
  background:var(--brand-soft);
}
.check-line {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:12.5px;
  line-height:1.55;
  cursor:pointer;
}
.check-line input {
  accent-color:var(--brand);
  width:16px;
  height:16px;
  margin-top:1px;
  flex:0 0 auto;
}
.check-line a {
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:2px;
}
.consent {
  border-top:1px solid var(--line);
  padding-top:14px;
}
.drop-zone {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:5px;
  border:1.5px dashed #bfd3c6;
  border-radius:12px;
  background:var(--brand-soft-2);
  padding:22px 18px;
  cursor:pointer;
  transition:border-color .18s,background .18s;
}
.drop-zone:hover,
.drop-zone.is-over {
  border-color:var(--brand);
  background:var(--brand-soft);
}
.drop-zone svg {
  width:26px;
  height:26px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.drop-zone strong {
  font-size:13.5px;
}
.drop-zone span {
  font-size:11px;
  color:var(--muted);
  line-height:1.5;
}
.drop-zone input[type=file] {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.file-list {
  list-style:none;
  margin:10px 0 0;
  padding:0;
  display:grid;
  gap:6px;
}
.file-list li {
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:8px 11px;
  font-size:12.5px;
}
.file-list li span {
  color:var(--muted);
  margin-left:auto;
  font-size:11.5px;
}
.file-list li.is-too-big {
  border-color:#e0b4b4;
  background:#fdf5f5;
}
.detail-form .form-submit {
  width:100%;
  min-height:46px;
  font-size:14px;
}
.action-grid {
  display:grid;
  grid-template-columns:1fr 400px;
  gap:34px;
  align-items:start;
}
.action-grid>* {
  min-width:0;
}
.action-grid .prose {
  max-width:none;
}
.action-form {
  position:sticky;
  top:calc(var(--utility-h) + var(--header-h) + 16px);
}
.action-form .contact-form-panel {
  padding:18px;
}
.action-form .contact-form-panel h2 {
  font-size:19px;
  margin:0 0 6px;
}
.form-intro {
  font-size:12.5px;
  line-height:1.55;
  color:var(--muted);
  margin:0 0 14px;
}
.action-form .contact-form {
  grid-template-columns:1fr;
}
.action-form .form-field-full,
.action-form .form-submit,
.action-form .form-status {
  grid-column:auto;
}
.step-list {
  margin:0 0 14px;
  padding-left:0;
  list-style:none;
  counter-reset:adim;
  display:grid;
  gap:10px;
}
.step-list li {
  counter-increment:adim;
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.55;
  color:#3f4943;
}
.step-list li>* {
  min-width:0;
}
.step-list li::before {
  content:counter(adim);
  flex:0 0 auto;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-size:12px;
  font-weight:700;
  display:grid;
  place-items:center;
  margin-top:1px;
}
.callout {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:start;
  border:1px solid #e3ecd9;
  border-left:3px solid var(--brand);
  background:var(--brand-soft);
  border-radius:0 10px 10px 0;
  padding:14px 16px;
  margin:0 0 16px;
}
.callout>div {
  min-width:0;
}
.callout>svg {
  width:26px;
  height:26px;
  color:var(--brand);
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.callout strong {
  display:block;
  font-size:14px;
  margin-bottom:3px;
}
.callout p {
  margin:0;
  font-size:13.5px;
  line-height:1.55;
}
.phone-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:0 0 16px;
}
.phone-card {
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:2px;
  transition:border-color .2s,transform .2s;
}
.phone-card:hover {
  border-color:var(--brand);
  transform:translateY(-2px);
}
.phone-card strong {
  font-size:20px;
  letter-spacing:-.02em;
  color:var(--brand);
}
.phone-card span {
  font-size:11.5px;
  color:var(--muted);
}
.legal-hero {
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--brand-soft-2),#fff);
}
.legal-hero h1 {
  font-size:clamp(28px,3vw,38px);
  line-height:1.15;
  letter-spacing:-.02em;
  margin:0 0 12px;
  max-width:760px;
}
.legal-lead {
  color:var(--muted);
  font-size:15px;
  max-width:720px;
  margin:0;
}
.legal-updated {
  margin:14px 0 0;
  font-size:12px;
  color:#7b847e;
}
.legal-content {
  max-width:760px;
}
.legal-block {
  margin-bottom:26px;
}
.legal-block:last-child {
  margin-bottom:0;
}
.legal-block h2 {
  font-size:18px;
  margin:0 0 10px;
}
.legal-block p {
  margin:0 0 10px;
  font-size:14px;
  color:#3f4943;
}
.legal-block ul {
  margin:0 0 10px;
  padding-left:20px;
  display:grid;
  gap:6px;
}
.legal-block li {
  font-size:14px;
  color:#3f4943;
}
.legal-block a {
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:2px;
}
.standalone-message {
  min-height:60vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:70px 0;
}
.standalone-message h1 {
  font-size:45px;
}
.standalone-message p {
  color:var(--muted);
}
.reveal {
  opacity:0;
  transform:translateY(14px);
  transition:opacity .55s ease,transform .55s ease;
}
.reveal.is-visible {
  opacity:1;
  transform:none;
}
@keyframes headerIn {
  from {
    transform:translateY(-100%);
  }
  to {
    transform:translateY(0);
  }
}
@media (max-width:1100px) {
  .container {
    width:min(var(--container),calc(100% - 42px));
  }
  .desktop-nav {
    gap:22px;
  }
  .main-nav {
    grid-template-columns:190px 1fr auto;
  }
  .header-cta {
    padding-inline:13px;
  }
  .hero-grid {
    grid-template-columns:44% 56%;
  }
  .hero h1,
  .sector-hero h1 {
    font-size:43px;
  }
  .simple-feature-grid {
    gap:0 24px;
  }
  .sector-card-grid {
    grid-template-columns:repeat(3,1fr);
  }
  .sector-card img {
    height:150px;
  }
  .footer-grid {
    grid-template-columns:1.1fr repeat(4,1fr);
    gap:20px;
  }
  .contact-grid {
    grid-template-columns:34% 1fr;
  }
}
@media (max-width:900px) {
  .utility-links span {
    display:none;
  }
  .desktop-nav,
  .header-cta {
    display:none;
  }
  .menu-toggle {
    display:block;
    justify-self:end;
  }
  .main-nav {
    grid-template-columns:1fr auto;
  }
  .hero-grid,
  .sector-hero-grid {
    grid-template-columns:1fr;
  }
  .hero-copy {
    padding:45px 0 30px;
  }
  .hero-media {
    min-height:300px;
  }
  .hero-media::before {
    display:none;
  }
  .simple-feature-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .simple-feature {
    padding-left:22px;
    padding-right:22px;
    border-right:1px solid var(--line);
  }
  .simple-feature:nth-child(odd) {
    padding-left:0;
  }
  .simple-feature:nth-child(even) {
    padding-right:0;
    border-right:0;
  }
  .simple-feature:nth-last-child(-n+3) {
    border-bottom:1px solid var(--line);
  }
  .simple-feature:nth-last-child(-n+2) {
    border-bottom:0;
  }
  .sector-mini-grid {
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--line);
  }
  .sector-mini {
    background:#fff;
    border:0;
  }
  .featured-project-grid,
  .featured-project-card {
    grid-template-columns:1fr;
  }
  .featured-project-grid .before-after,
  .featured-project-card .before-after {
    min-height:300px;
  }
  .metric-list {
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .featured-project-card .metric-list {
    grid-template-columns:repeat(4,1fr);
  }
  .metric-item {
    border:0;
  }
  .process-layout {
    grid-template-columns:1fr;
  }
  .service-grid {
    grid-template-columns:1fr;
  }
  .benefit-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .benefit-card:nth-child(2) {
    border-right:0;
  }
  .benefit-card:nth-child(-n+2) {
    border-bottom:1px solid var(--line);
  }
  .sector-hero-slices {
    height:280px;
  }
  .sector-detail-panel {
    grid-template-columns:1fr;
  }
  .sector-detail-panel>img {
    height:300px;
  }
  .featured-sector-grid {
    grid-template-columns:1fr;
  }
  .project-row {
    grid-template-columns:30% 1fr 1fr 1fr;
  }
  .project-row>a {
    grid-column:2/5;
  }
  .proof-grid {
    grid-template-columns:repeat(3,1fr);
  }
  .proof-grid blockquote {
    grid-column:1/4;
  }
  .proof-stat:first-of-type {
    border-left:0;
  }
  .timeline-grid {
    grid-template-columns:repeat(3,1fr);
    row-gap:30px;
  }
  .timeline-grid::before {
    display:none;
  }
  .value-grid {
    grid-template-columns:repeat(3,1fr);
  }
  .capacity-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .capacity-stat:nth-child(2) {
    border-right:0;
  }
  .capacity-stat:nth-child(-n+2) {
    border-bottom:1px solid var(--line);
  }
  .team-grid,
  .discipline-grid {
    grid-template-columns:1fr;
  }
  .topic-hero-grid {
    grid-template-columns:1fr;
    gap:22px;
  }
  .action-grid {
    grid-template-columns:1fr;
    gap:26px;
  }
  .check-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .form-shell {
    padding:22px 20px 24px;
  }
  .action-form {
    position:static;
  }
  .guide-grid {
    grid-template-columns:1fr;
  }
  .phone-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .form-row {
    grid-template-columns:1fr;
  }
  .check-grid {
    grid-template-columns:1fr;
  }
  .form-shell {
    padding:18px 16px 20px;
    border-radius:var(--radius);
  }
  .related-grid {
    grid-template-columns:1fr;
  }
  .document-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .contact-grid {
    grid-template-columns:1fr;
  }
  .footer-grid {
    grid-template-columns:repeat(3,1fr);
  }
  .footer-brand {
    grid-column:1/4;
  }
  .sector-tabs {
    grid-template-columns:repeat(3,1fr);
  }
  .why-layout {
    grid-template-columns:1fr;
    gap:16px;
  }
  .why-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .compact-process {
    grid-template-columns:1fr;
    gap:14px;
  }
  .compact-steps {
    grid-template-columns:repeat(2,1fr);
    gap:10px 14px;
  }
  .compact-step:not(:last-child)::after {
    display:none;
  }
  .project-filter-bar {
    overflow-x:auto;
  }
}
@media (max-width:640px) {
  .container {
    width:calc(100% - 32px);
  }
  .utility-bar {
    height:31px;
  }
  .utility-links {
    gap:12px;
  }
  .utility-links a:nth-child(3) {
    display:none;
  }
  .main-nav-wrap {
    height:67px;
  }
  .brand-logo {
    height:38px;
  }
  .mobile-menu {
    top:98px;
  }
  .hero h1,
  .sector-hero h1 {
    font-size:36px;
  }
  .hero-copy {
    padding-top:36px;
  }
  .hero-lead {
    font-size:15px;
  }
  .button-row {
    align-items:stretch;
    flex-direction:column;
  }
  .button-row .button {
    width:100%;
  }
  .section {
    padding:38px 0;
  }
  .section-heading h2 {
    font-size:26px;
  }
  .simple-feature-grid {
    grid-template-columns:1fr;
  }
  .simple-feature {
    padding-inline:0;
    border-right:0;
  }
  .simple-feature:nth-last-child(-n+2) {
    border-bottom:1px solid var(--line);
  }
  .simple-feature:last-child {
    border-bottom:0;
  }
  .sector-mini-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .featured-project-grid .before-after,
  .featured-project-card .before-after {
    min-height:230px;
  }
  .metric-list,
  .featured-project-card .metric-list {
    grid-template-columns:repeat(2,1fr);
  }
  .process-list {
    grid-template-columns:1fr;
    gap:14px;
  }
  .process-list::before {
    display:none;
  }
  .process-step {
    grid-template-columns:34px 34px 1fr;
    grid-template-rows:auto;
  }
  .process-step div {
    grid-column:3;
    padding-top:0;
  }
  .cta-inner {
    padding:26px 0;
    align-items:flex-start;
    flex-direction:column;
  }
  .cta-inner h2 {
    font-size:23px;
    max-width:none;
  }
  .cta-inner .button-row {
    flex-wrap:wrap;
  }
  .cta-inner .button-row .button {
    white-space:normal;
  }
  .cta-inner.has-decor {
    padding-left:0;
  }
  .cta-decor {
    display:none;
  }
  .footer-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .footer-brand {
    grid-column:1/3;
  }
  .footer-legal {
    flex-direction:column;
  }
  .footer-legal div {
    flex-wrap:wrap;
  }
  .compact-process {
    grid-template-columns:repeat(2,1fr);
  }
  .compact-step:nth-child(2) {
    border-right:0;
  }
  .compact-step:nth-child(-n+2) {
    border-bottom:1px solid var(--line);
  }
  .delivery-grid {
    grid-template-columns:1fr;
  }
  .benefit-grid {
    grid-template-columns:1fr;
  }
  .benefit-card {
    border-right:0!important;
    border-bottom:1px solid var(--line);
  }
  .benefit-card:last-child {
    border-bottom:0;
  }
  .sector-hero-slices {
    height:auto;
    grid-template-columns:repeat(3,1fr);
  }
  .hero-slice {
    min-height:170px;
  }
  .sector-card-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .sector-tabs {
    display:flex;
    overflow-x:auto;
    padding-bottom:6px;
  }
  .sector-tab {
    flex:0 0 150px;
  }
  .sector-benefit-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .featured-sector-points {
    grid-template-columns:1fr;
  }
  .featured-sector-points>div {
    border-right:0;
    border-bottom:1px solid var(--line);
    padding-bottom:12px;
  }
  .why-grid {
    grid-template-columns:1fr;
  }
  .compact-steps {
    grid-template-columns:1fr;
  }
  .sector-tabs {
    display:flex;
    flex-wrap:nowrap;
  }
  .project-filter-bar {
    overflow-x:auto;
  }
  .project-filter {
    flex:0 0 auto;
  }
  .project-filter-bar select {
    display:none;
  }
  .project-row {
    grid-template-columns:100px 1fr;
  }
  .project-row img {
    height:85px;
  }
  .project-kpi {
    grid-column:auto;
  }
  .project-row>a {
    grid-column:1/3;
    justify-self:end;
  }
  .proof-grid {
    grid-template-columns:1fr;
  }
  .proof-grid blockquote {
    grid-column:auto;
  }
  .proof-stat {
    border-left:0;
    border-top:1px solid var(--line);
  }
  .timeline-grid {
    grid-template-columns:1fr;
  }
  .milestone {
    display:grid;
    grid-template-columns:58px 1fr;
    column-gap:15px;
  }
  .milestone>svg {
    grid-row:1/5;
  }
  .milestone strong {
    margin-top:0;
  }
  .value-grid {
    grid-template-columns:1fr;
  }
  .capacity-grid {
    grid-template-columns:1fr;
  }
  .capacity-stat {
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .capacity-stat:last-child {
    border-bottom:0;
  }
  .document-grid {
    grid-template-columns:1fr;
  }
  .contact-form {
    grid-template-columns:1fr;
  }
  .form-field-full,
  .form-submit,
  .form-status {
    grid-column:auto;
  }
  .quick-action-grid {
    grid-template-columns:1fr;
  }
  .contact-form-panel {
    padding:17px;
  }
  .section-heading-row {
    align-items:flex-start;
    gap:15px;
    flex-direction:column;
  }
  .sector-detail-panel>img {
    height:210px;
  }
  .team-card {
    align-items:flex-start;
  }
  .team-card img {
    width:70px;
    height:70px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  .reveal {
    opacity:1;
    transform:none;
    transition:none;
  }
  .button,
  .button-icon,
  .hero-slice img {
    transition:none;
  }
}
