:root {
  --green: #52b20f;
  --green-dark: #2f8700;
  --green-soft: #eef9e7;
  --ink: #10150f;
  --muted: #5e655d;
  --line: #dfe4dc;
  --paper: #fffefb;
  --soft: #f7f8f4;
  --dark: #0b100d;
  --serif: "Newsreader", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shadow: 0 24px 70px rgba(17, 31, 13, 0.12);
  --radius: 3px;
  --container: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1.25rem; color: var(--muted); }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 1rem;
  font-family: var(--serif);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.025em;
}
h1 { font-size: clamp(3.6rem, 7.2vw, 7rem); }
h2 { font-size: clamp(2.5rem, 4.8vw, 4.75rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.12; }
h1 em, h2 em { color: var(--green); font-style: normal; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--green); color: #fff; }

.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.narrow { width: min(100%, 760px); }
.narrow-wide { width: min(100%, 1040px); }
.center { margin-inline: auto; text-align: center; }
.section { position: relative; padding: clamp(80px, 9vw, 150px) 0; border-top: 1px solid var(--line); }
.section--soft { background: var(--soft); }
.section--dark { background: var(--dark); color: #fff; border-color: rgba(255,255,255,.12); }
.section--dark p { color: rgba(255,255,255,.7); }
.section--dark .eyebrow, .site-footer .eyebrow { color: #67df18; }
.section--dark h2, .section--dark h3 { color: #fff; }
.section--cta { background: radial-gradient(circle at 50% 45%, rgba(82,178,15,.15), transparent 46%), var(--paper); }
.section--cta p { margin-inline: auto; max-width: 640px; }
.section--cta .button { margin-top: 1rem; }
.eyebrow {
  margin: 0 0 1.25rem;
  color: var(--green-dark);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.dot-label { display: flex; align-items: center; gap: 10px; }
.dot-label::before { content: ""; width: 8px; height: 8px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 6px rgba(82,178,15,.1); }
.section-heading { margin-bottom: clamp(42px, 6vw, 82px); }
.section-heading > p:not(.eyebrow) { max-width: 600px; }
.section-heading.center > p:not(.eyebrow) { margin-inline: auto; }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.section-heading--split > p { max-width: 420px; }
.two-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(50px, 8vw, 130px); }
.two-columns--wide { grid-template-columns: .8fr 1.2fr; }
.two-columns--center { align-items: center; }
.three-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.four-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.prose-large p { font-family: var(--serif); font-size: clamp(1.45rem, 2.5vw, 2.15rem); line-height: 1.28; color: var(--ink); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 20px; top: -100px; z-index: 10000; background: var(--ink); color: #fff; padding: 12px 18px; }
.skip-link:focus { top: 20px; }

/* Header */
.site-header { position: relative; z-index: 100; height: 82px; background: rgba(255,254,251,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.site-header.is-sticky { position: sticky; top: 0; box-shadow: 0 10px 30px rgba(20,30,17,.06); }
.site-header__inner { height: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.haste-wordmark { display: inline-flex; align-items: baseline; font-family: var(--serif); font-size: clamp(1.55rem, 2.3vw, 2.15rem); line-height: 1; white-space: nowrap; }
.haste-wordmark span { color: var(--green); }
.custom-logo { max-width: 240px; max-height: 52px; object-fit: contain; }
.primary-menu { display: flex; align-items: center; gap: clamp(20px, 2.8vw, 46px); margin: 0; padding: 0; list-style: none; }
.primary-menu > li { position: relative; }
.primary-menu a { display: block; padding: 26px 0; font-size: .9rem; font-weight: 500; }
.primary-menu > li > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 18px; height: 2px; background: var(--green); transition: right .28s ease; }
.primary-menu > li:hover > a::after, .primary-menu > .current-menu-item > a::after, .primary-menu > .current-menu-ancestor > a::after { right: 0; }
.primary-menu .sub-menu { position: absolute; top: calc(100% - 8px); left: -24px; width: 250px; margin: 0; padding: 12px; list-style: none; background: rgba(14,19,15,.97); border: 1px solid rgba(82,178,15,.35); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .25s ease; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.primary-menu .sub-menu a { padding: 11px 13px; color: #fff; font-size: .86rem; }
.primary-menu .sub-menu a:hover { background: rgba(82,178,15,.14); color: #8aff3a; }
.site-header__cta { justify-self: end; }
.menu-toggle { display: none; background: none; border: 0; }

/* Buttons and links */
.button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 54px; padding: 13px 22px; border: 1px solid var(--green); overflow: hidden; font-weight: 600; line-height: 1.2; transition: transform .25s ease, box-shadow .25s ease, color .25s ease, background .25s ease; }
.button::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.35) 45%, transparent 70%); transform: translateX(-120%); transition: transform .55s ease; }
.button:hover::before { transform: translateX(120%); }
.button:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(82,178,15,.23); }
.button--primary { color: #fff; background: linear-gradient(135deg, #2f9500, #58c70d); }
.button--outline { border-color: #aeb5ac; color: var(--ink); background: transparent; }
.button--outline:hover { border-color: var(--green); color: var(--green-dark); }
.button--small { min-height: 46px; padding: 10px 18px; font-size: .86rem; }
.button--full { width: 100%; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.text-link { display: inline-flex; align-items: center; gap: 14px; color: var(--green-dark); font-weight: 600; }
.text-link span { transition: transform .25s ease; }
.text-link:hover span { transform: translateX(5px); }
.text-link--button { padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; background: none; cursor: pointer; }
.icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Futuristic shared surfaces */
.ambient-glow { position: relative; isolation: isolate; overflow: hidden; }
.ambient-glow::after { content: ""; position: absolute; z-index: -1; width: 680px; height: 680px; right: -200px; top: -280px; border-radius: 50%; background: radial-gradient(circle, rgba(82,178,15,.15), rgba(82,178,15,.03) 45%, transparent 72%); animation: ambientPulse 8s ease-in-out infinite; }
.grid-surface { background-color: var(--dark); background-image: linear-gradient(rgba(82,178,15,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(82,178,15,.07) 1px, transparent 1px); background-size: 28px 28px; }
.light-sweep { position: relative; overflow: hidden; }
.light-sweep::after { content: ""; position: absolute; z-index: 6; inset: -50% auto -50% -35%; width: 28%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(113,255,42,.28), rgba(255,255,255,.7), rgba(113,255,42,.16), transparent); filter: blur(10px); transform: skewX(-18deg); animation: lightSweep 5.5s ease-in-out infinite; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.65,.2,1); }
.reveal--delay { transition-delay: .16s; }
.reveal.is-visible { opacity: 1; transform: none; }

/* Hero */
.hero { position: relative; min-height: 760px; display: flex; align-items: center; padding: clamp(70px, 9vw, 135px) 0; border-bottom: 1px solid var(--line); }
.hero__grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr); gap: clamp(50px, 7vw, 110px); align-items: center; }
.hero__copy { position: relative; z-index: 2; }
.hero__copy h1 { max-width: 760px; }
.hero__intro { max-width: 610px; font-size: clamp(1rem, 1.35vw, 1.18rem); }
.hero__visual { min-width: 0; }
.hero-mesh { position: absolute; inset: 0; pointer-events: none; opacity: .5; background-image: radial-gradient(circle at 18% 18%, rgba(82,178,15,.08), transparent 25%), linear-gradient(120deg, transparent 60%, rgba(82,178,15,.04)); }
.hero-stats { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 45px; border-top: 1px solid var(--line); }
.hero-stats > div { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; padding: 25px 20px 0 0; }
.hero-stats > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.hero-stats span { color: var(--green); }
.hero-stats strong { font-family: var(--serif); font-size: 1.75rem; line-height: 1; font-weight: 400; }
.hero-stats small { grid-column: 2; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.hero--inner, .hero--service, .hero--portfolio, .hero--about { min-height: 670px; }
.hero--service .breadcrumbs, .hero--project .breadcrumbs { margin-bottom: 40px; }
.hero--status, .hero--404 { min-height: 610px; }
.hero--status h1, .hero--404 h1 { font-size: clamp(3.7rem, 7vw, 6.8rem); }
.breadcrumbs { display: flex; gap: 10px; color: var(--muted); font-size: .82rem; }
.breadcrumbs a:hover { color: var(--green); }

/* Dashboard visual */
.dashboard-visual { position: relative; min-height: 530px; perspective: 1200px; }
.dashboard-window { position: absolute; inset: 55px 0 25px 58px; padding: 0 24px 24px; background: rgba(255,255,255,.94); border: 2px solid #20251f; border-radius: 14px; box-shadow: 0 35px 70px rgba(14,25,10,.2); transform: rotateY(-4deg) rotateX(2deg); animation: floatWindow 6s ease-in-out infinite; }
.window-bar { height: 52px; display: flex; align-items: center; gap: 7px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; }
.window-bar i { width: 8px; height: 8px; border-radius: 50%; background: #d4d8d2; }
.window-bar span { margin-left: auto; }
.dashboard-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; padding-top: 20px; }
.dashboard-panel { min-height: 125px; padding: 18px; background: linear-gradient(145deg,#fff,#f5f8f2); border: 1px solid #e1e6de; box-shadow: 0 10px 20px rgba(20,40,15,.04); }
.dashboard-panel--wide { grid-row: span 2; min-height: 262px; }
.dash-label { display: block; margin-bottom: 12px; color: var(--muted); font-size: .7rem; }
.dashboard-panel strong { display: block; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.dashboard-panel small { color: var(--green-dark); font-size: .62rem; }
.line-chart { width: 100%; height: auto; overflow: visible; }
.chart-line { fill: none; stroke: var(--green); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 720; stroke-dashoffset: 720; animation: drawLine 3s ease forwards infinite alternate; }
.chart-area { opacity: 0; animation: fadeArea 3s 1s ease forwards; }
.meter { height: 7px; margin-top: 12px; background: #e5e9e2; overflow: hidden; }
.meter i { display: block; height: 100%; background: var(--green); animation: growMeter 2s ease both; }
.bars, .mini-bars { display: flex; align-items: end; gap: 5px; height: 56px; }
.bars i, .mini-bars i { flex: 1; min-width: 4px; background: linear-gradient(#70db25,var(--green-dark)); transform-origin: bottom; animation: barGrow 2.2s ease-in-out infinite alternate; }
.bars i:nth-child(1), .mini-bars i:nth-child(2) { height: 32%; animation-delay: .1s; }.bars i:nth-child(2), .mini-bars i:nth-child(5) { height: 65%; animation-delay: .3s; }.bars i:nth-child(3), .mini-bars i:nth-child(1) { height: 48%; animation-delay: .5s; }.bars i:nth-child(4), .mini-bars i:nth-child(6) { height: 92%; animation-delay: .2s; }.bars i:nth-child(5), .mini-bars i:nth-child(3) { height: 76%; animation-delay: .6s; }.mini-bars i:nth-child(4) { height: 100%; }
.metric-float { position: absolute; z-index: 5; width: 165px; padding: 17px; background: rgba(255,255,255,.88); border: 1px solid rgba(170,181,166,.6); box-shadow: 0 22px 50px rgba(20,35,16,.15); backdrop-filter: blur(14px); animation: floatCard 5s ease-in-out infinite; }
.metric-float--one { left: 0; top: 142px; }.metric-float--two { left: 35px; bottom: 5px; animation-delay: -2.5s; }
.metric-float span { display: block; color: var(--muted); font-size: .64rem; }.metric-float strong { font-family: var(--serif); font-weight: 400; font-size: 1.6rem; }.metric-float svg { width: 100%; fill: none; stroke: var(--green); stroke-width: 2; }
.orbital-dot { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 8px rgba(82,178,15,.12),0 0 25px var(--green); animation: orbitDot 7s linear infinite; }.orbital-dot--one { right: 5px; top: 18%; }.orbital-dot--two { right: 20%; bottom: 0; animation-delay: -3s; }

/* Reusable cards and grids */
.service-list { border-top: 1px solid var(--line); }
.service-row { position: relative; display: grid; grid-template-columns: 80px 70px 1.05fr 1.6fr 40px; align-items: center; gap: 24px; min-height: 118px; border-bottom: 1px solid var(--line); transition: background .3s ease, padding .3s ease; }
.service-row:hover { padding-inline: 20px; background: rgba(82,178,15,.055); }
.service-row__number { font-family: var(--serif); color: var(--green); font-size: 1.75rem; }.service-row__icon { display: grid; place-items: center; width: 48px; height: 48px; border-left: 1px solid var(--line); }.service-row__icon .icon { color: var(--ink); }.service-row h3 { margin: 0; }.service-row p { margin: 0; font-size: .9rem; }.service-row__arrow { color: var(--green); font-size: 1.7rem; transition: transform .25s ease; }.service-row:hover .service-row__arrow { transform: translateX(7px); }
.project-grid { display: grid; gap: 34px; }.project-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }.project-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 65px 42px; }
.project-card { min-width: 0; }.project-card__visual { display: block; aspect-ratio: 1.5; background: #eef1eb; border: 1px solid #d8ddd5; overflow: hidden; }.project-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }.project-card:hover .project-card__visual img { transform: scale(1.035); }.project-card__content { padding: 22px 2px; }.project-card__content .eyebrow { margin-bottom: 8px; }.project-card__content h3 { margin-bottom: 8px; }.project-card__content p { font-size: .88rem; }
.project-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background-color: #eef1eb; background-image: linear-gradient(rgba(82,178,15,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(82,178,15,.06) 1px,transparent 1px); }
.browser-shell { position: relative; display: block; width: 82%; height: 72%; padding: 34px 26px 20px; background: #fff; border: 2px solid #272c27; border-radius: 9px; box-shadow: 0 17px 35px rgba(0,0,0,.13); transform: perspective(700px) rotateX(3deg) rotateY(-3deg); transition: transform .4s ease; }.project-card:hover .browser-shell { transform: perspective(700px) rotateX(0) rotateY(0) translateY(-6px); }.browser-shell > i { position: absolute; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: #bec4bb; }.browser-shell > i:nth-child(1){left:14px}.browser-shell > i:nth-child(2){left:25px}.browser-shell > i:nth-child(3){left:36px}.browser-shell b { display: block; max-width: 70%; font-family: var(--serif); font-size: clamp(1rem,1.8vw,1.6rem); font-weight: 400; }.browser-shell em { display: block; width: 85%; height: 6px; margin-top: 12px; background: #e5e8e3; }.browser-shell em:nth-of-type(2){width:65%}.browser-shell em:nth-of-type(3){width:45%;background:rgba(82,178,15,.4)}
.process-line { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 42px; }.process-line::before { content: ""; position: absolute; top: 28px; left: 8%; right: 8%; height: 1px; background: linear-gradient(90deg,transparent,var(--green),var(--green),transparent); }.process-line--five { grid-template-columns: repeat(5,1fr); }.process-line--three { grid-template-columns: repeat(3,1fr); }.process-step { position: relative; z-index: 1; }.process-step__icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 24px; border-radius: 50%; background: var(--green-soft); color: var(--green); box-shadow: 0 0 0 10px var(--paper); }.section--dark .process-step__icon { background: #111a13; box-shadow: 0 0 0 9px var(--dark); border: 1px solid rgba(82,178,15,.5); }.process-step .eyebrow { display: inline-block; margin-right: 8px; }.process-step h3 { display: inline; font-size: 1.38rem; }.process-step p:last-child { margin-top: 12px; font-size: .85rem; }
.icon-card { position: relative; display: block; padding: 32px; border-left: 1px solid var(--line); transition: background .3s ease, transform .3s ease; }.icon-card:first-child { border-left: 0; }.icon-card:hover { z-index: 2; background: rgba(82,178,15,.055); transform: translateY(-7px); }.icon-card > .icon { width: 40px; height: 40px; margin-bottom: 23px; color: var(--green); }.icon-card h3 { font-size: 1.45rem; }.icon-card p { font-size: .88rem; }
.benefit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px 38px; margin-top: 50px; }.benefit-grid .icon { color: var(--green); }.benefit-grid h3 { margin-top: 12px; font-size: 1.35rem; }.benefit-grid p { font-size: .85rem; }
.check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; margin: 30px 0; padding: 0; list-style: none; }.check-grid li, .check-list li { display: flex; gap: 10px; color: var(--muted); font-size: .87rem; }.check-grid .icon, .check-list .icon { flex: 0 0 17px; width: 17px; color: var(--green); }.check-list { display: grid; gap: 14px; margin: 30px 0; padding: 0; list-style: none; }
.capability-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.capability-card { min-height: 245px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.capability-card > span { color: var(--green); }.capability-card .eyebrow { display: inline; margin-left: 9px; }.capability-card h3 { margin-top: 22px; font-size: 1.35rem; }.capability-card p:last-child { font-size: .8rem; }
.accordion { border-top: 1px solid var(--line); }.accordion details { border-bottom: 1px solid var(--line); }.accordion summary { display: flex; justify-content: space-between; gap: 20px; padding: 19px 0; cursor: pointer; list-style: none; font-weight: 500; }.accordion summary::-webkit-details-marker { display: none; }.accordion summary span { color: var(--green); font-size: 1.25rem; transition: transform .25s ease; }.accordion details[open] summary span { transform: rotate(45deg); }.accordion details > div { max-width: 820px; padding: 0 0 18px; }.accordion details > div p { margin: 0; }

/* Home feature */
.split-feature { display: grid; grid-template-columns: 1fr 1fr; padding: 0; border-top: 1px solid var(--line); }.split-feature__visual { min-height: 680px; display: grid; place-items: center; }.split-feature__content { padding: clamp(65px,8vw,120px); }
.team-canvas { position: relative; width: min(86%,610px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,rgba(82,178,15,.22),transparent 56%); }.team-canvas > i { position: absolute; inset: 22%; border: 1px dashed rgba(82,178,15,.5); border-radius: 50%; animation: spin 18s linear infinite; }.team-node { position: absolute; z-index: 2; display: grid; place-items: center; width: 105px; height: 105px; border-radius: 50%; background: rgba(12,18,13,.94); border: 1px solid rgba(82,178,15,.6); color: #fff; font-size: .7rem; letter-spacing: .12em; box-shadow: 0 0 34px rgba(82,178,15,.2); animation: nodeFloat 5s ease-in-out infinite; }.team-node--one{left:38%;top:4%}.team-node--two{right:4%;top:40%;animation-delay:-1s}.team-node--three{left:38%;bottom:3%;animation-delay:-2s}.team-node--four{left:3%;top:40%;animation-delay:-3s}
.testimonial-shell { min-height: 420px; display: grid; place-items: center; padding: clamp(45px,8vw,100px); background-color: var(--dark); color: #fff; }.testimonial-slider { width: min(100%,900px); }.testimonial-slide { display: none; margin: 0; }.testimonial-slide.is-active, .testimonial-slide:first-child { display: block; }.testimonial-slider.is-ready .testimonial-slide:first-child:not(.is-active) { display: none; }.testimonial-slide > p { color: #fff; font-family: var(--serif); font-size: clamp(2rem,4vw,3.6rem); line-height: 1.15; }.testimonial-slide footer { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px 30px; align-items: center; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2); }.testimonial-slide footer span { color: rgba(255,255,255,.65); }.testimonial-slide footer em { color: #70df22; font-family: var(--serif); font-size: 1.8rem; font-style: normal; }.slider-controls { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }.slider-controls button { display: grid; place-items: center; width: 42px; height: 42px; background: transparent; border: 1px solid rgba(255,255,255,.3); color: #fff; cursor: pointer; }.slider-controls button:hover { border-color: var(--green); color: var(--green); }

/* Services overview and individual service */
.anchor-tabs { position: sticky; z-index: 50; top: 0; background: rgba(255,254,251,.95); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }.admin-bar .anchor-tabs { top: 32px; }.anchor-tabs .container { display: grid; grid-template-columns: repeat(4,1fr); }.anchor-tabs a { padding: 22px; text-align: center; font-family: var(--serif); border-left: 1px solid var(--line); }.anchor-tabs a:last-child { border-right: 1px solid var(--line); }.anchor-tabs a span { color: var(--green); margin-right: 12px; }.anchor-tabs a:hover { color: var(--green-dark); background: var(--green-soft); }
.service-feature__grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(60px,8vw,120px); }.service-feature--reverse .service-feature__copy { order: 2; }.service-feature__copy h2 { font-size: clamp(2.5rem,4.6vw,4.7rem); }.service-feature__copy .eyebrow span { margin-right: 14px; }.service-feature__visual { min-width: 0; }
.system-map { position: relative; min-height: 470px; border: 1px solid rgba(82,178,15,.35); box-shadow: var(--shadow); }.system-map__core, .system-map__node { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 16px 18px; background: rgba(255,255,255,.94); border: 1px solid #d9dfd6; box-shadow: 0 14px 30px rgba(0,0,0,.13); color: var(--ink); }.system-map__core { left: 35%; top: 39%; flex-direction: column; min-width: 180px; border-color: var(--green); }.system-map__core .icon { color: var(--green); }.system-map__node { max-width: 180px; font-size: .75rem; }.system-map__node--1{left:7%;top:11%}.system-map__node--2{right:6%;top:16%}.system-map__node--3{left:13%;bottom:10%}.system-map > i { position: absolute; inset: 18%; border: 1px dashed rgba(82,178,15,.65); border-radius: 50%; animation: spin 24s linear infinite; }
.connected-services > .container { display: grid; grid-template-columns: .8fr .7fr 1.5fr; gap: 50px; align-items: center; }.connected-flow { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.connected-flow span { display: grid; place-items: center; gap: 8px; color: #fff; font-size: .72rem; }.connected-flow span .icon { width: 40px; height: 40px; padding: 8px; border: 1px solid rgba(82,178,15,.5); border-radius: 50%; }.connected-flow i { color: var(--green); font-style: normal; }
.support-models .three-columns { max-width: 1000px; margin-inline: auto; }
.outcome-strip { border-bottom: 1px solid var(--line); }.outcome-strip .container { display: grid; grid-template-columns: repeat(3,1fr); }.outcome-strip .container > div { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 100px; border-left: 1px solid var(--line); font-family: var(--serif); font-size: 1.2rem; }.outcome-strip .container > div:last-child { border-right: 1px solid var(--line); }.outcome-strip .icon { color: var(--green); }
.orbit-system { position: relative; width: min(100%,560px); aspect-ratio: 1; margin-inline: auto; }.orbit-system > i { position: absolute; inset: 15%; border: 1px dashed #adb4aa; border-radius: 50%; animation: spin 26s linear infinite; }.orbit-core { position: absolute; z-index: 2; inset: 37%; display: grid; place-items: center; border-radius: 50%; background: var(--green-soft); color: var(--green-dark); text-align: center; font-weight: 700; line-height: 1.25; box-shadow: 0 0 50px rgba(82,178,15,.18); }.orbit-item { position: absolute; z-index: 2; display: grid; justify-items: center; gap: 6px; width: 130px; text-align: center; font-size: .7rem; }.orbit-item .icon { display: block; width: 58px; height: 58px; padding: 15px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--green); }.orbit-item--1{left:38%;top:0}.orbit-item--2{right:0;top:41%}.orbit-item--3{left:38%;bottom:0}.orbit-item--4{left:0;top:41%}
.deliverable-stack { position: relative; min-height: 500px; }.deliverable-stack > span { position: absolute; display: block; width: 68%; min-height: 280px; padding: 28px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }.deliverable-stack > span:nth-child(1){left:0;top:0}.deliverable-stack > span:nth-child(2){left:16%;top:74px}.deliverable-stack > span:nth-child(3){left:32%;top:150px}.deliverable-stack b { display: block; margin-bottom: 30px; font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }.deliverable-stack i { display: block; width: 86%; height: 8px; margin: 12px 0; background: #e7ebe5; }.deliverable-stack i:nth-of-type(2){width:66%}.deliverable-stack i:nth-of-type(3){width:42%;background:rgba(82,178,15,.42)}
.audience-section .four-columns, .belief-grid { border-top: 1px solid var(--line); }.related-list { border-top: 1px solid var(--line); }.related-list a { display: grid; grid-template-columns: .8fr 1.6fr auto; gap: 20px; align-items: center; min-height: 82px; border-bottom: 1px solid var(--line); }.related-list strong { font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }.related-list span { color: var(--muted); font-size: .8rem; }.related-list i { color: var(--green); font-style: normal; }

/* About */
.about-network { position: relative; min-height: 520px; border: 1px solid rgba(82,178,15,.35); box-shadow: var(--shadow); }.about-network svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(82,178,15,.6); stroke-width: 2; stroke-dasharray: 10 8; }.about-network__core, .about-network__node { position: absolute; z-index: 2; display: grid; place-items: center; background: rgba(10,15,12,.96); border: 1px solid rgba(82,178,15,.6); color: #fff; box-shadow: 0 0 40px rgba(82,178,15,.18); }.about-network__core { left: 37%; top: 36%; width: 170px; height: 145px; }.about-network__core b { font-family: var(--serif); font-size: 2rem; font-weight: 400; }.about-network__core small { color: #82e83c; }.about-network__node { display: flex; gap: 8px; width: 140px; padding: 14px; font-size: .75rem; }.about-network__node .icon { color: var(--green); }.about-network__node--one{left:5%;top:10%}.about-network__node--two{right:5%;top:8%}.about-network__node--three{left:5%;bottom:9%}.about-network__node--four{right:5%;bottom:9%}
.belief-card { padding: 32px; border-left: 1px solid rgba(255,255,255,.13); }.belief-card:first-child { border-left: 0; }.belief-card > span { color: var(--green); font-family: var(--serif); font-size: 1.4rem; }.belief-card > .icon { display: block; width: 35px; height: 35px; margin: 30px 0; color: var(--green); }.belief-card p { font-size: .84rem; }
.ops-console { min-height: 520px; padding: 28px; border: 1px solid rgba(82,178,15,.4); box-shadow: var(--shadow); color: #fff; }.ops-console__top { display: flex; gap: 8px; align-items: center; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.15); }.ops-console__top i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.35); }.ops-console__top b { margin-left: auto; color: #81e83b; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }.ops-pipeline { display: grid; gap: 12px; margin: 28px 0; }.ops-pipeline span { display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; padding: 13px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }.ops-pipeline b { color: var(--green); }.ops-pipeline em { color: rgba(255,255,255,.55); font-size: .7rem; font-style: normal; }.ops-pipeline span:nth-child(3) em { color: #7ce438; }.metrics-band { padding: 55px 0; background: var(--green-soft); }.metrics-band .container { display: grid; grid-template-columns: repeat(3,1fr); }.metric-large { display: flex; align-items: baseline; justify-content: center; gap: 15px; border-left: 1px solid rgba(82,178,15,.3); }.metric-large:first-child { border-left: 0; }.metric-large strong { color: var(--green-dark); font-family: var(--serif); font-size: 4rem; font-weight: 400; }.metric-large span { color: var(--muted); }

/* Portfolio */
.device-stage { position: relative; min-height: 520px; }.device { position: absolute; display: block; padding: 55px 32px 25px; background: #f8f9f5; border: 2px solid #222822; border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,.18); animation: floatCard 6s ease-in-out infinite; }.device > i { position: absolute; left: 18px; top: 18px; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }.device b { display: block; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; line-height: 1; }.device em { display: block; height: 44%; margin-top: 25px; background: linear-gradient(145deg,#dbe8d3,#889b7c); }.device--desktop { z-index: 1; right: 0; top: 20px; width: 75%; height: 410px; }.device--tablet { z-index: 2; left: 0; top: 135px; width: 39%; height: 340px; animation-delay: -2s; }.device--phone { z-index: 3; right: 0; top: 170px; width: 25%; height: 300px; animation-delay: -4s; }.device--phone b { font-size: 1.25rem; }
.portfolio-filters { border-bottom: 1px solid var(--line); background: #fff; }.portfolio-filters .container { display: flex; justify-content: center; gap: clamp(25px,6vw,90px); overflow-x: auto; }.portfolio-filters button { min-width: max-content; padding: 24px 3px 18px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--muted); cursor: pointer; }.portfolio-filters button.is-active, .portfolio-filters button:hover { color: var(--green-dark); border-color: var(--green); }.project-card.is-filtered-out { display: none; }
.empty-work { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 60px; min-height: 480px; padding: 60px; color: #fff; }.empty-work .project-placeholder { min-height: 340px; }.empty-work p { color: rgba(255,255,255,.7); }.statement-split { display: grid; grid-template-columns: 1.3fr .7fr; gap: 80px; align-items: center; }.statement-split h2 { font-size: clamp(2.5rem,4vw,4.2rem); }.statement-split h2 em { color: var(--green); font-style: normal; }

/* Blog */
.blog-hero { padding: clamp(90px,10vw,150px) 0 70px; }.blog-hero .container { max-width: 1120px; }.blog-hero h1 { font-size: clamp(3.8rem,7vw,6.8rem); }.blog-hero > .container > p:not(.eyebrow) { max-width: 760px; font-size: 1.1rem; }.search-form { display: flex; width: min(100%,720px); margin-top: 28px; }.search-form label { flex: 1; }.search-form input { width: 100%; height: 58px; padding: 0 18px; border: 1px solid #cdd3cb; background: rgba(255,255,255,.75); outline: none; }.search-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(82,178,15,.12); }.search-form button { display: grid; place-items: center; width: 62px; border: 0; background: linear-gradient(135deg,var(--green-dark),var(--green)); color: #fff; cursor: pointer; }.blog-tabs { border-bottom: 1px solid var(--line); }.blog-tabs .container { display: flex; gap: 50px; overflow-x: auto; }.blog-tabs a { min-width: max-content; padding: 22px 0 16px; border-bottom: 2px solid transparent; }.blog-tabs a.is-active, .blog-tabs a:hover { color: var(--green-dark); border-color: var(--green); }
.featured-article { padding-top: 70px; }.featured-article__grid { display: grid; grid-template-columns: 1.25fr .85fr; gap: 60px; align-items: center; }.featured-article__image { min-height: 420px; background: var(--soft); border: 1px solid var(--line); }.featured-article__image img { width: 100%; height: 100%; object-fit: cover; }.featured-article__grid h2 { font-size: clamp(2.4rem,4vw,4rem); }.post-meta { display: flex; gap: 22px; color: var(--muted); font-size: .78rem; }.post-meta span + span::before { content: "•"; margin-right: 20px; }.seo-map { position: relative; width: 100%; min-height: 420px; display: grid; place-items: center; padding: 35px; }.seo-map span { z-index: 2; display: grid; place-items: center; width: 150px; height: 105px; background: var(--green-soft); border: 1px solid rgba(82,178,15,.45); color: var(--green-dark); font-family: var(--serif); font-size: 1.25rem; text-align: center; box-shadow: 0 14px 30px rgba(0,0,0,.1); }.seo-map i { position: absolute; padding: 15px; background: #fff; border: 1px solid var(--line); box-shadow: 0 12px 28px rgba(0,0,0,.07); color: var(--muted); font-style: normal; font-size: .72rem; }.seo-map i:nth-of-type(1){left:8%;top:12%}.seo-map i:nth-of-type(2){right:8%;top:12%}.seo-map i:nth-of-type(3){left:6%;bottom:10%}.seo-map i:nth-of-type(4){right:6%;bottom:10%}.seo-map i:nth-of-type(5){right:4%;top:45%}
.post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }.post-card { min-width: 0; border: 1px solid var(--line); background: #fff; transition: transform .3s ease, box-shadow .3s ease; }.post-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }.post-card__image { display: block; aspect-ratio: 1.65; background: var(--soft); }.post-card__image img { width: 100%; height: 100%; object-fit: cover; }.post-card__body { padding: 25px; }.post-card__body .eyebrow { margin-bottom: 9px; }.post-card__body h3 { font-size: 1.7rem; }.post-card__body > p { font-size: .85rem; }.post-card__body .text-link { margin-top: 16px; font-size: .85rem; }.article-visual { display: grid; grid-template-columns: auto 1fr; align-content: center; gap: 12px; width: 100%; height: 100%; padding: 30px; background-color: #f4f6f1; color: var(--green); }.article-visual span { grid-row: span 3; display: grid; place-items: center; width: 75px; height: 75px; border-radius: 50%; background: #fff; border: 1px solid var(--line); }.article-visual i { display: block; height: 9px; background: #d9dfd6; }.article-visual i:nth-of-type(2){width:70%}.article-visual i:nth-of-type(3){width:42%;background:rgba(82,178,15,.5)}
.topic-grid-section .four-columns { border-top: 1px solid rgba(255,255,255,.16); }.topic-card { padding: 35px; border-left: 1px solid rgba(255,255,255,.16); }.topic-card:first-child { border-left: 0; }.topic-card > .icon { width: 44px; height: 44px; margin-bottom: 25px; color: var(--green); }.topic-card .text-link { color: #72dd28; }.pagination { display: flex; justify-content: center; gap: 7px; margin-top: 60px; }.pagination .page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); }.pagination .current, .pagination a:hover { background: var(--green); border-color: var(--green); color: #fff; }.empty-state { grid-column: 1/-1; padding: 60px; border: 1px solid var(--line); text-align: center; }

/* Single article and legal */
.article-header, .legal-header { padding: clamp(80px,10vw,150px) 0 clamp(60px,8vw,100px); border-bottom: 1px solid var(--line); }.article-header h1, .legal-header h1 { font-size: clamp(3.2rem,6vw,6rem); }.article-header .breadcrumbs { margin-bottom: 40px; }.article-deck { max-width: 850px; font-size: clamp(1.1rem,2vw,1.4rem); }.article-byline { display: flex; gap: 14px; align-items: center; margin-top: 32px; }.author-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--dark); color: #fff; font-family: var(--serif); }.article-byline div { display: grid; }.article-byline span { color: var(--muted); font-size: .78rem; }.article-featured { margin-top: 70px; max-height: 720px; overflow: hidden; }.article-featured img { width: 100%; height: 100%; object-fit: cover; }.article-featured--generated { min-height: 520px; color: #fff; }.article-layout { display: grid; grid-template-columns: 180px minmax(0,780px); justify-content: center; gap: clamp(50px,8vw,110px); padding-top: clamp(70px,9vw,130px); padding-bottom: clamp(70px,9vw,130px); }.article-aside__sticky { position: sticky; top: 110px; display: grid; gap: 13px; }.article-aside__sticky a { color: var(--muted); font-size: .8rem; }.article-aside__sticky a:hover { color: var(--green); }.article-content { min-width: 0; font-size: 1.08rem; }.article-content > *:first-child { margin-top: 0; }.article-content h2 { margin-top: 2.2em; font-size: clamp(2rem,3.4vw,3.2rem); }.article-content h3 { margin-top: 2em; font-size: 1.8rem; }.article-content a { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; }.article-content ul, .article-content ol { padding-left: 1.4em; }.article-content blockquote { margin: 2.5rem 0; padding: 30px; border-left: 3px solid var(--green); background: var(--green-soft); font-family: var(--serif); font-size: 1.5rem; }.article-content table { width: 100%; border-collapse: collapse; font-size: .9rem; }.article-content th, .article-content td { padding: 12px; border: 1px solid var(--line); text-align: left; }.article-footer { padding: 70px 0; border-top: 1px solid var(--line); background: var(--soft); }.article-tags { margin-bottom: 50px; }.article-tags a { display: inline-block; margin: 5px; padding: 7px 12px; border: 1px solid var(--line); }.article-author { display: flex; gap: 20px; }.article-author .author-mark { flex: 0 0 58px; width: 58px; height: 58px; }.article-author h3 { margin-bottom: 5px; }.legal-header p { max-width: 700px; }.legal-content > p:first-child { padding: 18px; background: var(--green-soft); border-left: 2px solid var(--green); }

/* Contact and status */
.contact-hero { padding: clamp(80px,9vw,130px) 0; }.contact-intro { max-width: 760px; }.contact-intro h1 { font-size: clamp(3.8rem,7vw,6.8rem); }.contact-intro > p { max-width: 670px; font-size: 1.08rem; }.response-note { display: flex; align-items: center; gap: 10px; margin-top: 24px; color: var(--ink); }.response-note .icon { width: 20px; color: var(--green); }.contact-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.6fr); gap: clamp(50px,6vw,90px); margin-top: 60px; align-items: start; }.contact-form-card { padding: clamp(28px,4vw,48px); border: 1px solid #cfd5cd; background: rgba(255,255,255,.82); box-shadow: 0 25px 65px rgba(20,35,15,.07); backdrop-filter: blur(12px); }.contact-form-card h2 { font-size: 2.7rem; }.project-form { display: grid; gap: 20px; }.project-form > label, .project-form legend { display: grid; gap: 8px; color: var(--ink); font-size: .83rem; font-weight: 600; }.project-form input, .project-form textarea { width: 100%; padding: 13px 15px; border: 1px solid #ccd2ca; background: #fff; outline: none; resize: vertical; }.project-form input:focus, .project-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(82,178,15,.12); }.project-form fieldset { margin: 0; padding: 0; border: 0; }.project-form legend { margin-bottom: 9px; }.choice-grid { display: grid; gap: 10px; }.choice-grid--five { grid-template-columns: repeat(5,1fr); }.choice-grid--three { grid-template-columns: repeat(3,1fr); }.choice-card { position: relative; cursor: pointer; }.choice-card input { position: absolute; opacity: 0; }.choice-card span { display: grid; place-items: center; align-content: center; gap: 8px; min-height: 105px; padding: 12px; border: 1px solid #d3d8d1; text-align: center; font-size: .72rem; font-weight: 500; transition: .2s ease; }.choice-card .icon { width: 25px; }.choice-card input:checked + span, .choice-card:hover span { border-color: var(--green); background: var(--green-soft); color: var(--green-dark); }.choice-card input:focus-visible + span { outline: 3px solid rgba(82,178,15,.3); }.form-privacy { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; font-size: .72rem; }.form-privacy .icon { width: 15px; }.honeypot { position: absolute !important; left: -9999px; }.form-notice { padding: 14px; background: var(--green-soft); border-left: 3px solid var(--green); }.form-notice--error { background: #fff2ef; border-color: #c83c25; }
.contact-aside { display: grid; gap: 38px; padding-top: 25px; }.contact-aside > div + div { padding-top: 34px; border-top: 1px solid var(--line); }.contact-email { color: var(--green-dark); font-family: var(--serif); font-size: clamp(1.5rem,2.5vw,2.3rem); overflow-wrap: anywhere; }.contact-services { display: grid; }.contact-services .eyebrow { grid-column: 1/-1; }.contact-services a { display: flex; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--line); }.aside-note { padding: 24px !important; border: 0 !important; background: var(--green-soft); }.aside-note .icon { color: var(--green); }.aside-note strong { display: block; margin: 12px 0 5px; }.aside-note p { margin: 0; font-size: .84rem; }.step-number, .status-steps > div > span { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 20px; border: 1px solid var(--green); border-radius: 50%; color: var(--green); font-family: var(--serif); font-size: 1.45rem; }
.status-steps { display: grid; grid-template-columns: .6fr 1fr 1fr 1fr; gap: 42px; align-items: start; }.status-steps > div { position: relative; }.status-steps > div:not(:last-child)::after { content: ""; position: absolute; top: 29px; left: 68px; right: -30px; height: 1px; background: var(--green); }.message-route { min-height: 400px; display: flex; align-items: center; justify-content: center; gap: 20px; color: #fff; }.message-route > span { display: block; width: 150px; height: 220px; padding: 25px; background: #fff; border: 1px solid #d1d6cf; box-shadow: var(--shadow); }.message-route__form i, .message-route__form em, .message-route__success i, .message-route__success em { display: block; height: 8px; margin: 14px 0; background: #dfe3dd; }.message-route__form em { height: 55px; }.message-route__success .icon { width: 70px; height: 70px; margin: 10px auto 25px; padding: 18px; border: 1px solid var(--green); border-radius: 50%; color: var(--green); }.message-route svg { width: 130px; fill: none; stroke: var(--green); stroke-width: 3; stroke-linecap: round; }.not-found-visual { position: relative; min-height: 430px; }.not-found-window { position: absolute; inset: 50px 40px 80px; display: block; padding: 60px 40px; background: #fff; border: 1px solid #cdd3ca; }.not-found-window > i { position: absolute; top: 20px; width: 8px; height: 8px; border-radius: 50%; background: #9da39a; }.not-found-window > i:nth-child(1){left:20px}.not-found-window > i:nth-child(2){left:34px}.not-found-window > i:nth-child(3){left:48px}.not-found-window em { display: block; width: 45%; height: 8px; margin: 14px 0; background: #dfe3dc; }.not-found-window b { position: absolute; right: 17%; top: 37%; display: grid; place-items: center; width: 110px; height: 110px; border: 2px dashed var(--green); color: var(--green); font-size: 4rem; font-weight: 400; }.not-found-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: var(--green); stroke-width: 2; }.not-found-visual > strong { position: absolute; right: 0; bottom: 0; color: var(--green-dark); font-family: var(--serif); font-size: 7rem; font-weight: 400; }.search-recovery hr { margin: 60px 0; border: 0; border-top: 1px solid var(--line); }.search-recovery .search-form { margin-inline: auto; }

.account-panel { margin-inline: auto; }
.account-card { display: grid; gap: 14px; justify-items: start; padding: clamp(28px,5vw,55px); border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.account-card h2, .account-card p { margin: 0; }
.account-card .button { margin: 10px 0; }
.account-card .login-username, .account-card .login-password { display: grid; gap: 7px; width: 100%; }
.account-card input[type="text"], .account-card input[type="password"] { width: 100%; padding: 13px; border: 1px solid var(--line); }
.account-card .login-submit input { padding: 13px 22px; border: 0; background: var(--green); color: #fff; cursor: pointer; }

/* Footer */
.site-footer { background: #080d0a; color: #fff; }.site-footer__cta { border-bottom: 1px solid rgba(255,255,255,.18); }.footer-cta { display: flex; justify-content: space-between; align-items: center; gap: 50px; padding-top: 70px; padding-bottom: 70px; }.footer-cta h2 { color: #fff; font-size: clamp(2.8rem,5vw,5rem); }.footer-cta p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.66); }.footer-cta .button { flex: 0 0 auto; min-width: 210px; }
.site-footer__main { padding: 70px 0; }.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,.7fr); gap: 65px; }.haste-wordmark--light { color: #fff; font-size: clamp(2.5rem,4vw,4.2rem); }.footer-brand > p { max-width: 440px; margin-top: 25px; color: rgba(255,255,255,.65); }.footer-email { color: #72df28; }.footer-orbit { display: flex; align-items: center; margin-top: 45px; opacity: .55; }.footer-orbit span { display: grid; place-items: center; width: 55px; height: 55px; border: 1px solid var(--green); border-radius: 50%; color: var(--green); }.footer-orbit i { width: 55px; border-top: 1px dashed var(--green); }.footer-title { color: var(--green) !important; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; }.footer-column { display: flex; flex-direction: column; }.footer-column a { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.24); color: rgba(255,255,255,.88); }.footer-column a span { color: var(--green); transition: transform .2s ease; }.footer-column a:hover span { transform: translateX(5px); }.site-footer__bottom { border-top: 1px solid rgba(255,255,255,.18); }.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 25px; padding-bottom: 25px; }.footer-bottom p { margin: 0; color: rgba(255,255,255,.56); }.footer-bottom div { display: flex; gap: 30px; }.footer-bottom a { color: rgba(255,255,255,.64); }.footer-bottom a:hover { color: var(--green); }

/* Animations */
@keyframes lightSweep { 0%,18% { left:-45%; opacity:0; } 28% { opacity:1; } 52% { left:120%; opacity:.8; } 55%,100% { left:120%; opacity:0; } }
@keyframes ambientPulse { 0%,100% { transform:scale(.9) translate3d(0,0,0); opacity:.65; } 50% { transform:scale(1.15) translate3d(-30px,35px,0); opacity:1; } }
@keyframes floatWindow { 0%,100% { transform:rotateY(-4deg) rotateX(2deg) translateY(0); } 50% { transform:rotateY(-2deg) rotateX(1deg) translateY(-12px); } }
@keyframes floatCard { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-13px) rotate(.6deg); } }
@keyframes drawLine { to { stroke-dashoffset:0; } }
@keyframes fadeArea { to { opacity:1; } }
@keyframes growMeter { from { width:0; } }
@keyframes barGrow { from { transform:scaleY(.35); opacity:.55; } to { transform:scaleY(1); opacity:1; } }
@keyframes orbitDot { 0% { transform:translate(0,0) scale(.8); } 25% { transform:translate(-50px,28px) scale(1.2); } 50% { transform:translate(-20px,72px) scale(.8); } 75% { transform:translate(34px,34px) scale(1.15); } 100% { transform:translate(0,0) scale(.8); } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes nodeFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }

/* Responsive */
@media (max-width: 1120px) {
  .site-header__inner { grid-template-columns: auto 1fr auto; }
  .primary-menu { gap: 20px; }
  .hero__grid { grid-template-columns: .95fr 1.05fr; gap: 45px; }
  .dashboard-window { left: 20px; }.metric-float--one { left: -20px; }
  .choice-grid--five { grid-template-columns: repeat(3,1fr); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }.footer-column:last-child { display: none; }
}

@media (max-width: 920px) {
  .container { width: min(calc(100% - 36px), var(--container)); }
  .site-header { height: 72px; }.site-header__inner { display: flex; justify-content: space-between; }.site-header__cta { display: none; }
  .menu-toggle { display: flex; align-items: center; gap: 10px; padding: 8px; cursor: pointer; }.menu-toggle__icon { position: relative; width: 25px; height: 17px; }.menu-toggle__icon i { position: absolute; left: 0; width: 100%; height: 2px; background: var(--ink); transition:.25s ease; }.menu-toggle__icon i:first-child{top:3px}.menu-toggle__icon i:last-child{bottom:3px}.menu-toggle[aria-expanded="true"] i:first-child{top:8px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-child{bottom:7px;transform:rotate(-45deg)}
  .primary-navigation { position: fixed; inset: 72px 0 auto; max-height: calc(100vh - 72px); overflow-y: auto; padding: 30px 24px; background: rgba(9,14,10,.98); opacity: 0; visibility: hidden; transform: translateY(-12px); transition:.28s ease; }.primary-navigation.is-open { opacity:1;visibility:visible;transform:none; }.primary-menu { display:block; }.primary-menu a { padding:15px 0;color:#fff;font-family:var(--serif);font-size:1.6rem;border-bottom:1px solid rgba(255,255,255,.14)}.primary-menu > li > a::after{display:none}.primary-menu .sub-menu { position:static;width:auto;padding:0 0 0 18px;background:none;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none; }.primary-menu .sub-menu a{font-family:var(--sans);font-size:.95rem;color:rgba(255,255,255,.7)}
  .hero { min-height:auto; }.hero__grid { grid-template-columns: 1fr; }.hero__copy { max-width: 780px; }.hero__visual { width: min(100%,700px); margin-inline:auto; }.dashboard-visual { min-height:480px; }
  .two-columns,.two-columns--wide,.service-feature__grid,.featured-article__grid,.contact-layout,.article-layout { grid-template-columns:1fr; }.article-layout { max-width: 780px; }.article-aside { display:none; }
  .three-columns { grid-template-columns: repeat(2,1fr); }.four-columns,.capability-grid { grid-template-columns: repeat(2,1fr); }.project-grid--three,.post-grid { grid-template-columns: repeat(2,1fr); }
  .service-row { grid-template-columns:60px 50px 1fr 40px; }.service-row p{display:none}
  .process-line,.process-line--five { grid-template-columns:repeat(2,1fr); }.process-line::before{display:none}
  .split-feature { grid-template-columns:1fr; }.split-feature__visual { min-height:560px; }.split-feature__content { padding:70px 24px; }
  .service-feature--reverse .service-feature__copy { order:initial; }.service-feature__visual { grid-row:auto; }
  .connected-services > .container { grid-template-columns:1fr; }.connected-flow { max-width:600px; }
  .anchor-tabs { position:relative; }.admin-bar .anchor-tabs { top:auto; }.anchor-tabs .container { overflow-x:auto; }.anchor-tabs a { min-width:210px; }
  .contact-aside { grid-template-columns:1fr 1fr; }.contact-aside .aside-note { grid-column:1/-1; }
  .status-steps { grid-template-columns:1fr 1fr; }.status-steps > h2 { grid-column:1/-1; }.status-steps > div::after{display:none}
  .footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }.footer-column:last-child { display:flex; }
  .footer-cta { align-items:flex-start; flex-direction:column; }
  .empty-work,.statement-split { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
  body { font-size:15px; }.container { width:min(calc(100% - 28px),var(--container)); }.section { padding:70px 0; }
  h1 { font-size:clamp(3.1rem,16vw,5rem); } h2{font-size:clamp(2.3rem,11vw,3.4rem)}
  .hero { padding:65px 0; }.hero__intro { font-size:1rem; }.button-row { align-items:stretch; flex-direction:column; }.button-row .button { width:100%; }.button-row .text-link { justify-content:center; padding:12px; }
  .hero-stats { grid-template-columns:1fr; }.hero-stats > div,.hero-stats > div + div { grid-template-columns:auto 1fr;padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
  .dashboard-visual { min-height:390px; }.dashboard-window { inset:35px 0 15px; padding:0 13px 13px; }.window-bar{height:42px}.dashboard-grid{gap:7px;padding-top:10px}.dashboard-panel{min-height:92px;padding:11px}.dashboard-panel--wide{min-height:190px}.metric-float{width:125px;padding:11px}.metric-float--one{left:-4px;top:120px}.metric-float--two{left:20px;bottom:0}.metric-float strong{font-size:1.2rem}.orbital-dot{display:none}
  .section-heading--split { align-items:flex-start; flex-direction:column; }.service-row { grid-template-columns:44px 44px 1fr 25px; gap:12px; min-height:92px; }.service-row__number{font-size:1.3rem}.service-row__icon{width:40px}.service-row__icon .icon{width:20px}.service-row h3{font-size:1.25rem}
  .project-grid--three,.project-grid--two,.post-grid,.three-columns,.four-columns,.capability-grid,.process-line,.process-line--five,.process-line--three,.outcome-strip .container,.metrics-band .container { grid-template-columns:1fr; }
  .project-grid--two{gap:40px}.process-step{padding-bottom:25px}.process-step__icon{margin-bottom:15px}.icon-card,.icon-card:first-child { border-left:0;border-top:1px solid var(--line) }.capability-grid{border-left:0}.capability-card{border-left:1px solid var(--line)}
  .benefit-grid,.check-grid { grid-template-columns:1fr; }.split-feature__visual{min-height:440px}.team-node{width:80px;height:80px;font-size:.56rem}.team-node--one,.team-node--three{left:39%}
  .testimonial-shell{padding:45px 25px}.testimonial-slide footer{grid-template-columns:1fr}.testimonial-slide footer em{font-size:1.4rem}
  .anchor-tabs .container{width:100%}.anchor-tabs a{min-width:170px;padding:16px 10px}.system-map{min-height:390px}.system-map__core{left:25%;top:37%;min-width:160px}.system-map__node{max-width:130px;padding:10px;font-size:.62rem}.system-map__node--1{left:2%}.system-map__node--2{right:2%}.system-map__node--3{left:3%}
  .connected-flow { display:grid;grid-template-columns:1fr auto 1fr; }.connected-flow span:last-child{grid-column:3}.connected-flow i:nth-of-type(3){display:none}
  .orbit-system{transform:scale(.87)}.orbit-item{width:100px}.orbit-item .icon{width:48px;height:48px}.deliverable-stack{min-height:390px}.deliverable-stack > span{width:78%;min-height:220px}.deliverable-stack > span:nth-child(2){left:11%;top:55px}.deliverable-stack > span:nth-child(3){left:22%;top:110px}
  .about-network{min-height:400px}.about-network__core{left:30%;top:34%;width:140px;height:120px}.about-network__node{width:110px;padding:9px;font-size:.6rem}.belief-card,.belief-card:first-child{border-left:0;border-top:1px solid rgba(255,255,255,.13)}.ops-console{min-height:470px;padding:18px}.metric-large{justify-content:flex-start;padding:16px 0;border-left:0;border-top:1px solid rgba(82,178,15,.3)}
  .device-stage{min-height:390px}.device--desktop{width:86%;height:300px}.device--tablet{width:42%;height:260px;top:100px}.device--phone{width:28%;height:230px;top:125px}.device{padding:45px 18px 20px}.device b{font-size:1.2rem}.device--phone b{font-size:.85rem}.portfolio-filters .container,.blog-tabs .container{justify-content:flex-start;gap:28px}
  .featured-article__image{min-height:280px}.seo-map{min-height:280px}.post-card__body{padding:20px}.article-header h1,.legal-header h1,.blog-hero h1,.contact-intro h1{font-size:clamp(3rem,14vw,4.6rem)}.article-featured--generated{min-height:330px}.article-layout{padding-top:60px;padding-bottom:60px}.article-content{font-size:1rem}.article-content table{display:block;overflow-x:auto}.article-author{align-items:flex-start}
  .choice-grid--five,.choice-grid--three { grid-template-columns:1fr 1fr; }.choice-card span{min-height:92px}.contact-aside{grid-template-columns:1fr}.contact-aside .aside-note{grid-column:auto}.contact-form-card{padding:24px 18px}.status-steps{grid-template-columns:1fr}.message-route{gap:5px;min-height:320px}.message-route > span{width:105px;height:170px;padding:15px}.message-route svg{width:70px}.message-route__success .icon{width:52px;height:52px}.not-found-visual{min-height:340px}.not-found-window{inset:35px 15px 70px;padding:45px 20px}.not-found-window b{right:10%;width:80px;height:80px;font-size:3rem}.not-found-visual > strong{font-size:5rem}
  .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-column:last-child{display:none}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-bottom div{flex-wrap:wrap;gap:14px 25px}.haste-wordmark--light{font-size:2.7rem}.footer-orbit{display:none}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
  .light-sweep::after { display:none; }
}
