/* IC memo canonical only. Shared navigation, language dock and footer are unchanged. */
.cmemo { --cm-navy:#002060; --cm-deep:#071b42; --cm-paper:#fbf8f0; --cm-beige:#f3e8cf; --cm-gold:#7f6000; color:#13213b; }
.cmemo *, .cmemo *::before, .cmemo *::after { box-sizing:border-box; }
.cmemo :is(h1,h2,h3,p,ol,ul,dl) { margin-top:0; }
.cmemo :is(h1,h2,h3) { font-family:var(--serif); }
.cmemo p { line-height:1.7; }
.cmemo a:focus-visible { outline:3px solid currentColor; outline-offset:6px; border-radius:3px; }
.cmemo :is(section,nav)[id], [id^="ic-memo-"] { scroll-margin-top:165px; }
.cmemo .container { max-width:1248px; }
.cmemo-kicker { font-size:.875rem; font-weight:700; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; color:var(--cm-gold); margin-bottom:22px; }
.cmemo-hero { background:var(--cm-deep); color:#e0e7f3; padding:170px 0 0; }
.cmemo-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; font-size:.875rem; margin-bottom:44px; color:#becbe2; }
.cmemo-breadcrumb a { color:#becbe2; }
.cmemo-breadcrumb a:hover { color:#fff; text-decoration:underline; }
.cmemo-hero__grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.88fr); align-items:center; gap:64px; padding-bottom:62px; }
.cmemo-hero .cmemo-kicker { color:#ecdbad; }
.cmemo-hero h1 { color:#fff; font-size:clamp(2.6rem,4.6vw,4.15rem); line-height:1.05; letter-spacing:-.025em; margin-bottom:28px; }
.cmemo-hero h1 span { display:block; font-size:.46em; font-weight:500; color:#ecdbad; margin-top:13px; letter-spacing:0; }
.cmemo-hero__promise { font:500 clamp(1.35rem,2.3vw,1.8rem)/1.3 var(--serif); color:#ecdbad; margin-bottom:19px; max-width:24ch; }
.cmemo-hero__intro { max-width:53ch; font-size:1.0625rem; margin-bottom:28px; }
.cmemo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 24px; }
.cmemo-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:15px 24px; min-height:52px; border:1px solid transparent; border-radius:4px; font-size:1rem; font-weight:700; text-align:center; line-height:1.4; }
.cmemo-button--gold { background:#efdb9f; border-color:#efdb9f; color:#071b42; }
.cmemo-button--gold:hover { background:#fff0c8; border-color:#fff0c8; color:#071b42; }
.cmemo-textlink { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:.9375rem; font-weight:650; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#b6a672; }
.cmemo-textlink span, .cmemo-button span { flex-shrink:0; }
.cmemo-hero .cmemo-textlink, .cmemo-brief .cmemo-textlink { color:#fff; }
.cmemo-hero .cmemo-textlink:hover, .cmemo-brief .cmemo-textlink:hover { color:#ecdbad; }
.cmemo-hero__note { font-size:.875rem; color:#becbe2; margin:24px 0 0; }
.cmemo-paper { align-self:center; background:var(--cm-paper); color:#13213b; padding:28px 32px 23px; border-top:5px solid #ddc080; box-shadow:0 20px 60px rgba(0,0,0,.16); }
.cmemo-paper__masthead { display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid #d7cfbd; font-size:.875rem; color:#635635; }
.cmemo-paper__masthead span:first-child { font-weight:700; }
.cmemo-paper h2 { font-size:clamp(1.7rem,2.5vw,2.1rem); margin:25px 0 21px; line-height:1.12; color:#002060; }
.cmemo-paper__contents { margin:0; }
.cmemo-paper__contents>div { border-top:1px solid #dfd8c8; padding:16px 0; }
.cmemo-paper dt { display:flex; gap:14px; font-weight:700; font-size:1rem; }
.cmemo-paper dt span { color:var(--cm-gold); font-size:.875rem; font-weight:500; padding-top:2px; }
.cmemo-paper dd { font-size:.9375rem; line-height:1.55; color:#566074; margin:5px 0 0 34px; }
.cmemo-paper__footer { padding-top:18px; border-top:1px solid #d7cfbd; color:#655329; font-size:.875rem; margin:0 0 8px; }
.cmemo-paper__caption { font-size:.875rem; color:#566074; margin:0; }
.cmemo-button--download { background:#002060; color:#fff; width:100%; margin-top:22px; padding-inline:16px; font-size:.9375rem; }
.cmemo-button--download:hover { background:#071b42; color:#fff; }
.cmemo-button--download[aria-busy="true"] { opacity:.7; cursor:progress; }
.cmemo-download-note, .cmemo-download-status { font-size:.875rem; color:#566074; margin:10px 0 0; }
.cmemo-download-status:empty { display:none; }
.cmemo-audience { border-top:1px solid #45516c; padding:25px 0 29px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 30px; }
.cmemo-audience p { color:#ecdbad; font-size:.875rem; margin:0; }
.cmemo-audience ul { display:flex; flex-wrap:wrap; list-style:none; gap:12px 27px; margin:0; padding:0; color:#e0e7f3; font-size:.9375rem; }
.cmemo-deliverables { background:#fff; padding:88px 0 34px; }
.cmemo-deliverables__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; }
.cmemo-deliverables h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.13; margin-bottom:22px; }
.cmemo-intro { color:#566074; font-size:1.0625rem; max-width:40ch; }
.cmemo-deliverables__list { list-style:none; margin:0; padding:0; }
.cmemo-deliverables__list li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:18px; padding:26px 0; border-top:1px solid #ddd7c9; }
.cmemo-deliverables__list li:first-child { padding-top:0; border:0; }
.cmemo-number { font-size:.875rem; color:var(--cm-gold); padding-top:4px; }
.cmemo-deliverables__list h3 { font-size:1.4rem; margin-bottom:12px; }
.cmemo-deliverables__list p { font-size:1rem; color:#566074; margin-bottom:13px; }
.cmemo-deliverables__list .cmemo-output { font-size:.875rem; font-weight:650; color:var(--cm-gold); margin:0; }
.cmemo-scope { border-top:1px solid #ddd7c9; margin:31px 0 0; padding-top:23px; font-size:.875rem; color:#566074; }
.cmemo-engage { background:var(--cm-beige); padding:76px 0; }
.cmemo-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:40px; }
.cmemo-section-heading h2 { font-size:clamp(2rem,3.1vw,2.8rem); max-width:23ch; margin:0; }
.cmemo-section-heading>p { font-size:1rem; color:#5e5a4d; margin:0; }
.cmemo-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.cmemo-paths article { border-top:2px solid #9d8040; padding-top:23px; display:flex; flex-direction:column; }
.cmemo-path-label { font-size:.875rem; color:#67582f; margin-bottom:15px; }
.cmemo-paths h3 { font-size:1.6rem; margin-bottom:15px; }
.cmemo-paths article>p:not(.cmemo-path-label) { font-size:1rem; color:#514f48; }
.cmemo-paths a { margin-top:auto; align-self:flex-start; color:#002060; }
.cmemo-paths a:hover { color:#7f6000; }
.cmemo-brief { padding:76px 0; background:var(--cm-navy); color:#e0e7f3; }
.cmemo-brief__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr); gap:84px; align-items:start; }
.cmemo-brief .cmemo-kicker { color:#ecdbad; }
.cmemo-brief h2 { color:#fff; font-size:clamp(2.25rem,3.8vw,3.5rem); line-height:1.1; margin-bottom:22px; }
.cmemo-brief__grid>div>p:not(.cmemo-kicker) { max-width:49ch; font-size:1rem; }
.cmemo-brief .cmemo-actions { margin-top:28px; }
.cmemo-brief__inputs { border-left:1px solid #60729a; padding-left:38px; }
.cmemo-brief__inputs h3 { color:#ecdbad; font-size:1.3rem; margin-bottom:24px; }
.cmemo-brief__inputs ol { list-style:none; padding:0; margin:0; }
.cmemo-brief__inputs li { margin-bottom:21px; }
.cmemo-brief__inputs strong { display:block; color:#fff; font-size:1rem; margin-bottom:4px; }
.cmemo-brief__inputs li span { display:block; font-size:1rem; color:#d4ddef; line-height:1.6; }
.cmemo-brief__inputs>p { border-top:1px solid #60729a; padding-top:19px; font-size:.875rem!important; color:#c0cde4; margin-bottom:0; }
.cmemo-guide-nav { padding:17px 0; background:#faf7ee; border-bottom:1px solid #e0d9c8; }
.cmemo-guide-nav .container { display:flex; flex-wrap:wrap; gap:7px 28px; align-items:center; }
.cmemo-guide-nav span { font-size:1rem; font-weight:700; margin-right:auto; }
.cmemo-guide-nav a { font-size:.9375rem; color:#002060; display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
/* The retained technical guide remains readable without controlling the site shell. */
.cmemo ~ [data-gsc-cluster] .eyebrow { font-size:.875rem; }
@media(max-width:1050px) {
  .cmemo-hero__grid { gap:36px; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
  .cmemo-paper { padding:25px 24px 22px; }
  .cmemo-deliverables__grid { gap:40px; }
  .cmemo-brief__grid { gap:44px; }
  .cmemo-paths { gap:24px; }
}
@media(max-width:800px) {
  .cmemo-hero { padding-top:140px; }
  .cmemo-breadcrumb { margin-bottom:32px; }
  .cmemo-hero__grid { grid-template-columns:minmax(0,1fr); gap:38px; padding-bottom:40px; }
  .cmemo-hero h1 { font-size:clamp(2.65rem,7vw,3.6rem); }
  .cmemo-hero__promise { max-width:100%; }
  .cmemo-hero__intro { max-width:60ch; }
  .cmemo-paper { width:100%; max-width:600px; }
  .cmemo-deliverables__grid, .cmemo-brief__grid { grid-template-columns:minmax(0,1fr); gap:35px; }
  .cmemo-deliverables { padding-top:60px; }
  .cmemo-intro { max-width:60ch; }
  .cmemo-engage, .cmemo-brief { padding:56px 0; }
  .cmemo-section-heading { display:block; margin-bottom:28px; }
  .cmemo-section-heading>p { margin-top:20px; }
  .cmemo-paths { grid-template-columns:minmax(0,1fr); gap:28px; }
  .cmemo-paths article { padding-top:20px; }
  .cmemo-paths h3 { margin-bottom:12px; }
  .cmemo-paths article>p { max-width:60ch; }
  .cmemo-brief__inputs { border-left:0; border-top:1px solid #60729a; padding:28px 0 0; }
  .cmemo-guide-nav .container { column-gap:24px; }
  .cmemo-guide-nav span { flex-basis:100%; }
}
@media(max-width:420px) {
  .cmemo .container { padding-inline:20px; }
  .cmemo-hero h1 { font-size:2.55rem; }
  .cmemo-kicker { letter-spacing:.08em; }
  .cmemo-button { width:100%; padding-inline:18px; }
  .cmemo-actions { gap:14px; }
  .cmemo-paper { padding:22px 20px; }
  .cmemo-paper__masthead { display:block; }
  .cmemo-paper__masthead span { display:block; }
  .cmemo-paper__masthead span+span { margin-top:6px; }
  .cmemo-paper dd { margin-left:0; }
  .cmemo-audience ul { gap:10px 20px; }
  .cmemo-deliverables__list li { gap:12px; grid-template-columns:25px minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { .cmemo a { transition:none; } }
@media print {
  .cmemo-hero { padding-top:24px; }
  .cmemo-hero, .cmemo-brief { background:#fff; color:#13213b; }
  .cmemo-hero :is(h1,p,a), .cmemo-brief :is(h2,h3,p,a,span,strong) { color:#002060; }
  .cmemo-paper { box-shadow:none; border:1px solid #d7cfbd; }
}
