:root {
  --ink: #0b1020;
  --ink-2: #131b31;
  --paper: #f7f6ef;
  --paper-2: #eeece1;
  --line-dark: rgba(247, 246, 239, .16);
  --line-light: rgba(11, 16, 32, .14);
  --lime: #d8ff4f;
  --lime-2: #b5ee27;
  --blue: #8ed7ff;
  --muted-dark: #a5adbf;
  --muted-light: #586173;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Manrope', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
  --shadow: 0 24px 65px rgba(5, 10, 22, .17);
  --container: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: var(--container); margin: 0 auto; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 1000; padding: 10px 14px; color: var(--ink); background: var(--lime); transition: top .2s ease; }
.skip-link:focus { top: 16px; }

.section-dark { background: var(--ink); color: var(--paper); }
.section-light { background: var(--paper); color: var(--ink); }
.section-accent { background: var(--lime); color: var(--ink); }

.site-header { position: fixed; z-index: 90; top: 0; left: 0; width: 100%; color: var(--paper); border-bottom: 1px solid transparent; transition: background .3s ease, border-color .3s ease, backdrop-filter .3s ease; }
.site-header.scrolled { background: rgba(11, 16, 32, .82); backdrop-filter: blur(14px); border-color: var(--line-dark); }
.header-inner { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; background: var(--lime); color: var(--ink); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: -.08em; transform: rotate(-8deg); }
.brand-copy { display: grid; line-height: 1; gap: 5px; }
.brand-copy strong { font-size: 13px; letter-spacing: -.03em; }
.brand-copy small { color: var(--muted-dark); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }
.desktop-nav { display: flex; align-items: center; gap: 27px; margin-left: auto; }
.desktop-nav a { color: #d8dce5; font-size: 13px; transition: color .2s; }
.desktop-nav a:hover { color: var(--lime); }
.header-cta { display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border: 1px solid rgba(216, 255, 79, .46); color: var(--lime); font-size: 12px; font-weight: 700; }
.header-cta svg, .button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.menu-toggle, .mobile-menu { display: none; }

.hero { min-height: 810px; position: relative; overflow: hidden; padding: 160px 0 0; }
.hero-grid-lines { position: absolute; inset: 0; background-image: linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px); background-size: 88px 88px; opacity: .18; mask-image: linear-gradient(to bottom, black 20%, transparent 92%); }
.noise { position: absolute; inset: 0; opacity: .26; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.hero-orb { position: absolute; width: 520px; height: 520px; border-radius: 50%; filter: blur(8px); opacity: .55; pointer-events: none; }
.orb-one { background: radial-gradient(circle at 36% 35%, rgba(216,255,79,.44), transparent 27%), radial-gradient(circle at 73% 63%, rgba(142,215,255,.34), transparent 36%); right: 4%; top: 125px; }
.orb-two { background: radial-gradient(circle, rgba(90,126,255,.23), transparent 62%); left: -320px; top: 65px; }
.hero-layout { position: relative; z-index: 2; min-height: 585px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 56px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 23px; color: var(--lime); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow span { width: 19px; height: 1px; background: currentColor; }
.eyebrow-dark { color: #355100; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 750px; margin-bottom: 23px; font-size: clamp(52px, 6vw, 84px); line-height: .98; letter-spacing: -.075em; font-weight: 700; }
h1 em, h2 em { font-family: var(--serif); font-weight: 400; letter-spacing: -.06em; }
.hero-lead { max-width: 565px; color: #c7cbd5; font-size: 16px; line-height: 1.73; }
.hero-lead strong { color: var(--paper); font-weight: 700; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 31px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 49px; padding: 12px 17px; font-size: 13px; font-weight: 800; transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease; }
.button:hover { transform: translateY(-3px); }
.button-primary { color: var(--ink); background: var(--lime); border: 1px solid var(--lime); }
.button-primary:hover { background: #ecff9a; border-color: #ecff9a; }
.button-ghost { color: var(--paper); border: 1px solid rgba(247,246,239,.33); }
.button-ghost:hover { border-color: var(--paper); }
.button-outline { color: var(--ink); border: 1px solid rgba(11,16,32,.5); }
.button-outline:hover { background: var(--ink); color: var(--paper); }
.hero-proof { display: flex; gap: 0; margin-top: 57px; }
.hero-proof > div { min-width: 135px; padding-right: 19px; margin-right: 19px; border-right: 1px solid var(--line-dark); }
.hero-proof > div:last-child { border-right: 0; margin: 0; padding: 0; }
.hero-proof strong { display: block; color: var(--lime); font-family: var(--mono); font-size: 17px; font-weight: 400; }
.hero-proof span { display: block; margin-top: 6px; color: var(--muted-dark); font-size: 10px; line-height: 1.35; }

.hero-visual { min-height: 485px; position: relative; width: 100%; max-width: 470px; justify-self: end; border: 1px solid rgba(247,246,239,.22); background: rgba(11,16,32,.36); backdrop-filter: blur(8px); overflow: hidden; }
.hero-visual::before, .hero-visual::after { content: ''; position: absolute; background: var(--line-dark); }
.hero-visual::before { height: 1px; width: 100%; top: 56px; left: 0; }
.hero-visual::after { width: 1px; height: 100%; left: 50%; top: 0; opacity: .4; }
.visual-topline { position: relative; z-index: 2; height: 56px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; color: var(--muted-dark); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; }
.pulse-dot { color: var(--lime); display: flex; align-items: center; gap: 6px; }
.pulse-dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(216,255,79,.12); animation: blink 1.6s infinite ease-in-out; }
@keyframes blink { 50% { opacity: .25; box-shadow: 0 0 0 8px rgba(216,255,79,0); } }
.core-orbital { position: absolute; width: 305px; height: 305px; left: 50%; top: 51%; transform: translate(-50%,-50%); display: grid; place-items: center; }
.core-orbital::before { content: ''; position: absolute; width: 156px; height: 156px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(216,255,79,.76), rgba(142,215,255,.36) 34%, rgba(55,69,121,.22) 68%, transparent 70%); filter: blur(.1px); box-shadow: 0 0 65px rgba(142,215,255,.24); }
.orbit { position: absolute; border: 1px solid rgba(247,246,239,.35); border-radius: 50%; }
.orbit-a { width: 250px; height: 100px; transform: rotate(-36deg); }
.orbit-b { width: 270px; height: 130px; transform: rotate(43deg); }
.orbit-dot { position: absolute; width: 8px; height: 8px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(216,255,79,.13); }
.dot-a { left: 37px; top: 90px; }.dot-b { right: 33px; bottom: 76px; background: var(--blue); box-shadow: 0 0 0 5px rgba(142,215,255,.13); }
.core-badge { z-index: 2; width: 57px; height: 57px; display: grid; place-items: center; color: var(--ink); background: var(--paper); border-radius: 50%; font-family: var(--mono); font-size: 14px; font-weight: 700; }
.core-orbital p { position: absolute; z-index: 3; bottom: 7px; margin: 0; color: #cdd5d4; font-family: var(--mono); font-size: 8px; letter-spacing: .22em; text-align: center; }
.core-orbital p span { color: var(--lime); }
.signal-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 11px; padding: 11px; border: 1px solid rgba(247,246,239,.26); background: rgba(13,20,39,.78); box-shadow: 0 15px 40px rgba(0,0,0,.13); }
.signal-card small { display: block; margin-bottom: 4px; color: var(--muted-dark); font-family: var(--mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.signal-card strong { display: block; color: var(--paper); font-size: 10px; line-height: 1.35; }
.signal-card-a { left: 19px; top: 101px; }
.signal-card-b { right: 18px; bottom: 89px; }
.signal-icon { width: 31px; height: 31px; display: grid; place-items: center; color: var(--lime); border: 1px solid rgba(216,255,79,.3); }
.signal-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.mini-bars { display: flex; align-items: flex-end; gap: 3px; height: 27px; padding-left: 4px; }
.mini-bars i { width: 4px; background: var(--lime); display: block; }.mini-bars i:nth-child(1){height:9px}.mini-bars i:nth-child(2){height:15px}.mini-bars i:nth-child(3){height:21px}.mini-bars i:nth-child(4){height:26px}
.visual-number { position: absolute; right: 14px; bottom: -24px; color: rgba(247,246,239,.09); font-family: var(--serif); font-size: 155px; line-height: 1; }
.hero-ticker { position: relative; z-index: 3; margin-top: 44px; padding: 15px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); overflow: hidden; white-space: nowrap; }
.ticker-track { width: max-content; display: flex; gap: 24px; align-items: center; color: #c9cdd4; font-family: var(--mono); font-size: 10px; letter-spacing: .13em; animation: ticker 32s linear infinite; }
.ticker-track b { color: var(--lime); font-size: 10px; } @keyframes ticker { to { transform: translateX(-50%); } }

.intro { padding: 133px 0 143px; }
.section-heading { margin-bottom: 52px; }
.split-heading { display: grid; grid-template-columns: 1fr .68fr; align-items: end; gap: 70px; }
.section-heading h2, .approach h2, .contact h2, .principles h2 { margin: 0; font-size: clamp(40px, 4.8vw, 69px); line-height: .99; letter-spacing: -.07em; }
.split-heading > p { max-width: 395px; margin: 0 0 7px; color: var(--muted-light); font-size: 15px; line-height: 1.7; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.service-card { position: relative; min-height: 318px; padding: 21px 22px 20px; border: 1px solid var(--line-light); background: rgba(255,255,255,.17); display: flex; flex-direction: column; overflow: hidden; transition: transform .35s ease, background .35s ease, box-shadow .35s ease; }
.service-card:hover { transform: translateY(-7px); background: #fff; box-shadow: var(--shadow); }
.service-card::after { content: ''; position: absolute; width: 130px; height: 130px; right: -74px; top: -70px; background: radial-gradient(circle, rgba(216,255,79,.7), transparent 68%); opacity: 0; transition: opacity .35s ease; }
.service-card:hover::after { opacity: .65; }
.service-card.service-featured { grid-row: span 2; min-height: 650px; color: var(--paper); background: var(--ink-2); border-color: var(--ink-2); }
.service-card.service-featured::after { opacity: .9; width: 355px; height: 355px; right: -172px; top: -55px; }
.service-card.service-dark { color: var(--paper); background: #27365f; border-color: #27365f; }
.card-index { position: relative; z-index: 1; color: #7c859a; font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.service-featured .card-index, .service-dark .card-index { color: #b3bdd5; }
.service-icon { position: relative; z-index: 1; width: 47px; height: 47px; margin: auto 0 21px; display: grid; place-items: center; }
.icon-grid { grid-template-columns: repeat(2, 11px); grid-template-rows: repeat(2, 11px); gap: 4px; }.icon-grid span { border: 1px solid var(--lime); }.icon-grid span:nth-child(1){background:var(--lime)}
.service-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.icon-meta { color: #234bad; }.icon-bag { color: #9e4117; }.icon-window { color: #4751a9; }.icon-pin { color: #256a54; }
.icon-qr { grid-template-columns: 13px 13px; grid-template-rows: 13px 13px; gap: 3px; }.icon-qr span { border: 2px solid var(--lime); }.icon-qr span:nth-child(2){background:var(--lime)}.icon-qr span:nth-child(3){background:var(--lime)}
.service-card h3 { position: relative; z-index: 1; margin: 0 0 12px; font-size: 22px; line-height: 1.1; letter-spacing: -.055em; }
.service-card p { position: relative; z-index: 1; margin: 0; color: var(--muted-light); font-size: 12px; line-height: 1.68; }
.service-featured p, .service-dark p { color: #bfc5d3; }
.service-card ul { position: relative; z-index: 1; padding: 0; margin: 18px 0 0; list-style: none; }.service-card li { margin: 7px 0; color: #cfd3dd; font-size: 11px; }.service-card li::before { content: '—'; color: var(--lime); margin-right: 7px; }
.text-link { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 25px; font-size: 11px; font-weight: 800; }.text-link span { font-size: 15px; transition: transform .2s; }.text-link:hover span { transform: translate(3px,-3px); }

.approach { position: relative; padding: 133px 0 131px; overflow: hidden; }.approach::after { content:''; position:absolute; width:600px; height:600px; right:-300px; bottom:-340px; border-radius:50%; background:radial-gradient(circle, rgba(142,215,255,.14), transparent 66%); }
.approach-top { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr .66fr; gap: 75px; align-items: end; padding-bottom: 64px; border-bottom: 1px solid var(--line-dark); }.approach-top > p { max-width: 415px; margin: 0 0 7px; color: var(--muted-dark); font-size: 15px; line-height: 1.72; }
.process-list { position: relative; z-index: 2; }.process-item { display: grid; grid-template-columns: 74px 1fr auto; align-items: center; gap: 24px; padding: 29px 0; border-bottom: 1px solid var(--line-dark); transition: padding .25s ease, background .25s ease; }.process-item:hover { padding-left: 12px; padding-right: 12px; background: rgba(247,246,239,.035); }.process-no { color: var(--lime); font-family: var(--mono); font-size: 13px; }.process-title { display: grid; grid-template-columns: 184px 1fr; gap: 28px; align-items: center; }.process-title h3 { margin: 0; font-size: 25px; letter-spacing: -.05em; }.process-title p { max-width: 440px; margin: 0; color: var(--muted-dark); font-size: 13px; line-height: 1.6; }.process-tag { color: #d9dee9; font-family: var(--mono); font-size: 10px; letter-spacing: .03em; }

.sectors { padding: 133px 0; }.sector-layout { display:grid; grid-template-columns: .63fr 1.37fr; gap: 90px; }.sector-sticky { position: sticky; top: 120px; align-self:start; }.sector-sticky p { max-width: 290px; margin:0 0 28px; color:var(--muted-light); font-size:15px; line-height:1.75; }.sector-list { border-top:1px solid var(--line-light); }.sector-item { min-height:104px; display:grid; grid-template-columns:42px 1fr 20px; gap:14px; align-items:center; padding:19px 0; border-bottom:1px solid var(--line-light); transition:padding .25s ease; }.sector-item:hover { padding-left: 14px; padding-right: 9px; }.sector-item > span { color:#3e6c0c; font-family:var(--mono); font-size:11px; }.sector-item h3 { margin:0 0 6px; font-size:20px; letter-spacing:-.045em; }.sector-item p { margin:0; color:var(--muted-light); font-size:12px; line-height:1.55; }.sector-item i { color:#2b4c08; font-style:normal; font-size:20px; }

.principles { padding: 112px 0; }.principles-layout { display:grid; grid-template-columns:.5fr 1.5fr; gap:65px; }.principles h2 { max-width:720px; }.principles-quote { display:grid; grid-template-columns:65px 1fr; gap:17px; max-width:705px; margin-top:56px; }.quote-mark { font-family:var(--serif); font-size:94px; line-height:.67; }.principles-quote p { margin:0; font-size:17px; line-height:1.62; letter-spacing:-.02em; }

.contact { position:relative; overflow:hidden; padding: 138px 0 136px; }.contact::before { content:''; position:absolute; left:-235px; bottom:-295px; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle, rgba(216,255,79,.2), transparent 62%); }.contact-layout { position:relative; z-index:2; display:grid; grid-template-columns:.86fr 1.14fr; gap:85px; align-items:start; }.contact-copy > p:not(.eyebrow) { max-width:420px; margin-top:25px; color:var(--muted-dark); font-size:15px; line-height:1.74; }.contact-direct { display:grid; gap:17px; margin-top:43px; }.contact-direct a { display:grid; gap:5px; width:max-content; }.contact-direct span { color:var(--muted-dark); font-family:var(--mono); font-size:9px; letter-spacing:.11em; text-transform:uppercase; }.contact-direct strong { color:var(--paper); font-size:14px; letter-spacing:-.03em; }.contact-direct a:hover strong { color:var(--lime); }
.contact-form { padding:24px; background:#f8f8f1; color:var(--ink); box-shadow:0 27px 65px rgba(0,0,0,.19); }.form-topline { display:flex; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--line-light); color:#5b626f; font-family:var(--mono); font-size:9px; letter-spacing:.11em; }.form-row { margin-top:18px; }.form-row label { display:block; margin-bottom:7px; font-size:11px; font-weight:700; }.form-row input, .form-row select, .form-row textarea { width:100%; padding:11px 0; color:var(--ink); outline:0; border:0; border-bottom:1px solid rgba(11,16,32,.22); background:transparent; font-size:13px; border-radius:0; }.form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-bottom-color:var(--ink); }.form-row textarea { resize:vertical; }.two-col { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.button-full { width:100%; margin-top:25px; }.form-note { margin:12px 0 0; color:var(--muted-light); font-size:10px; text-align:center; }

.site-footer { border-top:1px solid var(--line-dark); }.footer-top { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:37px 0; }.footer-links { display:flex; align-items:center; gap:21px; }.footer-links a { color:var(--muted-dark); font-size:11px; }.footer-links a:hover { color:var(--lime); }.back-top { width:33px; height:33px; display:grid; place-items:center; border:1px solid var(--line-dark); color:var(--lime); font-size:17px; }.footer-bottom { display:flex; justify-content:space-between; gap:15px; padding:17px 0 23px; border-top:1px solid var(--line-dark); color:#7e879a; font-family:var(--mono); font-size:9px; letter-spacing:.07em; }.footer-bottom p { margin:0; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }.reveal.is-visible { opacity:1; transform:none; }.reveal-delay { transition-delay:.16s; }.reveal-delay-sm { transition-delay:.08s; }.reveal-delay-md { transition-delay:.16s; }

@media (max-width: 960px) {
  :root { --container: min(100% - 40px, 760px); }
  .desktop-nav, .header-cta { display:none; }.menu-toggle { display:grid; gap:6px; width:42px; height:40px; padding:10px; border:1px solid var(--line-dark); background:transparent; }.menu-toggle span { display:block; height:1px; width:100%; background:var(--paper); transition:transform .25s, opacity .25s; }.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-menu { position:absolute; width:100%; padding:15px 20px 20px; border-bottom:1px solid var(--line-dark); background:rgba(11,16,32,.98); transform:translateY(-110%); transition:transform .3s ease; display:grid; gap:12px; }.mobile-menu.open { transform:translateY(0); }.mobile-menu a { color:var(--paper); font-size:14px; padding:9px 0; border-bottom:1px solid var(--line-dark); }.mobile-menu a:last-child { border:0; }
  .hero { min-height:unset; padding-top:133px; }.hero-layout { min-height:unset; grid-template-columns:1fr; gap:40px; }.hero-content { max-width:710px; }.hero-visual { justify-self:start; max-width:100%; width:100%; min-height:390px; }.hero-ticker { margin-top:44px; }
  .split-heading, .approach-top, .contact-layout { grid-template-columns:1fr; gap:29px; }.split-heading > p, .approach-top > p { max-width:560px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }.service-card.service-featured { grid-row:span 1; min-height:380px; }
  .sector-layout { grid-template-columns:1fr; gap:40px; }.sector-sticky { position:static; }.sector-sticky p { max-width:570px; }
  .principles-layout { grid-template-columns:1fr; gap:30px; }.principles-quote { margin-top:35px; }
}

@media (max-width: 620px) {
  :root { --container: calc(100% - 32px); }
  .header-inner { height:67px; }.brand-mark { width:33px; height:33px; }.brand-copy strong { font-size:12px; }.brand-copy small { font-size:8px; }
  .hero { padding-top:112px; }.hero-grid-lines { background-size:46px 46px; }.eyebrow { font-size:9px; margin-bottom:17px; } h1 { font-size:clamp(44px, 13.5vw, 59px); letter-spacing:-.08em; }.hero-lead { font-size:14px; }.hero-actions { margin-top:24px; }.button { min-height:46px; font-size:12px; }.hero-proof { margin-top:39px; }.hero-proof > div { min-width:0; flex:1; padding-right:10px; margin-right:10px; }.hero-proof strong { font-size:14px; }.hero-proof span { font-size:8px; }.hero-visual { min-height:358px; }.core-orbital { transform:translate(-50%,-50%) scale(.85); }.signal-card-a { left:10px; top:79px; }.signal-card-b { right:10px; bottom:61px; }.visual-number { font-size:120px; }
  .intro, .approach, .sectors, .contact { padding:87px 0; }.principles { padding:79px 0; }.section-heading { margin-bottom:35px; }.section-heading h2, .approach h2, .contact h2, .principles h2 { font-size:clamp(38px, 11vw, 51px); }.split-heading > p, .approach-top > p { font-size:14px; }
  .services-grid { grid-template-columns:1fr; gap:11px; }.service-card, .service-card.service-featured { min-height:284px; }.service-card.service-featured { min-height:340px; }.service-icon { margin:auto 0 18px; }.service-card h3 { font-size:21px; }
  .approach-top { padding-bottom:39px; }.process-item { grid-template-columns:34px 1fr; gap:15px; align-items:start; }.process-tag { grid-column:2; margin-top:-13px; color:#98a5be; font-size:8px; }.process-title { display:block; }.process-title h3 { font-size:21px; }.process-title p { margin-top:6px; font-size:12px; }
  .sector-item { grid-template-columns:28px 1fr 16px; min-height:94px; }.sector-item h3 { font-size:17px; }.sector-item p { font-size:11px; }.sector-item > span { font-size:9px; }
  .principles-quote { grid-template-columns:35px 1fr; gap:9px; }.quote-mark { font-size:60px; }.principles-quote p { font-size:15px; }
  .contact-layout { gap:48px; }.contact-copy > p:not(.eyebrow) { font-size:14px; }.contact-form { padding:19px; }.two-col { grid-template-columns:1fr; gap:17px; }.form-row { margin-top:15px; }
  .footer-top { display:grid; grid-template-columns:1fr auto; padding:29px 0; }.footer-links { grid-column:1/-1; order:3; flex-wrap:wrap; gap:13px 18px; }.footer-bottom { display:block; padding-bottom:18px; }.footer-bottom p + p { margin-top:7px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.001ms !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; } }
