:root {
  --paper: #f4f2ed;
  --paper-deep: #e9e6de;
  --ink: #1e2421;
  --ink-soft: #59615a;
  --line: #c9cbc3;
  --green: #a7bf4a;
  --green-dark: #859c2e;
  --night: #202723;
  --night-soft: #303a33;
  --white: #fffefa;
  --page: min(1240px, calc(100% - 88px));
  font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--paper); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { color: var(--ink); background: #d4e2a1; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 12px 16px; transform: translateY(-150%); background: var(--ink); color: var(--white); }
.skip-link:focus { transform: none; }
.section-shell { width: var(--page); margin-inline: auto; }
.site-header { height: 80px; padding: 0 max(44px, calc((100vw - 1240px) / 2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(30,36,33,.13); position: relative; z-index: 20; }
.wordmark { display: inline-flex; align-items: center; gap: 11px; font-size: 11px; font-weight: 780; letter-spacing: .16em; }
.wordmark-mark { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: Georgia, serif; font-size: 17px; font-weight: 500; letter-spacing: 0; }
.site-nav { display: flex; align-items: center; gap: 39px; font-size: 12px; color: #414943; }
.site-nav > a:not(.nav-cta) { transition: color .2s ease; }
.site-nav > a:not(.nav-cta):hover, .text-link:hover, .capability-link:hover { color: var(--green-dark); }
.site-nav .home-link { color: #707a60; }
.home-link span { margin-left: 4px; }
.nav-cta { padding: 12px 17px; color: var(--white); background: var(--ink); transition: background .2s, transform .2s; }
.nav-cta:hover { background: var(--green-dark); transform: translateY(-2px); }
.nav-cta span { margin-left: 12px; }
.menu-toggle { display: none; }

.hero { min-height: min(760px, calc(100svh - 80px)); min-height: min(760px, calc(100dvh - 80px)); display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; position: relative; padding-top: 62px; padding-bottom: 90px; }
.hero-copy { max-width: 610px; padding-bottom: 16px; z-index: 1; }
.eyebrow, .section-label, .section-label-light { display: flex; align-items: center; gap: 12px; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow { color: #636c61; margin: 0 0 26px; }
.eyebrow-line { width: 27px; height: 1px; display: inline-block; background: var(--green-dark); }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { font-size: clamp(46px, 6.1vw, 78px); line-height: 1.15; letter-spacing: -.065em; font-weight: 620; margin-bottom: 28px; }
.hero h1 em, .capabilities-head h2 em, .delivery-heading h2 em { color: var(--green-dark); font-style: normal; }
.hero-lede { max-width: 440px; color: var(--ink-soft); font-size: 15px; line-height: 1.95; margin-bottom: 31px; }
.hero-actions { display: flex; align-items: center; gap: 26px; }
.button { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 26px; padding: 0 18px; font-size: 12px; font-weight: 650; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover { background: var(--green-dark); }
.button span { font-size: 15px; }
.text-link { font-size: 12px; transition: color .2s; }
.text-link span { margin-left: 7px; }
.hero-note { margin: 28px 0 0; color: #747b72; font-size: 10px; }
.status-dot, .role-live i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--green-dark); margin-right: 8px; vertical-align: 1px; }
.hero-art { min-height: 510px; height: min(55vw, 590px); max-height: 590px; position: relative; display: grid; place-items: center; }
.orbit { position: absolute; border: 1px solid #c8cbc1; border-radius: 50%; aspect-ratio: 1; }
.orbit-one { width: 82%; transform: rotate(-17deg) scaleY(.82); border-style: dashed; opacity: .66; }
.orbit-two { width: 63%; transform: rotate(31deg) scaleY(.82); opacity: .83; }
.hub { width: 194px; height: 194px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--night); color: var(--white); text-align: center; box-shadow: 0 18px 50px rgba(27,34,29,.17); z-index: 2; animation: hub-arrive .8s ease-out both; }
.hub-kicker { color: #c3d98a; font-size: 9px; letter-spacing: .18em; margin-bottom: 10px; }
.hub strong { font-size: 19px; line-height: 1.4; font-weight: 550; letter-spacing: -.04em; }
.hub-rule { height: 1px; width: 34px; background: #778379; margin: 12px 0 9px; }
.hub-caption { color: #c0c8bf; font-size: 9px; }
.person { width: 102px; min-height: 115px; position: absolute; z-index: 3; padding: 13px 12px 11px; display: flex; flex-direction: column; background: var(--white); border: 1px solid #dbddd5; box-shadow: 0 12px 28px rgba(32,39,35,.07); animation: float-in .7s ease-out both; }
.person-a { top: 9%; left: 18%; animation-delay: .12s; }
.person-b { top: 20%; right: 5%; animation-delay: .22s; }
.person-c { bottom: 14%; left: 8%; animation-delay: .32s; }
.person-d { right: 13%; bottom: 8%; animation-delay: .42s; }
.person-initial { color: var(--green-dark); font-size: 9px; letter-spacing: .12em; padding-bottom: 15px; }
.person-name { font-size: 13px; font-weight: 700; }
.person-role { color: #81867c; font-size: 9px; margin-top: 5px; }
.orbit-label { position: absolute; padding: 7px 11px; border: 1px solid #d4d6cf; background: var(--paper); color: #626a61; font-size: 9px; letter-spacing: .06em; z-index: 2; }
.orbit-label-top { top: 9%; right: 25%; }
.orbit-label-bottom { bottom: 16%; right: 36%; }
.art-index { position: absolute; right: 0; bottom: 0; color: var(--ink); font: 500 20px Georgia, serif; letter-spacing: .05em; }
.art-index span { display: block; padding-top: 4px; color: #777d74; font: 9px var(--font, sans-serif); letter-spacing: .06em; text-align: right; }
.hero-bottom { position: absolute; bottom: 27px; left: 0; right: 0; display: flex; justify-content: space-between; border-top: 1px solid #d4d5ce; padding-top: 15px; color: #73796f; font-size: 10px; letter-spacing: .08em; }
.scroll-cue span { margin-left: 8px; color: var(--green-dark); }
@keyframes hub-arrive { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: scale(1); } }
@keyframes float-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

.intro { padding-block: 122px 142px; display: grid; grid-template-columns: .27fr .73fr; }
.section-label { color: #737a70; align-self: start; }
.section-label > span { color: var(--green-dark); font-family: Georgia, serif; font-size: 13px; font-weight: 500; letter-spacing: .02em; }
.intro h2, .capabilities-head h2, .roles-copy h2, .guardrails-title h2, .delivery-heading h2, .faq h2, .contact-inner h2 { font-size: clamp(34px, 4vw, 51px); line-height: 1.27; letter-spacing: -.055em; font-weight: 590; }
.intro h2 { margin: 0 0 22px; }
.intro h2 span { color: #81877c; }
.intro-text { max-width: 640px; color: var(--ink-soft); font-size: 14px; line-height: 1.95; }
.principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; padding-top: 46px; }
.principle { border-top: 1px solid #c4c8bd; padding-top: 16px; }
.principle-no { color: var(--green-dark); font: 11px Georgia, serif; letter-spacing: .08em; }
.principle h3 { margin: 24px 0 10px; font-size: 17px; font-weight: 600; }
.principle p { margin: 0; max-width: 220px; color: #72796f; font-size: 11px; line-height: 1.8; }

.workflow-band, .delivery { color: var(--white); background: var(--night); }
.workflow-inner { padding-block: 81px 78px; }
.workflow-heading { display: grid; grid-template-columns: .27fr .42fr .31fr; align-items: start; margin-bottom: 66px; }
.section-label-light { color: #b2b9af; }
.section-label-light > span { color: #c7db8d; font-family: Georgia,serif; font-size: 13px; font-weight: 500; letter-spacing: .02em; }
.workflow-heading h2 { font-size: 34px; font-weight: 550; line-height: 1.32; letter-spacing: -.05em; margin: -8px 0 0; }
.workflow-heading > p { max-width: 250px; margin: 3px 0 0 auto; color: #b4beb5; font-size: 11px; line-height: 1.85; }
.flow-steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 22px; }
.flow-step { min-height: 150px; display: flex; flex-direction: column; align-items: flex-start; position: relative; border-top: 1px solid #59645b; padding-top: 24px; }
.flow-num { color: #c5d990; font: 11px Georgia, serif; }
.flow-icon { width: 30px; height: 30px; margin: 16px 0 12px; position: relative; color: #d6e4b4; }
.icon-message::before { content: ''; position: absolute; inset: 4px 2px 6px; border: 1px solid currentColor; border-radius: 7px; }
.icon-message::after { content: ''; position: absolute; bottom: 2px; left: 7px; width: 7px; height: 7px; border-left: 1px solid currentColor; transform: skew(-25deg); background: var(--night); }
.icon-search::before { content: ''; position: absolute; width: 16px; height: 16px; border: 1px solid currentColor; border-radius: 50%; top: 2px; left: 2px; }
.icon-search::after { content: ''; position: absolute; width: 9px; height: 1px; background: currentColor; transform: rotate(48deg); left: 17px; top: 22px; }
.icon-draft::before { content: ''; position: absolute; inset: 2px 5px; border: 1px solid currentColor; border-radius: 2px; }
.icon-draft::after { content: '—'; position: absolute; left: 10px; top: 5px; font-size: 14px; line-height: 1.2; box-shadow: 0 6px 0 -2px currentColor, 0 12px 0 -2px currentColor; }
.icon-approve::before { content: ''; position: absolute; inset: 1px 2px 3px; border: 1px solid currentColor; border-radius: 50%; }
.icon-approve::after { content: '✓'; position: absolute; top: 4px; left: 8px; font-size: 15px; }
.flow-step strong { font-size: 13px; font-weight: 550; }
.flow-step small { margin-top: 7px; color: #aab4aa; font-size: 9px; }
.flow-arrow { align-self: center; margin-top: -25px; color: #8da44c; font-size: 20px; }
.workflow-footnote { border-top: 1px solid #424d44; margin: 4px 0 0; padding-top: 18px; color: #aeb7ad; font-size: 10px; }

.capabilities { padding-block: 120px 134px; }
.capabilities-head { display: grid; grid-template-columns: 1fr .55fr; align-items: end; margin: 29px 0 47px; }
.capabilities-head h2 { margin: 0; }
.capabilities-head p { max-width: 375px; margin: 0 0 5px auto; color: #73796f; font-size: 12px; line-height: 1.9; }
.capability-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid #c3c7bd; border-left: 1px solid #c3c7bd; }
.capability { min-height: 265px; padding: 28px 34px 29px; position: relative; border-right: 1px solid #c3c7bd; border-bottom: 1px solid #c3c7bd; transition: background .25s ease; }
.capability:hover { background: #eeece5; }
.capability-featured { background: #eaeede; }
.capability-featured:hover { background: #e4e9d8; }
.capability-tag { color: #68764a; font-size: 10px; }
.capability-count { position: absolute; top: 22px; right: 30px; color: #99a092; font: 20px Georgia, serif; }
.capability h3 { margin: 40px 0 12px; font-size: 22px; font-weight: 590; letter-spacing: -.035em; }
.capability p { max-width: 450px; margin: 0; color: #6c746a; font-size: 12px; line-height: 1.85; }
.capability-examples { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 20px; }
.capability-examples span { padding: 7px 9px; border: 1px solid #c4cbb4; color: #636e4b; font-size: 9px; }
.capability-link, .capability-foot { display: inline-block; margin-top: 25px; color: #657644; font-size: 10px; }
.capability-link span { margin-left: 8px; }
.capability-foot { color: #7c8178; }

.roles-section { background: var(--paper-deep); }
.roles-layout { min-height: 570px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 9%; align-items: center; padding-block: 92px; }
.roles-copy h2 { margin: 29px 0 17px; }
.roles-copy > p { max-width: 400px; margin-bottom: 30px; color: #6c736a; font-size: 12px; line-height: 1.9; }
.role-tabs { display: flex; flex-wrap: wrap; gap: 7px; max-width: 490px; }
.role-tab { border: 1px solid #c6c9bf; padding: 10px 12px; color: #6b7268; background: transparent; font-size: 10px; cursor: pointer; transition: background .2s, color .2s, border .2s; }
.role-tab:hover { border-color: var(--ink); color: var(--ink); }
.role-tab.is-active { border-color: var(--ink); color: var(--white); background: var(--ink); }
.role-tab:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--green-dark); outline-offset: 3px; }
.role-panel { min-height: 370px; max-width: 520px; width: 100%; justify-self: end; padding: 31px 34px 25px; background: var(--white); box-shadow: 0 17px 52px rgba(31,38,33,.08); animation: panel-in .32s ease both; }
.role-panel-refresh { animation: panel-in .32s ease both; }
@keyframes panel-in { from { opacity: .65; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.role-panel-top, .role-panel-foot { display: flex; align-items: center; justify-content: space-between; }
.role-index { color: #7b8178; font: 10px Georgia, serif; letter-spacing: .08em; }
.role-live { color: #81877c; font-size: 9px; }
.role-panel h3 { margin: 41px 0 9px; font-size: 26px; font-weight: 590; letter-spacing: -.04em; }
.role-summary { min-height: 44px; color: #777e73; font-size: 11px; line-height: 1.8; }
.role-list-heading { border-top: 1px solid #dcdfd8; padding-top: 19px; margin-top: 15px; color: #81877c; font-size: 9px; }
.role-list { display: grid; gap: 12px; list-style: none; padding: 0; margin: 16px 0 30px; }
.role-list li { position: relative; padding-left: 18px; color: #454d46; font-size: 11px; }
.role-list li::before { content: ''; position: absolute; left: 0; top: 5px; width: 6px; height: 6px; border: 1px solid var(--green-dark); border-radius: 50%; }
.role-panel-foot { border-top: 1px solid #dcdfd8; padding-top: 14px; color: #858b81; font-size: 9px; }

.guardrails { padding-block: 120px 130px; }
.guardrails-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 10%; margin-top: 34px; }
.guardrails-title h2 { margin: 0 0 18px; }
.guardrails-title p { max-width: 300px; color: #72796f; font-size: 11px; line-height: 1.9; }
.guardrail-list { border-top: 1px solid #c7cbc1; }
.guardrail-list article { display: grid; grid-template-columns: 42px 1fr 110px; gap: 15px; align-items: start; padding: 21px 0; border-bottom: 1px solid #c7cbc1; }
.guardrail-mark { color: var(--green-dark); font: 12px Georgia,serif; padding-top: 2px; }
.guardrail-list h3 { margin: 0 0 7px; font-size: 14px; font-weight: 620; }
.guardrail-list p { max-width: 600px; margin: 0; color: #737a71; font-size: 10px; line-height: 1.85; }
.guardrail-type { color: #8a9086; font-size: 9px; text-align: right; }

.delivery { padding-block: 89px 82px; }
.delivery-inner { position: relative; }
.delivery-heading { display: grid; grid-template-columns: 1fr .54fr; align-items: end; padding: 0 0 58px; }
.delivery-heading h2 { margin: 28px 0 0; }
.delivery-heading h2 em { color: #c5dc85; }
.delivery-heading p { max-width: 340px; margin: 0 0 6px auto; color: #b5bfb5; font-size: 11px; line-height: 1.9; }
.timeline { border-top: 1px solid #69736a; }
.timeline-item { display: grid; grid-template-columns: 72px 1fr 210px; gap: 20px; align-items: start; padding: 24px 0 25px; border-bottom: 1px solid #48534a; }
.timeline-number { color: #c4d88d; font: 14px Georgia,serif; padding-top: 2px; }
.timeline-phase { color: #b6c990; font-size: 9px; letter-spacing: .08em; }
.timeline-item h3 { margin: 8px 0; font-size: 17px; font-weight: 550; }
.timeline-item p { max-width: 590px; margin: 0; color: #b1bbb1; font-size: 10px; line-height: 1.85; }
.timeline-output { align-self: center; color: #c4cbbf; font-size: 9px; text-align: right; }
.delivery-bottom { display: flex; justify-content: space-between; padding-top: 18px; color: #aeb8ad; font-size: 9px; }

.faq { padding-block: 120px 132px; }
.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 10%; margin-top: 36px; }
.faq h2 { margin: 0; }
.faq-list { border-top: 1px solid #c6cac0; }
.faq details { border-bottom: 1px solid #c6cac0; }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 0; list-style: none; cursor: pointer; font-size: 13px; font-weight: 560; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { color: var(--green-dark); font-size: 19px; font-weight: 400; transition: transform .2s; }
.faq details[open] summary span { transform: rotate(45deg); }
.faq details p { max-width: 650px; padding: 0 30px 20px 0; margin: 0; color: #727a70; font-size: 11px; line-height: 1.9; }

.contact-section { background: var(--green-dark); color: var(--white); }
.contact-inner { min-height: 425px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 9%; align-items: center; padding-block: 72px; }
.contact-inner h2 { margin: 29px 0 17px; }
.contact-inner > div:first-child > p { max-width: 440px; color: #e1e8d1; font-size: 11px; line-height: 1.9; }
.contact-card { max-width: 385px; justify-self: end; width: 100%; padding: 27px 28px; color: var(--ink); background: var(--paper); }
.contact-card-label { display: block; color: #788363; font-size: 9px; letter-spacing: .1em; }
.contact-card strong { display: block; margin: 18px 0 9px; font-size: 18px; font-weight: 620; }
.contact-card p { margin: 0 0 19px; color: #72796f; font-size: 10px; line-height: 1.8; }
.button-light { background: var(--ink); color: var(--white); }
.button-light:hover { background: var(--green-dark); }
.contact-qr { width: 164px; height: 164px; display: grid; place-items: center; padding: 8px; margin: 0 auto; background: var(--white); border: 1px solid #d9ddd2; transition: transform .2s ease; }
.contact-qr:hover { transform: translateY(-2px); }
.contact-qr img { display: block; width: 148px; height: 148px; object-fit: contain; }
.contact-qr-caption { display: block; margin-top: 9px; color: #737a70; font-size: 9px; text-align: center; }
.site-footer { padding: 33px max(44px, calc((100vw - 1240px) / 2)) 22px; background: #171c19; color: var(--white); }
.footer-main { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 20px; padding-bottom: 28px; }
.wordmark-footer { font-size: 9px; }
.wordmark-footer .wordmark-mark { width: 25px; height: 25px; }
.footer-main p { margin: 0; color: #a7b0a5; font-size: 9px; }
.back-top { color: #d5dfc6; font-size: 9px; }
.footer-meta { border-top: 1px solid #333c35; padding-top: 14px; display: grid; grid-template-columns: auto 1fr auto; gap: 24px; color: #879188; font-size: 8px; }
.footer-meta a { color: #c6d0c3; }

@media (min-width: 1440px) { :root { --page: min(1240px, calc(100% - 120px)); } }
@media (max-width: 900px) {
  :root { --page: calc(100% - 52px); }
  .site-header { padding-inline: 26px; }
  .site-nav { gap: 22px; }
  .site-nav .nav-cta { font-size: 10px; }
  .hero { grid-template-columns: 1fr 1fr; }
  .hero-art { min-height: 430px; }
  .person { transform: scale(.9); }
  .orbit-label { font-size: 8px; }
  .intro { grid-template-columns: .2fr .8fr; }
  .workflow-heading { grid-template-columns: .2fr .47fr .33fr; }
  .flow-steps { gap: 12px; }
  .roles-layout { gap: 5%; }
  .guardrails-layout, .faq-layout { gap: 6%; }
  .site-footer { padding-inline: 26px; }
}
@media (max-width: 680px) {
  :root { --page: calc(100% - 40px); scroll-padding-top: 70px; }
  .site-header { height: 66px; padding-inline: 20px; }
  .wordmark { font-size: 9px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 10px; border: 0; padding: 10px 0 10px 10px; background: transparent; color: var(--ink); font-size: 10px; cursor: pointer; }
  .menu-lines, .menu-lines::before, .menu-lines::after { display: block; width: 17px; height: 1px; background: currentColor; transition: transform .2s; }
  .menu-lines { position: relative; }
  .menu-lines::before, .menu-lines::after { content: ''; position: absolute; left: 0; }
  .menu-lines::before { top: -5px; }
  .menu-lines::after { top: 5px; }
  .menu-toggle[aria-expanded="true"] .menu-lines { background: transparent; }
  .menu-toggle[aria-expanded="true"] .menu-lines::before { top: 0; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-lines::after { top: 0; transform: rotate(-45deg); }
  .site-nav { position: absolute; top: 65px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 18px; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 15px 20px rgba(25,33,28,.08); }
  .site-nav.is-open { display: flex; }
  .site-nav > a { padding: 14px 2px; border-bottom: 1px solid #dfe0d9; }
  .site-nav .nav-cta { margin-top: 10px; padding: 13px 14px; border: 0; }
  .site-nav .home-link { color: var(--green-dark); }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 64px; padding-bottom: 70px; }
  .hero-copy { padding: 0; }
  .eyebrow { margin-bottom: 21px; font-size: 9px; }
  .hero h1 { font-size: clamp(43px, 12.2vw, 65px); margin-bottom: 20px; }
  .hero-lede { max-width: 430px; font-size: 13px; line-height: 1.85; }
  .hero-actions { gap: 13px 17px; flex-wrap: wrap; }
  .button { min-height: 45px; gap: 18px; padding-inline: 14px; font-size: 10px; }
  .text-link { font-size: 10px; }
  .hero-note { font-size: 9px; }
  .hero-art { width: min(100%, 450px); min-height: 380px; height: 92vw; max-height: 450px; margin: 8px auto 0; }
  .hub { width: 153px; height: 153px; }
  .hub strong { font-size: 16px; }
  .hub-caption { font-size: 8px; }
  .person { width: 86px; min-height: 99px; padding: 10px; }
  .person-initial { padding-bottom: 12px; }
  .person-name { font-size: 11px; }
  .person-role { font-size: 8px; }
  .person-a { top: 7%; left: 14%; }.person-b { top: 17%; right: 2%; }.person-c { bottom: 12%; left: 4%; }.person-d { right: 10%; bottom: 4%; }
  .orbit-label { max-width: 125px; font-size: 7px; padding: 6px 7px; }
  .orbit-label-top { top: 7%; right: 17%; }.orbit-label-bottom { bottom: 13%; right: 29%; }
  .art-index { right: 2px; bottom: -8px; font-size: 16px; }
  .hero-bottom { bottom: 18px; font-size: 8px; }
  .intro, .capabilities, .guardrails, .faq { padding-block: 76px 82px; }
  .intro { grid-template-columns: 1fr; gap: 29px; }
  .section-label { font-size: 9px; }
  .intro h2, .capabilities-head h2, .roles-copy h2, .guardrails-title h2, .delivery-heading h2, .faq h2, .contact-inner h2 { font-size: clamp(32px, 9vw, 43px); }
  .intro h2 { margin-bottom: 15px; }
  .intro-text { font-size: 12px; }
  .principles { grid-template-columns: 1fr; gap: 0; padding-top: 22px; }
  .principle { display: grid; grid-template-columns: .36fr .64fr; column-gap: 12px; padding: 15px 0; }
  .principle-no { grid-row: span 2; }
  .principle h3 { margin: 0 0 5px; font-size: 14px; }
  .principle p { max-width: 100%; font-size: 10px; }
  .workflow-inner { padding-block: 61px 55px; }
  .workflow-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 39px; }
  .workflow-heading h2 { margin: 0; font-size: 30px; }
  .workflow-heading > p { margin: 0; max-width: 330px; }
  .flow-steps { grid-template-columns: 1fr 1fr; gap: 10px 14px; }
  .flow-step { min-height: 139px; padding-top: 15px; }
  .flow-arrow { display: none; }
  .flow-step strong { font-size: 11px; }
  .flow-step small { font-size: 8px; }
  .workflow-footnote { margin-top: 12px; line-height: 1.7; font-size: 9px; }
  .capabilities-head { grid-template-columns: 1fr; gap: 18px; margin: 28px 0 30px; }
  .capabilities-head p { margin: 0; max-width: 450px; font-size: 11px; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability { min-height: 225px; padding: 22px 20px; }
  .capability h3 { margin-top: 30px; font-size: 19px; }
  .capability p { font-size: 11px; }
  .capability-count { top: 18px; right: 19px; }
  .roles-layout { grid-template-columns: 1fr; gap: 31px; padding-block: 67px; }
  .roles-copy h2 { margin: 24px 0 13px; }
  .roles-copy > p { margin-bottom: 21px; font-size: 11px; }
  .role-tabs { gap: 6px; }
  .role-tab { padding: 9px 10px; font-size: 9px; }
  .role-panel { min-height: 350px; padding: 23px 22px 20px; }
  .role-panel h3 { margin-top: 32px; font-size: 23px; }
  .role-summary { min-height: auto; }
  .role-list { gap: 11px; }
  .role-list li { font-size: 10px; line-height: 1.55; }
  .guardrails-layout, .faq-layout { grid-template-columns: 1fr; gap: 25px; margin-top: 28px; }
  .guardrails-title p { max-width: 450px; }
  .guardrail-list article { grid-template-columns: 27px 1fr; gap: 10px; padding: 17px 0; }
  .guardrail-list h3 { font-size: 12px; }
  .guardrail-list p { font-size: 9px; }
  .guardrail-type { display: none; }
  .delivery { padding-block: 65px 54px; }
  .delivery-heading { grid-template-columns: 1fr; gap: 18px; padding-bottom: 37px; }
  .delivery-heading h2 { margin-top: 22px; }
  .delivery-heading p { margin: 0; max-width: 420px; }
  .timeline-item { grid-template-columns: 34px 1fr; gap: 8px; padding-block: 19px; }
  .timeline-item h3 { font-size: 14px; }
  .timeline-item p { font-size: 9px; }
  .timeline-output { grid-column: 2; text-align: left; padding-top: 4px; font-size: 8px; }
  .delivery-bottom { flex-direction: column; gap: 8px; line-height: 1.6; }
  .faq summary { font-size: 11px; padding: 16px 0; }
  .faq details p { font-size: 10px; }
  .contact-inner { grid-template-columns: 1fr; gap: 25px; padding-block: 61px; }
  .contact-inner h2 { margin-top: 24px; }
  .contact-card { justify-self: stretch; max-width: none; padding: 23px; }
  .contact-card > p { margin-bottom: 16px; }
  .site-footer { padding: 26px 20px 17px; }
  .footer-main { grid-template-columns: 1fr auto; gap: 13px; padding-bottom: 19px; }
  .footer-main p { grid-row: 2; grid-column: 1 / -1; }
  .back-top { grid-column: 2; grid-row: 1; }
  .footer-meta { grid-template-columns: 1fr; gap: 9px; line-height: 1.6; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
