/* Ours Abroad LLC — responsive corporate site */
/* Inter quote/kerning safeguard: use alternate quotes and disable contextual substitutions. */
* { box-sizing: border-box; font-variant-ligatures: none; font-feature-settings: "calt" 0, "ss03" 1; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 0; min-height: 100vh; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { border: 0; background: none; cursor: pointer; }
img, svg { max-width: 100%; }
ul, ol { margin: 0; padding: 0; list-style: none; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* ============================================================
   Ours Abroad LLC — fluid corporate site
   ============================================================ */
:root {
  --primary: #2866cc;
  --primary-hover: #1f54a8;
  --primary-soft: #eef5ff;
  --primary-rgb: 40 102 204;
  --heading: #17172c;
  --body: #5e6475;
  --muted: #81889a;
  --surface: #ffffff;
  --surface-alt: #f7f7fa;
  --border: #e5e6ed;
  --line: #d9dbe5;
  --blue: #4480f3;
  --rose: #dd6e9d;
  --mint: #55a995;
  --gutter: clamp(22px, 6.4vw, 112px);
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html, body { overflow-x: clip; }
html { scroll-padding-top: 86px; }
body { background: var(--surface); color: var(--body); font-family: var(--font); }
.page { width: 100%; max-width: none; margin: 0; overflow: visible; }
.container { width: 100%; max-width: none; margin: 0; padding-inline: var(--gutter); }
.icon { display: inline-block; width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 12px 16px; background: var(--heading); color: white; border-radius: 8px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.skip-link:focus:not(:focus-visible) { transform: translateY(-150%); }

/* Header */
.header { position: sticky; top: 0; z-index: 100; width: 100%; background: rgb(255 255 255 / 94%); backdrop-filter: blur(16px); border-bottom: 1px solid rgb(229 230 237 / 75%); }
.header__inner { height: 82px; width: 100%; padding-inline: var(--gutter); display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(150px, 1fr); align-items: center; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 11px; width: fit-content; color: var(--heading); }
.brand__logo { display: block; width: clamp(180px, 16vw, 220px); height: auto; }
.brand__mark { width: 38px; height: 38px; border-radius: 11px; background: var(--primary); display: grid; place-items: center; color: white; font-size: 12px; letter-spacing: -.06em; font-weight: 800; }
.brand__copy { display: grid; gap: 3px; line-height: 1; }
.brand__copy strong { font-size: 14px; letter-spacing: .09em; }
.brand__copy small { color: var(--muted); font-size: 10px; letter-spacing: .02em; }
.nav { position: static; display: flex; flex-direction: row; align-items: center; gap: clamp(22px, 3vw, 48px); }
.nav a { color: var(--body); font-size: 13px; font-weight: 550; transition: color .18s ease; white-space: nowrap; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--primary); }
.header__cta { justify-self: end; }
.nav-toggle { display: none; }

/* Common controls / focus */
.button { min-height: 48px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; border: 1px solid transparent; border-radius: 9px; font: 600 13px/1 var(--font); white-space: nowrap; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.button--primary { color: white; background: var(--primary); box-shadow: 0 5px 16px rgb(var(--primary-rgb) / 18%); }
.button--primary:hover { color: white; background: var(--primary-hover); transform: translateY(-1px); }
.button--quiet { color: var(--heading); background: white; border-color: var(--border); }
.button--quiet:hover { color: var(--primary); border-color: var(--primary); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgb(var(--primary-rgb) / 42%); outline-offset: 3px; }
.kicker { color: var(--primary); font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; }
.text-link { width: fit-content; display: inline-flex; align-items: center; gap: 9px; color: var(--primary); font-size: 12px; font-weight: 650; }
.text-link:hover { color: var(--primary-hover); }

/* Home hero */
.hero { width: 100%; position: relative; padding: clamp(68px, 9vw, 130px) var(--gutter) 82px; overflow: hidden; background: #fbfdff; }
.hero__wash { position: absolute; z-index: 0; top: -44%; right: -8%; width: min(62vw, 920px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(var(--primary-rgb) / 16%) 0, rgb(230 240 255 / 34%) 40%, transparent 70%); pointer-events: none; }
.hero__map { position: absolute; z-index: 0; top: 52%; right: -2%; width: min(73vw, 1080px); height: auto; transform: translateY(-50%); opacity: .09; mix-blend-mode: multiply; pointer-events: none; user-select: none; }
.hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); align-items: center; gap: clamp(42px, 7vw, 124px); max-width: 1800px; margin: 0 auto; }
.hero__copy { max-width: 820px; }
.eyebrow { display: flex; align-items: center; gap: 9px; width: fit-content; padding: 9px 14px; margin-bottom: 27px; border: 1px solid #d8e7ff; border-radius: 999px; color: var(--primary); background: #f1f6ff; font-size: 11px; font-weight: 600; letter-spacing: .01em; }
.eyebrow .icon { width: 16px; height: 16px; }
.hero h1 { max-width: 810px; color: var(--heading); font-size: clamp(42px, 4.5vw, 72px); font-weight: 680; line-height: 1.03; letter-spacing: -.065em; overflow-wrap: anywhere; }
.hero h1 span { color: var(--primary); }
.hero__lede { max-width: 650px; margin-top: 25px; color: var(--body); font-size: clamp(15px, 1.24vw, 18px); line-height: 1.78; }
.hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.hero__note { display: flex; align-items: center; gap: 9px; margin-top: 28px; color: var(--muted); font-size: 11px; }
.status-dot, .panel-status i { width: 7px; height: 7px; border-radius: 50%; background: #51a58f; box-shadow: 0 0 0 4px #e5f3ef; }
.hero-network { width: 100%; min-height: 470px; position: relative; display: grid; place-items: center; }
.network-orbit { position: absolute; z-index: 0; left: 50%; top: 50%; border: 1px solid rgb(var(--primary-rgb) / 15%); border-radius: 50%; transform: translate(-50%, -50%); animation: network-orbit-spin 72s linear infinite; }
.network-orbit::before { content: ""; position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 4px rgb(var(--primary-rgb) / 9%); transform: translateX(-50%); }
.network-orbit--outer { width: min(34vw, 430px); aspect-ratio: 1; }
.network-orbit--inner { width: min(25vw, 320px); aspect-ratio: 1; border-style: dashed; animation-duration: 48s; animation-direction: reverse; }
.network-orbit--inner::before { top: -3px; width: 6px; height: 6px; background: #77a0ed; box-shadow: 0 0 0 3px rgb(var(--primary-rgb) / 8%); }
.hero-network__orbiting { position: absolute; z-index: 2; inset: 0; transform-origin: center; animation: network-cards-orbit 84s linear infinite; pointer-events: none; }
@keyframes network-orbit-spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
.talent-card { animation: network-card-counter-orbit 84s linear infinite; transform-origin: center; }
@keyframes network-cards-orbit {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes network-card-counter-orbit {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
.network-core { position: relative; z-index: 3; width: 148px; height: 148px; display: grid; align-content: center; justify-items: center; gap: 7px; border: 1px solid #dce9ff; border-radius: 50%; background: #fff; box-shadow: 0 14px 55px rgb(var(--primary-rgb) / 15%); color: var(--primary); text-align: center; }
.network-core span { font-size: 34px; font-weight: 800; letter-spacing: -.09em; }
.network-core small { color: var(--muted); font-size: 8px; line-height: 1.4; font-weight: 700; letter-spacing: .15em; }
.talent-card { position: absolute; z-index: 2; width: 226px; min-width: 226px; max-width: 226px; padding: 12px 14px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--border); border-radius: 12px; background: rgb(255 255 255 / 96%); box-shadow: 0 12px 35px rgb(29 27 57 / 8%); }
.talent-card > span:nth-child(2) { display: grid; gap: 4px; }
.talent-card strong { color: var(--heading); font-size: 11px; font-weight: 650; }
.talent-card small { color: var(--muted); font-size: 9px; }
.talent-card--architect { top: calc(50% - 100px - 31px); left: calc(50% - 173px - 113px); }
.talent-card--go { top: calc(50% - 100px - 31px); right: auto; left: calc(50% + 173px - 113px); }
.talent-card--lua { top: calc(50% + 200px - 31px); bottom: auto; left: calc(50% - 113px); }
.talent-card__signal { width: 6px; height: 6px; margin-left: auto; border-radius: 50%; background: var(--mint); }
.avatar { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; color: white; font-size: 10px; font-weight: 700; flex: 0 0 auto; }
.avatar--lilac { background: linear-gradient(145deg, #82adff, #4480f3); }
.avatar--blue { background: linear-gradient(145deg, #78a6fb, #306fdf); }
.avatar--rose { background: linear-gradient(145deg, #ea9bbc, #cc5d88); }
.avatar--mint { background: linear-gradient(145deg, #83c8b5, #4c9c87); }
.network-pin { position: absolute; z-index: 1; display: inline-flex; align-items: center; gap: 4px; color: #7e8fa8; font-size: 9px; }
.network-pin .icon { width: 13px; height: 13px; }
.network-pin--us { top: 24%; right: 15%; }
.network-pin--latam { bottom: 27%; left: 10%; }
.network-pin--europe { top: 17%; left: 24%; }
.hero__edge { position: absolute; right: var(--gutter); bottom: 21px; left: var(--gutter); display: flex; justify-content: space-between; color: #929daf; font-size: 8px; letter-spacing: .16em; }

/* Trust, services */
.trust-bar { width: 100%; padding: 23px var(--gutter); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; border-block: 1px solid var(--border); background: #fff; }
.trust-item { display: flex; justify-content: center; align-items: center; gap: 14px; min-width: 0; }
.trust-item__icon { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: var(--primary); background: var(--primary-soft); }
.trust-item__icon .icon { width: 20px; height: 20px; }
.trust-item > span:last-child { display: grid; gap: 4px; }
.trust-item strong { color: var(--heading); font-size: 15px; font-weight: 700; }
.trust-item small { color: var(--muted); font-size: 10px; }
.section { padding: clamp(76px, 9vw, 138px) var(--gutter); }
.section-heading { margin-bottom: 42px; }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.section-heading--split > div { max-width: 720px; }
.section-heading h2, .faq-intro h2, .page-hero h1 { margin-top: 13px; color: var(--heading); font-size: clamp(32px, 4.2vw, 58px); font-weight: 650; line-height: 1.08; letter-spacing: -.05em; overflow-wrap: anywhere; }
.section-heading--split > p { max-width: 440px; margin-bottom: 4px; font-size: 14px; line-height: 1.8; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.service-card { position: relative; min-width: 0; min-height: 300px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--border); border-radius: 15px; background: white; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.service-card:hover { transform: translateY(-4px); border-color: #cfe0ff; box-shadow: 0 16px 42px rgb(37 54 92 / 7%); }
.service-card__number { position: absolute; top: 26px; right: 27px; color: #8994a7; font: 11px/1 var(--font); letter-spacing: .12em; }
.service-card__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; color: var(--primary); background: var(--primary-soft); }
.service-card__icon .icon { width: 23px; height: 23px; }
.service-card h3 { max-width: 350px; margin-top: 25px; color: var(--heading); font-size: 19px; line-height: 1.3; letter-spacing: -.025em; }
.service-card p { max-width: 400px; margin-top: 11px; font-size: 13px; line-height: 1.75; }
.service-card .text-link { margin-top: auto; padding-top: 23px; }

/* Dashboard / distributed team panels */
.systems-section { background: var(--surface-alt); }
.section-heading--center { max-width: 750px; margin: 0 auto 48px; text-align: center; }
.section-heading--center > p:last-child { max-width: 530px; margin: 14px auto 0; font-size: 14px; line-height: 1.7; }
.systems-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.system-panel { min-width: 0; padding: clamp(18px, 3vw, 34px); border: 1px solid var(--border); border-radius: 16px; background: white; }
.panel-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #8b8d9c; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.panel-status { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; letter-spacing: 0; }
.panel-status i { width: 6px; height: 6px; box-shadow: none; }
.dashboard-card { max-width: 600px; margin: 28px auto 0; padding: clamp(18px, 3vw, 30px); border: 1px solid #e4ebf8; border-radius: 13px; background: linear-gradient(150deg, #fff 45%, #f6f9ff); }
.dashboard-card__head { display: flex; align-items: center; justify-content: space-between; color: var(--body); font-size: 11px; font-weight: 600; }
.dashboard-card__head .icon { width: 20px; height: 20px; color: #a4a4b3; }
.dashboard-card__metric { display: flex; align-items: center; gap: 18px; padding: 17px 0 13px; }
.dashboard-card__metric strong { color: var(--heading); font-size: clamp(44px, 6vw, 68px); line-height: 1; letter-spacing: -.07em; }
.dashboard-card__metric strong small { color: var(--primary); font-size: .43em; }
.dashboard-card__metric span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.progress-bars { height: 82px; display: flex; align-items: end; gap: clamp(5px, 1vw, 11px); border-bottom: 1px solid var(--border); }
.progress-bars i { height: var(--bar); flex: 1; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, #4480f3, #d1e2ff); }
.chart-axis { display: flex; justify-content: space-between; gap: 6px; padding-top: 9px; color: #a0a1ad; font-size: 7px; letter-spacing: .1em; }
.panel-caption { margin-top: 17px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.team-map { min-height: 270px; position: relative; margin-top: 17px; overflow: hidden; border-radius: 12px; background: radial-gradient(ellipse at 50% 48%, #f0f6ff 0, #f9fbff 46%, #fff 74%); }
.team-map__lines { position: absolute; inset: 9% 13%; }
.team-map__lines i { position: absolute; left: 50%; top: 50%; width: 40%; border-top: 1px dashed #bfd4f5; transform-origin: left center; }
.team-map__lines i:nth-child(1) { transform: rotate(-147deg); }
.team-map__lines i:nth-child(2) { transform: rotate(-32deg); }
.team-map__lines i:nth-child(3) { transform: rotate(31deg); }
.team-map__lines i:nth-child(4) { transform: rotate(148deg); }
.team-node { position: absolute; display: grid; justify-items: center; gap: 5px; }
.team-node small { color: var(--muted); font-size: 8px; white-space: nowrap; }
.team-node--center { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.team-node__avatar { width: 57px; height: 57px; display: grid; place-items: center; border: 5px solid white; border-radius: 50%; color: white; background: var(--primary); box-shadow: 0 6px 22px rgb(var(--primary-rgb) / 25%); font-size: 13px; font-weight: 800; }
.team-node--one { left: 17%; top: 13%; }
.team-node--two { right: 15%; top: 14%; }
.team-node--three { left: 17%; bottom: 9%; }
.team-node--four { right: 15%; bottom: 9%; }
.map-label { position: absolute; color: #909db1; font-size: 8px; }
.map-label--one { left: 7%; top: 51%; }.map-label--two { right: 5%; top: 51%; }.map-label--three { left: 47%; top: 5%; }
.stack-strip { margin-top: 24px; padding: 19px 22px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 1px solid var(--border); border-radius: 13px; background: white; }
.stack-strip__label { flex: 0 0 auto; color: var(--muted); font-size: 10px; }
.stack-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.stack-list span { padding: 7px 10px; border: 1px solid #e1eafa; border-radius: 7px; color: var(--heading); background: #f9fbff; font-size: 9px; font-weight: 600; white-space: nowrap; }

/* Insights */
.insight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.insight-card { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: white; }
.insight-card__art { min-height: 178px; position: relative; display: grid; place-items: center; overflow: hidden; color: var(--primary); background: linear-gradient(135deg, #f2f7ff, #e6efff); }
.insight-card__art::before, .insight-card__art::after { position: absolute; content: ""; border: 1px solid rgb(var(--primary-rgb) / 17%); border-radius: 50%; }
.insight-card__art::before { width: 180px; height: 180px; right: -20px; top: 26px; }
.insight-card__art::after { width: 110px; height: 110px; right: 15px; top: 61px; }
.insight-card__art > span { position: absolute; top: 15px; left: 17px; color: #6e8bb9; font-size: 9px; letter-spacing: .15em; }
.insight-card__art .icon { width: 54px; height: 54px; position: relative; z-index: 1; stroke-width: 1.2; }
.insight-card__art--telephony { color: #315f9f; background: linear-gradient(135deg, #edf5ff, #dceaff); }
.insight-card__art--telephony::before, .insight-card__art--telephony::after { border-color: rgb(49 95 159 / 17%); }
.insight-card__art--automation { color: #426ea9; background: linear-gradient(135deg, #f2f7ff, #e4efff); }
.insight-card__art--automation::before, .insight-card__art--automation::after { border-color: rgb(68 128 243 / 18%); }
.insight-card__body { padding: 21px; }
.insight-card__meta { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 9px; }
.insight-card__meta span { color: var(--primary); font-weight: 700; }
.insight-card h3 { margin-top: 13px; color: var(--heading); font-size: 16px; line-height: 1.4; letter-spacing: -.02em; }
.insight-card h3 a:hover { color: var(--primary); }
.insight-card p { margin-top: 10px; font-size: 11px; line-height: 1.7; }
.insight-card .text-link { margin-top: 17px; font-size: 10px; }

/* FAQ / CTA / footer */
.faq-section { background: var(--surface-alt); }
.faq-layout { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(40px, 9vw, 150px); max-width: 1700px; margin: 0 auto; }
.faq-intro h2 { font-size: clamp(34px, 4.2vw, 56px); }
.faq-intro > p:not(.kicker) { max-width: 330px; margin: 17px 0 21px; font-size: 13px; line-height: 1.75; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item h3 { margin: 0; font-size: inherit; }
.faq-question { width: 100%; min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 3px; color: var(--heading); text-align: left; font: 600 14px/1.45 var(--font); }
.faq-question span { min-width: 0; }
.faq-question .icon { width: 18px; height: 18px; flex: 0 0 auto; color: var(--primary); transition: transform .2s ease; }
.faq-item.is-open .faq-question .icon { transform: rotate(180deg); }
.faq-answer { display: none; padding: 0 32px 20px 3px; color: var(--body); font-size: 12px; line-height: 1.75; }
.faq-item.is-open .faq-answer { display: block; }
.cta-band { position: relative; min-height: 330px; padding: 72px var(--gutter); display: grid; place-items: center; overflow: hidden; background: #eff5ff; text-align: center; }
.cta-band::before { position: absolute; inset: 0; content: ""; background: repeating-linear-gradient(90deg, transparent 0 7.6%, rgb(255 255 255 / 38%) 7.6% 7.75%); pointer-events: none; }
.cta-band__content { position: relative; z-index: 1; }
.cta-band h2 { margin: 14px 0 24px; color: var(--heading); font-size: clamp(30px, 4.3vw, 54px); line-height: 1.15; letter-spacing: -.045em; }
.cta-band h2 span { color: var(--primary); }
.footer { padding: 52px var(--gutter) 0; border-top: 1px solid var(--border); background: white; }
.footer__main { display: grid; grid-template-columns: minmax(250px, 1.5fr) repeat(3, minmax(130px, .8fr)); gap: clamp(30px, 5vw, 84px); padding-bottom: 43px; }
.footer__brand > p { max-width: 340px; margin: 17px 0 15px; font-size: 11px; line-height: 1.7; }
.footer__brand > a:last-child { color: var(--primary); font-size: 11px; }
.footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer__column h2 { margin: 0 0 3px; color: var(--heading); font-size: 11px; font-weight: 700; }
.footer__column a, .footer__column span { color: var(--body); font-size: 10px; line-height: 1.5; }
.footer__column a:hover { color: var(--primary); }
.footer__bottom { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--border); color: var(--muted); font-size: 9px; }

/* Interior page scaffolding */
.page-hero { padding: clamp(74px, 9vw, 126px) var(--gutter) clamp(65px, 7vw, 96px); background: #fbfdff; }
.page-hero__inner { max-width: 1500px; margin: 0 auto; }
.legal-page .page-hero__inner { max-width: none; margin: 0; }
.page-hero__lede { max-width: 780px; margin-top: 23px; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.8; }
.breadcrumbs { margin-bottom: 26px; color: var(--muted); font-size: 10px; }
.breadcrumbs a { color: var(--primary); }
.content-wrap { width: 100%; padding: clamp(60px, 8vw, 110px) var(--gutter); }
.content-wrap--alt { background: var(--surface-alt); }
.content-inner { width: 100%; max-width: 1500px; margin-inline: auto; }
.content-inner--narrow { max-width: 940px; }
.legal-page .content-inner, .legal-page .content-inner--narrow { max-width: none; margin-inline: 0; }
.content-heading { max-width: 760px; margin-bottom: 42px; }
.content-heading:is(h2) { color: var(--heading); font-size: clamp(28px, 3.5vw, 46px); line-height: 1.13; letter-spacing: -.045em; }
.content-heading h2 { margin-top: 12px; color: var(--heading); font-size: clamp(28px, 3.5vw, 46px); line-height: 1.13; letter-spacing: -.045em; }
.content-heading p { margin-top: 15px; font-size: 13px; line-height: 1.8; }
.prose { max-width: 790px; color: var(--body); font-size: 14px; line-height: 1.9; }
.legal-page .prose { max-width: none; }
.prose h2, .prose h3 { margin: 38px 0 13px; color: var(--heading); line-height: 1.3; }
.prose h2 { font-size: 25px; }.prose h3 { font-size: 17px; }
.prose address { font-style: normal; line-height: 1.9; }
.prose a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.prose p + p { margin-top: 17px; }
.prose ul { margin: 13px 0; padding-left: 20px; list-style: disc; }
.prose ol { margin: 13px 0; padding-left: 22px; list-style: decimal; }
.prose li + li { margin-top: 9px; }
.prose code { padding: 2px 5px; border-radius: 4px; background: var(--primary-soft); color: #2458a8; font: .9em ui-monospace, SFMono-Regular, Consolas, monospace; }
.prose pre { max-width: 100%; overflow: auto; margin: 20px 0 24px; padding: 18px 20px; border: 1px solid var(--border); border-radius: 10px; background: #f5f8fc; color: #243247; font: 12px/1.7 ui-monospace, SFMono-Regular, Consolas, monospace; tab-size: 4; }
.prose pre code { display: block; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; white-space: pre; }
.prose blockquote { margin: 20px 0; padding: 15px 20px; border-left: 3px solid var(--primary); border-radius: 0 9px 9px 0; background: #f5f8fc; }
.prose blockquote > :first-child { margin-top: 0; }
.prose blockquote > :last-child { margin-bottom: 0; }
.prose table { display: block; width: max-content; max-width: 100%; overflow-x: auto; margin: 22px 0; border-collapse: collapse; font-size: 12px; line-height: 1.65; }
.prose th, .prose td { padding: 9px 12px; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.prose th { background: var(--primary-soft); color: var(--heading); font-weight: 650; }
.prose img { display: block; width: auto; height: auto; margin: 22px auto; border-radius: 9px; }
.prose hr { margin: 30px 0; border: 0; border-top: 1px solid var(--border); }
.split-content { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(40px, 8vw, 130px); }
.split-content__aside { position: sticky; top: 120px; }
.pull-quote { padding: 25px 27px; border-left: 3px solid var(--primary); border-radius: 0 10px 10px 0; background: #f2f7ff; color: var(--heading); font-size: 16px; line-height: 1.7; }
.project-start { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr); align-items: center; gap: clamp(40px, 7vw, 100px); }
.project-start__copy { max-width: 700px; }
.project-start__title { max-width: 670px; margin: 12px 0 16px; color: var(--heading); font-size: clamp(32px, 4vw, 52px); font-weight: 650; line-height: 1.1; letter-spacing: -.05em; }
.project-start__text { max-width: 620px; margin: 0 0 24px; color: var(--body); font-size: 14px; line-height: 1.8; }
.project-start__panel { min-width: 0; padding: clamp(23px, 3vw, 34px); border: 1px solid #dce8f8; border-radius: 15px; background: #fff; box-shadow: 0 14px 40px rgb(35 74 126 / 6%); }
.project-start__panel > .kicker { margin: 0; }
.project-start__panel h3 { margin: 10px 0 17px; color: var(--heading); font-size: 19px; line-height: 1.35; }
.project-start__list { display: grid; }
.project-start__list li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; padding: 13px 0; border-top: 1px solid #e8eef7; }
.project-start__list li > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: var(--primary); background: var(--primary-soft); font-size: 9px; font-weight: 700; }
.project-start__list strong { display: block; color: var(--heading); font-size: 11px; }
.project-start__list p { margin: 4px 0 0; color: var(--body); font-size: 10px; line-height: 1.6; }
.project-start__note { margin: 14px 0 0; padding-top: 13px; display: flex; align-items: center; gap: 8px; border-top: 1px solid #e8eef7; color: var(--muted); font-size: 9px; }
.project-start__note .icon { width: 15px; height: 15px; flex: 0 0 auto; color: var(--primary); }
.value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.value-card { min-width: 0; padding: 24px; border: 1px solid var(--border); border-radius: 13px; background: white; }
.value-card__index { color: var(--primary); font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.value-card h3 { margin: 20px 0 9px; color: var(--heading); font-size: 16px; line-height: 1.4; }
.value-card p { font-size: 11px; line-height: 1.7; }
.solution-block { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 22px; padding: 34px 0; border-top: 1px solid var(--border); scroll-margin-top: 100px; }
.solution-block__number { color: var(--primary); font-size: 12px; letter-spacing: .12em; white-space: nowrap; }
.solutions-page .page-hero .kicker { margin-top: 0; }
.solution-block h2 { margin: -5px 0 13px; color: var(--heading); font-size: clamp(24px, 3vw, 36px); letter-spacing: -.04em; }
.solution-block p { max-width: 820px; font-size: 13px; line-height: 1.8; }
.solution-block__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 22px; margin-top: 22px; }
.solution-block__list li { display: flex; align-items: flex-start; gap: 9px; color: var(--heading); font-size: 11px; line-height: 1.65; }
.solution-block__list .icon { width: 16px; height: 16px; flex: 0 0 auto; color: var(--primary); }

/* Blog index and articles */
.blog-archive-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.blog-archive-head h2 { margin-top: 10px; color: var(--heading); font-size: clamp(24px, 3vw, 34px); line-height: 1.2; letter-spacing: -.035em; }
.blog-archive-head > p { max-width: 370px; font-size: 12px; line-height: 1.7; }
.blog-controls { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px) minmax(130px, 165px); gap: 10px; margin-bottom: 20px; }
.blog-search, .blog-filter { min-width: 0; min-height: 46px; position: relative; display: flex; align-items: center; border: 1px solid var(--border); border-radius: 9px; background: white; }
.blog-search:focus-within, .blog-filter:focus-within { border-color: var(--primary); }
.blog-search > .icon { width: 17px; height: 17px; flex: 0 0 auto; margin-left: 14px; color: var(--muted); }
.blog-search input, .blog-filter select { width: 100%; min-width: 0; height: 44px; border: 0; outline: 0; background: transparent; color: var(--heading); font: 12px/1.4 var(--font); }
.blog-search input { padding: 0 13px 0 10px; }
.blog-search input::placeholder { color: var(--muted); }
.blog-filter select { appearance: none; padding: 0 36px 0 13px; cursor: pointer; }
.blog-filter > .icon { width: 15px; height: 15px; position: absolute; right: 13px; color: var(--muted); pointer-events: none; }
.blog-listing-meta { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 11px; color: var(--muted); font-size: 10px; }
.blog-listing-meta p { margin: 0; }
.blog-listing-meta span { white-space: nowrap; }
.blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.blog-card { min-width: 0; padding: 25px; display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 19px; border: 1px solid var(--border); border-radius: 14px; background: white; transition: border-color .18s ease, box-shadow .18s ease; }
.blog-card:hover { border-color: #c6dcff; box-shadow: 0 12px 36px rgb(34 45 68 / 6%); }
.blog-card__date { min-height: 65px; display: grid; align-content: start; justify-items: center; gap: 3px; padding: 10px 5px; border-radius: 9px; background: var(--primary-soft); color: var(--primary); text-align: center; }
.blog-card__date strong { font-size: 21px; line-height: 1; }.blog-card__date span { font-size: 8px; font-weight: 700; text-transform: uppercase; }
.blog-card__meta { display: flex; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 9px; }
.blog-card__meta span { color: var(--primary); font-weight: 700; }
.blog-card h2 { margin: 12px 0 9px; color: var(--heading); font-size: 17px; line-height: 1.4; letter-spacing: -.02em; }
.blog-card h2 a:hover { color: var(--primary); }
.blog-card p { margin-bottom: 15px; font-size: 11px; line-height: 1.7; }
.blog-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 34px; }
.blog-page-link { min-width: 38px; height: 38px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 8px; color: var(--body); background: transparent; font-size: 11px; font-weight: 600; transition: color .15s ease, background .15s ease, border-color .15s ease; }
.blog-page-link:hover { color: var(--primary); border-color: #d7e6ff; background: #f4f8ff; }
.blog-page-link[aria-current="page"] { color: white; border-color: var(--primary); background: var(--primary); }
.blog-page-link--arrow { padding-inline: 13px; border-color: var(--border); background: white; }
.blog-page-ellipsis { padding: 0 4px; color: var(--muted); font-size: 12px; }
.article-hero { padding: 46px var(--gutter) 50px; background: #fbfdff; }
.article-hero__inner { max-width: 1100px; margin-inline: auto; }
.article-meta { display: flex; flex-wrap: wrap; gap: 11px 17px; margin-bottom: 17px; color: var(--muted); font-size: 10px; }
.article-meta span:first-child { color: var(--primary); font-weight: 700; }
.article-hero h1 { max-width: 1000px; color: var(--heading); font-size: clamp(34px, 5vw, 64px); line-height: 1.08; letter-spacing: -.055em; overflow-wrap: anywhere; }
.article-hero__summary { max-width: 800px; margin-top: 20px; font-size: 15px; line-height: 1.8; }
.article-layout { display: grid; grid-template-columns: minmax(0, 780px) minmax(180px, 260px); justify-content: center; gap: clamp(45px, 8vw, 130px); padding: 65px var(--gutter) 100px; }
.article-aside { position: sticky; top: 120px; align-self: start; max-height: calc(100vh - 140px); overflow: auto; padding: 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-alt); }
.article-aside h2 { margin-bottom: 10px; color: var(--heading); font-size: 12px; }
.article-aside p { font-size: 10px; line-height: 1.7; }
.article-nav { margin-top: 15px; display: grid; gap: 11px; }
.article-nav a { color: var(--primary); font-size: 10px; }
.article-related { padding: 0 var(--gutter) 85px; }

/* Contact form */
.contact-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(38px, 8vw, 128px); align-items: start; }
.contact-details { display: grid; gap: 25px; margin-top: 30px; }
.contact-detail { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 13px; align-items: start; }
.contact-detail__icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: var(--primary); background: var(--primary-soft); }
.contact-detail__icon .icon { width: 19px; height: 19px; }
.contact-detail strong { display: block; margin: 1px 0 5px; color: var(--heading); font-size: 12px; }
.contact-detail p, .contact-detail a { font-size: 11px; line-height: 1.7; }
.contact-detail a { color: var(--primary); }
.contact-detail__spaced { margin-top: 10px; }
.contact-form { padding: clamp(22px, 4vw, 38px); border: 1px solid var(--border); border-radius: 16px; background: white; box-shadow: 0 18px 52px rgb(34 30 68 / 6%); }
.contact-form h2 { margin: 0 0 22px; color: var(--heading); font-size: 20px; letter-spacing: -.03em; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.form-field { min-width: 0; display: grid; gap: 7px; }
.form-field--wide { grid-column: 1 / -1; }
.form-field label { color: var(--heading); font-size: 10px; font-weight: 650; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 8px; padding: 12px 13px; background: #fff; color: var(--heading); font: 12px/1.5 var(--font); }
.form-field textarea { min-height: 132px; resize: vertical; }
.form-field input::placeholder, .form-field textarea::placeholder { color: #a3a6b2; }
.form-consent { margin: 15px 0 18px; color: var(--muted); font-size: 9px; line-height: 1.65; }
.form-status { min-height: 18px; margin-top: 12px; color: var(--primary); font-size: 10px; line-height: 1.5; }
.form-note { margin-top: 13px; color: var(--muted); font-size: 9px; line-height: 1.65; }

/* Legal pages */
.legal-note { padding: 12px 15px; margin: 20px 0 28px; border: 1px solid #dce8fb; border-radius: 8px; color: #355d9e; background: #f5f8ff; font-size: 10px; line-height: 1.6; }

/* Voice & AI practice */
.voice-hero { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr); align-items: center; gap: clamp(38px, 6vw, 96px); padding: clamp(68px, 8vw, 116px) var(--gutter); overflow: hidden; background: #fbfdff; }
.voice-hero::before { position: absolute; right: -150px; top: -240px; width: 600px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(var(--primary-rgb) / 12%), transparent 68%); content: ""; pointer-events: none; }
.voice-hero__copy, .voice-visual { position: relative; z-index: 1; }
.voice-hero__copy { max-width: 780px; }
.voice-hero h1 { max-width: 760px; margin: 12px 0 0; color: var(--heading); font-size: clamp(40px, 5vw, 70px); font-weight: 650; line-height: 1.04; letter-spacing: -.055em; overflow-wrap: anywhere; }
.voice-hero .page-hero__lede { max-width: 650px; }
.voice-hero .hero__actions { margin-top: 26px; }
.voice-visual { min-width: 0; padding: clamp(18px, 3vw, 30px); border: 1px solid #dce8f8; border-radius: 18px; background: linear-gradient(145deg, #fff 18%, #f3f8ff 100%); box-shadow: 0 24px 70px rgb(38 85 145 / 9%); }
.voice-visual__top, .voice-visual__foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.voice-live { display: inline-flex; align-items: center; gap: 7px; color: #64809e; font-size: 8px; letter-spacing: .08em; }
.voice-live i { width: 6px; height: 6px; border-radius: 50%; background: #55a995; }
.voice-flow { display: grid; gap: 6px; margin: 26px 0; }
.voice-flow__node { min-width: 0; display: flex; align-items: center; gap: 13px; padding: 12px 14px; border: 1px solid #e0e9f5; border-radius: 11px; background: #fff; }
.voice-flow__icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: var(--primary); background: var(--primary-soft); }
.voice-flow__icon .icon { width: 20px; height: 20px; }
.voice-flow__node > span:last-child { display: grid; gap: 4px; }
.voice-flow__node strong { color: var(--heading); font-size: 11px; }
.voice-flow__node small { color: var(--muted); font-size: 9px; }
.voice-flow__node--accent { border-color: #c9ddfb; background: #f7faff; }
.voice-flow__link { height: 16px; display: flex; align-items: center; margin-left: 25px; color: #7b9bc7; }
.voice-flow__link .icon { width: 15px; height: 15px; transform: rotate(90deg); }
.voice-visual__foot { justify-content: flex-start; color: #6e8099; font-size: 8px; font-weight: 500; letter-spacing: .01em; }
.voice-wave { height: 22px; display: flex; align-items: center; gap: 3px; margin-left: auto; }
.voice-wave i { width: 3px; height: 8px; border-radius: 3px; background: #78a6e8; }
.voice-wave i:nth-child(3n) { height: 17px; }.voice-wave i:nth-child(4n) { height: 12px; }
.voice-capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.voice-capability { position: relative; min-width: 0; min-height: 250px; padding: 24px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.voice-capability__number { position: absolute; top: 27px; right: 24px; color: #8b99ac; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.voice-capability h3 { margin: 20px 0 9px; color: var(--heading); font-size: 16px; line-height: 1.4; }
.voice-capability p { color: var(--body); font-size: 11px; line-height: 1.75; }
.voice-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; counter-reset: voice-step; }
.voice-steps li { min-width: 0; position: relative; padding: 21px 17px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.voice-steps li > span { color: var(--primary); font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.voice-steps h3 { margin: 19px 0 8px; color: var(--heading); font-size: 13px; }
.voice-steps p { margin: 0; color: var(--body); font-size: 10px; line-height: 1.7; }
.voice-principles { margin-top: 20px; padding: 19px 21px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid #dce8f8; border-radius: 12px; background: #f5f9ff; }
.voice-principles > div { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.voice-principles > div span { padding: 7px 10px; border: 1px solid #dbe7f7; border-radius: 999px; color: #315b8e; background: #fff; font-size: 9px; }
.voice-project-section { background: #fff; }
.voice-project-inner { width: 100%; max-width: 1500px; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); align-items: start; gap: clamp(40px, 7vw, 100px); }
.botto-robot { width: min(100%, 492px); justify-self: end; margin: 0; background: #fff; }
.botto-robot video { width: 100%; height: min(66vh, 560px); display: block; border: 0; border-radius: 0; background: #fff; object-fit: contain; }
.botto-robot figcaption { margin-top: 8px; color: var(--muted); font-size: 9px; text-align: right; }
.voice-project-copy { max-width: 780px; padding-top: 5px; }
.botto-logo { display: block; width: 135px; height: auto; margin-bottom: 17px; }
.voice-project-copy h2 { max-width: 720px; margin: 10px 0 15px; color: var(--heading); font-size: clamp(29px, 3.5vw, 45px); line-height: 1.15; letter-spacing: -.04em; }
.voice-project-copy .prose { max-width: 720px; margin-bottom: 22px; }
.voice-project-copy .prose p + p { margin-top: 13px; }
.voice-tech-stack { display: flex; align-content: start; flex-wrap: wrap; gap: 10px; }
.voice-tech-stack span { padding: 8px 10px; border: 1px solid #d9e6f6; border-radius: 8px; color: #345d92; background: #fff; font-size: 9px; font-weight: 600; }
.voice-tech-stack { display: flex; align-content: start; flex-wrap: wrap; gap: 10px; }
.solution-voice-link { margin-top: 20px; }
.voice-stack-heading { max-width: 760px; margin-bottom: 32px; }
.voice-stack-heading h2 { margin: 10px 0 12px; color: var(--heading); font-size: clamp(30px, 3.8vw, 48px); line-height: 1.12; letter-spacing: -.045em; }
.voice-stack-heading > p:last-child { max-width: 680px; margin: 0; color: var(--body); font-size: 13px; line-height: 1.8; }
.voice-stack-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.voice-stack-card { min-width: 0; min-height: 205px; padding: clamp(20px, 2.4vw, 30px); border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.voice-stack-card__index { color: var(--primary); font-size: 9px; font-weight: 750; letter-spacing: .13em; }
.voice-stack-card h3 { margin: 16px 0 8px; color: var(--heading); font-size: 17px; line-height: 1.35; }
.voice-stack-card p { max-width: 550px; margin: 0; color: var(--body); font-size: 11px; line-height: 1.7; }
.voice-stack-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.voice-stack-tags span { padding: 7px 9px; border: 1px solid #d9e6f6; border-radius: 7px; color: #315d92; background: #f9fbff; font-size: 9px; font-weight: 650; white-space: nowrap; }
.voice-stack-link { margin-top: 21px; }

@media (min-width: 1800px) {
  .hero__inner { grid-template-columns: minmax(0, 1.1fr) minmax(440px, .9fr); }
  .service-card { min-height: 330px; padding: 34px; }
  .systems-grid, .service-grid, .insight-grid { gap: 24px; }
}
@media (min-width: 1500px) {
  .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1279px) {
  .talent-card { width: 190px; min-width: 190px; max-width: 190px; padding: 10px; }
  .talent-card--architect { top: calc(50% - 85px - 29px); left: calc(50% - 147px - 95px); }
  .talent-card--go { top: calc(50% - 85px - 29px); right: auto; left: calc(50% + 147px - 95px); }
  .talent-card--lua { top: calc(50% + 170px - 29px); bottom: auto; left: calc(50% - 95px); }
}
@media (max-width: 980px) {
  :root { --gutter: clamp(22px, 5vw, 52px); }
  .header__inner { grid-template-columns: minmax(190px, 1fr) auto minmax(125px, 1fr); gap: 18px; }
  .nav { gap: 20px; }
  .hero__inner { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .hero__map { top: 56%; right: -12%; width: min(98vw, 850px); opacity: .07; }
  .hero__copy { max-width: 900px; }
  .hero-network { width: min(100%, 650px); min-height: 470px; margin-inline: auto; }
  .network-orbit--outer { width: min(56vw, 430px); }
  .network-orbit--inner { width: min(42vw, 320px); }
  .hero h1 { max-width: 940px; font-size: clamp(42px, 6vw, 68px); }
  .value-grid { grid-template-columns: 1fr; }
  .footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-layout { grid-template-columns: minmax(0, 760px); }
  .article-aside { position: static; order: -1; max-height: 240px; overflow: auto; }
  .voice-hero { grid-template-columns: minmax(0, 1fr); }
  .voice-hero__copy { max-width: 900px; }
  .voice-visual { width: min(100%, 720px); margin-inline: auto; }
  .voice-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .voice-stack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .voice-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .voice-project-inner { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .botto-robot { width: min(100%, 492px); justify-self: center; }
  .botto-robot video { height: min(62vh, 470px); }
  .project-start { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 900px) {
  .header__inner { height: 72px; grid-template-columns: minmax(0, 1fr) auto auto; }
  .header__cta { justify-self: end; min-height: 41px; padding-inline: 13px; font-size: 11px; grid-column: 2; grid-row: 1; }
  .nav-toggle { width: 40px; height: 40px; display: grid; place-items: center; grid-column: 3; grid-row: 1; border: 1px solid var(--border); border-radius: 9px; color: var(--heading); background: white; }
  .header__inner { position: relative; }
  .nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: none; padding: 10px var(--gutter) 18px; align-items: stretch; flex-direction: column; gap: 0; border-bottom: 1px solid var(--border); background: white; box-shadow: 0 14px 20px rgb(20 20 43 / 6%); }
  .nav.is-open { display: flex; }
  .nav a { min-height: 46px; display: flex; align-items: center; border-bottom: 1px solid #f0f0f4; }
  .nav a:last-child { border-bottom: 0; }
}
@media (max-width: 760px) {
  .header__inner { height: 72px; grid-template-columns: minmax(0, 1fr) auto auto; }
  .header__cta { justify-self: end; min-height: 41px; padding-inline: 13px; font-size: 11px; }
  .nav-toggle { width: 40px; height: 40px; display: grid; place-items: center; grid-column: 3; grid-row: 1; border: 1px solid var(--border); border-radius: 9px; color: var(--heading); background: white; }
  .nav-toggle .icon { width: 20px; height: 20px; }
  .header__inner { position: relative; }
  .header__cta { grid-column: 2; grid-row: 1; }
  .nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: none; padding: 10px var(--gutter) 18px; align-items: stretch; flex-direction: column; gap: 0; border-bottom: 1px solid var(--border); background: white; box-shadow: 0 14px 20px rgb(20 20 43 / 6%); }
  .nav.is-open { display: flex; }
  .nav a { min-height: 46px; display: flex; align-items: center; border-bottom: 1px solid #f0f0f4; }
  .nav a:last-child { border-bottom: 0; }
  .hero { padding-top: 70px; padding-bottom: 65px; }
  .hero__map { top: 55%; right: -35%; width: 140vw; opacity: .055; }
  .hero__inner { grid-template-columns: minmax(0, 1fr); }
  .hero__copy { position: relative; z-index: 2; }
  .hero h1 { max-width: 700px; font-size: clamp(42px, 9vw, 64px); }
  .hero-network { width: min(100%, 530px); min-height: 370px; margin: 4px auto 0; }
  .network-orbit--outer { width: min(68vw, 350px); }
  .network-orbit--inner { width: min(50vw, 260px); }
  .talent-card--architect { top: calc(50% - 80px - 29px); left: calc(50% - 139px - 95px); }
  .talent-card--go { top: calc(50% - 80px - 29px); right: auto; left: calc(50% + 139px - 95px); }
  .talent-card--lua { top: calc(50% + 152px - 29px); bottom: auto; left: calc(50% - 95px); }
  .hero__edge { bottom: 16px; }
  .trust-bar { grid-template-columns: 1fr; gap: 0; padding-block: 8px; }
  .trust-item { justify-content: flex-start; padding: 14px 0; border-bottom: 1px solid var(--border); }
  .trust-item:last-child { border-bottom: 0; }
  .service-grid, .systems-grid, .insight-grid { grid-template-columns: minmax(0, 1fr); }
  .voice-capability-grid { grid-template-columns: minmax(0, 1fr); }
  .voice-stack-grid { grid-template-columns: minmax(0, 1fr); }
  .service-card { min-height: 255px; }
  .section-heading--split { align-items: flex-start; flex-direction: column; gap: 17px; }
  .section-heading--split > p { max-width: 600px; }
  .section-heading--center { text-align: left; }
  .section-heading--center > p:last-child { margin-left: 0; }
  .stack-strip { align-items: flex-start; flex-direction: column; }
  .stack-list { justify-content: flex-start; }
  .faq-layout, .split-content, .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .faq-intro br { display: none; }
  .split-content__aside { position: static; }
   .solution-block { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .blog-grid { grid-template-columns: minmax(0, 1fr); }
  .blog-archive-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .blog-controls { grid-template-columns: minmax(0, 1fr); }
  .article-layout { padding-top: 42px; }
  .voice-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .voice-principles { align-items: flex-start; flex-direction: column; }
  .voice-principles > div { justify-content: flex-start; }
}
@media (max-width: 480px) {
  :root { --gutter: 20px; }
  .header__inner { grid-template-columns: minmax(0, 1fr) auto; }
  .brand__mark { width: 34px; height: 34px; }
  .brand__logo { width: 180px; }
  .brand__copy strong { font-size: 12px; }
  .brand__copy small { font-size: 9px; }
  .header__inner { gap: 8px; }
  .header__cta { display: none; }
  .nav-toggle { grid-column: 2; grid-row: 1; }
  .hero h1 { font-size: clamp(38px, 10.5vw, 48px); }
  .hero__map { top: 52%; right: -48%; width: 165vw; opacity: .045; }
  .eyebrow { max-width: 100%; font-size: 9px; }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .hero-network { min-height: 325px; }
  .talent-card { width: 150px; min-width: 0; max-width: 150px; gap: 7px; padding: 8px; }
  .talent-card--architect { top: calc(50% - 62px - 23px); left: calc(50% - 100px - 75px); }
  .talent-card--go { top: calc(50% - 62px - 23px); right: auto; left: calc(50% + 100px - 75px); }
  .talent-card--lua { top: calc(50% + 116px - 23px); bottom: auto; left: calc(50% - 75px); }
  .hero-network .avatar { width: 28px; height: 28px; font-size: 8px; }
  .talent-card strong { font-size: 8px; }.talent-card small { font-size: 6.5px; }
  .talent-card__signal { width: 5px; height: 5px; }
  .network-core { position: relative; z-index: 3; width: 96px; height: 96px; }
  .network-core span { font-size: 24px; }
  .network-pin--us { right: 7%; }.network-pin--latam { left: 4%; }
  .hero__edge { font-size: 7px; }
  .section { padding-block: 68px; }
  .service-card { padding: 23px; }
  .system-panel { padding: 17px; }
  .team-map { min-height: 240px; }
  .map-label { font-size: 7px; }
  .footer__main { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 16px; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-field--wide { grid-column: auto; }
  .blog-card { grid-template-columns: 52px minmax(0, 1fr); padding: 17px; gap: 13px; }
  .blog-card__date { min-height: 58px; }
  .solution-block { grid-template-columns: minmax(0, 1fr); }
  .solution-block__list { grid-template-columns: minmax(0, 1fr); }
  .cta-band { min-height: 300px; }
  .voice-hero { padding-top: 62px; }
  .voice-hero h1 { font-size: clamp(38px, 10vw, 48px); }
  .voice-hero .hero__actions { align-items: stretch; flex-direction: column; }
  .voice-hero .hero__actions .button { width: 100%; }
  .voice-visual { padding: 15px; }
  .voice-flow__node { gap: 10px; padding: 10px; }
  .voice-steps { grid-template-columns: minmax(0, 1fr); }
  .botto-robot video { height: min(55vh, 360px); }
}
/* Font shorthands reset ligature defaults; keep the quote fix on those controls too. */
.button, .service-card__number, .faq-question, .prose code, .blog-search input, .blog-filter select, .form-field input, .form-field select, .form-field textarea {
  font-variant-ligatures: none;
  font-feature-settings: "calt" 0, "ss03" 1;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .network-orbit, .hero-network__orbiting, .talent-card { animation: none !important; }
}
