:root {
  --ink: #251f1b;
  --green: #aa1021;
  --green-dark: #761019;
  --sand: #ddb354;
  --paper: #f5efe5;
  --white: #fffaf2;
  --muted: #746b62;
  --line: #ded3c4;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Noto Sans SC", "PingFang SC", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }

.site-header {
  position: relative;
  z-index: 10;
  background: rgba(245, 239, 229, .95);
  border-bottom: 1px solid var(--line);
}
.nav-wrap {
  width: min(1340px, calc(100% - 72px));
  height: 74px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-logo { width: 44px; height: 44px; display: block; object-fit: cover; }
.brand-mark {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: white;
  background: var(--green);
  font-family: "Noto Serif SC", serif;
  font-size: 21px;
  font-weight: 700;
}
.brand-name { font-size: 17px; line-height: 1.1; font-weight: 800; letter-spacing: .08em; }
.brand-name small { display: block; margin-top: 6px; color: #82766c; font-size: 9px; font-weight: 500; letter-spacing: .26em; }
.nav-note { margin: 0 auto; color: #7b7067; font-size: 12px; letter-spacing: .16em; }
.resource-nav { display: flex; margin-left: auto; margin-right: 18px; border-left: 1px solid var(--line); }
.resource-nav a { min-width: 154px; height: 50px; padding: 0 17px; display: flex; align-items: center; gap: 10px; color: #625951; border-right: 1px solid var(--line); text-decoration: none; transition: background .2s,color .2s; }
.resource-nav a:hover { color: var(--green); background: rgba(170,16,33,.045); }
.resource-icon { width: 25px; height: 25px; display: grid; place-items: center; color: var(--green); border: 1px solid rgba(170,16,33,.35); border-radius: 50%; font-family: Georgia,serif; font-size: 12px; }
.resource-nav b, .resource-nav small { display: block; }
.resource-nav b { font-size: 12px; font-weight: 600; }
.resource-nav small { margin-top: 3px; color: #a0958a; font-size: 8px; }
.nav-contact { padding: 11px 18px; color: var(--ink); background: transparent; border: 1px solid var(--green); font-family: inherit; text-decoration: none; font-size: 13px; font-weight: 600; cursor: pointer; }
.nav-contact span { margin-left: 12px; }

.hero {
  width: min(1340px, calc(100% - 72px));
  min-height: auto;
  margin: 0 auto;
  padding: 48px 0 52px;
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  align-items: center;
  gap: clamp(56px, 7vw, 110px);
}
.overline { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; color: var(--green); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.overline span { width: 36px; height: 2px; background: var(--sand); }
h1 { margin: 0; font-size: clamp(48px, 5.3vw, 78px); line-height: 1.13; letter-spacing: -.055em; font-weight: 800; }
h1 em { color: var(--green); font-style: normal; }
.intro { margin: 24px 0 17px; color: #625850; font-size: 16px; line-height: 1.8; }
.questions { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.questions span { min-height: 52px; display: flex; align-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 600; }
.questions i { width: 43px; color: #b58a3e; font-family: Georgia, serif; font-size: 11px; font-style: normal; text-align: center; }
.hero-actions { margin-top: 24px; display: flex; align-items: center; gap: 28px; }
.primary-button { min-width: 176px; padding: 15px 19px; display: inline-flex; justify-content: space-between; background: var(--green); color: white; border: 0; font-family: inherit; text-decoration: none; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .2s, transform .2s; }
.primary-button:hover { background: var(--green-dark); transform: translateY(-2px); }
.hero-actions p { margin: 0; padding-left: 24px; border-left: 1px solid var(--line); color: #8a8179; font-size: 10px; line-height: 1.65; }
.hero-actions p b { color: var(--ink); font-size: 12px; }

.story-gallery { position: relative; height: 520px; min-height: 0; }
.photo { position: absolute; margin: 0; overflow: hidden; background: #d9cfc1; }
.photo img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .7s ease; }
.photo:hover img { transform: scale(1.025); }
.photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 44px 18px 16px; display: flex; align-items: baseline; gap: 10px; color: white; background: linear-gradient(transparent, rgba(37, 24, 21, .8)); }
.photo figcaption span { font-family: Georgia, serif; font-size: 11px; opacity: .7; }
.photo figcaption b { font-size: 13px; }
.photo figcaption small { margin-left: auto; font-size: 9px; opacity: .75; }
.photo-main { left: 0; top: 0; width: 60%; height: 78%; }
.photo-main img { object-position: center 62%; }
.photo-talk { right: 0; top: 8%; width: 36.5%; height: 39%; }
.photo-live { right: 0; top: 51%; width: 36.5%; height: 33%; }
.photo-live img { object-position: center 25%; }
.experience-card { position: absolute; left: 8%; bottom: 0; width: 44%; min-height: 124px; padding: 20px 24px; color: white; background: var(--green); box-shadow: 0 20px 46px rgba(91, 25, 27, .22); }
.experience-card strong { font-size: 18px; }
.experience-card p { margin: 6px 0 14px; color: rgba(255,255,255,.76); font-size: 12px; line-height: 1.6; }
.experience-card span { font-family: Georgia, serif; color: var(--sand); font-size: 8px; letter-spacing: .25em; }

.problems { padding: 128px 0 120px; background: #fffaf2; border-top: 1px solid var(--line); }
.section-wrap { width: min(1340px, calc(100% - 72px)); margin: 0 auto; }
.section-heading { position: relative; display: grid; grid-template-columns: 1fr 1.2fr .75fr; align-items: end; padding-bottom: 46px; border-bottom: 1px solid var(--line); }
.section-heading > p { align-self: start; margin: 6px 0 0; color: #a37d39; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.section-heading > p span { margin-right: 12px; color: var(--green); font-family: Georgia, serif; font-size: 12px; }
.section-heading h2 { margin: 0; font-size: clamp(37px, 4vw, 57px); line-height: 1.2; letter-spacing: -.045em; }
.section-heading h2 em { color: var(--green); font-style: normal; }
.heading-note { justify-self: end; padding-left: 24px; border-left: 1px solid var(--line); color: #81776e; font-size: 12px; line-height: 1.9; }
.problem-list { display: grid; grid-template-columns: repeat(4, 1fr); }
.problem-list article { position: relative; min-height: 350px; padding: 34px 30px 38px; border-right: 1px solid var(--line); transition: background .2s; }
.problem-list article:first-child { border-left: 1px solid var(--line); }
.problem-list article:hover { background: #f6eee2; }
.problem-number { display: block; color: #b18b48; font-family: Georgia, serif; font-size: 11px; }
.problem-icon { position: relative; width: 72px; height: 64px; margin: 48px 0 38px; color: var(--green); }
.icon-user:before { content: ""; position: absolute; left: 12px; top: 4px; width: 15px; height: 15px; border: 1.5px solid currentColor; border-radius: 50%; }
.icon-user:after { content: ""; position: absolute; left: 3px; top: 29px; width: 32px; height: 22px; border: 1.5px solid currentColor; border-radius: 22px 22px 0 0; border-bottom: 0; }
.icon-gap { position: absolute; left: 48px; top: 5px; width: 1px; height: 48px; background: var(--sand); transform: rotate(26deg); }
.icon-content i { position: absolute; left: 4px; width: 47px; height: 11px; border: 1.5px solid currentColor; }
.icon-content i:nth-child(1) { top: 5px; }
.icon-content i:nth-child(2) { top: 25px; width: 35px; }
.icon-content i:nth-child(3) { top: 45px; width: 21px; }
.icon-convert { display: flex; align-items: center; gap: 8px; }
.icon-convert i { width: 22px; height: 30px; border: 1.5px solid currentColor; }
.icon-convert b { color: var(--sand); font-size: 18px; font-weight: 400; }
.icon-build i { position: absolute; bottom: 9px; width: 15px; border: 1.5px solid currentColor; border-bottom: 0; }
.icon-build i:nth-child(1) { left: 3px; height: 30px; }
.icon-build i:nth-child(2) { left: 24px; height: 47px; }
.icon-build i:nth-child(3) { left: 45px; height: 37px; }
.problem-list h3 { margin: 0 0 16px; font-size: 19px; }
.problem-list p { margin: 0; color: #7a7068; font-size: 12px; line-height: 1.9; }
.problem-answer { min-height: 126px; padding: 26px 32px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 26px; color: white; background: var(--green); }
.answer-mark { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.34); font-family: Georgia, serif; font-size: 21px; }
.problem-answer p { margin: 0; color: rgba(255,255,255,.67); font-size: 13px; line-height: 1.8; }
.problem-answer strong { color: white; font-size: 16px; }
.answer-path { display: flex; align-items: center; gap: 16px; }
.answer-path span { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.33); border-radius: 50%; color: white; font-size: 11px; }
.answer-path i { color: var(--sand); font-style: normal; font-size: 13px; }

.module { padding: 94px 0; }
.module-head { display: grid; grid-template-columns: .85fr 1.35fr .8fr; align-items: end; margin-bottom: 46px; }
.module-index { align-self: start; margin: 8px 0 0; color: #a47d38; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.module-index span { margin-right: 12px; color: var(--green); font-family: Georgia, serif; }
.module-head h2, .ai-copy h2, .final-cta h2 { margin: 0; font-size: clamp(39px, 4.1vw, 59px); line-height: 1.18; letter-spacing: -.05em; }
.module-head h2 em, .ai-copy h2 em, .final-cta h2 em { color: var(--green); font-style: normal; }
.module-lead { justify-self: end; margin: 0; padding-left: 25px; border-left: 1px solid var(--line); color: #7b7168; font-size: 12px; line-height: 1.9; }

.growth-module { background: var(--paper); }
.growth-theory { margin-bottom: 42px; min-height: 174px; display: grid; grid-template-columns: .82fr 1.36fr .82fr; background: #fffaf2; border: 1px solid var(--line); }
.theory-intro,.trust-formula,.content-principles { padding: 28px 30px; }
.theory-intro { display: flex; flex-direction: column; justify-content: center; }
.theory-intro > span { margin-bottom: 14px; color: #a47d38; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.theory-intro h3 { margin: 0; font-size: 19px; line-height: 1.65; }
.theory-intro strong { color: var(--green); font-size: 25px; }
.trust-formula { display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.trust-formula > p { margin: 0 0 19px; display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.trust-formula > p b { color: var(--green); font-size: 24px; }
.trust-formula > p em { color: #bc9145; font-family: Georgia,serif; font-size: 19px; font-style: normal; font-weight: 400; }
.trust-formula > p strong { font-size: 16px; }
.trust-formula > div { display: flex; gap: 15px; }
.trust-formula > div span { color: #8a7f75; font-size: 9px; }
.trust-formula > div i { display: block; margin-bottom: 4px; color: #5d5149; font-size: 10px; font-style: normal; font-weight: 700; }
.content-principles { display: flex; flex-direction: column; justify-content: center; }
.content-principles small { margin-bottom: 10px; color: #a47d38; font-size: 8px; letter-spacing: .16em; }
.content-principles p { margin: 0; padding: 7px 0; display: grid; grid-template-columns: 48px 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.content-principles p:last-child { border-bottom: 0; }
.content-principles b { color: var(--green); font-size: 13px; }
.content-principles span { color: #84796f; font-size: 9px; }
.growth-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; }
.growth-photos { position: relative; min-height: 500px; }
.growth-photos figure { position: absolute; margin: 0; overflow: hidden; background: #d9cec0; }
.growth-photos img { width: 100%; height: 100%; display: block; object-fit: cover; }
.wide-photo { left: 0; top: 0; width: 76%; height: 78%; }
.wide-photo img { object-position: center; }
.small-photo { right: 0; top: 9%; width: 35%; height: 47%; border: 8px solid var(--paper); }
.growth-photos figcaption { position: absolute; inset: auto 0 0; padding: 45px 18px 17px; display: flex; justify-content: space-between; align-items: baseline; color: #fff; background: linear-gradient(transparent,rgba(42,23,21,.82)); }
.growth-photos figcaption b { font-size: 14px; }
.growth-photos figcaption span, .small-photo figcaption { font-size: 10px; }
.photo-quote { position: absolute; right: 4%; bottom: 0; width: 50%; padding: 28px; background: #fff; border: 1px solid var(--line); }
.photo-quote b { font-size: 16px; }
.photo-quote p { margin: 9px 0 0; color: #7d736a; font-size: 11px; line-height: 1.8; }
.training-plans { padding-top: 12px; }
.training-plans article { padding: 24px 0 25px; border-top: 1px solid var(--line); }
.training-plans article:last-of-type { border-bottom: 1px solid var(--line); }
.plan-title { display: flex; align-items: center; gap: 23px; margin-bottom: 17px; }
.plan-title strong { min-width: 80px; color: var(--green); font-family: Georgia, serif; font-size: 55px; font-weight: 400; line-height: 1; }
.plan-title strong small { margin-left: 3px; font-family: "Noto Sans SC"; font-size: 13px; }
.plan-title span { padding-left: 22px; border-left: 1px solid var(--line); }
.plan-title b, .plan-title i { display: block; }
.plan-title b { font-size: 18px; }
.plan-title i { margin-top: 6px; color: #958a80; font-size: 10px; font-style: normal; }
.training-plans ul { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; }
.training-plans li { padding: 11px 0; color: #5c524a; font-size: 12px; }
.training-plans li:before { content: "✓"; margin-right: 9px; color: #b88c3c; }
.plan-result { margin: 20px 0 0; padding: 17px 20px; background: var(--green); color: white; }
.plan-result span, .plan-result b { display: block; }
.plan-result span { margin-bottom: 7px; color: var(--sand); font-size: 9px; letter-spacing: .18em; }
.plan-result b { font-size: 13px; font-weight: 500; }
.delivery-program { padding-top: 3px; border-top: 1px solid var(--line); }
.program-metrics { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); }
.program-metrics p { margin: 0; padding: 19px 12px 18px; border-right: 1px solid var(--line); }
.program-metrics p:first-child { padding-left: 0; }
.program-metrics p:last-child { border-right: 0; }
.program-metrics b,.program-metrics span { display: block; }
.program-metrics b { color: var(--green); font-family: Georgia,serif; font-size: 36px; font-weight: 400; line-height: 1; }
.program-metrics span { margin-top: 8px; color: #7f746a; font-size: 9px; }
.teaching-promise { min-height: 87px; padding: 18px 0; display: flex; flex-direction: column; justify-content: center; border-bottom: 1px solid var(--line); }
.teaching-promise span { margin-bottom: 9px; color: #aa7f37; font-size: 9px; letter-spacing: .14em; }
.teaching-promise b { font-size: 13px; line-height: 1.7; }
.teaching-promise i { margin: 0 6px; color: var(--green); font-style: normal; font-weight: 400; }
.delivery-timeline article { min-height: 87px; display: grid; grid-template-columns: 75px 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.delivery-timeline article > span { color: #aa7f37; font-family: Georgia,serif; font-size: 10px; }
.delivery-timeline article > div { padding-left: 20px; border-left: 1px solid var(--line); }
.delivery-timeline b { font-size: 14px; }
.delivery-timeline p { margin: 6px 0 0; color: #7d7369; font-size: 10px; line-height: 1.65; }
.growth-acceptance { margin-top: 36px; min-height: 94px; padding: 19px 24px; display: grid; grid-template-columns: 270px 1fr; align-items: center; color: white; background: var(--green); }
.growth-acceptance > div { padding-right: 25px; border-right: 1px solid rgba(255,255,255,.25); }
.growth-acceptance span,.growth-acceptance b { display: block; }
.growth-acceptance span { margin-bottom: 7px; color: var(--sand); font-size: 9px; letter-spacing: .16em; }
.growth-acceptance b { font-size: 15px; }
.growth-acceptance > p { margin: 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.growth-acceptance i { min-width: 34px; height: 34px; padding: 0 8px; display: grid; place-items: center; color: white; border: 1px solid rgba(255,255,255,.3); border-radius: 18px; font-size: 10px; font-style: normal; white-space: nowrap; }
.growth-acceptance em { color: var(--sand); font-size: 10px; font-style: normal; }

.conversion-module { color: white; background: var(--green-dark); }
.light-head .module-index, .light-head .module-index span { color: var(--sand); }
.light-head h2 em { color: #e4d6b5; }
.light-head .module-lead { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.18); }
.conversion-body { display: grid; grid-template-columns: 1.05fr .95fr; gap: 0; }
.consult-photo { position: relative; min-height: 500px; margin: 0; overflow: hidden; }
.consult-photo img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.consult-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 75px 32px 30px; background: linear-gradient(transparent,rgba(48,15,16,.9)); }
.consult-photo figcaption span, .consult-photo figcaption b { display: block; }
.consult-photo figcaption span { color: var(--sand); font-size: 9px; letter-spacing: .18em; }
.consult-photo figcaption b { margin-top: 8px; font-size: 17px; }
.conversion-method { min-height: 500px; padding: 32px 46px; border: 1px solid rgba(255,255,255,.17); }
.method-label { margin: 0 0 17px; color: var(--sand); font-size: 10px; letter-spacing: .13em; }
.arrival-focus { position: relative; min-height: 105px; padding: 17px 20px; color: var(--ink); background: #f3e9d8; }
.arrival-focus span,.arrival-focus b { display: block; }
.arrival-focus span { margin-bottom: 5px; color: var(--green); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.arrival-focus b { color: var(--green); font-size: 24px; }
.arrival-focus p { position: absolute; right: 20px; top: 24px; margin: 0; color: #786c62; font-size: 10px; line-height: 1.7; }
.conversion-method ol { margin: 0; padding: 0; list-style: none; }
.conversion-method li { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; min-height: 62px; border-top: 1px solid rgba(255,255,255,.13); }
.conversion-method li span { color: var(--sand); font-family: Georgia, serif; font-size: 11px; }
.conversion-method li b { font-size: 15px; }
.conversion-method li small { color: rgba(255,255,255,.5); font-size: 10px; }
.ai-assist { margin-top: 22px; padding: 18px; color: var(--ink); background: #f3e9d8; }
.ai-assist p { margin: 0 0 17px; font-size: 12px; }
.ai-assist p span { margin-right: 9px; color: var(--green); font-weight: 800; }
.ai-assist div { display: flex; gap: 7px; }
.ai-assist i { flex: 1; padding: 10px 6px; border: 1px solid #dacbb6; font-size: 10px; font-style: normal; text-align: center; }
.value-conversion { padding: 16px 18px; border: 1px solid rgba(255,255,255,.2); }
.value-conversion > span { display: block; margin-bottom: 5px; color: var(--sand); font-size: 8px; letter-spacing: .13em; }
.value-conversion > b { font-size: 14px; }
.value-conversion > p { margin: 6px 0 11px; color: rgba(255,255,255,.57); font-size: 9px; line-height: 1.6; }
.value-conversion > div { display: flex; gap: 7px; }
.value-conversion i { flex: 1; padding: 7px 4px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.07); font-size: 8px; font-style: normal; text-align: center; white-space: nowrap; }
.design-system-showcase { padding: 34px 38px 32px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 38px; color: white; background: #241b17; border: 1px solid rgba(228,214,181,.18); }
.monitor-visual { position: relative; margin: 0; }
.monitor-frame { width: 100%; display: block; }
.monitor-screen { position: absolute; left: 13.25%; top: 14.75%; width: 73.55%; height: 58.25%; display: block; overflow: hidden; }
.monitor-screen img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top center; }
.monitor-visual figcaption { position: absolute; left: 50%; bottom: 2.5%; color: rgba(255,255,255,.6); font-size: 8px; letter-spacing: .12em; white-space: nowrap; transform: translateX(-50%); }
.system-kicker { margin: 0 0 16px; color: var(--sand); font-size: 9px; letter-spacing: .15em; }
.system-showcase-copy h3 { margin: 0; font-size: clamp(25px, 2.2vw, 34px); line-height: 1.3; }
.system-showcase-copy h3 b { color: #e4d6b5; }
.system-summary { margin: 18px 0 22px; color: rgba(255,255,255,.62); font-size: 11px; line-height: 1.85; }
.system-capability-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.system-capability-grid article { min-height: 78px; padding: 14px 16px; display: grid; grid-template-columns: 26px 1fr; align-content: center; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.045); }
.system-capability-grid span { grid-row: 1 / 3; align-self: start; color: var(--sand); font-family: Georgia, serif; font-size: 9px; }
.system-capability-grid b { font-size: 12px; }
.system-capability-grid small { margin-top: 6px; color: rgba(255,255,255,.45); font-size: 8px; }
.system-value-note { margin-top: 10px; padding: 16px 18px; background: #681f20; border: 1px solid rgba(228,214,181,.15); }
.system-value-note b { color: #f1dfbc; font-size: 12px; }
.system-value-note p { margin: 7px 0 0; color: rgba(255,255,255,.6); font-size: 9px; line-height: 1.65; }

.delivery-module { background: #fffaf2; }
.delivery-principle { margin-bottom: 18px; padding: 30px 32px 28px; color: white; background: #28201c; }
.principle-copy { display: grid; grid-template-columns: 190px 350px 1fr; align-items: center; gap: 22px; }
.principle-copy > span { color: var(--sand); font-size: 9px; letter-spacing: .15em; }
.principle-copy h3 { margin: 0; font-size: 28px; }
.principle-copy p { margin: 0; color: rgba(255,255,255,.57); font-size: 10px; line-height: 1.8; }
.delivery-flow { margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); list-style: none; border-left: 1px solid rgba(255,255,255,.15); border-top: 1px solid rgba(255,255,255,.15); }
.delivery-flow li { min-height: 78px; padding: 15px 18px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.delivery-flow span { color: var(--sand); font-family: Georgia, serif; font-size: 9px; }
.delivery-flow b { font-size: 13px; }
.delivery-flow .is-key { background: var(--green); }
.inspection-core { margin-bottom: 18px; padding: 28px 30px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 42px; color: var(--ink); background: #efe3d3; }
.inspection-core > div > span { color: var(--green); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.inspection-core h3 { margin: 9px 0 8px; font-size: 21px; }
.inspection-core p { margin: 0; color: #786c63; font-size: 11px; line-height: 1.8; }
.rectification-loop { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); list-style: none; border-left: 1px solid #d6c6b2; border-top: 1px solid #d6c6b2; }
.rectification-loop li { min-height: 44px; padding: 13px 10px; color: #6c5843; border-right: 1px solid #d6c6b2; border-bottom: 1px solid #d6c6b2; font-size: 9px; text-align: center; }
.acceptance-grid { margin-bottom: 24px; display: grid; grid-template-columns: repeat(3,1fr); border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.acceptance-grid article { min-height: 110px; padding: 20px 18px; display: grid; grid-template-columns: 44px 1fr; gap: 13px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.acceptance-grid span { width: 40px; height: 40px; display: grid; place-items: center; color: var(--green); background: #f2e6d6; border-radius: 12px; font-family: Georgia, serif; font-size: 11px; font-weight: 700; }
.acceptance-grid b { font-size: 13px; }
.acceptance-grid p { margin: 8px 0 0; color: #857a70; font-size: 9px; line-height: 1.7; }
.delivery-visibility { margin-bottom: 24px; padding: 36px 40px 32px; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 48px; color: white; background: #28201c; }
.delivery-phone-visual { margin: 0; }
.delivery-phone-visual img { width: 100%; max-height: 530px; display: block; object-fit: contain; }
.delivery-phone-visual figcaption { margin-top: 8px; color: rgba(255,255,255,.45); font-size: 8px; letter-spacing: .12em; text-align: center; }
.delivery-visibility-copy > span { color: var(--sand); font-size: 9px; letter-spacing: .14em; }
.delivery-visibility-copy h3 { margin: 14px 0 16px; font-size: clamp(28px,3vw,42px); line-height: 1.35; }
.delivery-visibility-copy > p { margin: 0 0 22px; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.85; }
.visibility-points { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.visibility-points article { min-height: 76px; padding: 15px 16px; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.045); }
.visibility-points b,.visibility-points small { display: block; }
.visibility-points b { font-size: 12px; }
.visibility-points small { margin-top: 7px; color: rgba(255,255,255,.47); font-size: 8px; line-height: 1.55; }
.camera-note { margin-top: 10px; padding: 18px 19px; background: #681f20; border: 1px solid rgba(228,214,181,.15); }
.camera-note b { color: #f1dfbc; font-size: 13px; }
.camera-note p { margin: 8px 0 0; color: rgba(255,255,255,.58); font-size: 9px; line-height: 1.7; }
.delivery-map-showcase { padding: 30px 36px 26px; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 38px; color: white; background: var(--green); }
.delivery-map-copy > span { color: var(--sand); font-size: 9px; letter-spacing: .15em; }
.delivery-map-copy h3 { margin: 13px 0 17px; font-size: clamp(25px,2.5vw,36px); line-height: 1.4; }
.delivery-map-copy h3 b { color: #efdcb6; }
.delivery-map-copy > p { margin: 0 0 20px; color: rgba(255,255,255,.6); font-size: 11px; line-height: 1.8; }
.delivery-map-copy > div { display: flex; flex-wrap: wrap; gap: 7px; }
.delivery-map-copy > div b { padding: 8px 10px; color: rgba(255,255,255,.8); border: 1px solid rgba(255,255,255,.18); font-size: 8px; }
.delivery-map-monitor { position: relative; margin: 0; }
.delivery-map-monitor .monitor-frame { width: 100%; display: block; }
.delivery-map-monitor .monitor-screen { left: 13.25%; top: 14.75%; width: 73.55%; height: 58.25%; }
.delivery-map-monitor .monitor-screen img { object-fit: cover; object-position: center; }
.delivery-map-monitor figcaption { position: absolute; left: 50%; bottom: 2.5%; color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .1em; white-space: nowrap; transform: translateX(-50%); }

.ai-module { background: #eadfce; }
.ai-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 120px; align-items: center; }
.ai-copy .module-index { margin-bottom: 26px; }
.ai-copy > p:not(.module-index) { margin: 23px 0 30px; color: #6d6259; font-size: 13px; line-height: 1.9; }
.ai-copy blockquote { margin: 0; padding: 20px 0 20px 25px; border-left: 3px solid var(--green); font-family: Georgia,"Noto Serif SC",serif; font-size: 21px; line-height: 1.6; }
.ai-work-list { background: #fffaf2; border-top: 1px solid #d9cbb8; }
.ai-work-list article { min-height: 94px; padding: 19px 25px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; border-bottom: 1px solid #d9cbb8; transition: background .2s; }
.ai-work-list article:hover { background: #f5ecdf; }
.ai-work-list .ai-content-card { min-height: 154px; background: #f7eee1; }
.ai-work-list article > span { color: #b18845; font-family: Georgia,serif; font-size: 11px; }
.ai-work-list b { font-size: 17px; }
.ai-work-list p { margin: 6px 0 0; color: #81766d; font-size: 11px; line-height: 1.7; }
.ai-work-list i { color: #b5a794; font-family: Georgia,serif; font-size: 9px; font-style: normal; letter-spacing: .15em; }
.ai-content-flow { margin-top: 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ai-content-flow small { padding: 5px 8px; color: var(--green); background: white; border: 1px solid #e2d4c1; font-size: 8px; font-weight: 700; }
.ai-content-flow em { color: #b18845; font-size: 9px; font-style: normal; }
.deployment-scope { margin-top: 34px; padding: 35px 38px 0; background: #fffaf2; border: 1px solid #d9cbb8; }
.deployment-scope-head { display: grid; grid-template-columns: .7fr 1.2fr 1.1fr; gap: 34px; align-items: end; padding-bottom: 28px; }
.deployment-scope-head > span { color: #ad8139; font-family: Georgia,serif; font-size: 8px; letter-spacing: .16em; }
.deployment-scope-head h3 { margin: 0; font-size: 25px; line-height: 1.45; letter-spacing: -.03em; }
.deployment-scope-head p { margin: 0; color: #80756c; font-size: 10px; line-height: 1.75; }
.deployment-grid { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid #dfd2c0; border-left: 1px solid #dfd2c0; }
.deployment-grid article { min-height: 145px; padding: 22px 17px; border-right: 1px solid #dfd2c0; }
.deployment-grid small { display: block; margin-bottom: 24px; color: #b48b49; font-family: Georgia,serif; font-size: 9px; }
.deployment-grid b { display: block; font-size: 13px; }
.deployment-grid p { margin: 9px 0 0; color: #857970; font-size: 9px; line-height: 1.7; }
.deployment-ownership { min-height: 64px; margin: 0 -38px; padding: 0 38px; display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 20px; color: white; background: #2b2420; }
.deployment-ownership span { color: #edcf98; font-size: 10px; font-weight: 700; }
.deployment-ownership b { font-size: 10px; font-weight: 500; }
.deployment-ownership em { padding: 8px 11px; color: #fff3dc; background: var(--green); font-size: 9px; font-style: normal; white-space: nowrap; }
.ai-analysis-showcase { margin-top: 68px; padding: 42px 48px; display: grid; grid-template-columns: .82fr 1.18fr; gap: 66px; align-items: center; color: white; background: var(--green); overflow: hidden; }
.analysis-phones { position: relative; height: 560px; margin: 0; }
.analysis-phone { position: absolute; width: 250px; height: 526px; padding: 11px; background: #f8f4ed; border: 1px solid rgba(255,255,255,.62); border-radius: 30px; box-shadow: 0 25px 48px rgba(35,0,6,.32); overflow: hidden; }
.analysis-phone::before { content: ""; position: absolute; z-index: 2; top: 17px; left: 50%; width: 62px; height: 15px; border-radius: 10px; background: #241f1c; transform: translateX(-50%); }
.analysis-phone > span { position: absolute; z-index: 3; left: 22px; bottom: 21px; padding: 7px 10px; color: white; background: rgba(111,13,24,.92); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.analysis-phone img { width: 100%; height: 100%; display: block; border-radius: 21px; object-fit: cover; object-position: top; }
.phone-leads { left: 2px; top: 18px; transform: rotate(-6deg); }
.phone-delivery { right: 2px; top: 1px; transform: rotate(5deg); }
.analysis-phones figcaption { position: absolute; left: 50%; bottom: 0; color: rgba(255,255,255,.52); font-size: 8px; letter-spacing: .12em; white-space: nowrap; transform: translateX(-50%); }
.analysis-kicker { margin: 0 0 16px; color: var(--sand); font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.analysis-copy h3 { margin: 0; font-size: clamp(30px,3.2vw,46px); line-height: 1.35; letter-spacing: -.04em; }
.analysis-copy h3 b { color: #f0d9ad; }
.analysis-summary { margin: 20px 0 23px; color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.9; }
.analysis-flow { padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 7px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.analysis-flow span { color: #f4e8d4; font-size: 9px; font-weight: 700; white-space: nowrap; }
.analysis-flow i { color: #c99b50; font-size: 10px; font-style: normal; }
.analysis-capabilities { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.analysis-capabilities article { min-height: 84px; padding: 16px 17px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.055); }
.analysis-capabilities b { color: white; font-size: 12px; }
.analysis-capabilities p { margin: 7px 0 0; color: rgba(255,255,255,.52); font-size: 9px; line-height: 1.65; }
.analysis-conclusion { margin: 14px 0 0; padding: 14px 17px; color: #eadfc9; background: #861621; font-size: 10px; line-height: 1.7; }
.analysis-conclusion span { margin-right: 9px; color: var(--sand); font-weight: 700; }

.final-cta { min-height: 470px; padding: 76px max(36px,calc((100% - 1340px)/2)); display: grid; grid-template-columns: 1fr 310px; align-items: center; color: var(--ink); background: var(--paper); border-bottom: 1px solid var(--line); }
.cta-text > p { margin: 0 0 30px; color: #b18132; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.cta-text > span { display: block; margin: 26px 0 36px; color: #746960; font-size: 13px; }
.cta-text .contact-trigger { width: 210px; padding: 17px 20px; display: flex; justify-content: space-between; color: #fff; background: var(--green); border: 0; font-family: inherit; text-decoration: none; font-size: 14px; font-weight: 600; cursor: pointer; }
.cta-side { padding: 37px; border-left: 1px solid var(--line); }
.cta-logo { width: 118px; height: 118px; display: block; margin-bottom: 23px; object-fit: cover; box-shadow: 0 12px 32px rgba(112,16,25,.15); }
.cta-side p { margin: 0; color: #887e75; font-size: 10px; line-height: 1.9; }
.cta-side p b { color: var(--ink); font-size: 14px; }

.next-placeholder { padding: 96px 24px; text-align: center; background: white; border-top: 1px solid var(--line); }
.next-placeholder span { color: #9a8b69; font-size: 11px; letter-spacing: .25em; }
.next-placeholder h2 { margin: 16px 0 10px; font-size: clamp(28px, 4vw, 48px); }
.next-placeholder p { margin: 0; color: var(--muted); font-size: 13px; }
footer { min-height: 72px; padding: 0 max(36px, calc((100% - 1340px)/2)); display: flex; justify-content: space-between; align-items: center; color: #8a8077; background: #fffaf2; border-top: 1px solid var(--line); font-size: 10px; letter-spacing: .1em; }
.site-toast { position: fixed; z-index: 50; left: 50%; bottom: 28px; padding: 12px 18px; color: white; background: #2b211d; box-shadow: 0 12px 30px rgba(43,33,29,.18); font-size: 12px; opacity: 0; pointer-events: none; transform: translate(-50%,12px); transition: .22s ease; }
.site-toast.show { opacity: 1; transform: translate(-50%,0); }
body.modal-open { overflow: hidden; }
.contact-modal[hidden] { display: none; }
.contact-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; }
.modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(30,23,20,.72); backdrop-filter: blur(4px); cursor: pointer; }
.modal-panel { position: relative; width: min(780px,100%); max-height: min(820px,calc(100vh - 48px)); padding: 36px 40px 38px; overflow-y: auto; background: #fffaf2; box-shadow: 0 30px 90px rgba(38,24,20,.28); }
.modal-close { position: absolute; right: 18px; top: 15px; width: 36px; height: 36px; color: #725f56; background: transparent; border: 0; font-size: 27px; font-weight: 300; cursor: pointer; }
.modal-brand { display: grid; grid-template-columns: 78px 1fr; gap: 23px; align-items: start; padding-bottom: 27px; border-bottom: 1px solid var(--line); }
.modal-brand img { width: 78px; height: 78px; display: block; object-fit: cover; }
.modal-brand span { color: #b3873f; font-size: 8px; letter-spacing: .2em; }
.modal-brand h2 { margin: 6px 0 8px; font-size: 28px; }
.modal-brand p { margin: 0; color: #7a7067; font-size: 11px; line-height: 1.7; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; padding-top: 27px; }
.contact-form label > span { display: block; margin-bottom: 8px; color: #61564e; font-size: 11px; font-weight: 600; }
.contact-form input,.contact-form select,.contact-form textarea { width: 100%; padding: 12px 13px; color: var(--ink); background: #f7f0e6; border: 1px solid #ded1bf; border-radius: 0; outline: none; font-family: inherit; font-size: 12px; transition: border .2s,background .2s; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { background: #fffdf8; border-color: var(--green); }
.contact-form textarea { resize: vertical; }
.full-field { grid-column: 1 / -1; }
.consent { display: flex; align-items: center; gap: 9px; }
.consent input { width: 15px; height: 15px; accent-color: var(--green); }
.consent span { margin: 0 !important; color: #8b8076 !important; font-size: 9px !important; font-weight: 400 !important; }
.form-submit { min-height: 48px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; color: white; background: var(--green); border: 0; font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.form-submit:disabled { cursor:wait; opacity:.72; }
.form-error { grid-column:1 / -1; margin:0; color:#a51e27; font-size:12px; line-height:1.5; }
.form-success { padding: 58px 20px 25px; text-align: center; }
.form-success:before { content: "✓"; width: 48px; height: 48px; margin: 0 auto 20px; display: grid; place-items: center; color: white; background: var(--green); border-radius: 50%; }
.form-success b { font-size: 22px; }
.form-success p { margin: 9px 0 25px; color: #7f746b; font-size: 12px; }
.form-success button { padding: 11px 30px; color: var(--green); background: transparent; border: 1px solid var(--green); font-family: inherit; cursor: pointer; }

@media (max-width: 980px) {
  .nav-wrap, .hero, .section-wrap { width: min(100% - 40px, 760px); }
  .nav-note { display: none; }
  .resource-nav { display: none; }
  .nav-contact { margin-left: auto; }
  .hero { min-height: auto; padding: 50px 0 56px; grid-template-columns: 1fr; gap: 46px; }
  .story-gallery { height: 520px; }
  .section-heading { grid-template-columns: .5fr 1.5fr; }
  .heading-note { display: none; }
  .problem-list { grid-template-columns: 1fr 1fr; }
  .problem-list article { min-height: 310px; border-bottom: 1px solid var(--line); }
  .problem-list article:nth-child(3) { border-left: 1px solid var(--line); }
  .problem-answer { grid-template-columns: auto 1fr; }
  .answer-path { grid-column: 1 / -1; justify-content: flex-end; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); }
  .module { padding: 78px 0; }
  .module-head { grid-template-columns: .5fr 1.5fr; }
  .module-lead { display: none; }
  .growth-layout, .conversion-body, .ai-layout { grid-template-columns: 1fr; }
  .growth-theory { grid-template-columns: 1fr 1.4fr; }
  .content-principles { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr 1fr 1fr; align-items: center; border-top: 1px solid var(--line); }
  .content-principles small { margin: 0 22px 0 0; }
  .content-principles p { border-bottom: 0; border-left: 1px solid var(--line); padding-left: 18px; }
  .training-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .training-plans article:last-of-type { border-bottom: 0; }
  .plan-result { grid-column: 1 / -1; }
  .growth-acceptance { grid-template-columns: 220px 1fr; }
  .growth-acceptance > p { flex-wrap: wrap; }
  .design-system-showcase { padding: 30px; grid-template-columns: 1fr; gap: 12px; }
  .monitor-visual { width: min(100%, 620px); margin: 0 auto; }
  .principle-copy { grid-template-columns: 1fr; gap: 12px; }
  .delivery-flow { margin-top: 22px; }
  .inspection-core { grid-template-columns: 1fr; gap: 22px; }
  .delivery-visibility,.delivery-map-showcase { grid-template-columns: 1fr; }
  .delivery-phone-visual { width: min(100%,620px); margin: 0 auto; }
  .delivery-map-monitor { width: min(100%,680px); margin: 0 auto; }
  .ai-layout { gap: 60px; }
  .deployment-scope-head { grid-template-columns: 1fr 1.5fr; }
  .deployment-scope-head p { grid-column: 1 / -1; }
  .deployment-grid { grid-template-columns: repeat(2,1fr); }
  .deployment-grid article:last-child { grid-column: 1 / -1; }
  .deployment-ownership { grid-template-columns: 1fr auto; }
  .deployment-ownership b { display: none; }
  .ai-analysis-showcase { padding: 40px 34px; grid-template-columns: 1fr; gap: 38px; }
  .analysis-phones { width: min(100%,560px); margin: 0 auto; }
  .final-cta { grid-template-columns: 1fr 230px; padding: 90px 40px; }
}

@media (max-width: 620px) {
  .nav-wrap { height: 70px; width: calc(100% - 28px); }
  .brand-mark { width: 35px; height: 35px; }
  .brand-logo { width: 38px; height: 38px; }
  .brand-name { font-size: 15px; }
  .nav-contact { padding: 9px 11px; font-size: 11px; }
  .nav-contact span { display: none; }
  .hero { width: calc(100% - 32px); padding: 38px 0 46px; }
  .section-wrap { width: calc(100% - 32px); }
  .overline { margin-bottom: 20px; font-size: 10px; letter-spacing: .12em; }
  h1 { font-size: 46px; }
  .intro { margin-top: 25px; font-size: 14px; }
  .questions { grid-template-columns: 1fr; }
  .questions span { min-height: 48px; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 15px; }
  .primary-button { width: 100%; }
  .hero-actions p { padding: 0; border: 0; }
  .story-gallery { height: 450px; min-height: 0; }
  .photo-main { width: 68%; height: 62%; }
  .photo-talk { top: 5%; width: 28%; height: 27%; }
  .photo-live { top: 35%; width: 28%; height: 27%; }
  .photo figcaption { padding: 35px 10px 10px; }
  .photo figcaption small { display: none; }
  .experience-card { left: 7%; bottom: 0; width: 72%; min-height: 128px; }
  .problems { padding: 88px 0 80px; }
  .section-heading { display: block; padding-bottom: 32px; }
  .section-heading > p { margin-bottom: 20px; }
  .section-heading h2 { font-size: 37px; }
  .problem-list { grid-template-columns: 1fr; }
  .problem-list article { min-height: auto; padding: 28px 20px 30px 92px; border-left: 1px solid var(--line); }
  .problem-list article:nth-child(3) { border-left: 1px solid var(--line); }
  .problem-number { position: absolute; left: 20px; top: 31px; }
  .problem-icon { position: absolute; left: 20px; top: 66px; width: 55px; height: 51px; margin: 0; transform: scale(.8); transform-origin: left top; }
  .problem-list h3 { font-size: 17px; }
  .problem-answer { padding: 25px 20px; grid-template-columns: auto 1fr; gap: 16px; }
  .answer-mark { width: 42px; height: 42px; }
  .problem-answer strong { font-size: 14px; }
  .answer-path { justify-content: space-between; gap: 5px; }
  .answer-path span { width: 43px; height: 43px; font-size: 10px; }
  .module { padding: 64px 0; }
  .module-head { display: block; margin-bottom: 30px; }
  .module-index { margin: 0 0 19px; }
  .module-head h2, .ai-copy h2, .final-cta h2 { font-size: 37px; }
  .growth-photos { min-height: 400px; }
  .growth-theory { margin-bottom: 30px; display: block; }
  .theory-intro,.trust-formula,.content-principles { padding: 22px 20px; }
  .trust-formula { border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .trust-formula > p { gap: 7px; }
  .trust-formula > p b { font-size: 20px; }
  .trust-formula > p strong { font-size: 13px; }
  .trust-formula > div { gap: 10px; }
  .content-principles { display: block; border-top: 0; }
  .content-principles small { display: block; margin: 0 0 8px; }
  .content-principles p { padding: 8px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .wide-photo { width: 83%; height: 67%; }
  .small-photo { top: 35%; width: 42%; height: 31%; border-width: 5px; }
  .growth-photos figcaption span { display: none; }
  .photo-quote { right: 2%; width: 76%; padding: 22px; }
  .training-plans { display: block; }
  .training-plans article { padding: 27px 4px; }
  .plan-title strong { min-width: 70px; font-size: 48px; }
  .program-metrics p { padding: 16px 8px; }
  .program-metrics b { font-size: 31px; }
  .delivery-timeline article { min-height: 82px; grid-template-columns: 67px 1fr; }
  .delivery-timeline article > div { padding-left: 15px; }
  .growth-acceptance { margin-top: 25px; padding: 21px 18px; display: block; }
  .growth-acceptance > div { padding: 0 0 17px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .growth-acceptance > p { margin-top: 17px; justify-content: flex-start; gap: 7px; }
  .growth-acceptance i { min-width: 30px; height: 30px; padding: 0 7px; }
  .conversion-method { min-height: 0; padding: 31px 20px; }
  .consult-photo { min-height: 340px; }
  .conversion-method li { grid-template-columns: 35px 1fr; }
  .conversion-method li small { display: none; }
  .arrival-focus p { position: static; margin-top: 9px; }
  .design-system-showcase { padding: 20px 16px 18px; gap: 6px; }
  .monitor-visual figcaption { bottom: 1.5%; font-size: 7px; }
  .system-kicker { margin-bottom: 12px; }
  .system-showcase-copy h3 { font-size: 26px; }
  .system-summary { margin: 13px 0 17px; }
  .system-capability-grid { grid-template-columns: 1fr; gap: 7px; }
  .system-capability-grid article { min-height: 68px; }
  .ai-assist div { flex-wrap: wrap; }
  .ai-assist i { min-width: 90px; }
  .delivery-principle { padding: 24px 18px 20px; }
  .principle-copy h3 { font-size: 25px; }
  .delivery-flow { grid-template-columns: 1fr; }
  .delivery-flow li { min-height: 54px; flex-direction: row; align-items: center; }
  .inspection-core { padding: 23px 18px; }
  .rectification-loop { grid-template-columns: 1fr 1fr; }
  .acceptance-grid { grid-template-columns: 1fr; }
  .acceptance-grid article { min-height: 96px; }
  .delivery-visibility { padding: 24px 16px 20px; gap: 16px; }
  .delivery-visibility-copy h3 { font-size: 30px; }
  .visibility-points { grid-template-columns: 1fr; }
  .delivery-map-showcase { padding: 25px 17px 19px; gap: 13px; }
  .delivery-map-copy h3 { font-size: 27px; }
  .ai-layout { display: block; }
  .ai-copy blockquote { margin-bottom: 32px; font-size: 18px; }
  .ai-work-list article { padding: 20px 16px; grid-template-columns: 34px 1fr; }
  .ai-work-list .ai-content-card { min-height: 178px; }
  .ai-work-list i { display: none; }
  .deployment-scope { width: calc(100% - 32px); margin-top: 26px; padding: 25px 18px 0; }
  .deployment-scope-head { display: block; }
  .deployment-scope-head h3 { margin-top: 12px; font-size: 23px; }
  .deployment-scope-head p { margin-top: 11px; }
  .deployment-grid { grid-template-columns: 1fr; }
  .deployment-grid article { min-height: 0; padding: 17px 14px; display: grid; grid-template-columns: 30px 1fr; }
  .deployment-grid article:last-child { grid-column: auto; }
  .deployment-grid small { grid-row: 1 / 3; margin: 2px 0 0; }
  .deployment-grid p { margin-top: 5px; }
  .deployment-ownership { min-height: 0; margin: 0 -18px; padding: 16px 18px; display: flex; flex-wrap: wrap; }
  .ai-analysis-showcase { width: calc(100% - 24px); margin-top: 42px; padding: 34px 18px 27px; gap: 30px; }
  .analysis-phones { height: 390px; }
  .analysis-phone { width: 174px; height: 366px; padding: 8px; border-radius: 22px; }
  .analysis-phone::before { top: 12px; width: 44px; height: 11px; }
  .analysis-phone img { border-radius: 15px; }
  .analysis-phone > span { left: 15px; bottom: 15px; padding: 5px 7px; font-size: 7px; }
  .analysis-phones figcaption { font-size: 7px; }
  .analysis-copy h3 { font-size: 30px; }
  .analysis-summary { font-size: 11px; }
  .analysis-flow { flex-wrap: wrap; justify-content: flex-start; }
  .analysis-capabilities { grid-template-columns: 1fr; }
  .final-cta { min-height: 0; padding: 58px 24px; display: block; }
  .cta-text > p { line-height: 1.8; }
  .cta-text > span { line-height: 1.8; }
  .cta-text a { width: 100%; }
  .cta-text .contact-trigger { width: 100%; }
  .cta-side { margin-top: 42px; padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .contact-modal { padding: 10px; }
  .modal-panel { max-height: calc(100vh - 20px); padding: 28px 20px 25px; }
  .modal-brand { grid-template-columns: 56px 1fr; gap: 15px; padding-right: 25px; }
  .modal-brand img { width: 56px; height: 56px; }
  .modal-brand h2 { font-size: 23px; }
  .contact-form { grid-template-columns: 1fr; gap: 14px; }
  .full-field { grid-column: auto; }
  footer { padding: 22px 16px; flex-direction: column; gap: 8px; text-align: center; }
}
