/* Corporate Trust Hub — Guy-Biz Online LLC
   Design principle: Monochrome 90–95% + Corporate Accent #BF672D
*/
:root {
  --color-corporate: #BF672D;
  --color-cta: #AD5725;
  --color-cta-hover: #98481D;
  --color-text-primary: #151515;
  --color-text-secondary: #4B5563;
  --color-muted: #6B7280;
  --color-bg-primary: #FFFFFF;
  --color-bg-secondary: #F7F7F5;
  --color-bg-dark: #171717;
  --color-bg-dark-2: #202020;
  --color-border: #E5E7EB;
  --color-border-strong: #D1D5DB;
  --accent: var(--color-corporate);
  --accent-hover: var(--color-cta-hover);
  --accent-soft: #F7EADF;
  --ink: var(--color-text-primary);
  --charcoal: #1A1A1A;
  --text: #303030;
  --muted: var(--color-muted);
  --paper: var(--color-bg-secondary);
  --paper-2: #F1F1EE;
  --white: var(--color-bg-primary);
  --border: var(--color-border);
  --border-strong: var(--color-border-strong);
  --dark: var(--color-bg-dark);
  --dark-2: var(--color-bg-dark-2);
  --max: 1180px;
  --reading: 760px;
  --radius-sm: 8px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --shadow: 0 10px 30px rgba(17,17,17,.055);
  --header-h: 76px;
  --transition-fast: 160ms;
  --transition-normal: 280ms;
  --font-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:var(--font-sans); background:var(--color-bg-primary); color:var(--text); line-height:1.78; -webkit-font-smoothing:antialiased; font-weight:400; }
