:root {
  --paper: #f7f7f3;
  --paper-deep: #eef2ed;
  --ink: #073b3a;
  --body: #333333;
  --muted: #66706d;
  --brand: #073b3a;
  --brand-dark: #042928;
  --emerald: #1fa884;
  --gold: #c79a3b;
  --line: #e8e8e3;
  --white: #ffffff;
  --content: min(1180px, calc(100% - 40px));
  --serif: "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --sans: "Source Han Sans SC", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

/* Brand asset operation system */
:root {
  --brand-ink: #142b3a;
  --brand-pine: #1d5645;
  --brand-gold: #b58a45;
  --brand-ivory: #f4f0e8;
  --brand-cinnabar: #c65a32;
}
.site-header--dark { color: #fff; background: #1d5645; border-color: rgba(255,255,255,.14); }
.site-header--dark .brand__name,.site-header--dark .site-nav a,.site-header--dark .brand__role,.site-header--dark .menu-toggle { color:#fff; }
.site-header--dark .brand__role { border-color:rgba(255,255,255,.24); color:rgba(255,255,255,.72); }
.site-header--dark .nav-cta { color:#fff!important; border-color:var(--brand-gold); }
.brand__mark { width:44px; height:44px; display:grid; place-items:center; }
.brand__mark img { width:100%; height:100%; object-fit:contain; }
.button-group { display:flex; flex-wrap:wrap; gap:14px; }
.button--gold { color:var(--brand-ink); background:var(--brand-gold); border-color:var(--brand-gold); box-shadow:none; }
.button--ghost { color:inherit; background:transparent; border-color:currentColor; box-shadow:none; }
.button--ghost:hover { color:#fff; background:var(--brand-pine); }
.asset-hero { min-height:650px; padding:clamp(68px,9vw,128px) max(20px,calc((100% - 1180px)/2)); color:#fff; background:#1d5645; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr); gap:8vw; align-items:center; }
.asset-hero .section-kicker,.asset-case .section-kicker,.asset-final .section-kicker { color:#d1aa67; }
.asset-hero h1 { max-width:900px; margin:0; font-family:"Songti SC","STSong",serif; font-size:clamp(46px,6.8vw,86px); font-weight:600; line-height:1.14; letter-spacing:.01em; }
.asset-hero__lead { max-width:760px; margin:30px 0; color:rgba(255,255,255,.82); font-size:clamp(17px,1.6vw,21px); line-height:1.85; }
.asset-hero__fit { max-width:760px; margin:32px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.62); }
.asset-hero__index { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.22); }
.asset-hero__index li { padding:22px 0; display:flex; gap:20px; border-bottom:1px solid rgba(255,255,255,.22); }
.asset-hero__index b { color:var(--brand-gold); font-weight:500; }
.asset-section,.asset-secondary { width:var(--content); margin:auto; padding:clamp(78px,9vw,126px) 0; }
.asset-heading { max-width:780px; margin-bottom:50px; }
.asset-heading h2,.asset-case h2,.asset-final h2,.asset-page-block h2 { margin:0; font-family:"Songti SC","STSong",serif; font-size:clamp(34px,4.6vw,62px); font-weight:600; line-height:1.25; }
.asset-heading>p:last-child { max-width:680px; color:var(--muted); }
.asset-six,.asset-products,.asset-trust>div:last-child { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cbd6d0; border-left:1px solid #cbd6d0; }
.asset-six article,.asset-products article,.asset-trust article { min-height:235px; padding:28px; border-right:1px solid #cbd6d0; border-bottom:1px solid #cbd6d0; background:rgba(255,255,255,.42); }
.asset-six b,.asset-products span,.asset-trust b { color:var(--brand-gold); font-weight:600; }
.asset-six h3,.asset-products h3,.asset-trust h3 { margin:42px 0 12px; font:600 24px/1.35 "Songti SC","STSong",serif; }
.asset-six p,.asset-products p,.asset-trust p { color:var(--muted); }
.asset-chain { padding:clamp(76px,8vw,112px) max(20px,calc((100% - 1180px)/2)); color:#fff; background:var(--brand-pine); }
.asset-chain .section-kicker { color:#d6b06f; }
.asset-chain ol { margin:45px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid rgba(255,255,255,.35); }
.asset-chain li { position:relative; padding:26px 18px; border-right:1px solid rgba(255,255,255,.2); }
.asset-chain li::before { content:""; position:absolute; top:-5px; left:18px; width:9px; height:9px; border-radius:50%; background:var(--brand-gold); }
.asset-chain b,.asset-chain span { display:block; }
.asset-chain b { font:600 21px/1.2 "Songti SC","STSong",serif; }
.asset-chain span { margin-top:12px; color:rgba(255,255,255,.67); font-size:13px; }
.asset-products { grid-template-columns:repeat(4,1fr); }
.asset-products article { min-height:300px; }
.asset-products a { display:inline-block; margin-top:16px; color:var(--brand-pine); font-weight:650; }
.asset-case { padding:clamp(78px,9vw,120px) max(20px,calc((100% - 1180px)/2)); color:#fff; background:#1d5645; display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.asset-case p { color:rgba(255,255,255,.72); }
.asset-case dl { margin:0; }
.asset-case dl div { padding:20px 0; border-top:1px solid rgba(255,255,255,.2); }
.asset-case dt { color:var(--brand-gold); font-weight:650; }
.asset-case dd { margin:6px 0 0; color:rgba(255,255,255,.75); }
.asset-trust>div:last-child { grid-template-columns:repeat(4,1fr); }
.asset-secondary { border-top:1px solid #cbd6d0; display:grid; grid-template-columns:1fr 1.35fr; gap:7vw; }
.asset-secondary h2 { margin:0; font:600 clamp(30px,3.5vw,46px)/1.3 "Songti SC","STSong",serif; }
.asset-secondary a { padding:22px 0; display:flex; flex-direction:column; border-top:1px solid #cbd6d0; text-decoration:none; }
.asset-secondary a:last-child { border-bottom:1px solid #cbd6d0; }
.asset-secondary a strong { font:600 22px/1.4 "Songti SC","STSong",serif; }
.asset-secondary a span { color:var(--muted); }
.asset-final { padding:clamp(78px,9vw,118px) max(20px,calc((100% - 1180px)/2)); color:#fff; background:var(--brand-pine); text-align:center; }
.asset-final h2 { max-width:900px; margin:auto; }
.asset-final p:not(.section-kicker) { max-width:720px; margin:22px auto 30px; color:rgba(255,255,255,.76); }
.site-footer--dark { color:rgba(255,255,255,.75); background:#1d5645; border-color:rgba(255,255,255,.14); }
.site-footer--dark a,.site-footer--dark .site-footer__brand { color:#fff; }
.asset-page-block { padding:68px 0; border-top:1px solid var(--line); }
.asset-four { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #cbd6d0; }
.asset-four article { min-height:150px; padding:28px; display:flex; align-items:flex-end; border-right:1px solid #cbd6d0; font:600 20px/1.45 "Songti SC","STSong",serif; }
.asset-four article:last-child { border:0; }
.asset-four--center article {
  justify-content: center;
  text-align: center;
}
.asset-chain--light { width:100vw; margin-left:calc(50% - 50vw); }
.responsibility { display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.responsibility ul { padding-left:1.2em; }

@media (max-width: 920px) {
  .asset-hero { grid-template-columns:1fr; min-height:auto; }
  .asset-hero__index { display:grid; grid-template-columns:repeat(3,1fr); }
  .asset-hero__index li { flex-direction:column; }
  .asset-chain ol { grid-template-columns:repeat(4,1fr); }
  .asset-products,.asset-trust>div:last-child,.asset-four { grid-template-columns:repeat(2,1fr); }
  .asset-case,.asset-secondary { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .asset-hero { padding-top:60px; }
  .asset-hero h1 { font-size:clamp(38px,11.3vw,46px); }
  .asset-hero__index { grid-template-columns:1fr; }
  .asset-hero__index li { flex-direction:row; padding:14px 0; }
  .asset-six,.asset-products,.asset-trust>div:last-child,.asset-four { grid-template-columns:1fr; }
  .asset-six article,.asset-products article,.asset-trust article { min-height:auto; }
  .asset-chain ol { grid-template-columns:1fr 1fr; }
  .asset-chain li { min-height:110px; }
  .asset-four article { min-height:100px; border-right:0; border-bottom:1px solid #cbd6d0; }
  .responsibility { grid-template-columns:1fr; }
}

/* International editorial system — restrained, evidence-led, and brand neutral. */
:root {
  --paper: #ffffff;
  --paper-deep: #f5f5f2;
  --ink: #111111;
  --body: #363636;
  --muted: #707070;
  --brand: #0d5a43;
  --brand-dark: #093f30;
  --emerald: #0d5a43;
  --gold: #0d5a43;
  --line: #d8d8d4;
  --brand-ink: #111111;
  --brand-pine: #0d5a43;
  --brand-gold: #0d5a43;
  --brand-ivory: #f5f5f2;
  --content: min(1240px, calc(100% - 64px));
  --serif: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
}

body {
  color: var(--ink);
  background: #fff;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0;
}

h1, h2, h3,
.hero h1, .section h2, .consultation h2,
.asset-heading h2, .asset-case h2, .asset-final h2, .asset-page-block h2 {
  font-family: var(--sans);
  font-weight: 560;
  letter-spacing: -.035em;
}

a { text-decoration-thickness: 1px; text-underline-offset: .22em; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }

.site-header,
.site-header.site-header--dark {
  position: relative;
  color: var(--ink);
  background: rgba(255,255,255,.96);
  border-color: var(--line);
}
.site-header__inner { min-height: 78px; }
.site-header.site-header--dark .brand__name,
.site-header.site-header--dark .brand__role,
.site-header.site-header--dark .site-nav a,
.site-header.site-header--dark .menu-toggle,
.site-header--dark .brand__name,
.site-header--dark .brand__role,
.site-header--dark .site-nav a,
.site-header--dark .menu-toggle { color: var(--ink); }
.brand { gap: 12px; }
.brand__mark { width: 38px; height: 38px; overflow: visible; background: transparent; }
.brand__mark img { position: static; width: 100%; height: 100%; object-fit: contain; background: transparent; }
.brand__name { color: var(--ink); font-size: 21px; font-weight: 620; letter-spacing: .08em; }
.brand__role { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.site-nav { gap: clamp(16px,1.7vw,27px); }
.site-nav a { color: var(--ink); font-size: 13px; }
.site-nav a:not(.nav-cta)::after { bottom: -8px; background: #1d5645; }
.site-header--dark .nav-cta,
.nav-cta {
  padding: 7px 0;
  color: var(--brand) !important;
  border: 0;
  border-bottom: 1px solid var(--brand);
}
.nav-cta:hover { color: var(--ink) !important; background: transparent; border-color: var(--ink); }

.button {
  min-height: 48px;
  padding: 11px 22px;
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  font-weight: 560;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}
.button:hover { transform: none; box-shadow: none; }
.button--gold { color:#fff; background:var(--brand); border-color:var(--brand); }
.button--gold:hover { color:#fff; background:var(--brand-dark); border-color:var(--brand-dark); }
.button--ghost { color:var(--ink); background:transparent; border-color:var(--ink); }
.button--ghost:hover { color:#fff; background:#1d5645; border-color:#1d5645; }

.section-kicker, .eyebrow {
  margin-bottom: 22px;
  color: var(--brand);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 560;
  letter-spacing: .08em;
  text-transform: none;
}

.asset-hero {
  min-height: 690px;
  padding: clamp(92px,10vw,150px) max(32px,calc((100% - 1240px)/2));
  color: var(--ink);
  background: #fff;
  grid-template-columns: minmax(0,1fr) 250px;
  gap: clamp(58px,6vw,92px);
}
.asset-hero .section-kicker { display: none; }
.asset-hero h1 {
  max-width: 990px;
  font-family: var(--sans);
  font-size: clamp(52px,5.4vw,78px);
  font-weight: 560;
  line-height: 1.12;
  letter-spacing: -.055em;
}
.asset-hero__lead {
  max-width: 710px;
  margin: 34px 0;
  color: var(--body);
  font-size: clamp(17px,1.45vw,20px);
  line-height: 1.72;
}
.asset-hero__fit {
  max-width: 710px;
  margin-top: 38px;
  padding-top: 18px;
  color: var(--muted);
  border-color: var(--line);
  font-size: 13px;
}
.asset-hero__index { border-color: var(--ink); }
.asset-hero__index li { padding: 20px 0; border-color: var(--line); font-size: 14px; }
.asset-hero__index b { color: var(--brand); font-weight: 500; font-variant-numeric: tabular-nums; }

.asset-section, .asset-secondary {
  width: var(--content);
  padding: clamp(96px,10vw,150px) 0;
}
.asset-heading { max-width: 900px; margin-bottom: clamp(54px,6vw,78px); }
.asset-heading h2, .asset-case h2, .asset-final h2, .asset-page-block h2 {
  font-size: clamp(38px,4.6vw,64px);
  line-height: 1.15;
}
.asset-heading > p:last-child { max-width: 650px; margin-top: 24px; line-height: 1.75; }

.asset-six, .asset-products, .asset-trust > div:last-child {
  display: grid;
  gap: 0 36px;
  border: 0;
  border-top: 1px solid var(--ink);
}
.asset-six { grid-template-columns: repeat(2,1fr); }
.asset-six article, .asset-products article, .asset-trust article {
  min-height: 0;
  padding: 28px 0 34px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.asset-six b, .asset-products span, .asset-trust b { color: var(--brand); font-weight: 500; }
.asset-six h3, .asset-products h3, .asset-trust h3 {
  margin: 34px 0 12px;
  font-family: var(--sans);
  font-size: clamp(22px,2vw,28px);
  font-weight: 560;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.asset-six p, .asset-products p, .asset-trust p { max-width: 480px; margin-bottom: 0; color: var(--muted); }

.asset-chain {
  padding: clamp(96px,10vw,142px) max(32px,calc((100% - 1240px)/2));
  color: var(--ink);
  background: var(--paper-deep);
}
.asset-chain .section-kicker { color: var(--brand); }
.asset-chain ol { margin-top: 58px; border-color: var(--ink); }
.asset-chain li { padding: 28px 18px 18px 0; border-color: var(--line); }
.asset-chain li::before { display: none; }
.asset-chain b { font-family: var(--sans); font-size: 20px; font-weight: 560; }
.asset-chain span { color: var(--muted); font-size: 13px; line-height: 1.55; }

.asset-products { grid-template-columns:repeat(2,1fr); }
.asset-products article { min-height: 270px; display:flex; flex-direction:column; }
.asset-products a { margin-top:auto; padding-top:30px; color:var(--brand); font-weight:560; }

.asset-case {
  padding: clamp(100px,10vw,150px) max(32px,calc((100% - 1240px)/2));
  color: var(--ink);
  background: #f5f5f2;
  gap: clamp(70px,9vw,140px);
}
.asset-case .section-kicker { color: var(--brand); }
.asset-case p { color: var(--muted); }
.asset-case dl div { padding: 22px 0; border-color: var(--line); }
.asset-case dt { color: var(--ink); font-weight: 560; }
.asset-case dd { color: var(--muted); }

.asset-trust > div:last-child { grid-template-columns:repeat(4,1fr); gap:0 28px; }
.asset-trust article { min-height:270px; }
.asset-secondary { border-color: var(--line); }
.asset-secondary h2, .asset-secondary a strong {
  font-family: var(--sans);
  font-weight: 560;
  letter-spacing: -.025em;
}
.asset-secondary a { border-color: var(--line); }

.asset-final {
  padding: clamp(100px,10vw,150px) max(32px,calc((100% - 1240px)/2));
  color:#fff;
  background:#1d5645;
  text-align:left;
}
.asset-final .section-kicker { color:rgba(255,255,255,.65); }
.asset-final h2 { max-width:940px; margin:0; }
.asset-final p:not(.section-kicker) { max-width:680px; margin:26px 0 34px; color:rgba(255,255,255,.68); }
.asset-final .button--gold { color:var(--ink); background:#fff; border-color:#fff; }
.asset-final .button--gold:hover { color:#fff; background:transparent; }

.site-footer, .site-footer--dark {
  color:rgba(255,255,255,.68);
  background:#1d5645;
  border-color:rgba(255,255,255,.18);
}
.site-footer--dark a, .site-footer--dark .site-footer__brand { color:#fff; }

/* 七阶段业务链：保持七列信息密度，同时给标题和说明稳定的阅读节奏。 */
.asset-chain ol {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: stretch;
}
.asset-chain li {
  min-width: 0;
  min-height: 148px;
  padding: 26px 16px 22px;
}
.asset-chain b {
  max-width: 10em;
  font-size: 18px;
  line-height: 1.38;
  letter-spacing: -.02em;
}
.asset-chain span {
  max-width: 15em;
  margin-top: 14px;
  line-height: 1.65;
}

/* 四项业务卡片：标题、说明和入口纵向排布，避免被 flex 横向挤成竖排。 */
.asset-four article {
  min-width: 0;
  min-height: 210px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 32px 28px 28px;
  overflow-wrap: anywhere;
  word-break: break-word;
  font-size: clamp(18px, 1.55vw, 24px);
  line-height: 1.38;
}
.asset-four article h3 {
  width: 100%;
  display: block;
  flex: 0 0 auto;
  writing-mode: horizontal-tb;
  white-space: normal;
  word-break: keep-all;
  margin: 0 0 22px;
  font-family: var(--sans);
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.28;
  letter-spacing: -.03em;
}
.asset-four article > :first-child:not(h3) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.asset-four article p {
  max-width: 25em;
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}
.asset-four article a {
  margin-top: auto;
  padding-top: 24px;
  color: var(--brand);
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
}

/* Bring the supporting pages into the same restrained typographic system. */
.page-hero, .page-hero--institution, .institution-hero, .v2-hero { background:#fff; }
.page-hero h1, .page-hero--institution h1, .institution-hero h1, .v2-hero h1 {
  color:var(--ink);
  font-family:var(--sans);
  font-weight:560;
  letter-spacing:-.045em;
}
.section, .asset-page-block { border-color:var(--line); }
.card-grid, .scenario-grid, .v2-product-grid, .v2-module-grid, .asset-four {
  border-color:var(--line);
  background:#fff;
}
.section--soft { background:var(--paper-deep); }

@media (max-width: 920px) {
  :root { --content: min(100% - 40px, 1240px); }
  .site-header__inner { min-height:70px; }
  .site-nav { top:70px; background:#fff; box-shadow:none; }
  .asset-hero { min-height:auto; padding-top:86px; padding-bottom:90px; gap:72px; }
  .asset-hero__index { grid-template-columns:repeat(3,1fr); }
  .asset-chain ol { grid-template-columns:repeat(4,1fr); }
  .asset-chain li { border-bottom:1px solid var(--line); }
  .asset-chain li { min-height: 158px; }
  .asset-trust > div:last-child { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 620px) {
  :root { --content: calc(100% - 40px); }
  .brand__mark { width:34px; height:34px; flex-basis:34px; }
  .brand__mark img { position:static; width:100%; height:100%; }
  .brand__name { font-size:18px; }
  .brand__role { display:none; }
  .asset-hero { padding:68px 20px 72px; gap:56px; }
  .asset-hero h1 { font-size:clamp(42px,12vw,54px); line-height:1.08; letter-spacing:-.06em; }
  .asset-hero__lead { margin:28px 0; font-size:17px; }
  .asset-hero__fit { margin-top:30px; }
  .asset-hero__index { grid-template-columns:1fr; }
  .asset-hero__index li { padding:14px 0; }
  .asset-section, .asset-secondary { padding:78px 0; }
  .asset-heading { margin-bottom:42px; }
  .asset-heading h2, .asset-case h2, .asset-final h2, .asset-page-block h2 { font-size:36px; line-height:1.16; }
  .asset-six, .asset-products, .asset-trust > div:last-child { grid-template-columns:1fr; gap:0; }
  .asset-four article { min-height: 150px; padding: 24px 20px; font-size: 19px; }
  .asset-six article, .asset-products article, .asset-trust article { padding:25px 0 30px; }
  .asset-products article, .asset-trust article { min-height:0; }
  .asset-six h3, .asset-products h3, .asset-trust h3 { margin-top:26px; }
  .asset-chain { padding:78px 20px; }
  .asset-chain ol { grid-template-columns:1fr; margin-top:42px; }
  .asset-chain li { min-height:0; padding:20px 0; }
  .asset-chain span { margin-top:7px; }
  .asset-case { padding:78px 20px; gap:54px; }
  .asset-secondary { grid-template-columns:1fr; gap:38px; }
  .asset-final { padding:78px 20px; }
  .asset-final .button { width:100%; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(176, 138, 74, .08), transparent 24rem),
    linear-gradient(rgba(247, 243, 234, .96), rgba(247, 243, 234, .96)),
    repeating-linear-gradient(0deg, rgba(31, 31, 31, .035) 0, rgba(31, 31, 31, .035) 1px, transparent 1px, transparent 4px);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3,
.hero__mobile-core,
.hero__mobile-statement,
.mobile-app-view strong {
  text-wrap: balance;
}

p,
.mobile-scene-choice span,
.mobile-app-view span,
.mobile-app-view small {
  text-wrap: pretty;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-color: rgba(154, 78, 46, .45); text-underline-offset: .22em; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  color: var(--white);
  background: var(--brand-dark);
  transform: translateY(calc(-100% - 24px));
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(154, 78, 46, .18);
}
.site-header__inner {
  width: var(--content);
  min-height: 86px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; flex: 0 0 auto; }
.brand__name { font: 700 24px/1 var(--serif); letter-spacing: .12em; color: var(--brand); }
.brand__role { padding-left: 13px; border-left: 1px solid var(--line); color: var(--muted); font-size: 12px; letter-spacing: .13em; }
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 34px); }
.site-nav a { position: relative; color: var(--body); font-size: 14px; text-decoration: none; white-space: nowrap; }
.site-nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: var(--brand); transition: right .2s ease; }
.site-nav a:not(.nav-cta):hover::after { right: 0; }
.site-nav a[aria-current="page"] { color: var(--brand); }
.site-nav a[aria-current="page"]:not(.nav-cta)::after { right: 0; }
.nav-cta { padding: 8px 15px; border: 1px solid var(--brand); color: var(--brand) !important; }
.nav-cta:hover { color: var(--white) !important; background: var(--brand); }
.menu-toggle { display: none; border: 0; padding: 8px 0; color: var(--ink); background: none; cursor: pointer; }

.hero {
  width: var(--content);
  min-height: 680px;
  margin: auto;
  padding: clamp(62px, 7vw, 102px) 0 84px;
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  align-items: center;
  gap: clamp(52px, 8vw, 110px);
}
.hero__content { position: relative; }
.eyebrow, .section-kicker { margin: 0 0 18px; color: var(--brand); font-size: 12px; font-weight: 650; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 14px; }
.eyebrow span { padding: 3px 9px; color: var(--white); background: var(--brand); letter-spacing: .12em; }
.hero h1, .section h2, .consultation h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: .025em;
}
.hero h1 { max-width: 680px; font-size: clamp(44px, 5.2vw, 72px); }
.hero h1 span { position: relative; color: var(--brand); white-space: nowrap; }
.hero h1 span::after { content: ""; position: absolute; right: .02em; bottom: -.04em; width: 2.45em; height: 8px; border-bottom: 2px solid var(--gold); border-radius: 50%; transform: rotate(-2deg); }
.hero__lead { max-width: 660px; margin: 28px 0 0; color: var(--body); font-size: clamp(16px, 1.4vw, 18px); line-height: 1.9; }
.hero__mobile-system-label,
.hero__mobile-core,
.hero__mobile-statement,
.mobile-judgement-entry,
.mobile-hero-actions,
.mobile-followup,
.mobile-app-shell { display: none; }
.hero__actions { margin-top: 36px; display: flex; align-items: center; gap: 28px; }
.button {
  display: inline-flex;
  min-height: 50px;
  padding: 10px 24px;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background: var(--brand);
  border: 1px solid var(--brand);
  box-shadow: 5px 5px 0 rgba(176, 138, 74, .2);
  font-weight: 650;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { background: var(--brand-dark); transform: translate(-2px, -2px); box-shadow: 7px 7px 0 rgba(176, 138, 74, .24); }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--brand); font-size: 14px; font-weight: 650; text-decoration: none; }
.text-link span { transition: transform .18s ease; }
.text-link:hover span { transform: translateX(4px); }
.hero__principles { margin: 48px 0 0; padding: 15px 0 0; display: flex; gap: 0; border-top: 1px solid var(--line); list-style: none; }
.hero__principles li { color: var(--muted); font-family: var(--serif); font-size: 14px; letter-spacing: .18em; }
.hero__principles li:not(:last-child)::after { content: "·"; margin: 0 13px; color: var(--gold); }

.portrait-card { width: min(100%, 400px); margin: 0 auto; }
.portrait-card__frame { position: relative; padding: 12px; border: 1px solid var(--gold); background: rgba(255, 253, 248, .55); }
.portrait-card__frame::before, .portrait-card__frame::after { content: ""; position: absolute; z-index: -1; border: 1px solid var(--line); }
.portrait-card__frame::before { inset: -12px 14px 12px -12px; }
.portrait-card__frame::after { inset: 16px -13px -13px 13px; }
.portrait-card img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 38%; filter: saturate(.82) contrast(1.02); }
.portrait-card__seal {
  position: absolute;
  right: -24px;
  bottom: -24px;
  width: 66px;
  height: 66px;
  display: grid;
  place-content: center;
  color: var(--white);
  background: var(--brand);
  border: 3px double rgba(255, 253, 248, .72);
  font: 600 16px/1.2 var(--serif);
  letter-spacing: .12em;
  text-align: center;
  transform: rotate(4deg);
}
.portrait-card figcaption { margin-top: 28px; display: flex; align-items: baseline; gap: 14px; }
.portrait-card figcaption strong { font: 600 24px/1 var(--serif); letter-spacing: .12em; }
.portrait-card figcaption span { color: var(--muted); font-size: 12px; }

.section { width: var(--content); margin: auto; padding: 110px 0; border-top: 1px solid var(--line); }
.section-heading { margin-bottom: 48px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 60px; }
.section-heading h2, .method h2, .about h2, .consultation h2 { font-size: clamp(34px, 4vw, 52px); }
.section-heading > p { max-width: 440px; margin: 0 0 3px; color: var(--body); }
.card-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.scenario-card { min-height: 274px; padding: 30px 26px; background: rgba(255, 253, 248, .35); }
.scenario-card + .scenario-card { border-left: 1px solid var(--line); }
.scenario-card > span { color: var(--gold); font: 500 13px/1 var(--serif); }
.scenario-card h3 { margin: 50px 0 15px; font: 600 23px/1.35 var(--serif); }
.scenario-card p { margin: 0; color: var(--body); font-size: 14px; }
.section-more { margin: 26px 0 0; text-align: right; }

.application-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(42px, 5vw, 64px);
  align-items: stretch;
}
.application-feature__label {
  position: absolute;
  top: 86px;
  right: 0;
  color: var(--gold);
  font: 500 12px/1 var(--serif);
  letter-spacing: .2em;
  writing-mode: vertical-rl;
}
.application-feature__content {
  align-self: center;
  max-width: 520px;
}
.application-feature__content h2 {
  margin: 0;
  font: 600 clamp(34px, 3.8vw, 50px)/1.34 var(--serif);
  letter-spacing: .025em;
}
.application-feature__content > p:not(.section-kicker) {
  margin: 26px 0 0;
  color: var(--body);
  font-size: 16px;
}
.application-feature__actions {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  align-items: center;
}
.application-feature__panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, .36);
}
.application-feature__panel article {
  min-height: 204px;
  padding: 28px;
}
.application-feature__panel article:nth-child(even) { border-left: 1px solid var(--line); }
.application-feature__panel article:nth-child(n + 3) { border-top: 1px solid var(--line); }
.application-feature__panel span {
  color: var(--gold);
  font: 500 12px/1 var(--serif);
  letter-spacing: .12em;
}
.application-feature__panel strong {
  display: block;
  margin-top: 34px;
  font: 600 22px/1.4 var(--serif);
}
.application-feature__panel p {
  margin: 12px 0 0;
  color: var(--body);
  font-size: 14px;
}

.method {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(48px, 5vw, 64px);
}
.method__intro > p:not(.section-kicker) { max-width: 380px; margin: 26px 0 26px; color: var(--body); }
.method-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; counter-reset: steps; }
.method-list li { padding: 24px 0; display: grid; grid-template-columns: 42px 1fr; gap: 17px; border-bottom: 1px solid var(--line); }
.method-list li > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--brand); font: 500 14px/1 var(--serif); transform: rotate(45deg); }
.method-list li > span::first-line { transform: rotate(-45deg); }
.method-list strong { font: 600 20px/1.4 var(--serif); }
.method-list p { margin: 5px 0 0; color: var(--body); font-size: 14px; }
.method__note { grid-column: 2; margin: -56px 0 0 60px; padding-left: 15px; border-left: 2px solid var(--gold); color: var(--muted); font-size: 12px; }

.about { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 95px; }
.about__mark { position: relative; min-height: 330px; display: grid; place-items: center; border: 1px solid var(--line); background: rgba(239, 231, 216, .45); }
.about__mark::before, .about__mark::after { content: ""; position: absolute; border: 1px solid var(--line); border-radius: 50%; }
.about__mark::before { width: 230px; height: 230px; }
.about__mark::after { width: 168px; height: 168px; border-color: var(--gold); }
.about__mark span { z-index: 1; color: var(--brand); font: 600 46px/1 var(--serif); letter-spacing: .16em; writing-mode: vertical-rl; }
.about__mark i { position: absolute; width: 1px; height: 88%; background: var(--line); transform: rotate(45deg); }
.about__content > p:not(.section-kicker) { max-width: 620px; margin: 25px 0; color: var(--body); font-size: 17px; }
.about__content .boundary-note { padding: 15px 18px; background: rgba(230, 216, 197, .38); color: var(--muted) !important; font-size: 13px !important; }

.section-heading--compact { grid-template-columns: 1fr auto; }
.notes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.notes-grid article { min-height: 310px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); background: rgba(255, 253, 248, .45); transition: transform .18s ease, border-color .18s ease; }
.notes-grid article:hover { border-color: var(--gold); transform: translateY(-4px); }
.notes-grid article > p { margin: 0; color: var(--brand); font-size: 11px; letter-spacing: .1em; }
.notes-grid h3 { margin: 42px 0 20px; font: 600 27px/1.55 var(--serif); }
.notes-grid h3 a { text-decoration: none; }
.notes-grid article > span { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }

.consultation { width: 100%; padding: 100px max(20px, calc((100% - 1180px) / 2)); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(48px, 5vw, 72px); color: var(--paper); background: #1d5645; }
.consultation .section-kicker { color: #d0aa69; }
.consultation__intro > p:not(.section-kicker) { max-width: 420px; color: #c7c0b6; }
.consultation__aside { margin-top: 38px; padding-top: 22px; display: flex; gap: 14px; border-top: 1px solid #45413c; }
.consultation__aside span { flex: 0 0 auto; color: #d0aa69; font: 600 15px/1.6 var(--serif); }
.consultation__aside p { margin: 0; color: #aaa198; font-size: 12px; }
.consultation-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; }
.consultation-form p { margin: 0; }
.consultation-form label { display: block; margin-bottom: 6px; color: #c7c0b6; font-size: 12px; letter-spacing: .06em; }
.consultation-form input, .consultation-form select, .consultation-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #6f9186; border-radius: 0; color: var(--paper); background: #285f50; }
.consultation-form textarea { min-height: 100px; resize: vertical; }
.consultation-form input::placeholder { color: #817a72; }
.consultation-optional { margin: 2px 0 0; border: 1px solid rgba(255, 255, 255, .22); }
.consultation-optional summary { min-height: 46px; padding: 13px 14px; cursor: pointer; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.consultation-optional__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; padding: 4px 14px 16px; }
.consultation-form--light .consultation-optional { border-color: #d4dad6; }
.form-wide { grid-column: 1 / -1; }
.form-submit { display: flex; align-items: center; gap: 16px; }
.form-submit button { min-height: 46px; padding: 9px 22px; border: 1px solid #d0aa69; color: var(--paper); background: var(--brand); cursor: pointer; }
.form-submit button:hover { background: var(--brand-dark); }
.form-submit button:disabled { color: #aaa39a; border-color: #777066; background: #383532; cursor: wait; }
.form-submit span { color: #c7c0b6; font-size: 11px; }
.professional-boundary { display: block; margin-top: 8px; color: #d0aa69; font-size: 12px; line-height: 1.6; }
.privacy-consent label { display: flex; align-items: flex-start; gap: 9px; letter-spacing: normal; line-height: 1.6; }
.privacy-consent input { width: auto; min-height: auto; margin-top: 4px; accent-color: var(--brand); }

.site-footer { width: var(--content); min-height: 180px; margin: auto; padding: 42px 0; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 30px; color: var(--muted); font-size: 12px; }
.site-footer p { margin: 3px 0; }
.site-footer__brand { color: var(--brand); font: 600 23px/1.2 var(--serif); letter-spacing: .16em; }
.site-footer__links { margin-top: 12px !important; line-height: 1.8; }
.site-footer__links a { color: var(--body); }
.site-footer__links span { margin: 0 7px; color: var(--gold); }
.site-footer__filing { color: var(--muted); font-size: 11px; }
.site-footer__meta { text-align: right; }

.page-main { width: min(960px, calc(100% - 40px)); min-height: calc(100vh - 266px); margin: auto; padding: 40px 0 100px; }
.breadcrumb { margin: 0; color: var(--muted); font-size: 12px; }
.breadcrumb a { text-decoration: none; }
.page-hero { max-width: 800px; padding: 70px 0 76px; }
.page-hero h1, .note-article h1 { margin: 0; font: 600 clamp(42px, 5.4vw, 64px)/1.3 var(--serif); letter-spacing: .025em; }
.page-hero > p:last-child { max-width: 680px; margin: 26px 0 0; color: var(--body); font-size: 17px; }
.page-sections { border-top: 1px solid var(--line); }
.page-sections section { padding: 34px 0; display: grid; grid-template-columns: 70px 1fr; gap: 28px; border-bottom: 1px solid var(--line); }
.page-section-number { margin: 0; color: var(--gold); font: 500 13px/1.7 var(--serif); }
.page-sections h2, .page-callout h2 { margin: 0 0 10px; font: 600 25px/1.4 var(--serif); }
.page-sections p { margin: 0; color: var(--body); }
.page-action { margin: 44px 0 0; }
.page-process { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.page-process li { padding: 28px 0; display: grid; grid-template-columns: 54px 1fr; gap: 24px; border-bottom: 1px solid var(--line); }
.page-process li > span { color: var(--gold); font: 500 13px/1.8 var(--serif); }
.page-process strong { font: 600 22px/1.4 var(--serif); }
.page-process p { margin: 5px 0 0; color: var(--body); }
.page-callout { margin-top: 48px; padding: 28px 30px; border-left: 3px solid var(--brand); background: rgba(230, 216, 197, .38); }
.page-callout p { margin: 0; color: var(--body); }
.module-entry { margin-top: 38px; padding: 30px; display: grid; grid-template-columns: 1fr minmax(240px, 320px); gap: 30px; align-items: center; border: 1px solid var(--line); background: rgba(255, 253, 248, .62); }
.module-entry h2 { margin: 0 0 12px; font: 600 28px/1.35 var(--serif); }
.module-entry p:not(.section-kicker) { margin: 0; color: var(--body); line-height: 1.85; }
.module-entry__actions { display: grid; gap: 16px; justify-items: start; }
.page-card-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
.page-card-grid article { min-height: 250px; padding: 32px; background: rgba(255, 253, 248, .36); }
.page-card-grid article:nth-child(even) { border-left: 1px solid var(--line); }
.page-card-grid article:nth-child(n + 3) { border-top: 1px solid var(--line); }
.page-card-grid article > span { color: var(--gold); font: 500 13px/1 var(--serif); }
.page-card-grid h2 { margin: 42px 0 14px; font: 600 25px/1.4 var(--serif); }
.page-card-grid p { margin: 0; color: var(--body); }
.page-notes-list { border-top: 1px solid var(--line); }
.page-notes-list article { padding: 34px 0; display: grid; grid-template-columns: 170px 1fr 1fr; align-items: baseline; gap: 34px; border-bottom: 1px solid var(--line); }
.page-notes-list article > p { margin: 0; color: var(--brand); font-size: 11px; letter-spacing: .09em; }
.page-notes-list h2 { margin: 0; font: 600 24px/1.45 var(--serif); }
.page-notes-list h2 a { text-decoration: none; }
.page-notes-list article > span { color: var(--muted); font-size: 13px; }
.page-main > .consultation-form { padding: 36px; border: 1px solid var(--line); background: rgba(255, 253, 248, .56); }
.page-main > .consultation-form label { color: var(--body); }
.page-main > .consultation-form input, .page-main > .consultation-form select, .page-main > .consultation-form textarea { border-color: var(--line); color: var(--ink); background: var(--white); }
.page-main > .consultation-form input::placeholder { color: #968e84; }
.page-main > .consultation-form .form-submit span { color: var(--muted); }
.article-main { width: min(820px, calc(100% - 40px)); }
.note-article { padding-top: 68px; }
.note-article header { padding-bottom: 58px; border-bottom: 1px solid var(--line); }
.article-lead { max-width: 700px; margin: 28px 0 0; color: var(--body); font-size: 17px; }
.question-list { margin: 0; padding: 34px 0 34px 2.4em; border-bottom: 1px solid var(--line); columns: 2; column-gap: 70px; }
.question-list li { padding: 9px 12px 9px 5px; break-inside: avoid; color: var(--body); }
.question-list li::marker { color: var(--brand); font-family: var(--serif); }
.article-actions section { padding: 30px 0; display: grid; grid-template-columns: 48px 1fr; gap: 22px; border-bottom: 1px solid var(--line); }
.article-actions section > span { color: var(--gold); font: 500 12px/2 var(--serif); }
.article-actions h2 { margin: 0 0 7px; font: 600 24px/1.4 var(--serif); }
.article-actions p { margin: 0; color: var(--body); }

@media (max-width: 960px) {
  .site-nav { gap: 16px; }
  .site-nav a { font-size: 12px; }
  .brand__role { display: none; }
  .hero { gap: 50px; }
  .card-grid { grid-template-columns: 1fr 1fr; }
  .scenario-card:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .scenario-card:nth-child(4) { border-top: 1px solid var(--line); }
  .method, .consultation { gap: 54px; }
}

@media (max-width: 720px) {
  :root { --content: min(1180px, calc(100% - 28px)); }
  body { font-size: 15px; }
  body:has(.mobile-app-shell) {
    min-height: 100svh;
    background: var(--paper);
  }
  body:has(.mobile-app-shell) > .site-header,
  body:has(.mobile-app-shell) > .site-footer,
  body:has(.mobile-app-shell) #main-content > :not(.mobile-app-shell) {
    display: none;
  }
  body:has(.mobile-app-shell) #main-content {
    min-height: 100svh;
  }

  .mobile-app-shell {
    width: min(100%, 520px);
    min-height: 100svh;
    margin: 0 auto;
    padding: 0 14px calc(94px + env(safe-area-inset-bottom));
    display: block;
    background:
      radial-gradient(circle at 12% 4%, rgba(176, 138, 74, .09), transparent 18rem),
      var(--paper);
  }
  .mobile-app-shell [hidden] { display: none !important; }
  .mobile-app-topbar {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
  }
  .mobile-app-topbar strong {
    color: var(--brand);
    font: 600 18px/1 var(--serif);
    letter-spacing: .1em;
  }
  .mobile-app-topbar span {
    color: var(--muted);
    font-size: 11px;
    letter-spacing: .08em;
  }
  .mobile-app-view {
    padding: 34px 0 20px;
    animation: mobile-view-in .2s ease both;
  }
  .mobile-app-view-actions {
    margin-top: 28px;
    padding-top: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    border-top: 1px solid var(--line);
  }
  .mobile-app-view-actions button {
    min-height: 48px;
    padding: 9px 6px;
    border: 1px solid var(--line);
    color: var(--body);
    background: rgba(255, 253, 248, .72);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    touch-action: manipulation;
  }
  .mobile-app-view-actions button[data-mobile-view-target="home"] {
    border-color: var(--brand);
    color: var(--brand);
  }
  .mobile-app-label {
    margin: 0 0 17px;
    color: var(--brand);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .12em;
  }
  .mobile-app-view > h1,
  .mobile-app-view > h2 {
    max-width: 11em;
    margin: 0;
    color: var(--ink);
    font: 600 clamp(30px, 9vw, 38px)/1.3 var(--serif);
    letter-spacing: .008em;
  }
  .mobile-app-view > .mobile-app-service-title {
    max-width: none;
    font-size: clamp(26px, 7.6vw, 32px);
    letter-spacing: 0;
  }
  .mobile-app-service-title span {
    display: block;
    white-space: nowrap;
  }
  .mobile-app-lead {
    max-width: 15em;
    margin: 18px 0 0;
    color: var(--body);
    font: 600 clamp(20px, 6vw, 25px)/1.52 var(--serif);
    letter-spacing: .004em;
  }
  .mobile-app-scenes {
    margin-top: 27px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
  }
  .mobile-app-scenes h2 {
    margin: 0 0 12px;
    color: var(--body);
    font-size: 16px;
    line-height: 1.5;
  }
  .mobile-app-scenes div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .mobile-app-scenes span {
    padding: 7px 11px;
    border: 1px solid var(--line);
    color: var(--body);
    background: rgba(255, 253, 248, .58);
    font-size: 14px;
  }
  .mobile-app-primary,
  .mobile-app-secondary {
    min-height: 50px;
    margin-top: 22px;
    padding: 11px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
  }
  .mobile-app-primary {
    color: var(--white);
    background: var(--brand);
    border: 1px solid var(--brand);
    box-shadow: 4px 4px 0 rgba(176, 138, 74, .2);
  }
  .mobile-app-secondary {
    color: var(--brand);
    background: rgba(255, 253, 248, .5);
    border: 1px solid var(--brand);
  }
  .mobile-app-assurance,
  .mobile-app-boundary {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
  }
  .mobile-app-entry-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .mobile-app-entry-grid button {
    min-height: 84px;
    padding: 13px;
    display: grid;
    align-content: center;
    gap: 4px;
    border: 1px solid var(--line);
    color: var(--ink);
    background: rgba(255, 253, 248, .62);
    text-align: left;
    cursor: pointer;
  }
  .mobile-app-entry-grid strong {
    font: 600 17px/1.4 var(--serif);
  }
  .mobile-app-entry-grid span {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
  }
  .mobile-app-process {
    margin: 26px 0 0;
    padding: 0;
    border-top: 1px solid var(--line);
    list-style: none;
  }
  .mobile-app-process li,
  .mobile-app-service-list article {
    padding: 15px 0;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    border-bottom: 1px solid var(--line);
  }
  .mobile-app-process li > span,
  .mobile-app-service-list article > span {
    color: var(--gold);
    font: 500 11px/1.8 var(--serif);
  }
  .mobile-app-process strong,
  .mobile-app-service-list strong {
    color: var(--ink);
    font: 600 17px/1.4 var(--serif);
  }
  .mobile-app-process p,
  .mobile-app-service-list p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
  }
  .mobile-app-link-list,
  .mobile-app-service-list {
    margin-top: 25px;
    display: grid;
    border-top: 1px solid var(--line);
  }
  .mobile-app-link-list a {
    min-height: 70px;
    padding: 13px 32px 13px 0;
    position: relative;
    display: grid;
    align-content: center;
    gap: 3px;
    border-bottom: 1px solid var(--line);
    text-decoration: none;
  }
  .mobile-app-link-list a::after {
    position: absolute;
    right: 4px;
    top: 50%;
    color: var(--gold);
    content: "›";
    font-size: 25px;
    transform: translateY(-50%);
  }
  .mobile-app-link-list strong {
    font: 600 17px/1.4 var(--serif);
  }
  .mobile-app-link-list span {
    color: var(--muted);
    font-size: 14px;
  }
  .mobile-app-advisor {
    margin-top: 22px;
    padding: 13px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(239, 231, 216, .48);
  }
  .mobile-app-advisor img {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    border: 1px solid var(--gold);
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 38%;
  }
  .mobile-app-advisor p {
    margin: 0;
    display: grid;
    gap: 4px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.5;
  }
  .mobile-app-advisor strong {
    color: var(--body);
    font: 600 19px/1.35 var(--serif);
  }
  .mobile-app-contact-card {
    margin-top: 25px;
    padding: 19px;
    border: 1px solid var(--line);
    background: rgba(255, 253, 248, .58);
  }
  .mobile-app-contact-card > p {
    margin: 0;
    color: var(--body);
    font-size: 13px;
    line-height: 1.7;
  }
  .mobile-app-contact-card a {
    margin-top: 18px;
    padding-top: 17px;
    display: grid;
    gap: 2px;
    border-top: 1px solid var(--line);
    color: var(--brand);
    text-decoration: none;
  }
  .mobile-app-contact-card a span,
  .mobile-app-contact-card a small {
    color: var(--muted);
    font-size: 11px;
  }
  .mobile-app-contact-card a strong {
    font: 600 25px/1.35 var(--serif);
    letter-spacing: .04em;
  }
  .mobile-app-nav {
    position: fixed;
    z-index: 60;
    left: 50%;
    bottom: 0;
    width: min(100%, 520px);
    min-height: 68px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border-top: 1px solid var(--line);
    background: rgba(255, 253, 248, .96);
    box-shadow: 0 -10px 28px rgba(31, 31, 31, .08);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
  }
  .mobile-app-nav button {
    min-width: 0;
    min-height: 52px;
    padding: 5px 3px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 3px;
    border: 0;
    color: var(--muted);
    background: transparent;
    cursor: pointer;
    border-radius: 12px;
    transition: color .18s ease, background-color .18s ease, transform .12s ease;
    touch-action: manipulation;
  }
  .mobile-app-nav svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
  }
  .mobile-app-nav span {
    font-size: 13px;
    line-height: 1;
  }
  .mobile-app-nav button[aria-selected="true"] {
    color: var(--brand);
    background: rgba(176, 138, 74, .12);
  }
  .mobile-app-nav button:active {
    transform: scale(.96);
  }
  @media (prefers-reduced-motion: reduce) {
    .mobile-app-view { animation: none; }
    .mobile-app-nav button { transition: none; }
  }
  @keyframes mobile-view-in {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .site-header__inner { min-height: 70px; }
  .brand__name { font-size: 21px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 10px; }
  .menu-toggle__label { font-size: 12px; letter-spacing: .12em; }
  .menu-toggle__icon { width: 20px; height: 14px; display: flex; flex-direction: column; justify-content: space-between; }
  .menu-toggle__icon i { display: block; width: 100%; height: 1px; background: currentColor; transition: transform .18s ease; }
  html[data-menu-open="true"] .menu-toggle__icon i:first-child { transform: translateY(6.5px) rotate(45deg); }
  html[data-menu-open="true"] .menu-toggle__icon i:last-child { transform: translateY(-6.5px) rotate(-45deg); }
  .site-nav { position: absolute; top: 70px; left: 0; right: 0; display: none; padding: 18px 14px 24px; flex-direction: column; align-items: stretch; gap: 0; border-bottom: 1px solid var(--line); background: rgba(247, 243, 234, .98); box-shadow: 0 14px 30px rgba(31, 31, 31, .08); }
  html[data-menu-open="true"] .site-nav { display: flex; }
  .site-nav a { padding: 11px 5px; font-size: 14px; }
  .site-nav a::after { display: none; }
  .nav-cta { margin-top: 8px; text-align: center; }

  .hero { min-height: auto; padding: 44px 0 64px; grid-template-columns: 1fr; gap: 0; }
  .hero .eyebrow,
  .hero h1,
  .hero__lead,
  .hero > .portrait-card,
  .hero__actions { display: none; }
  .hero__mobile-system-label { display: block; margin: 0 0 18px; color: var(--brand); font-size: 12px; font-weight: 700; letter-spacing: .16em; }
  .hero__mobile-core { display: block; margin: 0; color: var(--body); font: 600 clamp(24px, 7vw, 30px)/1.35 var(--serif); letter-spacing: .018em; }
  .hero__mobile-statement { display: block; max-width: 10.2em; margin: 18px 0 0; color: var(--ink); font: 600 clamp(32px, 9.4vw, 40px)/1.28 var(--serif); letter-spacing: .015em; }
  .mobile-judgement-entry { display: block; margin-top: 38px; padding: 22px 0 0; border-top: 1px solid var(--line); }
  .mobile-judgement-entry h2 { margin: 0 0 14px; color: var(--body); font-size: 15px; font-weight: 700; line-height: 1.5; }
  .mobile-judgement-entry__options { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .mobile-scene-choice { position: relative; display: grid; gap: 3px; width: 100%; min-height: 72px; padding: 13px 42px 13px 15px; border: 1px solid var(--line); color: var(--ink); background: rgba(255, 253, 248, .72); text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease; }
  .mobile-scene-choice::after { position: absolute; right: 16px; top: 50%; color: var(--gold); content: "→"; font-size: 18px; transform: translateY(-50%); }
  .mobile-scene-choice strong { font-family: var(--serif); font-size: 18px; font-weight: 600; }
  .mobile-scene-choice span { color: var(--muted); font-size: 12px; line-height: 1.55; }
  .mobile-scene-choice[aria-pressed="true"] { border-color: var(--brand); background: rgba(154, 78, 46, .08); }
  .mobile-scene-choice[aria-pressed="true"]::after { color: var(--brand); content: "✓"; }
  .mobile-judgement-entry__hint { min-height: 3.2em; margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
  .mobile-hero-actions { display: grid; gap: 12px; margin-top: 20px; }
  .mobile-hero-actions p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; text-align: center; }
  .button { width: 100%; }
  .hero__principles { display: none; }

  .mobile-followup { width: var(--content); display: grid; gap: 20px; margin: 0 auto; padding: 0 0 58px; border-bottom: 1px solid var(--line); }
  .mobile-followup .section-kicker { margin-bottom: 9px; }
  .mobile-followup h2 { margin: 0; color: var(--ink); font: 600 25px/1.35 var(--serif); }
  .mobile-followup ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 18px 0 0; padding: 0; border: 1px solid var(--line); list-style: none; }
  .mobile-followup li { min-width: 0; padding: 10px 4px; border-right: 1px solid var(--line); color: var(--body); font-size: 11px; font-weight: 700; line-height: 1.35; text-align: center; }
  .mobile-followup li:last-child { border-right: 0; }
  .mobile-advisor { display: flex; align-items: center; gap: 12px; padding: 14px; background: rgba(239, 231, 216, .42); }
  .mobile-advisor img { width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid var(--gold); border-radius: 50%; object-fit: cover; object-position: 50% 38%; }
  .mobile-advisor p { display: grid; gap: 2px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
  .mobile-advisor strong { color: var(--body); font-size: 12px; }
  .mobile-advisor span { display: block; }

  .section { padding: 76px 0; }
  .section-heading, .section-heading--compact { margin-bottom: 34px; grid-template-columns: 1fr; gap: 22px; }
  .section-heading h2, .method h2, .about h2, .consultation h2 { font-size: 35px; letter-spacing: .005em; }
  .card-grid { grid-template-columns: 1fr; }
  .scenario-card { min-height: 210px; }
  .scenario-card + .scenario-card { border-left: 0; border-top: 1px solid var(--line); }
  .scenario-card h3 { margin-top: 35px; }
  .section-more { text-align: left; }
  .application-feature {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .application-feature__label {
    position: static;
    writing-mode: horizontal-tb;
  }
  .application-feature__content {
    max-width: none;
  }
  .application-feature__content h2 {
    font-size: 36px;
  }
  .application-feature__actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }
  .application-feature__panel {
    grid-template-columns: 1fr;
  }
  .application-feature__panel article {
    min-height: 188px;
  }
  .application-feature__panel article:nth-child(even) {
    border-left: 0;
  }
  .application-feature__panel article + article {
    border-top: 1px solid var(--line);
  }

  .method { grid-template-columns: 1fr; gap: 46px; }
  .method__note { grid-column: 1; margin: -18px 0 0; }
  .about { grid-template-columns: 1fr; gap: 48px; }
  .about__mark { min-height: 280px; }
  .notes-grid { grid-template-columns: 1fr; }
  .notes-grid article { min-height: 270px; }

  .consultation { padding: 76px 14px; grid-template-columns: 1fr; gap: 48px; }
  .consultation-form { grid-template-columns: 1fr; }
  .consultation-optional__grid { grid-template-columns: 1fr; }
  .consultation-form p, .form-wide { grid-column: 1; }
  .cooperation-switch [data-cooperation-choice] { width: 100%; }
  .cooperation-fields > .consultation-form__grid { grid-template-columns: 1fr; }
  .form-submit { align-items: flex-start; flex-direction: column; }
  .form-submit button { width: 100%; }
  .site-footer { padding: 38px 0; grid-template-columns: 1fr; gap: 12px; }
  .site-footer__meta { text-align: left; }
  .page-main, .article-main { width: var(--content); min-height: auto; padding: 26px 0 70px; }
  .breadcrumb { overflow-wrap: anywhere; }
  .page-hero, .note-article { padding-top: 50px; }
  .page-hero { padding-bottom: 54px; }
  .page-hero h1, .note-article h1 { font-size: 40px; }
  .page-hero > p:last-child, .article-lead { font-size: 15px; }
  .page-sections section { grid-template-columns: 38px 1fr; gap: 15px; }
  .module-entry { grid-template-columns: 1fr; padding: 22px; }
  .module-entry__actions { justify-items: stretch; }
  .page-card-grid { grid-template-columns: 1fr; }
  .page-card-grid article { min-height: 220px; }
  .page-card-grid article:nth-child(even) { border-left: 0; }
  .page-card-grid article + article { border-top: 1px solid var(--line); }
  .page-notes-list article { grid-template-columns: 1fr; gap: 10px; }
  .page-main > .consultation-form { padding: 24px 18px; }
  .question-list { columns: 1; padding-left: 2em; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Institutional website redesign · 2026-08-10 */
body {
  background: var(--paper);
  color: var(--body);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid var(--line);
  background: rgba(247, 247, 243, .96);
  backdrop-filter: blur(12px);
}

.site-header__inner { min-height: 78px; }
.brand { gap: 11px; }
.brand > span:last-child { display: grid; gap: 5px; }
.brand__mark { position: relative; width: 42px; height: 36px; overflow: hidden; flex: 0 0 42px; background: transparent; }
.brand__mark img { position: absolute; width: 78px; max-width: none; left: -18px; top: -8px; }
.brand__name { color: var(--brand); font: 750 19px/1 var(--sans); letter-spacing: .12em; }
.brand__role { padding: 0; border: 0; color: var(--muted); font-size: 10px; line-height: 1; letter-spacing: .08em; }
.site-nav { gap: clamp(14px, 1.8vw, 28px); }
.site-nav a { min-height: 44px; display: inline-flex; align-items: center; color: #3f4b48; font-weight: 560; }
.site-nav a:not(.nav-cta)::after { bottom: 5px; background: var(--emerald); }
.nav-cta { padding: 8px 16px; border-color: var(--brand); color: #fff !important; background: var(--brand); }
.nav-cta:hover { border-color: var(--emerald); background: var(--emerald); }

.button { border-radius: 2px; box-shadow: none; background: var(--brand); }
.button:hover { background: var(--emerald); box-shadow: none; transform: translateY(-2px); }
.button--secondary { color: var(--brand); background: transparent; }
.button--secondary:hover { color: #fff; background: var(--brand); }
.text-link { color: var(--brand); }
.eyebrow, .section-kicker { color: var(--emerald); font-weight: 700; }

.institution-hero {
  width: var(--content);
  min-height: min(700px, calc(100vh - 78px));
  margin: auto;
  padding: clamp(56px, 6vw, 88px) 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .75fr);
  align-items: center;
  gap: clamp(48px, 6vw, 88px);
}
.institution-hero__content { max-width: 760px; }
.institution-hero > * { min-width: 0; }
.institution-hero .eyebrow { display: block; }
.institution-hero .eyebrow span { margin-left: 9px; padding: 0; color: var(--muted); background: none; font-weight: 520; }
.institution-hero h1 { margin: 0; color: var(--brand); font: 760 clamp(48px, 5.6vw, 78px)/1.16 var(--sans); letter-spacing: -.045em; }
.institution-hero__lead { max-width: 650px; margin: 24px 0 0; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.85; }
.institution-hero__actions { margin-top: 30px; display: flex; align-items: center; gap: 26px; }
.institution-hero__scope { max-width: 650px; margin: 24px 0 0; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }

.judgement-map { position: relative; min-height: 450px; padding: 26px; border: 1px solid #cfdbd6; background: #edf3ef; overflow: hidden; }
.judgement-map__label { position: relative; margin: 0 0 44px; color: var(--emerald); font: 700 10px/1 var(--sans); letter-spacing: .2em; }
.judgement-map__inputs, .judgement-map__outputs { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.judgement-map__inputs span, .judgement-map__outputs span { min-height: 58px; display: grid; place-items: center; border: 1px solid #cbd8d3; color: var(--brand); background: rgba(255,255,255,.65); font-weight: 700; }
.judgement-map__outputs span { border-color: var(--brand); color: #fff; background: var(--brand); font-size: 20px; }
.judgement-map__axis { margin: 24px 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; color: var(--gold); font-size: 11px; letter-spacing: .16em; }
.judgement-map__axis i { height: 1px; background: var(--gold); }
.judgement-map > p:last-child { margin: 28px 0 0; color: var(--muted); font-size: 12px; }

.institution-section { border-top-color: var(--line); }
.section-heading h2, .path-section > h2, .outcomes-section h2, .deliverables h2, .founder-section h2, .page-hero--institution h1, .split-section h2, .page-band h2, .method-pillars h2, .challenge-panel h2, .ai-boundary h2, .asset-definition h2, .principles-grid h2, .founder-profile h2, .capability-flow h2, .ai-responsibility h2 { color: var(--brand); font-family: var(--sans); font-weight: 730; letter-spacing: -.025em; }
.section-heading h2 { max-width: 780px; }
.evidence-preview h2 span { display: block; text-wrap: balance; }
.scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.scenario-grid article { min-height: 215px; padding: 28px; background: #fff; }
.scenario-grid article:not(:nth-child(3n + 1)) { border-left: 1px solid var(--line); }
.scenario-grid article:nth-child(n + 4) { border-top: 1px solid var(--line); }
.scenario-grid span { color: var(--gold); font-size: 11px; letter-spacing: .14em; }
.scenario-grid h3 { margin: 34px 0 15px; color: var(--brand); font-size: 23px; }
.scenario-grid p { margin: 0; color: var(--muted); font-size: 14px; }

.path-section { border-top-color: var(--line); scroll-margin-top: 92px; }
.path-section > h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.3; }
.judgement-chain { margin: 38px 0 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); border: 1px solid var(--brand); list-style: none; }
.judgement-chain li { min-height: 82px; padding: 14px 8px; display: grid; place-items: center; border-left: 1px solid #a9bbb6; color: var(--brand); background: #fff; font-size: 13px; font-weight: 750; text-align: center; }
.judgement-chain li:first-child { border-left: 0; }
.judgement-chain li:nth-last-child(-n + 2) { color: #fff; background: var(--brand); }
.business-path { margin: 28px 0 58px; padding: 18px 22px; border-left: 3px solid var(--gold); color: var(--brand); background: #f0f4f1; font-weight: 700; }
.seven-step-path { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); border-top: 1px solid var(--brand); list-style: none; }
.seven-step-path li { min-height: 235px; padding: 22px 15px; border-bottom: 1px solid var(--line); }
.seven-step-path li + li { border-left: 1px solid var(--line); }
.seven-step-path span { color: var(--gold); font-size: 10px; }
.seven-step-path strong { display: block; margin-top: 45px; color: var(--brand); font-size: 17px; }
.seven-step-path p { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

.outcome-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.outcomes-section__intro { max-width: 460px; }
.outcomes-section__intro > p { margin: 0; color: var(--body); }
.outcome-grid article { min-height: 200px; padding: 28px; background: #fff; }
.outcome-grid article:nth-child(n + 4) { border-top: 1px solid var(--line); }
.outcome-grid article:not(:nth-child(3n + 1)) { border-left: 1px solid var(--line); }
.outcome-grid b { width: 44px; height: 44px; display: grid; place-items: center; color: #fff; background: var(--brand); font-size: 20px; }
.outcome-grid p { margin: 28px 0 0; color: var(--muted); font-size: 14px; }

.deliverables { padding: 88px 0 94px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 72px; }
.deliverables h2 { margin: 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.3; }
.deliverables h2 span { display: block; text-wrap: balance; }
.deliverables > div > p:last-child { margin-top: 26px; color: var(--muted); }
.deliverables ul { margin: 0; padding: 0; border-top: 1px solid var(--brand); list-style: none; }
.deliverables li { padding: 18px 4px; border-bottom: 1px solid var(--line); color: var(--brand); font-weight: 650; }
.deliverables li::before { content: "✓"; margin-right: 13px; color: var(--emerald); }

.capability-section { border-top: 1px solid var(--line); }
.capability-section__lead p { margin: 0; color: var(--body); }
.capability-section__lead p + p { margin-top: 14px; color: var(--muted); font-size: 13px; }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); }
.capability-card { min-height: 275px; padding: 30px; display: flex; flex-direction: column; background: #fff; transition: border-color .18s ease, transform .18s ease; }
.capability-card:nth-child(even) { border-left: 1px solid var(--line); }
.capability-card:nth-child(n + 3) { border-top: 1px solid var(--line); }
.capability-card > span { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.capability-card h3 { max-width: 520px; margin: 38px 0 16px; color: var(--brand); font-size: clamp(23px, 2.5vw, 30px); line-height: 1.35; }
.capability-card p { max-width: 560px; margin: 0; color: var(--muted); font-size: 14px; }
.capability-card small { margin-top: auto; padding-top: 28px; color: var(--emerald); font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.capability-actions { margin-top: 34px; display: flex; align-items: center; gap: 28px; }

.evidence-card { padding: 34px; border: 1px solid var(--line); background: #fff; }
.status-tag { min-height: 28px; padding: 4px 9px; display: inline-flex; align-items: center; border: 1px solid #cbd3cf; color: #59625f; background: #fff; font-size: 11px; font-weight: 700; }
.status-tag + .status-tag { margin-left: 7px; }
.status-tag--active { border-color: var(--emerald); color: #0d7359; background: #e9f7f2; }
.status-tag--done { border-color: var(--brand); color: #fff; background: var(--brand); }
.status-tag--plan { border-color: var(--gold); color: #725410; background: #fbf5e8; }
.evidence-card__index { margin: 70px 0 10px; color: var(--gold); font-size: 10px; letter-spacing: .18em; }
.evidence-card h3 { max-width: 800px; margin: 0; color: var(--brand); font-size: clamp(25px, 3vw, 38px); line-height: 1.35; }
.evidence-card > p:last-child { max-width: 850px; margin: 24px 0 0; color: var(--muted); }

.project-system-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); }
.project-system-card { min-height: 220px; padding: 28px; display: flex; flex-direction: column; color: var(--brand); background: #fff; text-decoration: none; transition: color .18s ease, background .18s ease; }
.project-system-card:nth-child(even) { border-left: 1px solid var(--line); }
.project-system-card:nth-child(n + 3) { border-top: 1px solid var(--line); }
.project-system-card > span { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.project-system-card h3 { margin: 34px 0 12px; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.35; }
.project-system-card p { max-width: 520px; margin: 0; color: var(--muted); font-size: 14px; }
.project-system-card strong { margin-top: auto; padding-top: 28px; font-size: 13px; }
.project-system-card i { margin-left: 6px; font-style: normal; transition: margin-left .18s ease; }
.project-system-card:hover { color: #fff; background: var(--brand); }
.project-system-card:hover p, .project-system-card:hover > span { color: #d4e1dd; }
.project-system-card:hover i { margin-left: 11px; }
.project-system-card--paused, .project-system-card--paused:hover { color: var(--muted); background: #f3f4f1; }
.project-system-card--paused:hover p, .project-system-card--paused:hover > span { color: var(--muted); }

.founder-section { display: grid; grid-template-columns: 310px 1fr; align-items: center; gap: 90px; }
.founder-section figure, .founder-profile figure { margin: 0; overflow: hidden; background: #dfe7e3; }
.founder-section img, .founder-profile img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 35%; filter: saturate(.72); }
.founder-section h2 { margin: 0; font-size: clamp(36px, 4.2vw, 56px); line-height: 1.25; }
.founder-section > div > p:not(.section-kicker):not(.founder-signature) { max-width: 650px; margin: 26px 0; color: var(--muted); font-size: 17px; }
.founder-signature { margin: 30px 0; padding: 18px 0; display: grid; gap: 5px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.founder-signature strong { color: var(--brand); font-size: 20px; }
.founder-signature span { color: var(--muted); font-size: 13px; }

.consultation--institution { background: var(--brand); }
.consultation--institution .consultation-form input, .consultation--institution .consultation-form select, .consultation--institution .consultation-form textarea { border-color: #7c9d92; color: #fff; background: #285f50; }
.consultation--institution .consultation-form label { color: #d3e0dc; }
.consultation--institution .form-submit button { border-color: var(--gold); background: var(--emerald); }
.consultation--institution .consultation__intro > p:not(.section-kicker) { color: #d3e0dc; }
.consultation--institution .consultation__aside { border-color: #527170; }
.consultation--institution .consultation__aside a { color: #fff; }

.site-footer { border-top: 1px solid var(--line); }
.site-footer__brand { color: var(--brand); font-family: var(--sans); font-weight: 750; }
.site-footer a { text-decoration-color: rgba(7,59,58,.28); }

.page-main--wide { width: var(--content); max-width: 1180px; }
.page-hero--institution { max-width: 920px; }
.page-hero--about { max-width: 1180px; }
.page-hero--institution h1 { font-size: clamp(44px, 5.3vw, 68px); line-height: 1.2; }
.page-hero--institution > p:last-of-type { max-width: 780px; }
.page-hero--institution .button { margin-top: 32px; }
.split-section { padding: 86px 0; display: grid; grid-template-columns: .78fr 1.22fr; gap: 80px; border-top: 1px solid var(--line); }
.split-section h2, .method-pillars__intro h2, .asset-definition h2, .principles-grid h2 { margin: 0; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.3; }
.fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fit-grid article { padding: 28px; border: 1px solid var(--line); background: #fff; }
.fit-grid h3 { margin: 0 0 22px; color: var(--brand); font-size: 21px; }
.fit-grid ul, .check-list { margin: 0; padding-left: 1.2em; color: var(--muted); }
.fit-grid li, .check-list li { margin: 11px 0; }
.risk-card { border-top: 3px solid var(--gold) !important; background: #fbf8f1 !important; }
.definition-list { border-top: 1px solid var(--brand); }
.definition-list article { padding: 24px 0; display: grid; grid-template-columns: 48px 1fr; gap: 18px; border-bottom: 1px solid var(--line); }
.definition-list article > span { color: var(--gold); font-size: 11px; }
.definition-list h3 { margin: 0; color: var(--brand); font-size: 20px; }
.definition-list p { margin: 7px 0 0; color: var(--muted); }
.page-band { margin: 30px 0; padding: 58px; color: #fff; background: var(--brand); }
.page-band .section-kicker { color: #6ed5b7; }
.page-band h2 { margin: 0; color: #fff; font-size: clamp(32px, 3.7vw, 50px); }
.compact-process { margin: 45px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #5f7e7b; list-style: none; }
.compact-process li { padding: 22px 15px 0 0; display: grid; gap: 12px; }
.compact-process b { color: var(--gold); font-size: 11px; }
.compact-process strong { font-size: 17px; }
.compact-process span { color: #c9d8d4; font-size: 12px; }
.check-list { padding: 0; border-top: 1px solid var(--brand); list-style: none; }
.check-list li { margin: 0; padding: 16px 4px; border-bottom: 1px solid var(--line); }
.check-list li::before { content: "✓"; margin-right: 12px; color: var(--emerald); }
.boundary-panel { margin-top: 28px; padding: 24px; border-left: 3px solid var(--gold); color: var(--muted); background: #f1f3ef; }
.boundary-panel h2, .boundary-panel h3 { margin: 0 0 10px; color: var(--brand); }
.boundary-panel p { margin: 9px 0 0; }
.secondary-entry { margin: 70px 0 0; padding: 32px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; border: 1px solid var(--line); background: #fff; }
.secondary-entry h2 { margin: 0; color: var(--brand); }
.secondary-entry p:not(.section-kicker) { margin: 8px 0 0; color: var(--muted); }

.evidence-legend { margin: 0 0 90px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.evidence-legend article { min-height: 195px; padding: 24px; background: #fff; }
.evidence-legend article + article { border-left: 1px solid var(--line); }
.evidence-legend b { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: var(--brand); }
.evidence-legend strong { display: block; margin-top: 28px; color: var(--brand); }
.evidence-legend p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.method-pillars { padding: 86px 0; display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; border-top: 1px solid var(--line); }
.method-pillars__intro > p:last-child { color: var(--muted); }
.challenge-panel { padding: 58px; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; color: #fff; background: var(--brand); }
.challenge-panel h2 { margin: 0; color: #fff; font-size: clamp(30px, 3.3vw, 46px); }
.challenge-panel p { color: #ccdad6; }
.challenge-panel blockquote { margin: 0; padding: 28px; border: 1px solid #5d7c79; color: #fff; font-size: 20px; line-height: 1.9; }
.ai-boundary, .asset-definition, .principles-grid, .ai-responsibility { padding: 86px 0; display: grid; grid-template-columns: .78fr 1.22fr; gap: 90px; border-bottom: 1px solid var(--line); }
.ai-boundary p, .asset-definition p, .ai-responsibility p { color: var(--muted); }

.capability-detail-section { padding: 96px 0; border-top: 1px solid var(--line); }
.capability-detail-list { border-top: 1px solid var(--brand); }
.capability-detail-list > article { padding: 38px 0; border-bottom: 1px solid var(--line); }
.capability-detail-list header { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: start; gap: 18px; }
.capability-detail-list header span { padding-top: 7px; color: var(--gold); font-size: 11px; letter-spacing: .12em; }
.capability-detail-list h3 { max-width: 800px; margin: 0; color: var(--brand); font-size: clamp(26px, 3vw, 38px); line-height: 1.35; }
.capability-detail-body { margin: 32px 0 0 74px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 48px; }
.capability-detail-body section { padding-top: 17px; border-top: 1px solid var(--line); }
.capability-detail-body h4 { margin: 0; color: var(--emerald); font-size: 13px; }
.capability-detail-body p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.capability-detail-action { margin: 38px 0 0; }

.capability-flow { padding: 92px 0; display: grid; grid-template-columns: .78fr 1.22fr; gap: 90px; border-bottom: 1px solid var(--line); }
.capability-flow h2, .ai-responsibility h2 { margin: 0; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.3; }
.capability-flow__intro > p:last-child { color: var(--muted); }
.capability-flow__list { margin: 0; padding: 0; border-top: 1px solid var(--brand); list-style: none; }
.capability-flow__list li { padding: 20px 0; display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr); gap: 24px; border-bottom: 1px solid var(--line); }
.capability-flow__list span { color: var(--muted); font-size: 13px; }
.capability-flow__list strong { color: var(--brand); }
.capability-flow .boundary-panel { margin-top: 26px; }

.status-legend { margin-bottom: 30px; display: flex; flex-wrap: wrap; gap: 8px; }
.status-legend .status-tag + .status-tag { margin: 0; }
.project-case { border: 1px solid var(--line); background: #fff; }
.project-case header { padding: 42px; border-bottom: 1px solid var(--line); }
.project-case header > p { margin: 60px 0 10px; color: var(--gold); font-size: 10px; letter-spacing: .18em; }
.project-case h2 { max-width: 850px; margin: 0; color: var(--brand); font-size: clamp(30px, 4vw, 48px); line-height: 1.28; }
.project-case dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; }
.project-case dl div { padding: 26px 34px; display: grid; grid-template-columns: 120px 1fr; gap: 18px; border-bottom: 1px solid var(--line); }
.project-case dl div:nth-child(odd) { border-right: 1px solid var(--line); }
.project-case dt { color: var(--emerald); font-weight: 700; }
.project-case dd { margin: 0; color: var(--muted); }
.method-samples { padding: 100px 0 40px; }
.sample-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sample-grid article { min-height: 250px; padding: 26px; display: flex; flex-direction: column; border: 1px solid var(--line); background: #fff; }
.sample-grid article > p { color: var(--emerald); font-size: 11px; }
.sample-grid h3 { margin: 32px 0; color: var(--brand); font-size: 24px; }
.sample-grid h3 a { text-decoration: none; }
.sample-grid span { margin-top: auto; color: var(--muted); font-size: 13px; }

.three-layers { margin-bottom: 100px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.three-layers article { min-height: 285px; padding: 30px; background: #fff; }
.three-layers article + article { border-left: 1px solid var(--line); }
.three-layers span { color: var(--gold); font-size: 11px; letter-spacing: .12em; }
.three-layers h2 { margin: 64px 0 15px; color: var(--brand); font-size: 25px; }
.three-layers p { margin: 0; color: var(--muted); }
.principles-grid ul { margin: 0; padding: 0; border-top: 1px solid var(--brand); list-style: none; }
.principles-grid li { padding: 20px 0; display: grid; grid-template-columns: 130px 1fr; gap: 20px; border-bottom: 1px solid var(--line); }
.principles-grid strong { color: var(--brand); }
.principles-grid span { color: var(--muted); }
.founder-profile { padding: 90px 0 20px; display: grid; grid-template-columns: 320px 1fr; align-items: center; gap: 90px; }
.founder-profile h2 { margin: 0; font-size: clamp(36px, 4vw, 54px); }
.founder-profile > div > p:not(.section-kicker):not(.founder-signature):not(.boundary-panel) { color: var(--muted); font-size: 17px; }

.application-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.application-copy .page-hero { padding-bottom: 40px; }
.application-facts { border-top: 1px solid var(--brand); }
.application-facts article { padding: 18px 0; display: grid; grid-template-columns: 36px 1fr; gap: 12px; border-bottom: 1px solid var(--line); }
.application-facts article > span { color: var(--gold); font-size: 11px; }
.application-facts h2 { margin: 0; color: var(--brand); font-size: 18px; }
.application-facts p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.consultation-form--light { margin-top: 70px; padding: 34px; border: 1px solid var(--line); color: var(--body); background: #fff; }
.consultation-form--light h2 { margin: 0; color: var(--brand); font-size: 28px; }
.consultation-form--light .form-intro { margin: -8px 0 8px; color: var(--muted); font-size: 13px; }
.consultation-form--light label { color: var(--body); }
.consultation-form--light input, .consultation-form--light select, .consultation-form--light textarea { border-color: #d4dad6; color: var(--body); background: #fbfcfa; }
.consultation-form--light textarea { min-height: 150px; }
.consultation-form--light .form-submit button { border-color: var(--brand); background: var(--brand); }
.consultation-form--light .form-submit span { color: var(--muted); }

.cooperation-switch {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 18px;
}

.cooperation-switch [data-cooperation-choice] {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--line);
  color: var(--body);
  background: #f8f9f7;
  box-shadow: none;
  border-radius: 0;
}

.cooperation-switch [data-cooperation-choice].is-active {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
}

.cooperation-switch [data-cooperation-choice]:focus-visible {
  outline: 3px solid rgba(29, 86, 69, .35);
  outline-offset: 2px;
}

.cooperation-fields {
  margin: 2px 0 0;
  padding: 18px 16px;
  border: 1px solid var(--line);
  background: #fcfdfb;
}

.cooperation-fields[hidden] {
  display: none;
}

.cooperation-fields > .consultation-form__grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.cooperation-fields legend {
  padding: 0 6px;
  color: var(--brand);
  font-weight: 560;
}

.cooperation-fields .consultation-form__grid .form-wide {
  grid-column: 1 / -1;
}

.brand-entry { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(55px, 8vw, 130px); background: #edf4f0; padding-left: max(24px, calc((100vw - var(--content)) / 2)); padding-right: max(24px, calc((100vw - var(--content)) / 2)); }
.brand-entry--secondary { margin-top: 0; }
.brand-entry__intro > p:not(.section-kicker) { max-width: 620px; margin: 25px 0 32px; color: var(--muted); }
.brand-entry__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.brand-entry__questions { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.brand-entry__questions li { padding: 20px 4px; border-bottom: 1px solid var(--line); font-size: clamp(17px, 1.5vw, 21px); }
.brand-six, .brand-case-preview { margin: 95px 0; }
.brand-six__grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.brand-six__grid article { min-height: 230px; padding: 26px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.brand-six__grid article:nth-child(3n + 1) { border-left: 0; }
.brand-six__grid article:nth-child(-n + 3) { border-top: 0; }
.brand-six__grid span { color: var(--accent); font-size: 12px; letter-spacing: .12em; }
.brand-six__grid h3 { margin: 52px 0 12px; font-size: 24px; }
.brand-six__grid p { margin: 0; color: var(--muted); }
.brand-extension-hero h1 { max-width: 1050px; font-size: clamp(45px, 6vw, 82px); }
.button-group { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0; }
.brand-case-preview { padding: clamp(32px, 6vw, 80px); background: #1d5645; color: #f6f2e9; }
.brand-case-preview > div:first-child { max-width: 900px; }
.brand-case-preview h2 { color: #fff; }
.brand-case-preview__facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 45px 0 28px; border-top: 1px solid #4f6c68; border-bottom: 1px solid #4f6c68; }
.brand-case-preview__facts article { padding: 28px 24px; border-left: 1px solid #4f6c68; }
.brand-case-preview__facts article:first-child { border-left: 0; }
.brand-case-preview .text-link { color: #fff; }
.evidence-label { display: inline-block; margin-right: 8px; padding: 3px 8px; border: 1px solid var(--accent); color: var(--accent); font-size: 12px; }
.evidence-label--owner { border-color: #9a6b28; color: #76501c; }
.evidence-label--private { border-color: #7b8582; color: #626c69; }
.scenario-specialty, .specialist-entry { margin-top: 28px; padding: 28px 30px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 36px; border: 1px solid var(--line); background: #f2f5f1; }
.scenario-specialty h3, .specialist-entry h2 { margin: 6px 0 9px; font-size: clamp(24px, 3vw, 36px); }
.scenario-specialty p, .specialist-entry p { max-width: 760px; margin-bottom: 0; color: var(--muted); }
.scenario-specialty .text-link, .specialist-entry .text-link { white-space: nowrap; }
.specialist-entry { margin: 0 0 clamp(68px, 8vw, 118px); }
.licensing-hero { padding-bottom: clamp(70px, 10vw, 130px); }
.licensing-hero h1 { max-width: 1120px; font-size: clamp(45px, 6.5vw, 88px); overflow-wrap: anywhere; }
.licensing-hero__lead { max-width: 940px; font-size: clamp(18px, 2vw, 24px); line-height: 1.8; }
.licensing-helper { max-width: 720px; color: var(--muted); }
.licensing-question-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.licensing-question-list li { padding: 17px 0; border-bottom: 1px solid var(--line); font-size: clamp(17px, 2vw, 21px); }
.licensing-judgements, .licensing-services, .licensing-faq { padding: clamp(68px, 9vw, 120px) 0; }
.licensing-judgement-grid, .licensing-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.licensing-judgement-grid article, .licensing-service-card { min-height: 265px; padding: 28px; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.licensing-judgement-grid article:nth-child(3n + 1), .licensing-service-card:first-child { border-left: 0; }
.licensing-judgement-grid article:nth-child(-n + 3), .licensing-service-card { border-top: 0; }
.licensing-judgement-grid span, .licensing-service-card > span { color: var(--accent); font-size: 12px; letter-spacing: .12em; }
.licensing-judgement-grid h3, .licensing-service-card h3 { margin: 42px 0 14px; font-size: 23px; }
.licensing-judgement-grid p, .licensing-service-card p { color: var(--muted); }
.licensing-service-card { min-height: 360px; }
.licensing-service-card + .licensing-service-card { border-left: 1px solid var(--line); }
.licensing-shared-action { margin: 30px 0 0; }
.licensing-delivery { padding: clamp(68px, 9vw, 120px) 0; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 8vw, 120px); }
.licensing-boundary { margin: 0 0 clamp(68px, 9vw, 120px); }
.licensing-faq h2 { margin-bottom: 38px; }
.licensing-faq details { border-top: 1px solid var(--line); }
.licensing-faq details:last-of-type { border-bottom: 1px solid var(--line); }
.licensing-faq summary { padding: 24px 42px 24px 0; position: relative; cursor: pointer; font-size: clamp(18px, 2vw, 22px); font-weight: 700; list-style: none; }
.licensing-faq summary::-webkit-details-marker { display: none; }
.licensing-faq summary::after { content: "+"; position: absolute; right: 4px; top: 22px; color: var(--accent); font-size: 26px; font-weight: 400; }
.licensing-faq details[open] summary::after { content: "−"; }
.licensing-faq details p { max-width: 850px; margin: 0 0 26px; color: var(--muted); }
.licensing-bottom-cta { margin-bottom: clamp(70px, 10vw, 130px); padding: clamp(34px, 6vw, 72px); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 50px; background: #1d5645; color: #f6f2e9; }
.licensing-bottom-cta h2 { max-width: 920px; color: #fff; }
.licensing-bottom-cta p { max-width: 780px; }

@media (max-width: 1080px) {
  .site-nav { gap: 12px; }
  .site-nav a { font-size: 12px; }
  .institution-hero { grid-template-columns: 1fr 380px; gap: 50px; }
  .deliverables, .split-section, .method-pillars, .ai-boundary, .asset-definition, .principles-grid, .application-layout { grid-template-columns: 1fr; gap: 45px; }
  .brand-entry { grid-template-columns: 1fr; gap: 45px; }
  .licensing-delivery { grid-template-columns: 1fr; }
  .brand-six__grid { grid-template-columns: repeat(2, 1fr); }
  .brand-six__grid article { border-top: 1px solid var(--line) !important; border-left: 1px solid var(--line) !important; }
  .brand-six__grid article:nth-child(odd) { border-left: 0 !important; }
  .brand-six__grid article:nth-child(-n + 2) { border-top: 0 !important; }
  .capability-flow, .ai-responsibility { grid-template-columns: 1fr; gap: 45px; }
  .seven-step-path { grid-template-columns: repeat(4, 1fr); }
  .seven-step-path li:nth-child(5) { border-left: 0; }
  .seven-step-path li:nth-child(n + 5) { border-top: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .site-header__inner { min-height: 68px; }
  .menu-toggle { min-width: 50px; min-height: 48px; display: inline-flex; align-items: center; justify-content: flex-end; gap: 9px; }
  .menu-toggle__label { font-size: 12px; }
  .menu-toggle__icon { width: 22px; display: grid; gap: 6px; }
  .menu-toggle__icon i { height: 1px; display: block; background: currentColor; }
  .site-nav { position: absolute; left: 0; right: 0; top: 68px; padding: 18px 20px 24px; display: none; align-items: stretch; flex-direction: column; gap: 0; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 18px 30px rgba(7,59,58,.08); }
  [data-menu-open="true"] .site-nav { display: flex; }
  .site-nav a { min-height: 48px; font-size: 14px; }
  .site-nav a::after { display: none; }
  .nav-cta { margin-top: 10px; justify-content: center; }
  .institution-hero { min-height: auto; grid-template-columns: 1fr; }
  .judgement-map { min-height: 430px; }
  .scenario-grid { grid-template-columns: 1fr 1fr; }
  .scenario-grid article { border-left: 0 !important; border-top: 0; }
  .scenario-grid article:nth-child(even) { border-left: 1px solid var(--line) !important; }
  .scenario-grid article:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .judgement-chain { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .judgement-chain li:nth-child(5) { border-left: 0; }
  .judgement-chain li:nth-child(n + 5) { border-top: 1px solid #a9bbb6; }
  .seven-step-path { grid-template-columns: repeat(2, 1fr); }
  .seven-step-path li:nth-child(odd) { border-left: 0; }
  .seven-step-path li:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .outcome-grid { grid-template-columns: repeat(2, 1fr); }
  .outcome-grid article:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .outcome-grid article:nth-child(odd) { border-left: 0; }
  .outcome-grid article:nth-child(even) { border-left: 1px solid var(--line); }
  .deliverables, .split-section, .method-pillars, .ai-boundary, .asset-definition, .principles-grid, .application-layout { grid-template-columns: 1fr; gap: 45px; }
  .capability-flow, .ai-responsibility { grid-template-columns: 1fr; gap: 45px; }
  .capability-detail-body { margin-left: 0; }
  .founder-section, .founder-profile { grid-template-columns: 240px 1fr; gap: 45px; }
  .compact-process { grid-template-columns: 1fr 1fr; }
  .compact-process li { min-height: 145px; border-bottom: 1px solid #5f7e7b; }
  .evidence-legend { grid-template-columns: 1fr 1fr; }
  .evidence-legend article:nth-child(3) { border-left: 0; }
  .evidence-legend article:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .challenge-panel { grid-template-columns: 1fr; gap: 35px; }
  .project-case dl { grid-template-columns: 1fr; }
  .project-case dl div:nth-child(odd) { border-right: 0; }
  .sample-grid, .three-layers { grid-template-columns: 1fr; }
  .sample-grid article { min-height: 210px; }
  .three-layers article + article { border-left: 0; border-top: 1px solid var(--line); }
  .consultation-form--light { margin-top: 0; }
  .licensing-judgement-grid, .licensing-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .licensing-judgement-grid article, .licensing-service-card { border-top: 1px solid var(--line) !important; border-left: 1px solid var(--line) !important; }
  .licensing-judgement-grid article:nth-child(odd), .licensing-service-card:nth-child(odd) { border-left: 0 !important; }
  .licensing-judgement-grid article:nth-child(-n + 2), .licensing-service-card:nth-child(-n + 2) { border-top: 0 !important; }
  .licensing-bottom-cta { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 560px) {
  :root { --content: calc(100% - 28px); }
  .brand__mark { width: 36px; height: 31px; flex-basis: 36px; }
  .brand__mark img { width: 68px; left: -16px; top: -7px; }
  .brand__name { font-size: 17px; }
  .brand__role { font-size: 9px; }
  .institution-hero { padding: 44px 0 54px; gap: 34px; }
  .institution-hero .eyebrow span { margin: 6px 0 0; display: block; }
  .institution-hero h1 { max-width: 100%; font-size: clamp(38px, 10.4vw, 42px); line-height: 1.2; overflow-wrap: anywhere; }
  .institution-hero__lead { margin-top: 22px; font-size: 16px; }
  .institution-hero__actions { margin-top: 28px; align-items: flex-start; flex-direction: column; gap: 18px; }
  .institution-hero__actions .button { width: 100%; }
  .institution-hero__scope { margin-top: 22px; padding-top: 14px; }
  .judgement-map { min-height: 0; padding: 18px 16px; }
  .judgement-map__inputs, .judgement-map__outputs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .judgement-map__label { margin-bottom: 24px; }
  .judgement-map__inputs span { min-height: 46px; }
  .judgement-map__outputs span { min-height: 44px; font-size: 16px; }
  .judgement-map__axis { margin: 18px 0; }
  .judgement-map > p:last-child { margin-top: 20px; }
  .section { padding: 58px 0; }
  .section-heading { margin-bottom: 30px; gap: 16px; }
  .section-heading h2 { font-size: 33px; line-height: 1.25; text-wrap: balance; }
  .scenario-grid { grid-template-columns: 1fr; }
  .project-system-grid { grid-template-columns: 1fr; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 275px; padding: 26px 22px; }
  .capability-card:nth-child(even) { border-left: 0; }
  .capability-card + .capability-card { border-top: 1px solid var(--line); }
  .capability-actions { align-items: flex-start; flex-direction: column; }
  .capability-actions .button, .capability-detail-action .button { width: 100%; }
  .capability-detail-body { grid-template-columns: 1fr; gap: 18px; }
  .capability-flow__list li { grid-template-columns: 1fr; gap: 7px; }
  .project-system-card { min-height: 245px; }
  .project-system-card:nth-child(even) { border-left: 0; }
  .project-system-card + .project-system-card { border-top: 1px solid var(--line); }
  .scenario-grid article { min-height: 164px; padding: 18px 22px; }
  .scenario-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
  .scenario-grid article:nth-child(even) { border-left: 0 !important; }
  .scenario-grid h3 { margin: 16px 0 10px; }
  .scenario-grid p { font-size: 13px; line-height: 1.7; }
  .judgement-chain { margin-top: 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .judgement-chain li { min-height: 58px; border-top: 1px solid #a9bbb6; }
  .judgement-chain li:nth-child(odd) { border-left: 0; }
  .judgement-chain li:nth-child(-n + 2) { border-top: 0; }
  .business-path { font-size: 13px; line-height: 1.9; }
  .seven-step-path, .outcome-grid { grid-template-columns: 1fr; }
  .seven-step-path li, .outcome-grid article { min-height: 185px; border-left: 0 !important; border-top: 1px solid var(--line); }
  .seven-step-path li:first-child, .outcome-grid article:first-child { border-top: 0; }
  .founder-section, .founder-profile { grid-template-columns: 1fr; }
  .founder-section figure, .founder-profile figure { width: 72%; }
  .consultation--institution { padding-left: 14px; padding-right: 14px; }
  .page-main--wide { width: var(--content); }
  .page-hero--institution h1 { font-size: 40px; }
  .fit-grid, .evidence-legend { grid-template-columns: 1fr; }
  .fit-grid article + article, .evidence-legend article + article { border-left: 0; border-top: 1px solid var(--line); }
  .page-band, .challenge-panel { margin-left: -14px; margin-right: -14px; padding: 42px 20px; }
  .compact-process { grid-template-columns: 1fr; }
  .compact-process li { min-height: 120px; }
  .secondary-entry { grid-template-columns: 1fr; }
  .secondary-entry .button { width: 100%; }
  .project-case header { padding: 28px 22px; }
  .project-case dl div { padding: 22px; grid-template-columns: 1fr; gap: 8px; }
  .principles-grid li { grid-template-columns: 1fr; gap: 6px; }
  .consultation-form--light { padding: 24px 18px; }
  .brand-six__grid, .brand-case-preview__facts { grid-template-columns: 1fr; }
  .brand-six__grid article { min-height: 190px; border-left: 0 !important; border-top: 1px solid var(--line) !important; }
  .brand-six__grid article:first-child { border-top: 0 !important; }
  .brand-case-preview__facts article { border-left: 0; border-top: 1px solid #4f6c68; }
  .brand-case-preview__facts article:first-child { border-top: 0; }
  .brand-extension-hero h1 { font-size: 38px; overflow-wrap: anywhere; }
  .button-group { flex-direction: column; align-items: stretch; }
  .button-group .button { width: 100%; }
  .brand-entry__actions { align-items: stretch; flex-direction: column; }
  .brand-entry__actions .button { width: 100%; }
  .scenario-specialty, .specialist-entry { grid-template-columns: 1fr; align-items: start; padding: 24px 20px; }
  .scenario-specialty .text-link, .specialist-entry .text-link { white-space: normal; }
  .licensing-hero h1 { font-size: 38px; }
  .licensing-judgement-grid, .licensing-service-grid { grid-template-columns: 1fr; }
  .licensing-judgement-grid article, .licensing-service-card { min-height: 0; border-left: 0 !important; border-top: 1px solid var(--line) !important; }
  .licensing-judgement-grid article:first-child, .licensing-service-card:first-child { border-top: 0 !important; }
  .licensing-service-card { min-height: 0; }
  .licensing-bottom-cta { margin-left: -14px; margin-right: -14px; padding: 42px 20px; }
  .licensing-bottom-cta .button, .licensing-shared-action .button { width: 100%; }
}

/* V2.0 brand decision structure */
.v2-hero { width: var(--content); margin: 0 auto; padding: clamp(72px,10vw,140px) 0; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: clamp(50px,8vw,120px); align-items: center; }
.v2-hero h1 { max-width: 980px; margin: 22px 0 0; color: var(--brand); font-size: clamp(48px,6.2vw,82px); line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.v2-hero__lead { max-width: 850px; margin: 30px 0 0; color: var(--body); font-size: clamp(17px,1.6vw,21px); line-height: 1.9; }
.v2-boundary { max-width: 760px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.v2-hero__map { min-height: 420px; padding: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-content: center; border: 1px solid var(--line); background: #fff; }
.v2-hero__map span { min-height: 86px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--brand); }
.v2-hero__map strong { grid-column: 1/-1; padding: 26px; color: #fff; background: var(--brand); font-size: 22px; line-height: 1.5; text-align: center; }
.section--soft { background: #edf4f0; }
.v2-product-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.v2-product-grid article { min-height: 340px; padding: 32px; display: flex; flex-direction: column; background: #fff; }
.v2-product-grid article + article { border-left: 1px solid var(--line); }
.v2-product-grid article > span { color: var(--gold); font-size: 11px; letter-spacing: .13em; }
.v2-product-grid h3 { margin: 64px 0 18px; color: var(--brand); font-size: 28px; }
.v2-product-grid p { color: var(--muted); }
.v2-product-grid .text-link { margin-top: auto; }
.v2-case-preview { margin-top: 100px; margin-bottom: 100px; padding: clamp(40px,7vw,88px); color: #eef4f1; background: var(--brand); }
.v2-case-preview h2 { max-width: 980px; margin: 16px 0 26px; color: #fff; font-size: clamp(34px,4.8vw,62px); line-height: 1.25; text-wrap: balance; }
.v2-case-preview p { max-width: 850px; color: #cbd9d5; }
.status-row { display: flex; flex-wrap: wrap; gap: 9px; margin: 22px 0; }
.status-row .status-tag { margin: 0; color: #fff; border-color: #88aaa3; }
.v2-evidence-list { margin: 34px 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; border-top: 1px solid #557874; }
.v2-evidence-list li { padding: 18px 4px; border-bottom: 1px solid #557874; color: #eef4f1; }
.v2-evidence-list li:nth-child(odd) { padding-right: 30px; }
.v2-ai { color: #eef4f1; background: #1d5645; }
.v2-ai h2 { max-width: 980px; color: #fff; font-size: clamp(34px,4.5vw,60px); text-wrap: balance; }
.v2-ai p { color: #b8cac5; }
.v2-inline-list { margin: 40px 0 25px; display: flex; flex-wrap: wrap; gap: 10px; }
.v2-inline-list span { padding: 12px 16px; border: 1px solid #54736f; }
.v2-associated { margin-top: 100px; margin-bottom: 100px; padding: 50px 0; display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-associated h2 { margin: 8px 0; color: var(--brand); font-size: clamp(34px,4vw,54px); }
.v2-associated p { max-width: 820px; color: var(--muted); }
.v2-decision-list { border-top: 1px solid var(--brand); }
.v2-decision-item { padding: 52px 0; display: grid; grid-template-columns: 80px minmax(250px,.75fr) minmax(0,1.25fr); gap: 38px; border-bottom: 1px solid var(--line); }
.v2-decision-item > span { color: var(--gold); }
.v2-decision-item h2 { margin: 0; color: var(--brand); font-size: clamp(28px,3vw,42px); }
.v2-decision-item h3 { margin: 0 0 8px; color: var(--emerald); font-size: 14px; }
.v2-decision-item p, .v2-decision-item li { color: var(--muted); }
.v2-decision-item ul { margin: 0 0 20px; padding-left: 1.2em; }
.v2-module-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.v2-module-grid article { min-height: 220px; padding: 28px; background: #fff; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.v2-module-grid article:nth-child(3n+1) { border-left: 0; }
.v2-module-grid article:nth-child(-n+3) { border-top: 0; }
.v2-module-grid span { color: var(--gold); font-size: 11px; }
.v2-module-grid h3 { margin: 42px 0 0; color: var(--brand); font-size: 22px; }
.v2-source-flow { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); }
.v2-source-flow li { min-height: 110px; padding: 20px; display: grid; place-items: center; border-left: 1px solid var(--line); border-top: 1px solid var(--line); text-align: center; list-style: none; }
.v2-source-flow li:nth-child(4n+1) { border-left: 0; }
.v2-source-flow li:nth-child(-n+4) { border-top: 0; }
.v2-external-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.v2-external-links a { padding: 10px 14px; border: 1px solid var(--line); background: #fff; }

@media (max-width: 900px) {
  .v2-hero { grid-template-columns: 1fr; }
  .v2-hero__map { min-height: 320px; }
  .v2-product-grid, .v2-module-grid { grid-template-columns: 1fr 1fr; }
  .v2-product-grid article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .v2-decision-item { grid-template-columns: 50px 1fr; }
  .v2-decision-item > div:last-child { grid-column: 2; }
}
@media (max-width: 560px) {
  .v2-hero { padding: 54px 0 64px; gap: 34px; }
  .v2-hero h1 { font-size: 40px; line-height: 1.2; }
  .v2-hero__lead { font-size: 17px; }
  .v2-hero__map { min-height: 0; padding: 15px; }
  .v2-product-grid, .v2-module-grid { grid-template-columns: 1fr; }
  .v2-product-grid article + article, .v2-product-grid article:nth-child(3), .v2-module-grid article { border-left: 0; border-top: 1px solid var(--line); }
  .v2-module-grid article:first-child { border-top: 0; }
  .v2-product-grid article { min-height: 280px; }
  .v2-product-grid h3 { margin-top: 38px; }
  .v2-evidence-list { grid-template-columns: 1fr; }
  .v2-associated { grid-template-columns: 1fr; align-items: start; }
  .v2-associated .button { width: 100%; }
  .v2-decision-item { padding: 38px 0; grid-template-columns: 34px 1fr; gap: 16px; }
  .v2-source-flow { grid-template-columns: 1fr 1fr; }
  .v2-source-flow li:nth-child(4n+1) { border-left: 1px solid var(--line); }
  .v2-source-flow li:nth-child(odd) { border-left: 0; }
  .v2-source-flow li:nth-child(n+3) { border-top: 1px solid var(--line); }
}

/* Final cascade lock for the international editorial system. */
body { color:var(--ink); background:#fff; font-family:var(--sans); letter-spacing:0; }
h1,h2,h3,.hero h1,.section h2,.consultation h2 { font-family:var(--sans); font-weight:560; letter-spacing:-.035em; }
.page-hero--institution h1,
.institution-hero h1,
.v2-hero h1 { color:#111!important; font-family:var(--sans); font-weight:560!important; letter-spacing:-.045em; }
.site-header,
.site-header.site-header--dark { color:var(--ink); background:rgba(255,255,255,.96); border-color:var(--line); }
.site-header.site-header--dark .brand__name,
.site-header.site-header--dark .brand__role,
.site-header.site-header--dark .site-nav a,
.site-header.site-header--dark .menu-toggle { color:var(--ink); }
.site-header__inner { min-height:78px; }
.brand__mark { width:38px; height:38px; flex-basis:38px; overflow:visible; background:transparent; }
.brand__mark img { position:static; inset:auto; width:100%; height:100%; object-fit:contain; background:transparent; }
.brand__name { color:var(--ink); font-size:21px; font-weight:620; letter-spacing:.08em; }
.brand__role { color:var(--muted); font-size:11px; letter-spacing:.04em; }
.site-nav { gap:clamp(16px,1.7vw,27px); }
.site-nav a { color:var(--ink); font-size:13px; }
.site-header--dark .nav-cta,.nav-cta { padding:7px 0; color:var(--brand)!important; background:transparent!important; border:0; border-bottom:1px solid var(--brand); }
.nav-cta:hover { color:var(--ink)!important; background:transparent; border-color:var(--ink); }
.button { min-height:48px; padding:11px 22px; border-radius:0; box-shadow:none; font-size:14px; font-weight:560; }
.button:hover { transform:none; box-shadow:none; }
.button--gold { color:#fff; background:var(--brand); border-color:var(--brand); }
.button--gold:hover { color:#fff; background:var(--brand-dark); border-color:var(--brand-dark); }
.button--ghost { color:var(--ink); background:transparent; border-color:var(--ink); }
.button--ghost:hover { color:#fff; background:#1d5645; border-color:#1d5645; }
.section-kicker,.eyebrow { color:var(--brand); font-family:var(--sans); font-size:12px; font-weight:560; letter-spacing:.08em; text-transform:none; }
.site-footer,.site-footer--dark { color:rgba(255,255,255,.68); background:#1d5645; border-color:rgba(255,255,255,.18); }
.site-footer--dark a,.site-footer--dark .site-footer__brand { color:#fff; }

/* Restore the homepage closing section to the earlier brand palette. */
.home-page .asset-final {
  background:#1d5645;
}
.home-page .asset-final .section-kicker { color:#d1aa67; }
.home-page .asset-final .button--gold {
  color:#142b3a;
  background:#b58a45;
  border-color:#b58a45;
}
.home-page .asset-final .button--gold:hover {
  color:#fff;
  background:transparent;
  border-color:#b58a45;
}
.home-page > .site-footer,
.tonghong-page > .site-footer,
.contact-page > .site-footer {
  width:100%;
  padding-left:max(20px,calc((100% - 1240px)/2));
  padding-right:max(20px,calc((100% - 1240px)/2));
  color:rgba(255,255,255,.75);
  background:#1d5645;
  border-color:rgba(255,255,255,.14);
}
.home-page > .site-footer a,
.home-page > .site-footer .site-footer__brand,
.tonghong-page > .site-footer a,
.tonghong-page > .site-footer .site-footer__brand,
.contact-page > .site-footer a,
.contact-page > .site-footer .site-footer__brand { color:#fff; }

@media (max-width:920px) {
  .site-header__inner { min-height:70px; }
  .site-nav { top:70px; background:#fff; box-shadow:none; }
  .asset-hero { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  :root { --content:calc(100% - 40px); }
  .brand__mark { width:34px; height:34px; flex-basis:34px; }
  .brand__mark img { position:static; width:100%; height:100%; }
  .brand__name { font-size:18px; }
  .brand__role { display:none; }
}

/* Insights content system */
.insights-main { padding-bottom:100px; }
.insights-main .page-hero { max-width:980px; }
.insights-boundary { padding-left:18px; border-left:2px solid var(--brand); color:var(--muted); font-size:14px!important; }
.insights-section { padding:76px 0; border-top:1px solid var(--line); }
.insight-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.insight-category { min-height:170px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; gap:22px; color:var(--ink); border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-decoration:none; }
.insight-category:nth-child(even) { border-right:0; }
.insight-category span { font-size:22px; font-weight:560; letter-spacing:-.025em; }
.insight-category small { max-width:470px; color:var(--muted); font-size:14px; line-height:1.75; }
.insight-category:hover { background:var(--paper-deep); }
.insights-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.insight-card { min-height:300px; padding:28px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.insight-card__meta,.insight-card__date { color:var(--muted); font-size:12px; }
.insight-card h3 { margin:34px 0 14px; font-size:24px; line-height:1.35; }
.insight-card h3 a { color:var(--ink); text-decoration:none; }
.insight-card > p:not(.insight-card__meta):not(.insight-card__date) { color:var(--muted); }
.insight-card__date { margin-top:auto; padding-top:22px; }
.insights-empty { margin:0; padding:28px 0; color:var(--muted); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.insight-entry { margin-top:70px; padding:42px; border:1px solid var(--line); background:var(--paper-deep); }
.insight-entry h2 { max-width:760px; margin:8px 0 16px; font-size:clamp(30px,3.4vw,48px); line-height:1.25; }
.insight-entry p { max-width:820px; }
.insight-article { padding-bottom:100px; }
.insight-article > header { padding:72px 0 54px; border-bottom:1px solid var(--line); }
.insight-article h1 { max-width:880px; margin:12px 0 24px; font-size:clamp(42px,5.4vw,70px); line-height:1.15; }
.insight-identity { margin:40px 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.insight-identity div { padding:18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.insight-identity dt { color:var(--muted); font-size:11px; }
.insight-identity dd { margin:8px 0 0; font-size:14px; }
.insight-answer { margin:68px 0; padding:42px; color:#fff; background:var(--brand-pine); }
.insight-answer .section-kicker { color:#d1aa67; }
.insight-answer h2 { margin:8px 0 20px; font-size:clamp(30px,4vw,48px); }
.insight-answer p:last-child { max-width:760px; font-size:20px; line-height:1.8; }
.insight-article-section { padding:56px 0; border-top:1px solid var(--line); }
.insight-article-section > h2 { margin:0 0 28px; font-size:clamp(30px,3.7vw,46px); }
.insight-article-section > h3 { margin:28px 0 10px; }
.insight-video video { width:100%; max-height:720px; display:block; background:#1d5645; }

/* Pine-green background lock: public dark surfaces must not fall back to black. */
.asset-final,
.consultation,
.brand-case-preview,
.licensing-bottom-cta,
.v2-ai,
.site-footer,
.site-footer--dark {
  background:#1d5645;
}
.button--ghost:hover {
  background:#1d5645;
  border-color:#1d5645;
}
.insight-list { max-width:820px; margin:0; padding-left:1.25em; }
.insight-list li { margin:0 0 14px; line-height:1.8; }
.insight-claims { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.insight-claim { padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.insight-claim h3 { margin:0 0 18px; font-size:18px; }
.insight-sources ol { margin:0; padding:0; list-style:none; }
.insight-sources li { padding:26px 0; border-top:1px solid var(--line); }
.insight-sources h3 { margin:0 0 10px; font-size:18px; }
.insight-sources p { max-width:860px; margin:8px 0; color:var(--muted); }
.insight-cta { margin-top:70px; padding:48px; color:#fff; background:var(--brand-pine); }
.insight-cta h2 { margin:0 0 14px; font-size:clamp(30px,4vw,48px); }
.insight-cta p { max-width:780px; color:rgba(255,255,255,.78); }
.draft-preview { margin:28px 0; padding:18px 22px; display:flex; flex-direction:column; gap:6px; color:#5a4218; background:#fff3d8; border:1px solid #d8b56f; }
.draft-preview span { font-size:13px; }

/* 洞察卡片：根据实际卡片数量自适应列数，避免两篇内容时右侧留下空列；
   同时收紧标题与摘要的纵向节奏，保持米白底上的咨询报告式阅读层级。 */
.insights-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr));
  align-items: stretch;
}
.insight-card {
  min-height: 360px;
  padding: 34px 32px 30px;
}
.insight-card h3 {
  max-width: 22em;
  margin: 48px 0 18px;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.3;
  letter-spacing: -.025em;
}
.insight-card > p:not(.insight-card__meta):not(.insight-card__date) {
  max-width: 38em;
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
}
.insight-card__date { margin-top: auto!important; }
.insight-card > .text-link { margin-top: 18px; }

@media (max-width:920px) {
  .insights-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .insight-identity { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .insight-category-grid,.insights-grid,.insight-claims,.insight-identity { grid-template-columns:1fr; }
  .insight-category,.insight-card,.insight-claim,.insight-identity div { border-right:1px solid var(--line); }
  .insight-category { min-height:140px; padding:22px; }
  .insight-card { min-height:0; padding:22px; }
  .insight-card h3 { margin-top:34px; font-size:26px; }
  .insight-entry,.insight-answer,.insight-cta { padding:28px 22px; }
  .insight-article h1 { font-size:40px; }
  .insight-answer p:last-child { font-size:17px; }
}

/* White type lock for every pine-green content surface. */
:is(
  .asset-final,
  .consultation,
  .brand-case-preview,
  .licensing-bottom-cta,
  .v2-ai,
  .v2-case-preview,
  .page-band,
  .challenge-panel,
  .insight-answer,
  .insight-cta,
  .site-footer,
  .site-footer--dark
) {
  color:#fff;
}
:is(
  .asset-final,
  .consultation,
  .brand-case-preview,
  .licensing-bottom-cta,
  .v2-ai,
  .v2-case-preview,
  .page-band,
  .challenge-panel,
  .insight-answer,
  .insight-cta,
  .site-footer,
  .site-footer--dark
) :is(h1,h2,h3,h4,h5,h6,p,span,strong,b,em,i,small,dt,dd,li,label,a,button,input,select,textarea) {
  color:#fff!important;
}
:is(
  .asset-final,
  .consultation,
  .brand-case-preview,
  .licensing-bottom-cta,
  .v2-ai,
  .v2-case-preview,
  .page-band,
  .challenge-panel,
  .insight-answer,
  .insight-cta
) :is(.button,.button--gold,.button--ghost) {
  color:#fff!important;
  background:transparent!important;
  border-color:#fff!important;
}
.consultation :is(input,textarea)::placeholder {
  color:#fff;
  opacity:1;
}

/* Footer layout lock: keep every public-page footer inside one readable frame. */
.site-footer,
.site-footer--dark,
.home-page > .site-footer,
.contact-page > .site-footer {
  width:100%;
  min-height:0;
  margin:0;
  padding:clamp(56px,6vw,82px) max(24px,calc((100% - 1180px)/2));
  display:grid;
  grid-template-columns:minmax(240px,.78fr) minmax(420px,1.22fr);
  align-items:start;
  column-gap:clamp(56px,8vw,116px);
  row-gap:clamp(34px,4vw,48px);
  font-size:14px;
  line-height:1.75;
}
.site-footer > div:first-child,
.site-footer--dark > div:first-child {
  max-width:360px;
}
.site-footer > div:nth-child(2),
.site-footer--dark > div:nth-child(2) {
  max-width:680px;
}
.site-footer p,
.site-footer--dark p {
  margin:0 0 10px;
}
.site-footer .site-footer__brand,
.site-footer--dark .site-footer__brand {
  margin-bottom:16px;
  font-family:var(--sans);
  font-size:clamp(24px,2.3vw,30px);
  font-weight:560;
  line-height:1.2;
  letter-spacing:.12em;
}
.site-footer__contact {
  margin-top:20px!important;
}
.site-footer__links {
  margin-top:18px!important;
}
.site-footer__filing {
  font-size:12px;
}
.site-footer__meta {
  width:100%;
  max-width:none;
  margin:0!important;
  padding-top:22px;
  grid-column:1 / -1;
  border-top:1px solid rgba(255,255,255,.2);
  text-align:left;
  font-size:12px;
  line-height:1.7;
}

/* Keep other pine-green closing modules compact and visually connected. */
.licensing-bottom-cta {
  grid-template-columns:minmax(0,760px) minmax(190px,auto);
  justify-content:space-between;
  align-items:end;
  gap:clamp(36px,6vw,88px);
}
.challenge-panel {
  grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);
  gap:clamp(38px,6vw,76px);
}

@media (max-width:820px) {
  .site-footer,
  .site-footer--dark,
  .home-page > .site-footer,
  .contact-page > .site-footer {
    padding:48px 20px;
    grid-template-columns:1fr;
    gap:30px;
  }
  .site-footer > div:first-child,
  .site-footer > div:nth-child(2),
  .site-footer--dark > div:first-child,
  .site-footer--dark > div:nth-child(2) {
    max-width:none;
  }
  .site-footer__meta {
    grid-column:1;
    margin-top:4px!important;
  }
  .licensing-bottom-cta,
  .challenge-panel {
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media (max-width:620px) {
  .asset-four article { min-height: 150px; padding: 24px 20px; }
}
