@font-face {
  font-family: Inter;
  src: url("assets/fonts/InterVariable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
body {font-family: Inter, Arial, sans-serif;}
.header {height:144px;min-height:144px;padding:27px var(--gutter);background:var(--paper);}
.brand {width:380px;}
.header nav {gap:42px;font-size:17px;font-weight:600;}
.hero {position:relative;display:block;min-height:0;height:720px;background:var(--paper);overflow:hidden;}
.hero-backdrop {position:absolute;inset:0;width:100%;max-width:none;height:100%;object-fit:cover;object-position:center;}
.hero-copy {position:relative;z-index:1;display:block;width:850px;max-width:100%;height:100%;padding:58px 0 0 var(--gutter);background:none;color:var(--charcoal);}
.hero-copy .eyebrow {font:500 11px/1.6 Inter,Arial,sans-serif;letter-spacing:.08em;color:#62645e;margin:0 0 32px;display:flex;align-items:center;gap:18px;}
.hero-copy .eyebrow:before {content:"";display:block;width:38px;height:2px;background:var(--copper);flex-shrink:0;}
.hero h1 {font-family:Inter,Arial,sans-serif;font-size:108px;line-height:.91;font-weight:800;letter-spacing:-.065em;margin:0 0 34px;}
.hero h1 em {font-style:normal;font-weight:800;color:var(--olive);margin-left:.04em;}
.hero-position {font:600 29px/1.35 Inter,Arial,sans-serif;letter-spacing:-.045em;color:#242520;margin:0 0 23px;white-space:nowrap;}
.hero-description {max-width:550px;font-size:22px;line-height:1.55;color:#575a52;letter-spacing:-.025em;margin-bottom:32px;}
.hero-actions {display:flex;align-items:center;gap:32px;flex-wrap:nowrap;}
.hero-actions .button {width:302px;min-height:76px;padding:0 24px;font-size:17px;font-weight:700;border-radius:3px;gap:16px;white-space:nowrap;}
.hero-actions .text-link {font-size:17px;font-weight:500;color:#415230;padding:9px 0;gap:16px;white-space:nowrap;border-bottom:1px solid #9b9e86;}
.ui-arrow {width:24px;height:24px;flex-shrink:0;}
.button .ui-arrow {filter:brightness(0) invert(1);}
.operation-band {min-height:88px;padding:22px calc(var(--gutter) + 36px);display:flex;align-items:center;gap:32px;background:#53613c;color:#fff;}
.operation-band p {font-size:23px;line-height:1.5;letter-spacing:-.025em;margin:0;}
.band-rule {height:1px;max-width:270px;flex:1;background:#bcc5aa;}
.starting-points {padding:43px var(--gutter) 38px;background:var(--paper);}
.starting-points .eyebrow {font:500 11px/1.5 Inter,Arial,sans-serif;color:#65645d;letter-spacing:.09em;margin:0 0 24px;display:flex;align-items:center;gap:18px;}
.starting-points .eyebrow:before {content:"";width:38px;height:2px;background:var(--copper);}
.starting-grid {display:grid;grid-template-columns:repeat(3,1fr);}
.starting-point {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 32px 15px 0;}
.starting-point + .starting-point {border-left:1px solid #deded3;padding-left:58px;}
.starting-point h3 {font-size:31px;font-weight:600;line-height:1.2;letter-spacing:-.05em;margin:0 0 11px;}
.starting-point p {font-size:17px;line-height:1.6;letter-spacing:-.02em;max-width:300px;color:#63655d;margin:0;}
.starting-point:hover h3 {color:var(--olive);}
.starting-point .ui-arrow {width:25px;}
.section h2,.contact h2,.industry-intro h2 {font-family:Inter,Arial,sans-serif;font-weight:600;letter-spacing:-.055em;}
.section h2 em,.contact h2 em,.industry-intro h2 em {font-style:normal;}
.project-form input:not([type=checkbox]),.project-form select,.project-form textarea {font-size:15px;}
@media(min-width:1600px) {
  .hero {height:820px;}
  .hero-copy {padding-top:82px;width:980px;}
  .hero h1 {font-size:124px;}
  .hero-description {font-size:22px;max-width:620px;}
}
@media(max-width:1250px) {
  .header {height:124px;min-height:124px;}
  .brand {width:330px;}
  .header nav {font-size:15px;gap:30px;}
  .hero {height:650px;}
  .hero-copy {padding-top:50px;width:760px;}
  .hero h1 {font-size:94px;}
  .hero-position {font-size:25px;}
  .hero-description {font-size:18px;max-width:500px;}
  .hero-actions .button {width:280px;min-height:66px;font-size:15px;padding:0 20px;}
  .hero-actions .text-link {font-size:15px;}
  .starting-point + .starting-point {padding-left:30px;}
  .starting-point h3 {font-size:25px;}
  .starting-point p {font-size:14px;}
}
@media(max-width:950px) {
  .brand {width:285px;}
  .header nav {gap:22px;font-size:13px;}
  .hero {height:610px;}
  .hero-copy {padding-top:40px;width:680px;}
  .hero h1 {font-size:82px;}
  .hero-position {font-size:23px;}
  .hero-description {max-width:440px;font-size:17px;}
  .hero-actions {gap:25px;}
  .hero-actions .button {width:280px;}
  .hero-actions .text-link {font-size:14px;}
  .operation-band {padding-left:var(--gutter);padding-right:var(--gutter);}
  .operation-band p {font-size:20px;}
  .starting-point {gap:15px;padding-right:20px;}
  .starting-point + .starting-point {padding-left:20px;}
  .starting-point h3 {font-size:22px;}
}
@media(max-width:1100px) {
  .hero {height:auto;min-height:0;display:flex;flex-direction:column;}
  .hero-copy {padding:38px var(--gutter) 36px;width:100%;height:auto;order:1;}
  .hero-backdrop {position:relative;inset:auto;width:100%;height:450px;object-position:68% bottom;object-fit:cover;order:2;}
  .hero-position {white-space:normal;}
}
@media(max-width:820px) {
  .header {height:100px;min-height:100px;}
  .header nav {font-size:15px;}
  .hero {height:auto;min-height:0;display:flex;flex-direction:column;}
  .hero-copy {padding:38px var(--gutter) 36px;width:100%;height:auto;order:1;}
  .hero-backdrop {position:relative;inset:auto;width:100%;height:450px;object-position:68% bottom;object-fit:cover;order:2;}
  .hero h1 {font-size:clamp(68px,10vw,82px);line-height:.98;}
  .hero-position {font-size:23px;white-space:normal;}
  .hero-description {max-width:510px;}
  .hero-actions {display:flex;}
  .operation-band {min-height:78px;}
  .operation-band p {font-size:18px;}
  .starting-grid {grid-template-columns:1fr;}
  .starting-point {padding:24px 0;}
  .starting-point + .starting-point {border-left:0;border-top:1px solid #deded3;padding-left:0;}
  .starting-point h3 {font-size:27px;}
  .starting-point p {font-size:15px;max-width:530px;}
}
@media(max-width:560px) {
  .header {height:88px;min-height:88px;padding:14px var(--gutter);}
  .brand {width:clamp(195px,59vw,240px);}
  .hero {min-height:0;}
  .hero-copy {padding-top:27px;}
  .hero-copy .eyebrow {font-size:9px;letter-spacing:.04em;gap:10px;margin-bottom:27px;}
  .hero-copy .eyebrow:before {width:23px;}
  .hero h1 {font-size:clamp(48px,12.5vw,70px);line-height:1;letter-spacing:-.065em;margin-bottom:25px;}
  .hero-position {font-size:21px;line-height:1.35;max-width:330px;margin-bottom:18px;}
  .hero-description {font-size:16px;line-height:1.6;max-width:350px;margin-bottom:25px;}
  .hero-actions {align-items:flex-start;flex-direction:column;gap:15px;}
  .hero-actions .button {width:280px;max-width:100%;min-height:60px;font-size:14px;padding:0 18px;gap:12px;white-space:nowrap;}
  .hero-actions .text-link {font-size:14px;gap:18px;margin-top:0;}
  .hero-backdrop {height:auto;aspect-ratio:1.4 / 1;object-position:right bottom;}
  .operation-band {padding:20px var(--gutter);gap:0;min-height:88px;}
  .operation-band p {font-size:18px;max-width:300px;}
  .band-rule {display:none;}
  .starting-points {padding-top:32px;padding-bottom:25px;}
  .starting-points .eyebrow {font-size:10px;margin-bottom:14px;}
  .starting-point h3 {font-size:27px;}
  .starting-point p {font-size:15px;max-width:275px;}
  .project-form input:not([type=checkbox]),.project-form select,.project-form textarea {font-size:16px;}
}

/* Readable section labels and capabilities, shared throughout the page. */
.eyebrow,.mini-label,.number {font-family:Inter,Arial,sans-serif;letter-spacing:.015em;}
.section-head > .eyebrow,.industry-intro > .eyebrow,.contact-copy > .eyebrow {
  font-size:16px;line-height:1.5;font-weight:650;letter-spacing:.015em;
}
.hero-copy .eyebrow {font-size:13px;font-weight:600;letter-spacing:.025em;}
.starting-points .eyebrow {font-size:15px;font-weight:600;letter-spacing:.015em;}
.mini-label,.number {font-size:14px;font-weight:600;line-height:1.5;}
.capability-index {
  display:flex;flex-wrap:wrap;gap:16px 30px;
  padding:23px 0;margin:0 0 10px;border-top:1px solid var(--line);
  font:600 18px/1.5 Inter,Arial,sans-serif;letter-spacing:-.02em;color:var(--charcoal);
}
.capability-index li:before,.service-detail li:before {content:none;}
.service-detail ul {gap:14px 26px;}
.service-detail li {font-size:16px;line-height:1.5;padding-left:13px;border-left:2px solid #a8b58b;}
.scope-note {font-size:14px;line-height:1.6;}
.footer > div p {font-family:Inter,Arial,sans-serif;font-size:14px;letter-spacing:.015em;}
.project-form > .mini-label,.contact-channel .mini-label {font-size:14px;}
.project-paths .text-link,.panel-copy .text-link {font-size:15px;}
@media(max-width:820px) {
  .section-head > .eyebrow,.industry-intro > .eyebrow,.contact-copy > .eyebrow {font-size:15px;}
  .capability-index {font-size:17px;gap:14px 24px;}
  .hero-copy .eyebrow {font-size:12px;}
}
@media(max-width:560px) {
  .hero-copy .eyebrow {font-size:11px;line-height:1.5;gap:10px;}
  .starting-points .eyebrow {font-size:14px;}
  .capability-index {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:22px 0;}
  .service-detail ul {display:grid;grid-template-columns:1fr;gap:13px;}
  .service-detail li {font-size:16px;}
  .project-paths .number {font-size:14px;}
}
@media(max-width:400px) {
  .capability-index {grid-template-columns:1fr;}
}
