:root {
  --ink: #07111f;
  --ink-2: #0d1b2d;
  --paper: #f7f9fc;
  --white: #ffffff;
  --text: #142033;
  --muted: #5e6b7d;
  --line: #dce3ec;
  --blue: #0a8cff;
  --cyan: #13d6e5;
  --violet: #7659ff;
  --green: #4ed6a0;
  --orange: #ffb052;
  --radius: 22px;
  --shadow: 0 24px 70px rgba(12, 31, 58, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 1000;
  padding: 10px 16px; background: var(--white); color: var(--ink);
  transform: translateY(-150%); border-radius: 8px;
}
.skip-link:focus { transform: none; }
.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: 112px 0; }
.section-dark { background: var(--ink); color: var(--white); }
.section-soft { background: #eef3f8; }
.eyebrow {
  margin: 0 0 18px; color: var(--blue); font-size: 12px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase;
}
.section-dark .eyebrow { color: var(--cyan); }
.section-heading { max-width: 720px; margin-bottom: 52px; }
.section-heading h2, .contact-copy h2, .fit-copy h2 {
  margin: 0 0 20px; font-size: clamp(34px, 4vw, 56px); line-height: 1.15; letter-spacing: -.04em;
}
.section-heading > p:last-child, .contact-copy > p, .fit-copy > p { margin: 0; color: var(--muted); font-size: 17px; }
.section-dark .section-heading > p:last-child, .section-dark .contact-copy > p { color: #aebbd0; }
.heading-row { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; }
.heading-row > p { padding-bottom: 7px; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(7,17,31,.92);
  backdrop-filter: blur(18px); transition: box-shadow .25s ease;
}
.site-header.scrolled { box-shadow: 0 12px 30px rgba(0,0,0,.2); background: rgba(7,17,31,.97); }
.nav-shell { height: 78px; display: flex; align-items: center; justify-content: space-between; }
.brand { width: 230px; display: block; }
.brand img { width: 100%; height: 55px; object-fit: contain; object-position: left center; }
.site-nav { display: flex; align-items: center; gap: 30px; color: #d6dfec; font-size: 14px; }
.site-nav a { transition: color .2s ease; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--white); }
.nav-cta { padding: 10px 18px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; }
.menu-toggle { display: none; color: var(--white); background: transparent; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 9px 16px; }

.hero { padding: 165px 0 105px; min-height: 840px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: center; }
.hero h1 { margin: 0 0 28px; font-size: clamp(48px, 5.25vw, 70px); line-height: 1.08; letter-spacing: -.065em; }
.hero h1 span { color: var(--cyan); }
.hero-lead { max-width: 650px; margin: 0; color: #b7c2d3; font-size: 18px; }
.hero-actions { display: flex; gap: 14px; margin: 38px 0 52px; }
.button {
  display: inline-flex; min-height: 50px; align-items: center; justify-content: center;
  padding: 13px 24px; border: 1px solid transparent; border-radius: 999px; font-weight: 800;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: #03101c; background: var(--cyan); }
.button-primary:hover { background: #64eaf3; }
.button-ghost { color: var(--white); border-color: rgba(255,255,255,.25); }
.button-ghost:hover { border-color: rgba(255,255,255,.55); }
.button-wide { width: 100%; border: 0; }
.trust-row { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.14); }
.trust-row li { display: flex; gap: 14px; align-items: center; padding: 18px; background: var(--ink); }
.trust-row strong { color: var(--cyan); font-size: 12px; }
.trust-row span { color: #d1dae7; font-size: 13px; line-height: 1.45; }

.project-console { padding: 28px; background: #0e1e31; border: 1px solid rgba(255,255,255,.13); border-radius: 26px; box-shadow: 0 35px 90px rgba(0,0,0,.32); transform-origin: 50% 65%; }
.console-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.console-label { color: #71839d; font-size: 10px; letter-spacing: .16em; }
.console-head h2 { margin: 5px 0 0; font-size: 24px; }
.live-badge { color: var(--green); background: rgba(78,214,160,.1); border: 1px solid rgba(78,214,160,.25); padding: 7px 11px; border-radius: 999px; font-size: 11px; }
.console-progress { margin: 28px 0 20px; padding: 20px; background: #12263d; border-radius: 16px; }
.progress-meta { display: flex; justify-content: space-between; color: #aebcd0; font-size: 12px; }
.progress-meta strong { color: var(--white); font-size: 15px; }
.progress-track { height: 7px; margin-top: 13px; overflow: hidden; background: #24364c; border-radius: 20px; }
.progress-track span { display: block; height: 100%; background: var(--cyan); border-radius: inherit; }
.console-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.console-card { padding: 19px; background: #12263d; border-radius: 16px; }
.console-card span, .console-card small { display: block; color: #8798af; font-size: 11px; }
.console-card strong { display: block; margin: 6px 0 3px; font-size: 31px; }
.activity-list { margin-top: 20px; border-top: 1px solid rgba(255,255,255,.09); }
.activity-list > div { display: grid; grid-template-columns: 50px 1fr auto; align-items: center; gap: 12px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
.activity-list time, .activity-list span { color: #7e90a8; font-size: 10px; }
.activity-list p { margin: 0; color: #dce5f1; font-size: 12px; }
.console-note { margin: 17px 0 0; color: #8294ac; font-size: 11px; }

.proof-strip { background: var(--white); border-bottom: 1px solid var(--line); }
.proof-grid { min-height: 116px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; }
.proof-grid p { margin: 0; padding: 0 28px; color: var(--muted); font-size: 13px; border-right: 1px solid var(--line); }
.proof-grid p:first-child { padding-left: 0; }
.proof-grid p:last-child { border: 0; }
.proof-grid span { display: block; margin-bottom: 4px; color: var(--ink); font-size: 16px; font-weight: 900; }

.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { min-height: 430px; display: flex; flex-direction: column; padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 16px 40px rgba(21,41,71,.06); }
.service-featured { background: var(--ink); color: var(--white); border-color: var(--ink); }
.card-index { color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.service-featured .card-index { color: var(--cyan); }
.service-card h3 { margin: 22px 0 15px; font-size: 28px; letter-spacing: -.03em; }
.service-card p { margin: 0; color: var(--muted); font-size: 15px; }
.service-featured p { color: #b2bfd0; }
.service-card ul { margin: auto 0 0; padding: 24px 0 0; list-style: none; border-top: 1px solid var(--line); }
.service-featured ul { border-color: rgba(255,255,255,.15); }
.service-card li { padding: 7px 0; color: #3f4c5f; font-size: 14px; }
.service-card li::before { content: "—"; margin-right: 10px; color: var(--blue); }
.service-featured li { color: #d7e0ec; }
.service-featured li::before { color: var(--cyan); }

.case-tabs { display: flex; gap: 8px; margin-bottom: 20px; }
.case-tabs button, .board-nav button { padding: 11px 18px; color: var(--muted); background: transparent; border: 1px solid #cdd6e1; border-radius: 999px; font-weight: 700; }
.case-tabs button[aria-selected="true"] { color: var(--white); background: var(--ink); border-color: var(--ink); }
.case-stage { display: grid; grid-template-columns: 1.2fr .8fr; overflow: hidden; background: var(--white); border-radius: 26px; box-shadow: var(--shadow); transition: box-shadow .35s ease, transform .35s ease; }
.case-media { min-height: 580px; background: #dce6f2; overflow: hidden; }
.case-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: opacity .2s ease; }
.case-copy { display: flex; flex-direction: column; justify-content: center; padding: 56px; transition: opacity .18s ease, transform .18s ease; }
.case-kicker { color: var(--blue); font-size: 12px; font-weight: 900; letter-spacing: .05em; }
.case-copy h3 { margin: 20px 0; font-size: clamp(29px, 3vw, 43px); line-height: 1.18; letter-spacing: -.04em; }
.case-copy > p { color: var(--muted); }
.case-points { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.case-points span { padding: 8px 12px; color: #324157; background: #edf2f7; border-radius: 8px; font-size: 12px; }
.case-disclaimer { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 11px; }

.tracking-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.tracking .section-heading { margin: 0; }
.tracking-benefit { margin-top: 34px; padding: 22px; border-left: 3px solid var(--cyan); background: #0d1b2d; }
.tracking-benefit strong, .tracking-benefit span { display: block; }
.tracking-benefit strong { margin-bottom: 6px; color: var(--white); }
.tracking-benefit span { color: #9aabc1; font-size: 13px; }
.tracking-board { padding: 28px; color: var(--text); background: var(--white); border-radius: 26px; box-shadow: 0 35px 90px rgba(0,0,0,.3); transition: box-shadow .35s ease, transform .35s ease; }
.board-nav { display: flex; gap: 8px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.board-nav button { padding: 8px 13px; font-size: 12px; }
.board-nav button[aria-selected="true"] { color: var(--ink); background: #dffbfc; border-color: #9deef3; }
.board-caption { margin: 24px 0 12px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.milestone-list { display: grid; gap: 8px; }
.milestone { display: grid; grid-template-columns: 38px 1fr auto; gap: 13px; align-items: center; padding: 15px; background: #f4f6f9; border: 1px solid transparent; border-radius: 13px; }
.milestone > span { display: grid; width: 34px; height: 34px; place-items: center; color: #7a8798; background: var(--white); border-radius: 50%; font-size: 11px; font-weight: 800; }
.milestone strong, .milestone small { display: block; }
.milestone strong { font-size: 13px; }
.milestone small { margin-top: 2px; color: #7a8798; font-size: 10px; }
.milestone b { color: #8694a6; font-size: 10px; }
.milestone.done > span { color: #056941; background: #dff7ec; }
.milestone.done b { color: #078557; }
.milestone.active { background: #effcff; border-color: #9deef3; }
.milestone.active > span { color: #053a50; background: var(--cyan); }
.milestone.active b { color: #058094; }

.fit-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 90px; align-items: start; }
.fit-list { border-top: 1px solid var(--line); }
.fit-list > div { display: grid; grid-template-columns: 90px 1fr; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.fit-list span { color: var(--blue); font-size: 12px; font-weight: 900; }
.fit-list p { margin: 0; font-size: 16px; }
.fit-list .muted span { color: #8a6475; }

.process-list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #cbd5e1; }
.process-list li { min-height: 220px; padding: 28px 24px; border-right: 1px solid #cbd5e1; }
.process-list li:first-child { border-left: 1px solid #cbd5e1; }
.process-list > li > span { color: var(--blue); font-size: 12px; font-weight: 900; }
.process-list h3 { margin: 58px 0 10px; font-size: 18px; }
.process-list p { margin: 0; color: var(--muted); font-size: 13px; }

.confidence-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.confidence-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.confidence-grid span { color: var(--blue); font-size: 11px; font-weight: 900; }
.confidence-grid h3 { margin: 25px 0 10px; font-size: 22px; }
.confidence-grid p { margin: 0; color: var(--muted); font-size: 13px; }

.contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: start; }
.contact-copy dl { margin: 40px 0 0; }
.contact-copy dl > div { padding: 17px 0; border-top: 1px solid rgba(255,255,255,.12); }
.contact-copy dt { color: var(--cyan); font-size: 11px; font-weight: 900; }
.contact-copy dd { margin: 4px 0 0; color: #cad4e1; font-size: 14px; }
.brief-form { padding: 32px; color: var(--text); background: var(--white); border-radius: 24px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.brief-form label { display: block; margin-bottom: 18px; color: #3d495a; font-size: 12px; font-weight: 800; }
.brief-form select, .brief-form textarea {
  width: 100%; margin-top: 8px; padding: 13px 14px; color: var(--text); background: #f4f6f9;
  border: 1px solid #d8e0ea; border-radius: 10px; outline: none;
}
.brief-form select:focus, .brief-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(10,140,255,.12); }
.brief-form textarea { resize: vertical; }
.form-note { margin: 14px 0 0; color: #7e8998; font-size: 11px; text-align: center; }
.brief-result { margin-top: 20px; padding: 18px; background: #eef7f9; border: 1px solid #bce8eb; border-radius: 12px; }
.brief-result > div { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.brief-result button { color: #075d67; background: transparent; border: 0; font-size: 12px; font-weight: 900; }
.brief-result pre { margin: 14px 0 0; white-space: pre-wrap; color: #415064; font-family: inherit; font-size: 12px; }

.faq-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 90px; }
.faq .section-heading { margin: 0; }
.accordion { border-top: 1px solid var(--line); }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion summary { padding: 23px 38px 23px 0; font-size: 17px; font-weight: 800; cursor: pointer; }
.accordion p { margin: -4px 0 24px; color: var(--muted); font-size: 14px; }

.site-footer { color: #b5c1d0; background: #030912; }
.footer-main { min-height: 230px; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.footer-brand img { width: 260px; height: 68px; object-fit: contain; object-position: left center; }
.footer-brand p { margin: 12px 0 0; font-size: 12px; }
.footer-status { min-width: 300px; padding: 23px; border: 1px solid #1c2c40; border-radius: 16px; }
.footer-status span, .footer-status small { display: block; color: #71839a; font-size: 11px; }
.footer-status strong { display: block; margin: 7px 0; color: var(--green); }
.footer-bottom { display: flex; justify-content: space-between; padding: 22px 0; border-top: 1px solid #152235; color: #65758b; font-size: 11px; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 200; padding: 13px 18px; color: var(--white); background: #0d2637; border-radius: 10px; box-shadow: var(--shadow); opacity: 0; transform: translateY(14px) scale(.98); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.toast.show { opacity: 1; transform: none; }
.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .72s cubic-bezier(.22,1,.36,1), transform .72s cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay, 0ms); }
.js .reveal.visible { opacity: 1; transform: none; }

/* Motion system: brief entrance, staggered reveals and responsive interaction feedback. */
.js .hero-copy.reveal,
.js .project-console.reveal { opacity: 0; }
.js.motion-ready .hero-copy.reveal {
  animation: hero-copy-enter .82s cubic-bezier(.22,1,.36,1) .08s both;
}
.js.motion-ready .project-console.reveal {
  animation: console-enter .9s cubic-bezier(.22,1,.36,1) .22s both;
}
.js.motion-ready .hero-copy .eyebrow,
.js.motion-ready .hero-copy h1,
.js.motion-ready .hero-copy .hero-lead,
.js.motion-ready .hero-copy .hero-actions,
.js.motion-ready .hero-copy .trust-row {
  animation: hero-item-enter .68s cubic-bezier(.22,1,.36,1) both;
}
.js.motion-ready .hero-copy .eyebrow { animation-delay: .14s; }
.js.motion-ready .hero-copy h1 { animation-delay: .21s; }
.js.motion-ready .hero-copy .hero-lead { animation-delay: .28s; }
.js.motion-ready .hero-copy .hero-actions { animation-delay: .35s; }
.js.motion-ready .hero-copy .trust-row { animation-delay: .42s; }
.js.motion-ready .project-console .progress-track span {
  transform-origin: left center;
  animation: progress-grow .9s cubic-bezier(.22,1,.36,1) .72s both;
}
.js.motion-ready .project-console .console-card,
.js.motion-ready .project-console .activity-list > div {
  animation: console-item-enter .55s cubic-bezier(.22,1,.36,1) both;
}
.js.motion-ready .project-console .console-card:nth-child(1) { animation-delay: .48s; }
.js.motion-ready .project-console .console-card:nth-child(2) { animation-delay: .56s; }
.js.motion-ready .project-console .activity-list > div:nth-child(1) { animation-delay: .64s; }
.js.motion-ready .project-console .activity-list > div:nth-child(2) { animation-delay: .70s; }
.js.motion-ready .project-console .activity-list > div:nth-child(3) { animation-delay: .76s; }
.case-stage.is-switching .case-copy { opacity: 0; transform: translateY(8px); }
.case-stage.is-switching .case-media img { opacity: 0; transform: scale(1.015); }
.case-stage.is-settling .case-copy { animation: panel-settle .38s cubic-bezier(.22,1,.36,1) both; }
.case-stage.is-settling .case-media img { animation: image-settle .48s cubic-bezier(.22,1,.36,1) both; }
.tracking-board.is-switching [data-track-panel] { opacity: 0; transform: translateY(8px); }
.tracking-board [data-track-panel] { transition: opacity .18s ease, transform .18s ease; }
.tracking-board.is-settling [data-track-panel] { animation: panel-settle .38s cubic-bezier(.22,1,.36,1) both; }
.button:active, .case-tabs button:active, .board-nav button:active { transform: translateY(0) scale(.97); }

@media (hover: hover) {
  .service-card, .confidence-grid article {
    transition: transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s ease, border-color .32s ease;
  }
  .service-card:hover, .confidence-grid article:hover {
    transform: translateY(-6px);
    border-color: #c8d5e4;
    box-shadow: 0 24px 52px rgba(21,41,71,.11);
  }
  .service-featured:hover { border-color: #28415f; box-shadow: 0 28px 58px rgba(7,17,31,.22); }
  .case-stage:hover, .tracking-board:hover { transform: translateY(-3px); box-shadow: 0 34px 82px rgba(12,31,58,.17); }
  .tracking-board:hover { box-shadow: 0 40px 96px rgba(0,0,0,.34); }
  .case-tabs button, .board-nav button { transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
  .case-tabs button:hover, .board-nav button:hover { transform: translateY(-2px); }
}

@keyframes hero-copy-enter {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}
@keyframes console-enter {
  from { opacity: 0; transform: translate3d(24px,22px,0) scale(.975); }
  to { opacity: 1; transform: none; }
}
@keyframes hero-item-enter {
  from { opacity: 0; transform: translateY(13px); }
  to { opacity: 1; transform: none; }
}
@keyframes progress-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes console-item-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes panel-settle {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: none; }
}
@keyframes image-settle {
  from { opacity: 0; transform: scale(1.018); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 980px) {
  .section { padding: 84px 0; }
  .hero-grid, .tracking-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero-grid { gap: 55px; }
  .project-console { max-width: 620px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 360px; }
  .case-stage { grid-template-columns: 1fr; }
  .case-media { min-height: 500px; }
  .case-copy { padding: 42px; }
  .fit-grid, .faq-grid { grid-template-columns: 1fr; gap: 45px; }
  .process-list { grid-template-columns: repeat(2, 1fr); }
  .process-list li:nth-child(odd) { border-left: 1px solid #cbd5e1; }
  .process-list li:nth-child(even) { border-left: 0; }
  .confidence-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .container { width: min(100% - 30px, 1180px); }
  .section { padding: 70px 0; }
  .nav-shell { height: 68px; }
  .brand { width: 185px; }
  .brand img { height: 48px; }
  .menu-toggle { display: block; }
  .site-nav {
    position: fixed; inset: 68px 0 auto; display: none; flex-direction: column; align-items: stretch; gap: 0;
    padding: 18px 22px 24px; background: var(--ink); border-top: 1px solid rgba(255,255,255,.1);
  }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
  .site-nav .nav-cta { margin-top: 10px; padding: 12px 16px; text-align: center; border: 1px solid rgba(255,255,255,.25); }
  .hero { padding: 125px 0 72px; }
  .hero h1 { font-size: 42px; }
  .hero-lead { font-size: 16px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .trust-row { grid-template-columns: 1fr; }
  .proof-grid { grid-template-columns: 1fr; padding: 18px 0; }
  .proof-grid p, .proof-grid p:first-child { padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .proof-grid p:last-child { border-bottom: 0; }
  .heading-row { grid-template-columns: 1fr; gap: 10px; }
  .section-heading h2, .contact-copy h2, .fit-copy h2 { font-size: 36px; }
  .case-tabs { overflow-x: auto; padding-bottom: 6px; }
  .case-tabs button { flex: 0 0 auto; }
  .case-media { min-height: 340px; }
  .case-copy { padding: 30px 24px; }
  .tracking-board { padding: 20px; }
  .board-nav { overflow-x: auto; }
  .board-nav button { flex: 0 0 auto; }
  .milestone { grid-template-columns: 34px 1fr; }
  .milestone b { grid-column: 2; }
  .fit-list > div { grid-template-columns: 70px 1fr; gap: 12px; }
  .process-list { grid-template-columns: 1fr; }
  .process-list li, .process-list li:nth-child(even), .process-list li:nth-child(odd) { min-height: auto; border-left: 1px solid #cbd5e1; }
  .process-list h3 { margin-top: 28px; }
  .confidence-grid { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .brief-form { padding: 24px 18px; }
  .footer-main { align-items: flex-start; flex-direction: column; padding: 55px 0; }
  .footer-status { min-width: 0; width: 100%; }
  .footer-bottom { flex-direction: column; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .js .reveal { opacity: 1; transform: none; }
  .js .hero-copy.reveal, .js .project-console.reveal,
  .js.motion-ready .hero-copy .eyebrow, .js.motion-ready .hero-copy h1,
  .js.motion-ready .hero-copy .hero-lead, .js.motion-ready .hero-copy .hero-actions,
  .js.motion-ready .hero-copy .trust-row, .project-console .console-card,
  .project-console .activity-list > div, .progress-track span {
    opacity: 1; transform: none;
  }
}
