/* Strategy case hub: merges the value-increase proof and R/G/S model into a case-library landing page. */
#page-strategy.strategy-roadmap-page { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow:clip; }
.strategy-case-shell { width:min(1680px, calc(100% - 96px)); margin:0 auto; }
.strategy-case-hub { color:#f6f1e7; background:#081b31; }
.strategy-case-detail { min-height:70vh; background:#f5f0e6; }
.strategy-system-intro,
.strategy-case-hub,
.strategy-agent-websdk-view,
.strategy-case-detail,
.strategy-case-depth { display:none; }
.strategy-intro-active .strategy-system-intro { display:block; }
.strategy-hub-active .strategy-case-hub { display:block; }
.strategy-hub-active .strategy-case-detail,
.strategy-hub-active .strategy-case-depth { display:none; }
.strategy-case-active .strategy-case-hub,
.strategy-case-active .strategy-case-depth { display:none; }
.strategy-case-active .strategy-case-detail { display:block; }
.strategy-depth-active .strategy-case-hub,
.strategy-depth-active .strategy-case-detail { display:none; }
.strategy-depth-active .strategy-case-depth { display:block; }
.strategy-agent-active .strategy-system-intro,
.strategy-agent-active .strategy-case-hub,
.strategy-agent-active .strategy-case-detail,
.strategy-agent-active .strategy-case-depth { display:none; }
.strategy-agent-active .strategy-agent-websdk-view { display:block; }

/* Slide 12: the first layer of “战略与实践”. */
.strategy-system-cover {
  position:relative;
  min-height:calc(100svh - 56px);
  overflow:hidden;
  color:#e7eef6;
  background:
    radial-gradient(900px 520px at 82% 18%,rgba(31,111,176,.16),transparent 66%),
    linear-gradient(180deg,#0a2340 0%,#102e4d 52%,#071c31 100%);
}
.strategy-system-cover::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent,#000 26%,#000 84%,transparent);
}
.strategy-system-cover-inner {
  position:relative;
  z-index:1;
  display:flex;
  width:min(1880px,calc(100% - 112px));
  min-height:calc(100svh - 56px);
  margin:0 auto;
  padding:52px 0 28px;
  flex-direction:column;
}
.strategy-system-topline {
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,#d4af37 0 54%,rgba(212,175,55,.08) 54%);
}
.strategy-system-heading h1 {
  margin:0;
  color:#fff;
  font-family:"Noto Serif SC","Songti SC",serif;
  font-size:clamp(2.65rem,3.4vw,4.8rem);
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.025em;
}
.strategy-system-heading h1 span { color:#d4af37; }
.strategy-system-rule { display:block; width:104px; height:3px; margin:14px 0 14px; background:#d4af37; }
.strategy-system-module {
  margin:0;
  color:#1686ef;
  font-size:clamp(.8rem,1.1vw,1.05rem);
  font-weight:700;
  letter-spacing:.28em;
}
.strategy-system-era { margin:7px 0 0; color:#9fb0c3; font-size:clamp(.75rem,1vw,.95rem); letter-spacing:.2em; }
.strategy-system-panels { display:grid; gap:16px; margin-top:28px; }
.strategy-system-panel {
  padding:24px 30px;
  border:1px solid rgba(212,175,55,.22);
  border-radius:9px;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.strategy-system-panel h2 { margin:0; color:#dce6f0; font-size:clamp(.92rem,1.15vw,1.2rem); font-weight:400; line-height:1.7; }
.strategy-system-panel h2 strong { color:#d4af37; font-weight:700; }
.strategy-system-rgs-list,.strategy-system-proof-list { display:grid; gap:10px; margin-top:17px; }
.strategy-system-rgs-list article,
.strategy-system-proof-list article {
  display:grid;
  min-height:54px;
  padding:10px 18px;
  align-items:center;
  border-left:3px solid #d4af37;
  background:rgba(87,125,164,.18);
}
.strategy-system-rgs-list article { grid-template-columns:42px 1fr; }
.strategy-system-rgs-list article > span,
.strategy-system-proof-list article > span {
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:50%;
  color:#0c2945;
  background:#d4af37;
  font-family:Georgia,serif;
  font-weight:800;
}
.strategy-system-rgs-list p,.strategy-system-proof-list p { margin:0; color:#cbd6e2; font-size:clamp(.82rem,1vw,1rem); }
.strategy-system-rgs-list p { display:flex; gap:12px; align-items:baseline; }
.strategy-system-rgs-list p strong,.strategy-system-proof-list p strong { color:#d4af37; font-weight:700; }
.strategy-system-rgs-list p b { color:#cbd6e2; font-weight:400; }
.strategy-system-rgs-list p b::before { content:"——"; margin-right:12px; color:#8295aa; }
.strategy-system-belief h2 { display:flex; flex-wrap:wrap; gap:0 12px; }
.strategy-system-belief h2 span { color:#dce6f0; }
.strategy-system-proof-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.strategy-system-proof-list article { grid-template-columns:42px 1fr; }
.strategy-system-bottom {
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);
  gap:24px;
  margin-top:auto;
  padding-top:20px;
  align-items:center;
}
.strategy-system-bottom-copy { display:grid; grid-template-columns:auto minmax(60px,1fr) auto; gap:14px; align-items:center; }
.strategy-system-bottom-copy strong { color:#d4af37; font-family:"Noto Serif SC","Songti SC",serif; font-size:1.2rem; }
.strategy-system-bottom-copy > span { height:1px; background:rgba(212,175,55,.35); }
.strategy-system-bottom-copy p,.strategy-system-bottom > p { margin:0; color:#98aabd; font-size:.78rem; }
.strategy-system-bottom > p { text-align:right; }
.strategy-system-enter {
  display:inline-flex;
  min-width:420px;
  min-height:58px;
  padding:12px 30px;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:2px solid #d4af37;
  border-radius:999px;
  color:#d4af37;
  background:rgba(212,175,55,.07);
  font:inherit;
  font-family:"Noto Serif SC","Songti SC",serif;
  font-size:1.08rem;
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.strategy-system-enter:hover,.strategy-system-enter:focus-visible { color:#071c31; background:#d4af37; transform:translateY(-2px); outline:none; }
.strategy-system-enter span { font-family:Georgia,serif; font-size:1.3rem; }
.strategy-system-folio { display:flex; margin-top:11px; justify-content:space-between; color:#526b83; font-size:.62rem; letter-spacing:.08em; }
.strategy-system-folio span:first-child { font-weight:700; letter-spacing:.16em; }

.strategy-hub-hero { position:relative; overflow:hidden; min-height:720px; padding:118px 0 82px; background:radial-gradient(circle at 78% 38%, rgba(206,160,83,.18), transparent 30%), linear-gradient(135deg,#07172a 0%,#0d2945 58%,#07172a 100%); }
.strategy-hub-hero::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,transparent,#000 54%,#000); }
.strategy-hub-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); gap:80px; align-items:center; }
.strategy-hub-kicker { margin:0 0 20px; color:#d5ad68; font-size:.76rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.strategy-hub-copy h1 { margin:0; max-width:720px; color:#fff; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(3rem,5.2vw,5.2rem); font-weight:600; line-height:1.08; letter-spacing:-.04em; }
.strategy-hub-copy h1 span { color:#dfba74; }
.strategy-hub-lead { max-width:680px; margin:28px 0 0; color:#c6d1df; font-size:1.08rem; line-height:1.95; }
.strategy-hub-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.strategy-hub-actions .btn-secondary { border-color:rgba(223,186,116,.46); color:#f5e6c7; background:rgba(255,255,255,.04); }
.strategy-hub-proof { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:44px; padding-top:22px; border-top:1px solid rgba(223,186,116,.25); color:#91a7bd; font-size:.76rem; letter-spacing:.08em; }
.strategy-hub-proof span { position:relative; }
.strategy-hub-proof span:not(:last-child)::after { content:""; position:absolute; right:-15px; top:50%; width:3px; height:3px; border-radius:50%; background:#d5ad68; }

.strategy-value-model { position:relative; min-height:500px; isolation:isolate; }
.strategy-cube-diagram { position:absolute; inset:0; pointer-events:none; }
.strategy-cube-axis-lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.cube-axis-line { fill:none; stroke:rgba(225,189,119,.48); stroke-width:1.35; stroke-dasharray:5 7; vector-effect:non-scaling-stroke; }
.cube-axis-line-r { stroke:#80b7da; }
.cube-axis-line-g { stroke:#dfba74; }
.cube-axis-line-s { stroke:#b9d2df; }
.strategy-cube-axis-lines marker path { fill:#dfba74; }
.cube-axis-origin { fill:#f1ca80; filter:drop-shadow(0 0 8px rgba(223,186,116,.72)); }
.strategy-cube-scene { position:absolute; left:50%; top:49%; width:178px; height:178px; perspective:900px; transform:translate(-50%,-50%); }
.strategy-value-cube { position:relative; width:100%; height:100%; transform-style:preserve-3d; transform:rotateX(-23deg) rotateY(36deg) rotateZ(-2deg); transition:transform .55s ease; }
.strategy-value-model:hover .strategy-value-cube { transform:rotateX(-20deg) rotateY(43deg) rotateZ(-2deg) translateY(-4px); }
.cube-face { position:absolute; inset:0; display:block; border:1px solid rgba(239,205,143,.72); backface-visibility:visible; box-shadow:inset 0 0 30px rgba(223,186,116,.08); }
.cube-front { transform:translateZ(89px); background:linear-gradient(145deg,rgba(52,128,174,.48),rgba(9,42,69,.48)); }
.cube-back { transform:rotateY(180deg) translateZ(89px); background:rgba(8,34,57,.42); }
.cube-right { transform:rotateY(90deg) translateZ(89px); background:linear-gradient(160deg,rgba(223,186,116,.29),rgba(19,65,96,.45)); }
.cube-left { transform:rotateY(-90deg) translateZ(89px); background:rgba(26,89,126,.3); }
.cube-top { transform:rotateX(90deg) translateZ(89px); background:linear-gradient(145deg,rgba(239,205,143,.48),rgba(71,128,161,.3)); }
.cube-bottom { transform:rotateX(-90deg) translateZ(89px); background:rgba(7,28,47,.42); }
.strategy-value-axis { position:absolute; display:grid; gap:2px; min-width:150px; padding:14px 16px; border-left:2px solid #d5ad68; background:rgba(7,23,42,.7); backdrop-filter:blur(8px); }
.strategy-value-axis strong { color:#e1bd77; font-family:Georgia,serif; font-size:1.65rem; }
.strategy-value-axis span { color:#fff; font-weight:700; }
.strategy-value-axis small { color:#8fa7bc; }
.axis-r { left:0; top:58px; }
.axis-g { right:0; bottom:58px; }
.axis-s { right:0; top:32px; }
.strategy-value-caption { position:absolute; left:50%; bottom:18px; display:flex; align-items:baseline; gap:14px; transform:translateX(-50%); white-space:nowrap; }
.strategy-value-caption b { color:#fff; font-size:1rem; letter-spacing:.16em; }
.strategy-value-caption span { color:#d5ad68; font-family:Georgia,serif; font-size:1.6rem; }

.strategy-case-showcase { padding:92px 0 110px; background:#f3efe7; color:#132b43; }
.strategy-case-heading { display:grid; grid-template-columns:1fr minmax(320px,.7fr); gap:48px; align-items:end; margin-bottom:38px; }
.strategy-case-heading .strategy-hub-kicker { margin-bottom:10px; color:#9a6f2b; }
.strategy-case-heading h2 { margin:0; max-width:720px; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(2rem,3.4vw,3.35rem); line-height:1.2; }
.strategy-case-heading > p { margin:0; color:#647486; line-height:1.9; }
.strategy-case-carousel { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr) 52px; gap:18px; align-items:center; }
#strategy-case-carousel-stage { opacity:0; transform:translateY(8px); transition:opacity .28s ease,transform .28s ease; }
#strategy-case-carousel-stage.is-ready { opacity:1; transform:none; }
.strategy-case-arrow { width:48px; height:48px; border:1px solid #c9b691; border-radius:50%; color:#17344e; background:transparent; font-size:1.2rem; cursor:pointer; transition:.2s ease; }
.strategy-case-arrow:hover:not(:disabled),.strategy-case-arrow:focus-visible { color:#fff; border-color:#b88637; background:#b88637; transform:translateY(-2px); }
.strategy-case-arrow:disabled { opacity:.28; cursor:not-allowed; }
.strategy-case-slide { display:grid; grid-template-columns:.78fr 1.22fr; grid-template-areas:"brand photo" "story photo"; min-height:520px; overflow:hidden; border:1px solid rgba(21,51,76,.12); background:#fff; box-shadow:0 24px 70px rgba(17,43,67,.12); }
.strategy-case-brand { grid-area:brand; display:flex; width:100%; min-height:180px; padding:46px 52px 20px; border:0; flex-direction:column; justify-content:flex-end; align-items:flex-start; text-align:left; background:#0d2945; color:#fff; cursor:pointer; }
.strategy-case-brand small { color:#82a9cc; font-size:.72rem; letter-spacing:.34em; }
.strategy-case-brand strong { margin-top:5px; font-family:"Noto Serif SC","Songti SC",serif; font-size:2.7rem; font-weight:600; }
.strategy-case-brand span { margin-top:8px; color:#d8b36f; font-size:.82rem; letter-spacing:.16em; }
.strategy-case-photo { grid-area:photo; position:relative; min-height:520px; margin:0; overflow:hidden; background:#dce4e9; }
.strategy-case-photo img { width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform .7s ease; }
.strategy-case-photo.document-visual img { object-fit:contain; object-position:center; padding:32px; background:#e9e5dd; }
.strategy-case-photo-fallback { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:34px; text-align:center; background:radial-gradient(circle at 50% 40%,rgba(207,166,88,.22),transparent 34%),linear-gradient(145deg,#0d2945,#07192d); }
.strategy-case-photo-fallback span { color:#8eb2d2; font-size:.74rem; letter-spacing:.28em; }
.strategy-case-photo-fallback strong { margin-top:16px; color:#fff; font-family:"Noto Serif SC","Songti SC",serif; font-size:3.2rem; }
.strategy-case-photo-fallback small { margin-top:12px; color:#d9b471; letter-spacing:.12em; }
.strategy-case-slide:hover .strategy-case-photo img { transform:scale(1.025); }
.strategy-case-photo::after { content:""; position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(transparent,rgba(4,19,32,.82)); }
.strategy-case-photo figcaption { position:absolute; z-index:1; left:28px; right:28px; bottom:23px; color:#e8eef3; font-size:.76rem; }
.strategy-case-story { grid-area:story; padding:30px 52px 44px; background:#fff; }
.strategy-case-type { color:#a87529; font-size:.74rem; font-weight:700; letter-spacing:.1em; }
.strategy-case-story h3 { margin:12px 0 14px; color:#17344e; font-family:"Noto Serif SC","Songti SC",serif; font-size:1.48rem; line-height:1.5; }
.strategy-case-story p { margin:0; color:#667789; line-height:1.8; }
.strategy-case-open { display:inline-flex; align-items:center; gap:16px; margin-top:24px; padding:0; border:0; color:#17344e; background:transparent; font-weight:700; cursor:pointer; }
.strategy-case-open span { color:#b88637; font-size:1.15rem; transition:transform .2s ease; }
.strategy-case-open:hover span,.strategy-case-open:focus-visible span { transform:translateX(5px); }
.strategy-case-dots { display:grid; grid-template-columns:repeat(8,1fr); gap:7px; margin:22px 70px 0; }
.strategy-case-dots button { position:relative; min-width:0; padding:12px 4px 9px; border:0; border-top:1px solid #c9c1b2; color:#8290a0; text-align:left; background:transparent; cursor:pointer; }
.strategy-case-dots button::before { content:""; position:absolute; left:0; right:100%; top:-1px; height:2px; background:#b88637; transition:right .25s ease; }
.strategy-case-dots button.active::before,.strategy-case-dots button:hover::before { right:0; }
.strategy-case-dots span { display:block; font-family:Georgia,serif; font-size:.68rem; }
.strategy-case-dots b { display:block; overflow:hidden; margin-top:5px; font-size:.7rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }

/* Generic case homepage */
.strategy-detail-hero { position:relative; overflow:hidden; padding:92px 0 88px; color:#fff; background:radial-gradient(circle at 82% 18%,rgba(220,177,101,.22),transparent 28%),linear-gradient(135deg,#07182c,#103451 72%,#07182c); }
.strategy-detail-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.15; background-image:linear-gradient(120deg,transparent 0 48%,rgba(255,255,255,.13) 49%,transparent 50%); background-size:52px 52px; }
.strategy-detail-hero > .strategy-case-shell { position:relative; z-index:1; }
.strategy-detail-breadcrumb { display:flex; align-items:center; gap:10px; margin-bottom:48px; color:#91a7bb; font-size:.76rem; }
.strategy-detail-breadcrumb button { padding:0; border:0; color:#d9b572; background:transparent; cursor:pointer; }
.strategy-detail-breadcrumb b { color:#c9d4df; font-weight:500; }
.strategy-detail-hero-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr); gap:72px; align-items:center; }
.strategy-detail-wordmark { display:flex; flex-wrap:wrap; align-items:baseline; gap:9px 16px; }
.strategy-detail-wordmark small { flex-basis:100%; color:#81a9cb; font-size:.72rem; letter-spacing:.32em; }
.strategy-detail-wordmark h1 { margin:0; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(3.6rem,6vw,6rem); font-weight:600; letter-spacing:-.04em; }
.strategy-detail-wordmark span { padding:5px 10px; border:1px solid rgba(216,180,113,.45); color:#dfba75; font-size:.68rem; letter-spacing:.08em; }
.strategy-detail-copy > h2 { margin:28px 0 14px; color:#fff; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(1.48rem,2vw,2.05rem); line-height:1.52; text-wrap:balance; }
.strategy-detail-copy > p:not(.strategy-hub-kicker) { margin:0; color:#bdccda; line-height:1.9; }
.strategy-detail-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.strategy-detail-actions .btn-secondary { border-color:rgba(222,187,121,.42); color:#f3e3c5; background:rgba(255,255,255,.04); }
.strategy-detail-visual { position:relative; }
.strategy-detail-visual .strategy-case-photo { min-height:520px; border:1px solid rgba(255,255,255,.14); box-shadow:0 30px 80px rgba(0,0,0,.32); }
.strategy-detail-visual .strategy-case-photo img { object-position:center; }
.strategy-detail-stamp { position:absolute; right:-20px; bottom:-28px; display:grid; width:150px; min-height:128px; padding:18px; border:1px solid rgba(235,201,139,.45); background:#f3eee4; color:#163149; box-shadow:0 18px 55px rgba(2,17,30,.28); }
.strategy-detail-stamp span { color:#8e6a32; font-size:.68rem; letter-spacing:.1em; }
.strategy-detail-stamp b { align-self:end; font-family:Georgia,serif; font-size:2.6rem; line-height:1; }
.strategy-detail-stamp small { color:#71808d; }

.strategy-detail-logic { padding:96px 0; background:#f4efe6; color:#15324b; }
.strategy-detail-question { display:grid; grid-template-columns:.28fr 1fr; gap:38px; align-items:start; padding-bottom:52px; border-bottom:1px solid #cfc4b1; }
.strategy-detail-question .strategy-hub-kicker { margin:9px 0 0; color:#98702f; }
.strategy-detail-question h2 { margin:0; max-width:900px; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(2rem,3.4vw,3.4rem); line-height:1.42; }
.strategy-detail-method { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; padding-top:52px; }
.strategy-detail-method > div > span,.strategy-detail-method aside > span { display:block; margin-bottom:22px; color:#8d6a34; font-size:.72rem; font-weight:700; letter-spacing:.15em; }
.strategy-detail-method ol { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:0; padding:0; list-style:none; }
.strategy-detail-method li { display:flex; align-items:center; gap:14px; min-height:76px; padding:14px 18px; border:1px solid #d9d0c2; background:#fff; }
.strategy-detail-method li span { color:#b38846; font-family:Georgia,serif; }
.strategy-detail-method li strong { font-size:.9rem; }
.strategy-detail-method aside { padding:30px 34px; border-left:3px solid #b88637; background:#0e2b45; color:#fff; }
.strategy-detail-method aside > span { color:#dfba75; }
.strategy-detail-method aside p { margin:0; font-family:"Noto Serif SC","Songti SC",serif; font-size:1.35rem; line-height:1.75; }
.strategy-detail-method aside small { display:block; margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); color:#8ea6bb; line-height:1.7; }

.strategy-detail-materials { padding:96px 0 110px; background:#fff; color:#143149; }
.strategy-detail-materials header { display:grid; grid-template-columns:1fr minmax(320px,.72fr); gap:52px; align-items:end; margin-bottom:38px; }
.strategy-detail-materials header .strategy-hub-kicker { margin-bottom:10px; color:#98702f; }
.strategy-detail-materials h2 { margin:0; max-width:720px; font-family:"Noto Serif SC","Songti SC",serif; font-size:clamp(2rem,3vw,3.1rem); line-height:1.3; }
.strategy-detail-materials header > p { margin:0; color:#69798a; line-height:1.8; }
.strategy-attachment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.strategy-attachment-card { display:grid; grid-template-rows:220px 1fr; min-width:0; padding:0; overflow:hidden; border:1px solid #ded8cf; text-align:left; background:#faf8f4; cursor:pointer; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.strategy-attachment-card:hover,.strategy-attachment-card:focus-visible { border-color:#bd9554; transform:translateY(-5px); box-shadow:0 18px 44px rgba(17,48,72,.12); }
.strategy-attachment-preview { display:block; overflow:hidden; border-bottom:1px solid #e4ded4; background:#e9e6df; }
.strategy-attachment-preview img { width:100%; height:100%; object-fit:contain; padding:14px; }
.strategy-attachment-file { display:flex; height:100%; padding:28px; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg,#0d2b45,#07192c); color:#fff; }
.strategy-attachment-file span { color:#deb971; font-family:Georgia,serif; font-size:1.4rem; }
.strategy-attachment-file b { font-family:"Noto Serif SC","Songti SC",serif; font-size:1.6rem; }
.strategy-attachment-copy { display:flex; min-height:178px; padding:22px 24px; flex-direction:column; }
.strategy-attachment-copy small { color:#9a712f; font-size:.66rem; letter-spacing:.08em; }
.strategy-attachment-copy strong { margin-top:10px; color:#17354e; font-size:.96rem; line-height:1.55; }
.strategy-attachment-copy em { margin-top:auto; padding-top:20px; color:#82909d; font-size:.72rem; font-style:normal; }
.strategy-detail-pagination { display:grid; grid-template-columns:1fr 1fr; background:#0b263f; }
.strategy-detail-pagination button { display:flex; min-height:150px; padding:36px max(36px,calc((100vw - 1180px)/2)); border:0; flex-direction:column; justify-content:center; color:#dce7ef; text-align:left; background:transparent; cursor:pointer; }
.strategy-detail-pagination button + button { align-items:flex-end; border-left:1px solid rgba(255,255,255,.12); text-align:right; }
.strategy-detail-pagination button:hover,.strategy-detail-pagination button:focus-visible { background:#123652; }
.strategy-detail-pagination small { color:#7894aa; letter-spacing:.12em; }
.strategy-detail-pagination strong { margin-top:8px; font-family:"Noto Serif SC","Songti SC",serif; font-size:1.35rem; }

/* Controlled attachment preview */
.strategy-preview-open { overflow:hidden; }
.strategy-attachment-modal[hidden] { display:none; }
.strategy-attachment-modal { position:fixed; z-index:1300; inset:0; display:grid; place-items:center; padding:28px; }
.strategy-attachment-backdrop { position:absolute; inset:0; background:rgba(3,16,28,.78); backdrop-filter:blur(8px); }
.strategy-attachment-dialog { position:relative; z-index:1; display:grid; grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr); width:min(1040px,100%); max-height:min(760px,calc(100vh - 56px)); overflow:auto; border:1px solid rgba(218,180,108,.35); background:#f5f0e7; box-shadow:0 34px 100px rgba(0,0,0,.42); }
.strategy-preview-close { position:absolute; z-index:3; right:14px; top:14px; width:42px; height:42px; border:1px solid rgba(17,47,70,.22); border-radius:50%; color:#17334b; background:rgba(246,242,234,.9); font-size:1.5rem; cursor:pointer; }
#strategy-preview-content { display:contents; }
.strategy-preview-visual { display:flex; min-height:560px; padding:30px; align-items:center; justify-content:center; background:#0b263f; }
.strategy-preview-visual img { width:100%; max-height:640px; object-fit:contain; box-shadow:0 20px 54px rgba(0,0,0,.25); }
.strategy-preview-file { flex-direction:column; color:#fff; background:radial-gradient(circle at 50% 35%,rgba(213,172,94,.28),transparent 28%),#0b263f; }
.strategy-preview-file span { color:#d9b570; font-family:Georgia,serif; font-size:2rem; }
.strategy-preview-file strong { margin-top:20px; font-family:"Noto Serif SC","Songti SC",serif; font-size:2.4rem; }
.strategy-preview-copy { display:flex; padding:64px 54px 48px; flex-direction:column; color:#18354e; }
.strategy-preview-copy .strategy-hub-kicker { margin-bottom:12px; color:#98702f; }
.strategy-preview-copy h2 { margin:0; font-family:"Noto Serif SC","Songti SC",serif; font-size:2.2rem; line-height:1.35; }
.strategy-preview-copy > p { color:#697989; line-height:1.9; }
.strategy-preview-notice { display:grid; gap:8px; margin:28px 0; padding:20px; border-left:3px solid #b88637; background:#e9e2d6; }
.strategy-preview-notice strong { color:#8b652c; }
.strategy-preview-notice span { color:#647484; font-size:.78rem; line-height:1.7; }
.strategy-preview-copy .btn { align-self:flex-start; margin-top:auto; }
.strategy-case-backlink { appearance:none; flex:0 0 auto; min-width:126px; padding:9px 16px 8px 0; border:0; border-right:1px solid #e1ddd2; color:#8b6b32; background:transparent; font:inherit; font-size:.76rem; font-weight:700; white-space:nowrap; cursor:pointer; }
.strategy-case-backlink:hover,.strategy-case-backlink:focus-visible { color:#1a1a2e; outline:none; }

@media (max-width:900px) {
  .nav-inner { gap:10px; padding:0 16px; }
  .nav-brand { height:46px; padding-right:0; }
  .nav-brand-media { flex-basis:74px; width:74px; height:42px; }
  .nav-brand-logo { width:112px; left:-18px; top:-11px; }
  .nav-links { flex:1 1 auto; }
  .strategy-case-shell { width:min(100% - 28px,680px); }
  .strategy-hub-hero { min-height:auto; padding:90px 0 64px; }
  .strategy-hub-hero-grid,.strategy-case-heading { grid-template-columns:1fr; gap:44px; }
  .strategy-value-model { min-height:420px; }
  .strategy-case-carousel { grid-template-columns:1fr; }
  .strategy-case-arrow { position:absolute; z-index:2; top:300px; }
  .strategy-case-arrow.prev { left:12px; }
  .strategy-case-arrow.next { right:12px; }
  .strategy-case-slide { grid-template-columns:1fr; grid-template-areas:"photo" "brand" "story"; }
  .strategy-case-photo { min-height:340px; }
  .strategy-case-brand { min-height:150px; padding:32px 30px 24px; }
  .strategy-case-story { padding:28px 30px 38px; }
  .strategy-case-dots { grid-template-columns:repeat(5,1fr); margin:22px 0 0; }
  .strategy-detail-hero-grid,.strategy-detail-question,.strategy-detail-method,.strategy-detail-materials header { grid-template-columns:1fr; }
  .strategy-detail-hero-grid { gap:48px; }
  .strategy-detail-visual .strategy-case-photo { min-height:430px; }
  .strategy-detail-question { gap:12px; }
  .strategy-detail-method { gap:24px; }
  .strategy-attachment-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .strategy-attachment-dialog { grid-template-columns:1fr; }
  .strategy-preview-visual { min-height:340px; }
  .strategy-preview-copy { padding:42px 36px 36px; }
}
@media (max-width:540px) {
  .nav-inner { padding:0 12px; }
  .nav-link { padding:8px 10px; }
  .strategy-hub-copy h1 { font-size:2.8rem; }
  .strategy-hub-actions { flex-direction:column; align-items:stretch; }
  .strategy-hub-actions .btn { justify-content:center; }
  .strategy-value-model { min-height:470px; transform:scale(.9); transform-origin:center; }
  .strategy-cube-scene { width:142px; height:142px; }
  .cube-front { transform:translateZ(71px); }
  .cube-back { transform:rotateY(180deg) translateZ(71px); }
  .cube-right { transform:rotateY(90deg) translateZ(71px); }
  .cube-left { transform:rotateY(-90deg) translateZ(71px); }
  .cube-top { transform:rotateX(90deg) translateZ(71px); }
  .cube-bottom { transform:rotateX(-90deg) translateZ(71px); }
  .strategy-value-axis { min-width:132px; }
  .axis-r { top:26px; }
  .axis-s { top:104px; }
  .axis-g { bottom:54px; }
  .strategy-case-showcase { padding:68px 0 82px; }
  .strategy-case-photo { min-height:280px; }
  .strategy-case-arrow { top:242px; width:42px; height:42px; }
  .strategy-case-dots { grid-template-columns:repeat(2,1fr); }
  .strategy-detail-hero { padding:78px 0 62px; }
  .strategy-detail-wordmark h1 { font-size:3.2rem; }
  .strategy-detail-visual .strategy-case-photo { min-height:330px; }
  .strategy-detail-stamp { right:10px; bottom:-30px; }
  .strategy-detail-logic,.strategy-detail-materials { padding:72px 0; }
  .strategy-detail-method ol,.strategy-attachment-grid,.strategy-detail-pagination { grid-template-columns:1fr; }
  .strategy-detail-pagination button + button { align-items:flex-start; border-top:1px solid rgba(255,255,255,.12); border-left:0; text-align:left; }
  .strategy-attachment-modal { padding:12px; }
  .strategy-attachment-dialog { max-height:calc(100vh - 24px); }
  .strategy-preview-copy { padding:36px 24px 28px; }
  .strategy-preview-copy h2 { font-size:1.7rem; }
}
@media (prefers-reduced-motion:reduce) {
  #strategy-case-carousel-stage,.strategy-case-arrow,.strategy-case-photo img,.strategy-case-open span,.strategy-attachment-card { transition:none; }
}

@media (min-width:901px) {
  #page-strategy .strategy-roadmap-shell,
  #page-strategy .strategy-chapterbar-inner {
    width:min(1680px,calc(100% - 96px));
    max-width:none;
  }
  #page-strategy .strategy-toc-inner {
    width:min(1680px,calc(100% - 96px));
    max-width:none;
    margin-inline:auto;
  }
  #page-strategy .ch2-page .strategy-roadmap-shell {
    width:min(1680px,calc(100% - 96px));
    max-width:none;
    padding-inline:0;
  }
}

/* Keep the complete slide, including its drill-down CTA, inside shorter laptop viewports. */
@media (min-width:1101px) and (max-height:820px) {
  .strategy-system-cover-inner { padding:26px 0 14px; }
  .strategy-system-heading h1 { font-size:clamp(2.4rem,3vw,3.25rem); }
  .strategy-system-rule { margin:9px 0; }
  .strategy-system-panels { gap:10px; margin-top:16px; }
  .strategy-system-panel { padding:14px 24px; }
  .strategy-system-panel h2 { line-height:1.5; }
  .strategy-system-rgs-list,.strategy-system-proof-list { gap:6px; margin-top:9px; }
  .strategy-system-rgs-list article,
  .strategy-system-proof-list article { min-height:42px; padding:5px 15px; }
  .strategy-system-bottom { gap:18px; padding-top:10px; }
  .strategy-system-enter { min-height:50px; }
  .strategy-system-folio { margin-top:6px; }
}

@media (max-width:1100px) {
  .strategy-system-cover-inner { width:min(100% - 56px,920px); padding-top:42px; }
  .strategy-system-heading h1 { font-size:clamp(2.35rem,5.2vw,3.8rem); }
  .strategy-system-proof-list { grid-template-columns:1fr; }
  .strategy-system-bottom { grid-template-columns:1fr; justify-items:center; }
  .strategy-system-bottom-copy { width:100%; }
  .strategy-system-bottom > p { display:none; }
}

@media (max-width:900px) {
  .strategy-system-cover { min-height:auto; }
  .strategy-system-cover-inner { width:min(100% - 36px,680px); min-height:calc(100svh - 56px); padding:42px 0 22px; }
  .strategy-system-heading h1 { font-size:clamp(2.15rem,6.2vw,3rem); }
  .strategy-system-module,.strategy-system-era { letter-spacing:.15em; line-height:1.7; }
  .strategy-system-panels { margin-top:18px; }
  .strategy-system-panel { padding:20px 22px; }
  .strategy-system-bottom { margin-top:20px; }
  .strategy-system-enter { min-width:0; width:min(100%,520px); }
}

@media (max-width:540px) {
  .strategy-system-cover-inner { width:calc(100% - 28px); padding-top:38px; }
  .strategy-system-heading h1 { font-size:2.25rem; line-height:1.25; }
  .strategy-system-heading h1 span { display:block; margin-top:6px; }
  .strategy-system-module { font-size:.72rem; }
  .strategy-system-era { font-size:.7rem; }
  .strategy-system-panel { padding:22px 18px; }
  .strategy-system-panel h2 { font-size:.9rem; }
  .strategy-system-rgs-list article,.strategy-system-proof-list article { padding:12px 13px; }
  .strategy-system-rgs-list p { display:grid; gap:2px; }
  .strategy-system-rgs-list p b::before { content:""; margin:0; }
  .strategy-system-proof-list p { font-size:.8rem; }
  .strategy-system-bottom-copy { grid-template-columns:auto 1fr; }
  .strategy-system-bottom-copy p { grid-column:1 / -1; }
  .strategy-system-enter { min-height:54px; padding-inline:18px; font-size:.9rem; letter-spacing:.02em; }
  .strategy-system-folio span:last-child { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .strategy-system-enter { transition:none; }
}
