@import url("./fonts/manrope.css");
:root {
  --site-font: "Manrope";
  --orange: #d7a16f;
  --orange-ink: #945b2d;
  --orange-soft: #e7bd97;
  --orange-faint: #f6e8dc;
  --orange-dark: #c48e5d;
  --ink: #11100f;
  --graphite: #292827;
  --muted: #6f6c69;
  --line: #d8d4cf;
  --paper: #f4f2ed;
  --white: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--site-font), sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }

.site-header {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  right: 0;
  height: 92px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 4vw;
  border-bottom: 1px solid rgb(17 16 15 / 12%);
  background: rgb(255 255 255 / 94%);
  backdrop-filter: blur(16px);
}
.wordmark { grid-column: 2; }
.wordmark-text { font-size: 30px; font-weight: 800; letter-spacing: -2px; white-space: nowrap; }
.wordmark-text span { color: var(--orange-ink); }
.back-link {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.back-link:hover { color: var(--ink); }
.header-contact {
  grid-column: 3;
  justify-self: end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}
.phone { font-size: 12px; letter-spacing: .08em; }
.phone small { font-size: 9px; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  min-height: 54px;
  padding: 0 22px;
  border: 1px solid var(--orange);
  background: var(--orange);
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  transition: transform 180ms ease, background 180ms ease;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); background: var(--orange-dark); }
.button-small { min-height: 38px; padding: 0 16px; font-size: 12px; }
.button-light { border-color: var(--white); background: var(--white); color: var(--ink); }
.button-light:hover { background: var(--paper); }
.text-link {
  padding: 14px 0;
  border-bottom: 1px solid var(--ink);
  font-size: 14px;
  font-weight: 700;
}
.eyebrow {
  margin: 0 0 24px;
  color: var(--orange-ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hero {
  min-height: 790px;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr);
  gap: 7vw;
  align-items: center;
  padding: 150px 5vw 80px;
  overflow: hidden;
}
.hero-copy { max-width: 760px; }
.hero h1, .inner-hero h1 {
  margin-bottom: 30px;
  font-size: clamp(48px, 5.8vw, 94px);
  line-height: 1.05;
  letter-spacing: -.045em;
}
.hero-lead {
  max-width: 720px;
  margin-bottom: 42px;
  color: var(--graphite);
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: 1.42;
}
.hero-actions { display: flex; align-items: center; gap: 30px; }

.section-pad, .inner-section { padding: 105px 5vw 110px; }
.section-heading {
  display: grid;
  grid-template-columns: .6fr 1.4fr;
  gap: 5vw;
  align-items: start;
  margin-bottom: 62px;
}
.section-heading h2, .case-intro h2, .trust h2, .footer-lead h2, .accent-band h2 {
  max-width: 950px;
  margin-bottom: 0;
  font-size: clamp(36px, 4.5vw, 72px);
  line-height: 1;
  letter-spacing: -.05em;
}
.recognize { padding: 105px 5vw 110px; background: var(--ink); color: var(--white); }
.pain-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #454341; }
.pain-card { min-height: 310px; padding: 27px 25px 27px 0; border-right: 1px solid #454341; border-bottom: 1px solid #454341; }
.pain-card:nth-child(4n), .pain-card:last-child { border-right: 0; }
.pain-card:not(:nth-child(4n+1)) { padding-left: 25px; }
.pain-card > span, .card-number { display: block; margin-bottom: 70px; color: var(--orange-ink); font-size: 11px; }
.pain-card h3 { margin-bottom: 14px; font-size: clamp(19px, 1.55vw, 27px); line-height: 1.08; letter-spacing: -.025em; }
.pain-card p { margin-bottom: 0; color: #aaa6a1; font-size: 14px; line-height: 1.55; }

.section-action { margin-top: 48px; }
.section-action-dark .arrow-link { border-color: #4c4947; color: var(--white); }
.arrow-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: clamp(17px, 1.8vw, 27px);
  font-weight: 700;
}
.arrow-link b { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--orange); color: var(--white); font-size: 17px; transition: transform 180ms ease; }
.arrow-link:hover b { transform: rotate(45deg); }

.approach { background: var(--paper); }
.steps-list { border-top: 1px solid var(--line); }
.steps-list article { display: grid; grid-template-columns: .28fr .9fr 1fr; gap: 30px; align-items: baseline; padding: 26px 0; border-bottom: 1px solid var(--line); }
.steps-list span { color: var(--orange-ink); font-size: 11px; }
.steps-list h3 { margin-bottom: 0; font-size: clamp(22px, 2vw, 34px); letter-spacing: -.035em; }
.steps-list p { max-width: 580px; margin-bottom: 0; color: var(--muted); line-height: 1.5; }
.steps-list.compact { margin-bottom: 48px; }

.solutions { background: var(--white); }
.pillar-grid, .pillar-detail-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); }
.pillar-card, .pillar-detail-grid article { min-height: 380px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid var(--line); }
.pillar-card:last-child, .pillar-detail-grid article:last-child { border-right: 0; }
.pillar-card h3, .pillar-detail-grid h2 { margin-bottom: 18px; font-size: clamp(22px, 2vw, 32px); line-height: 1.04; letter-spacing: -.04em; }
.pillar-card p, .pillar-detail-grid p { color: var(--muted); line-height: 1.55; }
.tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 28px; }
.tag-row span { padding: 7px 9px; border: 1px solid var(--line); color: var(--graphite); font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }

.case-section { background: var(--ink); color: var(--white); }
.case-intro { display: grid; grid-template-columns: 1.5fr .5fr; gap: 7vw; align-items: end; margin-bottom: 72px; }
.case-intro > p { margin-bottom: 0; color: #b8b4ae; font-size: 17px; line-height: 1.55; }
.metric-grid, .case-detail-metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #454341; border-bottom: 1px solid #454341; }
.metric-grid article, .case-detail-metrics article { min-height: 210px; padding: 30px 28px 30px 0; border-right: 1px solid #454341; }
.metric-grid article + article, .case-detail-metrics article + article { padding-left: 28px; }
.metric-grid article:last-child, .case-detail-metrics article:last-child { border-right: 0; }
.metric-grid strong, .case-detail-metrics strong { display: block; margin-bottom: 55px; color: var(--orange-ink); font-size: clamp(28px, 3.5vw, 56px); line-height: 1; letter-spacing: -.05em; }
.metric-grid p, .case-detail-metrics p { margin-bottom: 0; color: #b8b4ae; font-size: 14px; line-height: 1.45; }

.trust { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10vw; }
.trust-copy > p:last-child { max-width: 750px; margin-top: 34px; color: var(--muted); font-size: 18px; line-height: 1.6; }
.trust-facts { border-top: 1px solid var(--line); }
.trust-facts div { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.trust-facts span { color: var(--orange-ink); font-size: 11px; }
.trust-facts p { margin-bottom: 0; font-size: 17px; line-height: 1.4; }
.route-strip { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 5vw 110px; }
.route-strip .arrow-link { padding-right: 24px; }
.route-strip .arrow-link + .arrow-link { padding-left: 24px; }

.site-footer { padding: 105px 5vw 28px; background: var(--orange); color: var(--white); }
.footer-lead { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 5vw; align-items: start; padding-bottom: 90px; }
.footer-lead .eyebrow { color: var(--ink); }
.footer-lead h2 { font-size: clamp(36px, 4.2vw, 68px); }
.footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 5vw; padding: 40px 0; border-top: 1px solid rgb(255 255 255 / 40%); }
.footer-grid .wordmark-text { font-size: 36px; }
.footer-grid .wordmark-text span { color: var(--white); }
.footer-note { max-width: 230px; margin-top: 20px; font-size: 13px; line-height: 1.5; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-column > span { margin-bottom: 10px; color: var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.footer-column a { border-bottom: 1px solid transparent; font-size: 13px; line-height: 1.35; }
.footer-column a:hover { border-bottom-color: currentColor; }
.footer-column p { margin: 0; font-size: 12px; line-height: 1.5; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 24px; border-top: 1px solid rgb(255 255 255 / 40%); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }

/* Inner pages */
.inner-hero { min-height: 700px; display: flex; flex-direction: column; justify-content: flex-end; padding: 170px 5vw 90px; background: var(--paper); }
.inner-hero h1 { max-width: 1260px; font-size: clamp(48px, 6.3vw, 104px); }
.inner-lead { max-width: 850px; margin-bottom: 0; color: var(--graphite); font-size: clamp(18px, 1.7vw, 27px); line-height: 1.48; }
.pain-detail-list { border-top: 1px solid var(--line); }
.pain-detail-list article { display: grid; grid-template-columns: .25fr 1.75fr; padding: 38px 0; border-bottom: 1px solid var(--line); }
.pain-detail-list article > span { color: var(--orange-ink); font-size: 11px; }
.pain-detail-list article div { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; }
.pain-detail-list h2 { margin-bottom: 0; font-size: clamp(27px, 3vw, 48px); line-height: 1; letter-spacing: -.045em; }
.pain-detail-list p { max-width: 560px; margin-bottom: 0; color: var(--muted); font-size: 17px; line-height: 1.55; }
.accent-band { padding: 100px 5vw; background: var(--orange); color: var(--white); }
.accent-band .eyebrow { color: var(--ink); }
.accent-band > p:not(.eyebrow) { max-width: 740px; margin: 32px 0 50px 40%; font-size: 18px; line-height: 1.6; }
.accent-band .arrow-link { border-color: rgb(255 255 255 / 40%); }
.architecture-section { padding: 105px 5vw; background: var(--ink); color: var(--white); }
.architecture-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 22px; align-items: stretch; }
.architecture-flow > div { min-height: 245px; display: flex; flex-direction: column; padding: 26px; border: 1px solid #494643; }
.architecture-flow > b { align-self: center; color: var(--orange-ink); font-size: 28px; }
.architecture-flow span { color: var(--orange-ink); font-size: 11px; }
.architecture-flow strong { margin: auto 0 18px; font-size: clamp(24px, 2.5vw, 38px); }
.architecture-flow p { margin-bottom: 0; color: #aaa6a1; font-size: 13px; line-height: 1.5; }
.pilot-section > .arrow-link { margin-top: 10px; }
.case-detail-metrics { padding: 0 5vw; background: var(--ink); color: var(--white); }
.case-story { background: var(--white); }
.story-block { display: grid; grid-template-columns: .35fr 1.65fr; gap: 4vw; padding: 55px 0; border-bottom: 1px solid var(--line); }
.story-block > span { color: var(--orange-ink); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.story-block h2 { margin-bottom: 24px; font-size: clamp(30px, 3.4vw, 56px); line-height: 1; letter-spacing: -.045em; }
.story-block p, .story-block li { max-width: 760px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.story-block ul { padding-left: 20px; }
.case-story > .arrow-link { margin-top: 55px; }
.reference-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.reference-grid article { min-height: 420px; padding: 28px; border-right: 1px solid var(--line); }
.reference-grid article:last-child { border-right: 0; }
.reference-grid article > span { color: var(--orange-ink); font-size: 11px; }
.reference-mark { margin: 45px 0 60px; color: var(--orange-ink); font-family: var(--site-font), sans-serif; font-size: 82px; line-height: .6; }
.reference-grid h2 { margin-bottom: 14px; font-size: clamp(24px, 2.2vw, 36px); line-height: 1.05; letter-spacing: -.04em; }
.reference-grid p { color: var(--muted); font-size: 14px; line-height: 1.5; }
.reference-note { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-top: 80px; }
.reference-note h2 { margin-bottom: 0; font-size: clamp(32px, 4vw, 64px); letter-spacing: -.05em; }
.contact-section { padding: 105px 5vw; }
.contact-cards { display: grid; grid-template-columns: repeat(2, 1fr); margin-bottom: 100px; border-top: 1px solid var(--line); }
.contact-cards a { position: relative; min-height: 180px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px 70px 26px 0; border-bottom: 1px solid var(--line); }
.contact-cards a:nth-child(odd) { border-right: 1px solid var(--line); }
.contact-cards a:nth-child(even) { padding-left: 28px; }
.contact-cards span { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-cards strong { font-size: clamp(22px, 2.5vw, 40px); letter-spacing: -.04em; }
.contact-cards b { position: absolute; right: 24px; bottom: 26px; color: var(--orange-ink); }
.form-panel { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; padding: 70px; background: var(--paper); }
.form-panel h2 { margin-bottom: 22px; font-size: clamp(38px, 4vw, 64px); letter-spacing: -.05em; }
.form-panel > div > p:last-child { color: var(--muted); line-height: 1.6; }
.contact-form { display: flex; flex-direction: column; gap: 25px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contact-form label { display: flex; flex-direction: column; gap: 9px; }
.contact-form label > span { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-form input, .contact-form textarea { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; outline: none; background: transparent; color: var(--ink); }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--orange-ink); }
.contact-form .consent { flex-direction: row; align-items: flex-start; gap: 12px; }
.consent input { width: 17px; height: 17px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--orange-ink); }
.contact-form .consent span { color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.consent a { color: var(--ink); text-decoration: underline; }
.form-error { margin: -12px 0 0; color: #b42318; font-size: 12px; }
.form-submit { align-self: flex-start; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; }
.about-statement h2 { font-size: clamp(38px, 4.3vw, 70px); line-height: 1; letter-spacing: -.05em; }
.about-copy p { color: var(--graphite); font-size: 19px; line-height: 1.65; }
.values-section { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 5vw 105px; }
.values-section article { min-height: 320px; padding: 28px; border: 1px solid var(--line); border-right: 0; }
.values-section article:last-child { border-right: 1px solid var(--line); }
.values-section span { color: var(--orange-ink); font-size: 11px; }
.values-section h2 { margin: 85px 0 18px; font-size: 30px; letter-spacing: -.04em; }
.values-section p { color: var(--muted); line-height: 1.55; }
.about-link { padding-top: 0; }
.policy { max-width: 1060px; }
.policy section { display: grid; grid-template-columns: .65fr 1.35fr; gap: 50px; padding: 35px 0; border-top: 1px solid var(--line); }
.policy h2 { font-size: 23px; letter-spacing: -.03em; }
.policy p { color: var(--graphite); line-height: 1.65; }
.policy p a { color: var(--orange-ink); text-decoration: underline; }
.policy aside { margin-top: 45px; padding: 26px; border-left: 4px solid var(--orange); background: var(--paper); color: var(--muted); line-height: 1.55; }

@media (max-width: 1050px) {
  .pain-grid, .pillar-grid, .pillar-detail-grid { grid-template-columns: repeat(2, 1fr); }
  .pain-card:nth-child(2n), .pillar-card:nth-child(2n), .pillar-detail-grid article:nth-child(2n) { border-right: 0; }
  .pain-card:nth-child(odd) { padding-left: 0; }
  .pain-card:nth-child(even) { padding-left: 25px; }
  .pillar-card, .pillar-detail-grid article { border-bottom: 1px solid var(--line); }
  .pillar-card:nth-last-child(-n+2), .pillar-detail-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .footer-lead { grid-template-columns: 1fr 2fr; }
  .footer-lead .button { grid-column: 2; justify-self: start; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .site-header { height: 78px; grid-template-columns: 1fr auto 1fr; padding-inline: 22px; }
  .wordmark-text { font-size: 25px; }
  .phone { display: none; }
  .back-link { font-size: 0; }
  .back-link span { font-size: 20px; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 130px; }
  .section-heading, .case-intro { grid-template-columns: 1fr; }
  .metric-grid, .case-detail-metrics { grid-template-columns: repeat(2, 1fr); }
  .metric-grid article:nth-child(2), .case-detail-metrics article:nth-child(2) { border-right: 0; }
  .metric-grid article:nth-child(-n+2), .case-detail-metrics article:nth-child(-n+2) { border-bottom: 1px solid #454341; }
  .trust, .about-grid { grid-template-columns: 1fr; }
  .route-strip { grid-template-columns: 1fr; }
  .route-strip .arrow-link, .route-strip .arrow-link + .arrow-link { padding-inline: 0; }
  .footer-lead { grid-template-columns: 1fr; }
  .footer-lead .button { grid-column: 1; }
  .inner-hero { min-height: 620px; }
  .pain-detail-list article div { grid-template-columns: 1fr; }
  .architecture-flow { grid-template-columns: 1fr; }
  .architecture-flow > b { transform: rotate(90deg); }
  .reference-grid { grid-template-columns: 1fr; }
  .reference-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .reference-grid article:last-child { border-bottom: 0; }
  .reference-mark { margin: 35px 0; }
  .form-panel { grid-template-columns: 1fr; padding: 45px; }
  .policy section { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 650px) {
  .site-header { padding-inline: 16px; }
  .button-small { min-height: 38px; padding-inline: 10px; font-size: 9px; }
  .hero { gap: 58px; padding: 118px 18px 64px; }
  .hero h1 { font-size: 49px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 14px; }
  .recognize, .section-pad, .inner-section, .architecture-section, .contact-section, .accent-band { padding: 76px 18px; }
  .pain-grid, .pillar-grid, .pillar-detail-grid { grid-template-columns: 1fr; }
  .pain-card, .pain-card:nth-child(even), .pain-card:nth-child(odd) { min-height: auto; padding: 25px 0; border-right: 0; }
  .pain-card > span { margin-bottom: 38px; }
  .pillar-card, .pillar-detail-grid article { min-height: 330px; border-right: 0; border-bottom: 1px solid var(--line) !important; }
  .pillar-card:last-child, .pillar-detail-grid article:last-child { border-bottom: 0 !important; }
  .steps-list article { grid-template-columns: 36px 1fr; gap: 15px; }
  .steps-list p { grid-column: 2; }
  .case-intro { margin-bottom: 50px; }
  .metric-grid, .case-detail-metrics { grid-template-columns: 1fr; }
  .metric-grid article, .metric-grid article + article, .case-detail-metrics article, .case-detail-metrics article + article { min-height: auto; padding: 28px 0; border-right: 0; border-bottom: 1px solid #454341; }
  .metric-grid article:last-child, .case-detail-metrics article:last-child { border-bottom: 0; }
  .metric-grid strong, .case-detail-metrics strong { margin-bottom: 28px; }
  .route-strip { padding: 0 18px 76px; }
  .site-footer { padding: 76px 18px 24px; }
  .footer-lead { padding-bottom: 65px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 12px; }
  .inner-hero { min-height: auto; padding: 145px 18px 72px; }
  .inner-hero h1 { font-size: 51px; }
  .pain-detail-list article { grid-template-columns: 36px 1fr; gap: 10px; }
  .accent-band > p:not(.eyebrow) { margin-left: 0; }
  .story-block { grid-template-columns: 1fr; }
  .reference-note { align-items: flex-start; flex-direction: column; }
  .contact-cards { grid-template-columns: 1fr; margin-bottom: 70px; }
  .contact-cards a, .contact-cards a:nth-child(even) { min-height: 145px; padding: 24px 50px 24px 0; border-right: 0; }
  .form-panel { padding: 32px 22px; }
  .form-row { grid-template-columns: 1fr; }
  .values-section { grid-template-columns: 1fr; padding: 0 18px 76px; }
  .values-section article { min-height: auto; border-right: 1px solid var(--line); border-bottom: 0; }
  .values-section article:last-child { border-bottom: 1px solid var(--line); }
  .values-section h2 { margin-top: 45px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}


/* Shared accent palette and responsive adjustments. */
select, option, optgroup, button, input, textarea { font-family: var(--site-font), sans-serif; }
.hero { grid-template-columns: minmax(0, 1fr); min-height: auto; gap: 0; padding-bottom: 90px; }
.hero-copy { max-width: 1200px; }
.hero h1 { max-width: 1120px; }
.hero-lead { max-width: 920px; }
.site-header .wordmark-text { font-size: 60px; line-height: 1; }
.site-header .wordmark { line-height: 1; }
.button, .arrow-link b, .site-footer, .accent-band { color: var(--ink); }
.site-footer .wordmark-text span { color: var(--ink); }
.site-footer .footer-grid, .site-footer .footer-bottom, .accent-band .arrow-link { border-color: rgb(17 16 15 / 25%); }
.recognize, .case-section, .architecture-section, .case-detail-metrics { --orange-ink: var(--orange-soft); }
.button:hover, .button:focus-visible { background: var(--orange-dark); }
.button-light:hover { background: var(--orange-faint); }
.pillar-card, .pillar-detail-grid article { min-width: 0; }
.pillar-card h3, .pillar-detail-grid h2 { overflow-wrap: anywhere; }
.pillar-detail-grid article > span { color: var(--orange-ink); font-size: 11px; }
h1, h2, h3, .contact-cards strong { overflow-wrap: anywhere; }
.form-panel > *, .form-row > *, .contact-cards > *, .policy section > * { min-width: 0; }
@media (max-width: 1050px) {
  .pillar-grid, .pillar-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pillar-card:nth-last-child(2), .pillar-detail-grid article:nth-last-child(2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 900px) {
  .site-header .wordmark-text { font-size: 50px; }
}
@media (max-width: 650px) {
  .site-header { grid-template-columns: 20px minmax(0, 1fr) auto; gap: 8px; }
  .site-header .wordmark-text { font-size: clamp(36px, 11vw, 50px); letter-spacing: -.055em; }
  .site-header .wordmark { justify-self: center; }
  .site-header .button-small { max-width: 100px; padding: 6px 8px; text-align: center; line-height: 1.35; }
  .hero { padding-bottom: 64px; }
  .hero h1 { font-size: clamp(38px, 10vw, 49px); }
  .inner-hero h1 { font-size: clamp(38px, 10vw, 51px); }
  .pillar-grid, .pillar-detail-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Robotics and team. */
.hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 5vw; align-items: center; }
.hero h1 { font-size: clamp(44px, 4.8vw, 76px); }
.hero-lead { font-size: clamp(18px, 1.4vw, 22px); }
.robot-hero-image { margin: 0; min-width: 0; }
.robot-hero-image img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border: 1px solid var(--line); }
.robot-hero-image figcaption { margin-top: 14px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.robotics-section { background: var(--paper); }
.robotics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.robotics-grid article { padding: 30px; border-right: 1px solid var(--line); }
.robotics-grid article:last-child { border-right: 0; }
.robotics-grid h3 { font-size: clamp(24px, 2.1vw, 34px); letter-spacing: -.035em; line-height: 1.12; }
.robotics-grid p { color: var(--graphite); line-height: 1.6; margin-bottom: 0; }
.team-section { background: var(--paper); }
.team-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
.team-card { min-width: 0; }
.team-card img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; display: block; margin-bottom: 20px; }
.team-card h3 { font-size: 22px; line-height: 1.2; margin-bottom: 12px; letter-spacing: -.03em; }
.team-card p { color: var(--graphite); font-size: 14px; line-height: 1.55; margin: 0; }
.team-disclosure { margin: 30px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; max-width: 780px; }
@media(max-width:1050px) { .team-grid { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 36px; } }
@media(max-width:900px) { .hero { grid-template-columns: minmax(0,1fr); gap: 38px; } .robot-hero-image { max-width: 740px; } .robotics-grid { grid-template-columns: minmax(0,1fr); } .robotics-grid article { border-right: 0; border-bottom: 1px solid var(--line); } .robotics-grid article:last-child { border-bottom: 0; } }
@media(max-width:650px) { .hero h1 { font-size: clamp(38px,10vw,49px); } .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; } .team-card h3 { font-size: 20px; } .robotics-grid article { padding: 26px; } .contact-cards a:last-child:nth-child(odd) { border-right: 0; } }
@media(max-width:380px) { .team-grid { grid-template-columns: minmax(0,1fr); } }

.hero-actions { flex-wrap: wrap; }
@media(min-width:651px) { .contact-cards a:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; } }

/* Header contact alignment. */
.header-contact { align-items: center; gap: 7px; }
.header-contact .phone { display: block; font-size: 16px; line-height: 1.15; font-weight: 600; letter-spacing: .01em; text-align: center; white-space: nowrap; }
@media(max-width:650px) {
 .header-contact { width: 116px; gap: 5px; }
 .site-header .header-contact .button-small { width: 100%; max-width: none; }
 .header-contact .phone { font-size: 12px; letter-spacing: 0; }
}

select, option, optgroup, button, input, textarea { font-family: var(--site-font), sans-serif; }