img,svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button,input,textarea,select { font: inherit; }
:focus-visible { outline: 3px solid rgba(191,103,45,.32); outline-offset: 3px; }
.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.reading { max-width: var(--reading); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:8px; left:8px; z-index:1000; transform:translateY(-160%); background:#fff; color:#111; padding:10px 14px; border:1px solid var(--border-strong); border-radius:8px; }
.skip-link:focus { transform:none; }

/* Header */
.site-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.96); border-bottom:1px solid var(--border); backdrop-filter:blur(8px); transition:background var(--transition-fast) ease,border-color var(--transition-fast) ease; }
.site-header.is-scrolled { background:rgba(255,255,255,.985); border-bottom-color:var(--border-strong); }
.nav { min-height: var(--header-h); display: flex; align-items: center; gap: 26px; }
.brand { display:flex; align-items:center; gap:12px; min-width:max-content; font-weight:700; color:var(--ink); letter-spacing:-.02em; }
.brand-mark { width:46px; height:46px; display:flex; align-items:center; justify-content:center; flex:none; }
.brand-mark img { width:100%; height:auto; display:block; }
.brand-copy { display:grid; line-height:1.15; }
.brand-copy small { color:var(--muted); font-size:.62rem; letter-spacing:.08em; font-weight:700; margin-top:4px; }
.nav-links { margin-left:auto; display:flex; align-items:center; gap:22px; font-size:.875rem; font-weight:500; color:#3B3937; }
.nav-links a { position:relative; padding:8px 0; }
.nav-links a::after { content:""; position:absolute; left:0; right:100%; bottom:2px; height:2px; background:var(--accent); transition:right .18s ease; }
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after { right:0; }
.header-cta { margin-left:8px; }
.menu-button { display:none; margin-left:auto; border:1px solid var(--border); background:var(--white); color:var(--ink); border-radius:8px; min-width:44px; min-height:44px; cursor:pointer; }
.menu-button span { display:block; width:18px; height:2px; background:currentColor; margin:4px auto; }

/* Type */
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--accent); font-size:.72rem; line-height:1.2; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:14px; }
.eyebrow::before { content:""; width:24px; height:2px; background:currentColor; flex:none; }
h1,h2,h3,h4 { color:var(--ink); line-height:1.38; margin:0 0 16px; text-wrap:balance; }
h1 { font-size:clamp(2.5rem,4.2vw,3.25rem); letter-spacing:-.035em; font-weight:700; }
h2 { font-size:clamp(1.75rem,3vw,2.25rem); letter-spacing:-.028em; font-weight:700; }
h3 { font-size:clamp(1.2rem,2vw,1.5rem); letter-spacing:-.012em; font-weight:600; }
p { margin:0 0 1.2em; }
.lead { font-size:clamp(1rem,1.5vw,1.16rem); color:#514D48; max-width:760px; }
.muted { color:var(--muted); }
.small { font-size:.875rem; }
.note { font-size:.875rem; color:var(--muted); }
.accent { color:var(--accent); }

/* Buttons */
.actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.button { min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:8px; padding:11px 26px; border:1px solid transparent; border-radius:7px; font-weight:600; font-size:.9rem; letter-spacing:.01em; transition:background var(--transition-fast) ease,border-color var(--transition-fast) ease,color var(--transition-fast) ease,box-shadow var(--transition-fast) ease; }
.button:hover { box-shadow:0 4px 14px rgba(17,17,17,.08); }
.button.primary { background:var(--color-cta); border-color:var(--color-cta); color:#FFFFFF; }
.button.primary:hover { background:var(--color-cta-hover); border-color:var(--color-cta-hover); color:#FFFFFF; }
.button.secondary { background:#FFFFFF; border-color:var(--color-border-strong); color:var(--ink); }
.button.secondary:hover { color:var(--accent-hover); border-color:var(--accent); }
.button.dark-outline { color:#fff; border-color:#6B6864; background:transparent; }
.button.dark-outline:hover { border-color:var(--accent); background:rgba(191,103,45,.10); }
.text-link { display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:.86rem; color:var(--ink); }
.text-link::after { content:"→"; color:var(--accent); transition:transform .16s ease; }
.text-link:hover::after { transform:translateX(3px); }

/* Hero */
.hero { padding:84px 0 76px; border-bottom:1px solid var(--border); background:var(--color-bg-primary); overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:72px; align-items:center; }
.hero h1 .accent-line { color:var(--accent); display:block; }
.hero .lead { margin-bottom:28px; }
.hero-meta { margin-top:22px; padding-left:14px; border-left:2px solid var(--accent); color:var(--muted); font-size:.82rem; max-width:680px; }
.trust-card { background:var(--dark); color:#E5E1DB; border-radius:var(--radius-lg); padding:34px; box-shadow:none; position:relative; overflow:hidden; }
.trust-card::before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:var(--accent); }
.trust-card h2 { color:#fff; font-size:1.55rem; letter-spacing:-.03em; }
.trust-card .eyebrow { color:#CCC6BE; }
.trust-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:26px; background:#363636; border:1px solid #363636; }
.trust-stat { min-height:118px; padding:20px; background:var(--dark-2); }
.trust-stat strong { display:block; font-size:1.65rem; line-height:1.2; color:var(--accent); margin-bottom:6px; }
.trust-stat span { color:#BBB6AE; font-size:.76rem; }

/* Sections */
.section { padding:80px 0; }
.section.white { background:var(--color-bg-primary); }
.section.dark { background:var(--dark); color:#D0CBC4; }
.section.dark h2,.section.dark h3,.section.dark h4 { color:#fff; }
.section-head { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:72px; align-items:end; margin-bottom:38px; }
.section-head p { margin:0; color:var(--muted); }
.section.dark .section-head p { color:#BDB7AF; }
.divider { height:1px; background:var(--border); }

/* Trust index */
.index-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.index-card { border:1px solid var(--border); background:#FCFBF9; padding:28px; border-radius:var(--radius-sm); position:relative; }
.index-card::before { content:""; position:absolute; top:-1px; left:28px; width:34px; height:2px; background:var(--accent); }
.index-card:hover { border-color:var(--border-strong); }
.index-card p { color:#5D5852; font-size:.89rem; }
.kicker { color:var(--accent); font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin-bottom:12px; }

/* Product / process */
.product-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:68px; align-items:center; }
.pill { display:inline-flex; border:1px solid rgba(191,103,45,.55); color:var(--accent); border-radius:999px; padding:5px 10px; font-size:.66rem; letter-spacing:.12em; font-weight:700; margin-bottom:16px; }
.product-copy p { color:#C8C2BA; }
.flow { border:1px solid #3C3C3C; border-radius:var(--radius-md); background:#1B1B1B; padding:8px 26px; }
.flow-step { display:grid; grid-template-columns:44px 1fr auto; gap:10px; align-items:center; padding:18px 0; border-bottom:1px solid #333; }
.flow-step:last-child { border-bottom:0; }
.flow-step .num { color:var(--accent); font-size:.67rem; font-weight:700; letter-spacing:.1em; }
.flow-step strong { color:#fff; }
.flow-step small { color:#A8A29A; }
.flow-step .arrow { color:#6E6A66; padding-left:10px; }

/* Evidence */
.evidence-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border); border-left:1px solid var(--border); }
.evidence-item { min-height:120px; padding:22px; background:rgba(255,255,255,.38); border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.evidence-item strong { display:block; color:var(--ink); margin-bottom:6px; }
.evidence-item span { color:var(--muted); font-size:.8rem; }

/* Prototype */
.prototype-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; align-items:center; }
.quote { border-left:3px solid var(--accent); background:var(--paper-2); padding:18px 20px; margin:24px 0; color:var(--ink); font-weight:600; }
.analysis-demo { background:#FCFBF9; border:1px solid var(--border); border-radius:var(--radius-md); padding:24px; box-shadow:var(--shadow); }
.metric-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.metric { background:#fff; border:1px solid var(--border); padding:14px; }
.metric small { display:block; font-size:.6rem; color:#817A73; letter-spacing:.08em; margin-bottom:2px; }
.metric strong { color:var(--ink); }
.signal { background:#fff; border:1px solid var(--border); margin-top:10px; padding:18px; }
.signal h4 { font-size:.85rem; }
.bars { display:grid; gap:9px; }
.bars span { display:block; width:var(--w); height:8px; background:var(--accent); }

/* Credentials */
.credentials-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.credential { display:grid; place-items:center; text-align:center; min-height:104px; padding:16px; background:#FBFAF8; border:1px solid var(--border); color:#373431; font-weight:600; font-size:.82rem; }

/* CTA */
.cta-band { background:var(--charcoal); color:#CFC9C1; border-left:4px solid var(--accent); border-radius:var(--radius-md); padding:38px 42px; display:flex; align-items:center; justify-content:space-between; gap:36px; }
.cta-band h2 { color:#fff; font-size:clamp(1.6rem,3vw,2.35rem); margin-bottom:8px; }
.cta-band p { margin:0; }

/* Interior pages */
.page-hero { padding:74px 0 56px; background:#FBFAF8; border-bottom:1px solid var(--border); }
.page-hero h1 { font-size:clamp(2.25rem,4vw,3rem); }
.breadcrumbs { color:#77716A; font-size:.72rem; margin-bottom:22px; }
.breadcrumbs a:hover { color:var(--accent); }
.split-content { display:grid; grid-template-columns:minmax(240px,.42fr) minmax(0,1fr); gap:72px; align-items:start; }
.sticky-title { position:sticky; top:calc(var(--header-h) + 28px); }
.prose { max-width:800px; }
.prose h2 { font-size:clamp(1.6rem,2.5vw,2.25rem); margin-top:0; }
.prose h3 { font-size:1.05rem; margin-top:34px; padding-left:13px; border-left:2px solid var(--accent); }
.prose p,.prose li { color:#57524D; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:start; }
.content-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); padding:28px; margin-bottom:16px; }
.sidebar { position:sticky; top:calc(var(--header-h) + 28px); }
.sidebar-box { background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); padding:22px; margin-bottom:12px; }
.fact-list { border-top:1px solid var(--border); }
.fact-row { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:17px 0; border-bottom:1px solid var(--border); }
.fact-row dt { color:var(--ink); font-weight:700; }
.fact-row dd { margin:0; color:#5B5650; }
.fact-table { width:100%; border-collapse:collapse; background:#fff; border-top:1px solid var(--border); }
.fact-table th,.fact-table td { text-align:left; vertical-align:top; padding:19px 20px; border-bottom:1px solid var(--border); }
.fact-table th { width:230px; color:var(--ink); font-size:.84rem; background:#FAF9F7; }
.fact-table td { color:#56514C; }
.experience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.experience-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); padding:26px; }
.experience-card p { color:#5B5650; font-size:.9rem; margin-bottom:0; }

/* Footer */
.site-footer { background:#101010; color:#AAA49C; padding:54px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:46px; }
.footer-brand { color:#fff; font-weight:700; }
.footer-brand p { max-width:360px; color:#9F9991; font-size:.82rem; font-weight:400; margin-top:10px; }
.footer-title { color:var(--accent); font-size:.66rem; font-weight:700; letter-spacing:.14em; margin-bottom:10px; }
.footer-links { display:grid; gap:7px; font-size:.8rem; }
.footer-links a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; margin-top:34px; border-top:1px solid #303030; color:#7F7A74; font-size:.72rem; }
.footer-bottom a:hover { color:#fff; }

/* Responsive */
@media (max-width: 1020px) {
  :root { --header-h: 68px; }
  .header-cta { display:none; }
  .menu-button { display:block; }
  .nav-links { display:flex; position:absolute; left:24px; right:24px; top:calc(var(--header-h) - 2px); flex-direction:column; align-items:stretch; gap:3px; padding:12px 16px; background:#fff; border:1px solid var(--border); box-shadow:var(--shadow); border-radius:8px; opacity:0; transform:translateY(-6px); visibility:hidden; pointer-events:none; transition:opacity var(--transition-fast) ease,transform var(--transition-fast) ease,visibility var(--transition-fast) linear; }
  .nav-links.open { opacity:1; transform:none; visibility:visible; pointer-events:auto; }
  .nav-links a { min-height:44px; display:flex; align-items:center; padding:9px 8px; }
  .hero-grid,.product-grid,.prototype-grid,.section-head,.split-content,.content-grid { grid-template-columns:1fr; }
  .hero-grid,.product-grid,.prototype-grid { gap:42px; }
  .section-head { gap:8px; }
  .sticky-title,.sidebar { position:static; }
  .index-grid { grid-template-columns:1fr 1fr; }
  .evidence-grid { grid-template-columns:1fr 1fr; }
  .credentials-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 700px) {
  .container { width:min(calc(100% - 40px),var(--max)); }
  .brand-copy small { display:none; }
  .hero { padding:56px 0 58px; }
  h1 { font-size:clamp(1.9rem,9vw,2.25rem); }
  .hero-grid { gap:34px; }
  .trust-card { padding:24px; border-radius:14px; }
  .trust-stat { min-height:100px; padding:16px 13px; }
  .trust-stat strong { font-size:1.35rem; }
  .section { padding:64px 0; }
  .index-grid,.evidence-grid,.credentials-grid,.experience-grid,.metric-row { grid-template-columns:1fr; }
  .actions { display:grid; width:100%; }
  .button { width:100%; }
  .flow { padding:7px 16px; }
  .flow-step { grid-template-columns:34px 1fr 16px; }
  .cta-band { padding:28px 23px; flex-direction:column; align-items:stretch; }
  .fact-row { grid-template-columns:1fr; gap:3px; }
  .fact-table,.fact-table tbody,.fact-table tr,.fact-table th,.fact-table td { display:block; width:100%; }
  .fact-table th { border-bottom:0; padding-bottom:5px; }
  .fact-table td { padding-top:4px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
  .reveal-init { opacity:1 !important; transform:none !important; }
}

/* Contact / embedded GHL form */
.contact-layout { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr); gap:clamp(28px,5vw,72px); align-items:start; }
.contact-intro { position:sticky; top:108px; }
.contact-intro > p { color:var(--muted); line-height:1.9; }
.contact-points { margin-top:32px; padding-top:24px; border-top:1px solid var(--border); display:grid; gap:18px; }
.contact-points p { margin:0; color:var(--muted); line-height:1.75; }
.contact-points strong { color:var(--ink); }
.form-panel { background:#FFFFFF; border:1px solid var(--border); border-radius:8px; padding:clamp(12px,2vw,24px); box-shadow:none; min-width:0; }
.ghl-form-frame { display:block; width:100%; height:774px; min-height:774px; border:0; border-radius:8px; background:#fff; }
@media (max-width: 840px) {
  .contact-layout { grid-template-columns:1fr; }
  .contact-intro { position:static; }
  .form-panel { padding:8px; }
  .ghl-form-frame { min-height:820px; }
}

/* Data / evidence UI */
.data-panel { border:1px solid var(--border); border-radius:8px; background:#FAFAF8; overflow:hidden; }
.panel-label { padding:13px 18px; border-bottom:1px solid var(--border); color:var(--muted); font-size:.69rem; font-weight:600; letter-spacing:.14em; }
.data-metrics { display:grid; grid-template-columns:1fr 1fr; }
.data-metric { min-height:126px; padding:24px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); display:flex; flex-direction:column; justify-content:flex-end; }
.data-metric:nth-child(even){border-right:0;}
.data-metric:nth-last-child(-n+2){border-bottom:0;}
.metric-value { color:var(--ink); font-size:2rem; line-height:1.1; font-weight:700; font-variant-numeric:tabular-nums; }
.metric-value-small { font-size:1.65rem; }
.metric-label { margin-top:8px; color:var(--muted); font-size:.72rem; letter-spacing:.07em; }
.index-grid-four { grid-template-columns:repeat(4,1fr); }
.card-number { color:#B9B9B4; font-size:.7rem; letter-spacing:.12em; font-weight:600; margin-bottom:18px; }
.section-action { margin-top:24px; }
.demo-note { margin-top:12px; }
.eyebrow-light { color:#D7D2CC; }

/* Interaction */
.reveal-init { opacity:0; transform:translateY(12px); }
.reveal-init.reveal-visible { opacity:1; transform:none; transition:opacity var(--transition-normal) ease-out,transform var(--transition-normal) ease-out; }
.index-card,.experience-card,.evidence-item,.credential { transition:border-color var(--transition-fast) ease,background var(--transition-fast) ease,transform var(--transition-fast) ease; }
.index-card:hover,.experience-card:hover,.evidence-item:hover,.credential:hover { border-color:#CFCFC9; background:#FCFCFA; transform:translateY(-1px); }

@media (max-width:1020px){ .index-grid-four{grid-template-columns:1fr 1fr;} }
@media (max-width:700px){ .index-grid-four{grid-template-columns:1fr;} .data-metrics{grid-template-columns:1fr 1fr;} .data-metric{padding:18px; min-height:104px;} .metric-value{font-size:1.65rem;} }


/* Credentials — Evidence Ledger */
.credentials-hero .lead { max-width: 720px; }
.credentials-section { padding-top: 72px; }
.evidence-ledger { border-top: 1px solid var(--color-border); }
.evidence-ledger-row {
  display: grid;
  grid-template-columns: minmax(150px, 20%) minmax(260px, 35%) minmax(0, 45%);
  gap: 32px;
  align-items: start;
  padding: 36px 0 38px;
  border-bottom: 1px solid var(--color-border);
}
.ledger-meta { display: grid; gap: 15px; align-content: start; }
.ledger-number {
  color: var(--color-corporate);
  font-size: clamp(1.75rem, 2.3vw, 2.15rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.ledger-category {
  color: var(--color-text-secondary);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .11em;
  line-height: 1.5;
}
.ledger-credential h2 {
  margin: 0;
  font-size: clamp(1.5rem, 2.2vw, 1.85rem);
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: -.025em;
}
.ledger-meaning p {
  margin: 0 0 14px;
  max-width: 46em;
  font-size: 1rem;
  line-height: 1.78;
  color: var(--color-text-secondary);
}
.ledger-link { min-height: 44px; align-items: center; }
.credentials-note {
  margin: 24px 0 0;
  max-width: 820px;
  color: var(--color-muted);
  font-size: .875rem;
  line-height: 1.75;
}
.credentials-next {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 46px;
  padding-top: 28px;
  border-top: 1px solid var(--color-border);
}
.credentials-next .text-link { min-height: 44px; align-items: center; }

@media (max-width: 840px) {
  .evidence-ledger-row {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 30px 0 34px;
  }
  .ledger-meta { gap: 10px; }
  .ledger-credential h2 { font-size: clamp(1.32rem, 6vw, 1.5rem); }
  .ledger-meaning p { font-size: 1rem; }
  .credentials-next { margin-top: 38px; gap: 16px 28px; }
}

@media (max-width: 420px) {
  .credentials-section { padding-top: 56px; }
  .evidence-ledger-row { padding: 28px 0 32px; }
  .ledger-number { font-size: 1.8rem; }
  .ledger-category { font-size: .72rem; letter-spacing: .09em; }
  .credentials-next { flex-direction: column; align-items: flex-start; }
}


/* Case Study — Analysis in Operation */
.case-hero .lead { max-width: 850px; }
.case-meta-section { background: var(--color-bg-secondary); border-bottom: 1px solid var(--color-border); }
.case-metadata { margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid var(--color-border); }
.case-metadata > div { min-height:116px; padding:22px 24px; border-right:1px solid var(--color-border); display:flex; flex-direction:column; justify-content:center; }
.case-metadata dt { color:var(--color-corporate); font-size:.72rem; font-weight:600; letter-spacing:.12em; margin-bottom:8px; }
.case-metadata dd { margin:0; color:var(--color-text-primary); font-size:.96rem; font-weight:600; line-height:1.6; }
.case-section { border-bottom:1px solid var(--color-border); }
.case-copy-grid { display:grid; grid-template-columns:minmax(150px,20%) minmax(0,1fr); gap:48px; align-items:start; }
.case-section-index { display:grid; gap:8px; align-content:start; }
.case-section-index span { color:var(--color-corporate); font-size:clamp(1.75rem,2.5vw,2.05rem); font-weight:600; line-height:1; font-variant-numeric:tabular-nums; }
.case-section-index small { color:var(--color-text-secondary); font-size:.74rem; font-weight:600; letter-spacing:.11em; }
.case-section-index.inline-index { margin-bottom:18px; }
.case-section-body { max-width:820px; }
.case-section-body h2 { font-size:clamp(1.75rem,3vw,2.15rem); margin-bottom:24px; }
.case-section-body p { color:var(--color-text-secondary); max-width:760px; }
.case-section-body strong { color:var(--color-text-primary); }
.case-kpi-list { list-style:none; padding:0; margin:30px 0 0; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--color-border); border-left:1px solid var(--color-border); }
.case-kpi-list li { min-height:72px; display:flex; align-items:center; padding:16px; border-right:1px solid var(--color-border); border-bottom:1px solid var(--color-border); color:var(--color-text-primary); font-weight:600; font-size:.9rem; }
.case-flow-head,.case-evidence-head { margin-bottom:30px; }
.case-action-flow { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--color-border); border-left:1px solid var(--color-border); }
.case-action-flow li { min-height:176px; position:relative; padding:24px; border-right:1px solid var(--color-border); border-bottom:1px solid var(--color-border); display:flex; flex-direction:column; gap:8px; }
.case-action-flow li:not(:last-child)::after { content:"→"; position:absolute; right:-12px; top:50%; transform:translateY(-50%); z-index:2; width:24px; height:24px; display:grid; place-items:center; background:var(--color-bg-primary); color:var(--color-corporate); font-weight:700; }
.case-action-flow .flow-index { color:#A3A3A0; font-size:.7rem; letter-spacing:.1em; font-weight:600; }
.case-action-flow small { color:var(--color-corporate); font-size:.72rem; letter-spacing:.11em; font-weight:600; }
.case-action-flow strong { margin-top:auto; color:var(--color-text-primary); font-size:1rem; line-height:1.65; }
.case-emphasis { margin-top:28px; padding:18px 20px; border-left:3px solid var(--color-corporate); background:var(--color-bg-secondary); color:var(--color-text-primary) !important; }
.case-lifecycle { list-style:none; padding:0; margin:32px 0 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.case-lifecycle li { position:relative; padding:18px 20px; border-right:1px solid var(--color-border); }
.case-lifecycle li:first-child { border-left:1px solid var(--color-border); }
.case-lifecycle li:not(:last-child)::after { content:"→"; position:absolute; right:10px; top:20px; color:#A3A3A0; }
.case-lifecycle small { display:block; color:var(--color-corporate); font-size:.68rem; letter-spacing:.1em; margin-bottom:5px; font-weight:600; }
.case-lifecycle strong { color:var(--color-text-primary); font-size:.88rem; }
.case-evidence-ledger { border-top:1px solid var(--color-border); }
.case-evidence-row { display:grid; grid-template-columns:80px minmax(190px,28%) minmax(0,1fr); gap:26px; align-items:center; padding:24px 0; border-bottom:1px solid var(--color-border); }
.case-evidence-row > span { color:var(--color-corporate); font-size:1.25rem; font-weight:600; font-variant-numeric:tabular-nums; }
.case-evidence-row div { display:grid; gap:4px; }
.case-evidence-row small { color:var(--color-text-secondary); font-size:.7rem; font-weight:600; letter-spacing:.1em; }
.case-evidence-row strong { color:var(--color-text-primary); font-size:1.05rem; }
.case-evidence-row p { margin:0; color:var(--color-text-secondary); }
.case-product-context { border-bottom:0; }
.case-product-points { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #3B3B3B; border-left:1px solid #3B3B3B; }
.case-product-points span { min-height:86px; display:flex; align-items:center; padding:18px 20px; border-right:1px solid #3B3B3B; border-bottom:1px solid #3B3B3B; color:#F1EEE9; font-weight:600; }
.case-product-points span:last-child { grid-column:1 / -1; }
.case-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:end; padding-top:8px; }
.case-cta h2 { font-size:clamp(1.75rem,3vw,2.3rem); }
.case-cta p { color:var(--color-text-secondary); margin-bottom:0; }
.case-cta-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; align-items:center; }
.case-consult-link { min-height:48px; padding:0 8px; }

@media (max-width: 900px) {
  .case-metadata { grid-template-columns:1fr 1fr; }
  .case-copy-grid { grid-template-columns:1fr; gap:18px; }
  .case-kpi-list { grid-template-columns:1fr 1fr; }
  .case-action-flow { grid-template-columns:1fr; }
  .case-action-flow li { min-height:auto; }
  .case-action-flow li:not(:last-child)::after { content:"↓"; right:auto; left:24px; top:auto; bottom:-13px; transform:none; }
  .case-lifecycle { grid-template-columns:1fr 1fr; }
  .case-lifecycle li:nth-child(2) { border-right:1px solid var(--color-border); }
  .case-lifecycle li:not(:last-child)::after { display:none; }
  .case-evidence-row { grid-template-columns:58px 1fr; gap:12px 18px; align-items:start; }
  .case-evidence-row p { grid-column:2; }
  .case-cta { grid-template-columns:1fr; gap:28px; }
  .case-cta-actions { justify-content:flex-start; }
}
@media (max-width: 520px) {
  .case-metadata { grid-template-columns:1fr; }
  .case-metadata > div { min-height:auto; padding:18px 20px; border-bottom:1px solid var(--color-border); }
  .case-kpi-list { grid-template-columns:1fr; }
  .case-lifecycle { grid-template-columns:1fr; }
  .case-lifecycle li { border-left:1px solid var(--color-border); }
  .case-evidence-row { grid-template-columns:1fr; padding:22px 0; }
  .case-evidence-row p { grid-column:1; }
  .case-product-points { grid-template-columns:1fr; }
  .case-product-points span:last-child { grid-column:auto; }
  .case-cta-actions { flex-direction:column; align-items:stretch; }
  .case-cta-actions .button { width:100%; }
  .case-consult-link { justify-content:center; }
}
