/* Homepage DRP editorial stage. Owner-selected V4.1 motion and original 3D book.
   Three panels share one intrinsic grid row; visibility removes inactive panels from interaction/AT.
   The DRP palette is intentionally fixed and derives from the existing cover/home navy + cyan. */
body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) {
  min-height:calc(100svh - var(--ztc-topbar-h));
}
body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner {
  display:grid; grid-template-columns:minmax(0,1fr); align-items:center;
}
body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner > :is(.home2-hero-copy,.home2-ask,.home2-book) {
  grid-area:1 / 1; visibility:hidden; pointer-events:none;
}
body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner > .home2-hero-copy { display:block; }
body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner > .home2-ask {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:clamp(40px,6vw,96px); align-items:center; width:100%;
}
body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner > .home2-book { display:grid; }
body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-ask > .home2-ask-copy { display:block; }
body.home .home2-hero[data-hero-variant="globe"]:not(.is-globe-fullscreen) .home2-hero-inner > .home2-hero-copy,
body.home .home2-hero[data-hero-variant="ask"]:not(.is-globe-fullscreen) .home2-hero-inner > .home2-ask,
body.home .home2-hero[data-hero-variant="book"]:not(.is-globe-fullscreen) .home2-hero-inner > .home2-book { visibility:visible; pointer-events:auto; }

/* Keep hidden panels measurable with the same typography and borders. */
.home2-book,
body.home .home2-hero[data-hero-variant="book"] {
  --drp-paper:var(--home-paper); --drp-light:var(--home-cyan);
  --drp-muted:color-mix(in srgb,var(--home-paper) 76%,var(--home-deep));
}
body.home .home2-hero[data-hero-variant="book"] {
  color:var(--drp-paper);
  background:radial-gradient(ellipse at 78% 43%,color-mix(in srgb,var(--home-deep-2) 80%,var(--home-blue)) 0%,transparent 48%),var(--home-deep);
}
body.home .home2-hero[data-hero-variant="book"]::before {
  background:linear-gradient(105deg,transparent 47%,color-mix(in srgb,var(--home-cyan) 6%,transparent) 75%,transparent 96%);
  opacity:1;
}
body.home .home2-hero[data-hero-variant="book"] .home2-hero-nightbg,
body.home .home2-hero[data-hero-variant="book"] .home2-cosmos { display:none; }
.home2-book { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:5%; padding:0; align-items:center; }
.home2-book-copy { position:relative; z-index:2; }
.home2-book .drp-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:var(--drp-muted); font-size:12px; letter-spacing:.15em; margin:0 0 28px; }
.home2-book .drp-eyebrow span:first-child { color:var(--drp-light); }
.home2-book .drp-eyebrow span:last-child { font-size:9px; letter-spacing:.2em; padding-left:12px; border-left:1px solid color-mix(in srgb,var(--drp-paper) 28%,transparent); }
.home2-book h2 { color:var(--drp-paper); font-family:var(--ztc-serif); font-size:clamp(36px,3.5vw,55px); line-height:1.32; font-weight:600; letter-spacing:-.02em; margin:0; }
.home2-book h2 span { color:var(--drp-paper); }
.home2-book .home-drp-endorsement { display:flex; align-items:center; gap:12px; color:var(--drp-light); font-size:15px; letter-spacing:.18em; margin:27px 0 18px; }
.home-drp-endorsement::before { content:""; width:30px; height:1px; background:currentColor; }
.home2-book .home2-book-subtitle { color:var(--drp-muted); font-size:18px; line-height:1.6; margin:0 0 20px; }
.home2-book .home2-book-byline { color:var(--drp-muted); font-size:15px; line-height:1.8; margin:0; }
.home2-book-byline span { font-size:12px; margin-top:3px; }
.home-drp-actions { display:flex; align-items:center; flex-wrap:wrap; gap:30px; margin-top:32px; }
.home-drp-actions a { display:inline-flex; align-items:center; color:var(--drp-paper); min-height:48px; text-decoration:none; font-size:14px; }
.home-drp-enter { gap:22px; font-weight:600; letter-spacing:.04em; }
.home-drp-enter i { display:grid; place-items:center; width:46px; height:46px; border:1px solid color-mix(in srgb,var(--drp-light) 52%,transparent); border-radius:50%; color:var(--drp-light); transition:background .22s,border-color .22s,transform .22s; }
.home-drp-enter svg { width:20px; height:20px; }
.home-drp-read { gap:9px; border-bottom:1px solid color-mix(in srgb,var(--drp-paper) 30%,transparent); }
.home-drp-read svg { width:15px; height:15px; }
.home-drp-actions a:focus-visible,.home-drp-volume:focus-visible { outline:2px solid var(--drp-light); outline-offset:6px; }
@media(hover:hover) {
  .home-drp-enter:hover i { background:color-mix(in srgb,var(--drp-light) 12%,transparent); border-color:var(--drp-light); transform:translateX(3px); }
  .home-drp-read:hover { border-color:var(--drp-light); color:var(--drp-light); }
}
.home2-book-visual { position:relative; justify-self:end; width:100%; max-width:560px; height:520px; padding:0; isolation:isolate; pointer-events:none; }
.home2-book-visual::before { content:""; position:absolute; inset:8% -6% 0 13%; background:radial-gradient(ellipse at 63% 44%,color-mix(in srgb,var(--drp-light) 16%,transparent),transparent 64%); }
.home-drp-scene { position:absolute; width:690px; height:690px; left:-190px; top:-96px; opacity:.26; isolation:isolate; mask-image:url("../img/drp/drp-v41-silhouette.svg"); mask-size:100% 100%; mask-repeat:no-repeat; }
.home-drp-scene > .drp-art,.home-drp-scene > .cover-light { position:absolute; inset:0; display:block; width:100%; height:100%; }
.home-drp-scene > .drp-art img { display:block; width:100%; height:100%; object-fit:contain; filter:saturate(.92) brightness(.91); }
.home-drp-scene .window-texture { filter:saturate(.92) brightness(.91); }
.home-drp-scene > .cover-light { pointer-events:none; }
.home-drp-scene:is([data-motion-state="static"],[data-motion-state="settled"],[data-motion-state="inactive"]) > .cover-light { display:none; }
.home-drp-volume { position:absolute; z-index:1; right:8%; top:6px; width:clamp(236px,23vw,320px); pointer-events:auto; }
.home-drp-volume .drp-book-art { mix-blend-mode:normal; filter:drop-shadow(14px 18px 18px color-mix(in srgb,var(--home-deep) 40%,transparent)); }
.home-drp-visual-caption { position:absolute; right:8%; bottom:0; margin:0; display:flex; align-items:center; gap:16px; font-size:10px; letter-spacing:.15em; color:var(--drp-muted); }
.home-drp-visual-caption span { font-size:15px; font-weight:600; letter-spacing:.22em; color:var(--drp-light); padding-right:16px; border-right:1px solid color-mix(in srgb,var(--drp-paper) 28%,transparent); }
body.home .home2-hero[data-hero-variant="book"] .home2-hero-switch { background:color-mix(in srgb,var(--home-deep) 85%,transparent); border-color:color-mix(in srgb,var(--home-paper) 20%,transparent); box-shadow:none; }
body.home .home2-hero[data-hero-variant="book"] .home2-hero-switch button[aria-pressed="false"],
body.home .home2-hero.is-night[data-hero-variant="book"] .home2-hero-switch button[aria-pressed="false"] { color:var(--home-paper); }
body.home .home2-hero[data-hero-variant="book"] .home2-hero-switch button[aria-pressed="true"] { color:var(--home-paper); background:var(--home-blue); }

@media(max-width:1100px) and (min-width:641px) {
  .home2-book { gap:2%; }
  .home2-book h2 { font-size:36px; }
  .home2-book-visual { height:450px; }
  .home-drp-volume { right:3%; top:20px; width:254px; }
  .home-drp-scene { width:570px; height:570px; left:-155px; top:-58px; }
  .home-drp-visual-caption { right:3%; }
}
@media(max-width:991px) and (min-width:641px) {
  body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) { min-height:max(900px,100svh); }
  body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner { flex:1; padding-bottom:80px; }
  body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-media { position:absolute; height:480px; top:auto; bottom:34px; order:0; }
  body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-globe { width:470px; top:50%; left:68%; }
  body.home .home2-hero[data-hero-variant="globe"] .home2-hero-inner > .home2-hero-copy { align-self:start; }
  body.home .home2-hero[data-hero-variant] .home2-hero-switch { position:absolute; left:50%; bottom:26px; margin:0; transform:translateX(-50%); }
}
@media(max-width:900px) {
  body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner > .home2-ask { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:640px) {
  body.home.home-hero-visible .ztc-knowledge-launch { visibility:hidden; pointer-events:none; }
  body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) { min-height:max(780px,100svh); }
  body.home .home2-hero[data-hero-variant]:not(.is-globe-fullscreen) .home2-hero-inner { flex:1; padding:104px 20px 24px; }
  body.home .home2-hero[data-hero-variant] .home2-hero-switch { position:relative; left:auto; bottom:auto; align-self:center; margin:0 auto 74px; transform:none; }
  .home2-book { grid-template-columns:minmax(0,1fr); gap:8px; }
  .home2-book .drp-eyebrow { font-size:10px; margin-bottom:18px; gap:8px; }
  .home2-book .drp-eyebrow span:last-child { font-size:8px; padding-left:8px; letter-spacing:.1em; }
  .home2-book h2 { font-size:30px; line-height:1.3; }
  .home2-book .home-drp-endorsement { font-size:13px; letter-spacing:.14em; margin:16px 0 10px; }
  .home2-book .home2-book-subtitle { font-size:14px; margin-bottom:10px; }
  .home2-book .home2-book-byline { font-size:12px; line-height:1.7; }
  .home2-book-byline span { font-size:11px; }
  .home-drp-actions { margin-top:16px; gap:26px; }
  .home-drp-actions a { font-size:13px; min-height:44px; }
  .home-drp-enter { gap:16px; }
  .home-drp-enter i { width:36px; height:36px; }
  .home2-book-visual { justify-self:center; width:100%; height:250px; margin-top:7px; }
  .home-drp-volume { top:0; right:18%; width:154px; }
  .home-drp-scene { width:355px; height:355px; left:-52px; top:-52px; opacity:.28; }
  .home-drp-visual-caption { right:6%; bottom:2px; font-size:9px; gap:9px; }
  .home-drp-visual-caption span { font-size:12px; padding-right:9px; }
  .home2-hero-switch button { min-height:44px; }
}
@media(max-width:360px) {
  .home2-book h2 { font-size:27px; }
  .home2-book .drp-eyebrow span:last-child { display:none; }
  .home-drp-actions { gap:20px; }
  .home-drp-volume { right:12%; width:150px; }
  .home-drp-scene { width:330px; height:330px; left:-72px; top:-33px; }
  .home2-hero-switch button { padding-left:5px; padding-right:5px; gap:3px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-drp-scene > .cover-light { display:none; }
  .home-drp-enter i { transition:none; }
}
@media(forced-colors:active) {
  .home-drp-actions a { color:LinkText; }
  .home-drp-enter i { border-color:ButtonText; }
  .home-drp-volume .drp-book-art { filter:none; }
}

/* 2026-11-06: deliberate manual navigation, quiet icons with a hover/focus summary. */
body.home .home2-hero .home2-hero-switch { padding:3px; gap:2px; overflow:visible; }
body.home .home2-hero .home2-hero-option { display:flex; }
body.home .home2-hero .home2-hero-switch button[data-hero-switch] { width:44px; height:44px; min-height:44px; padding:0; display:grid; place-items:center; border-radius:50%; }
body.home .home2-hero .home2-hero-switch button[data-hero-switch] svg { width:18px; height:18px; }
.home2-hero-summary { position:absolute; bottom:calc(100% + 9px); left:50%; transform:translateX(-50%); width:max-content; padding:7px 12px; border:1px solid color-mix(in srgb,var(--home-cyan) 18%,transparent); border-radius:7px; color:var(--home-paper); background:var(--home-deep); text-align:center; white-space:nowrap; font:500 13px/1.4 var(--ztc-font-sans,sans-serif); visibility:hidden; opacity:0; pointer-events:none; }
.home2-hero-summary::after { content:""; position:absolute; top:100%; left:0; right:0; height:12px; }
/* Pointer hover takes priority over keyboard focus, so only one label can be visible.
   focus-visible also prevents a pointer click from pinning a label after the pointer leaves. */
.home2-hero-switch:not(:has(.home2-hero-option:hover)) .home2-hero-option:has(button:focus-visible):not([data-summary-dismissed]) .home2-hero-summary { visibility:visible; opacity:1; pointer-events:auto; }
@media(hover:hover) { .home2-hero-option:hover:not([data-summary-dismissed]) .home2-hero-summary { visibility:visible; opacity:1; pointer-events:auto; } }

/* DRP Banner V2 / 光窗·全域. An editorial book part with an enlarged, finite V4.1 installation.
   Owner requested this original VI, mirror depth and light; shared brand source remains untouched. */
body.home .home2-hero[data-drp-layout="v2"][data-hero-variant="book"] {
  background:radial-gradient(ellipse at 83% 44%,color-mix(in srgb,var(--home-blue) 24%,var(--home-deep)) 0%,transparent 58%),var(--home-deep);
}
.home2-book--v2 { grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr); gap:0; }
.home2-book--v2 .home2-book-copy { padding:0; }
.home2-book--v2 .drp-eyebrow { margin-bottom:26px; font-size:11px; }
.home2-book--v2 h2 { margin:0; }
.home2-book--v2 h2 .drp-v2-monogram { font:300 clamp(82px,7.8vw,122px)/.9 var(--ztc-font-sans,sans-serif); letter-spacing:-.065em; color:var(--drp-light); margin:0 0 22px -7px; }
.home2-book--v2 h2 .drp-v2-headline { font:500 clamp(42px,3.55vw,56px)/1.22 var(--ztc-serif); letter-spacing:.025em; }
.home2-book--v2 h2 .drp-v2-headline > span { display:block; color:var(--drp-paper); margin-top:2px; }
.home2-book--v2 .drp-v2-intro { color:var(--drp-muted); font-size:15px; line-height:1.8; margin:24px 0; }
.drp-v2-book-part { display:flex; width:max-content; max-width:100%; align-items:center; gap:22px; text-decoration:none; color:var(--drp-paper); padding:18px 0 0; border-top:1px solid color-mix(in srgb,var(--drp-paper) 20%,transparent); }
.drp-v2-book-object { display:block; width:76px; flex:none; }
.drp-v2-book-object .drp-book-art { mix-blend-mode:normal; filter:none; }
.drp-v2-book-copy { display:block; }
.drp-v2-book-copy small { display:block; color:var(--drp-light); font-size:11px; letter-spacing:.08em; margin-bottom:7px; }
.drp-v2-book-copy strong { display:block; font:500 15px/1.55 var(--ztc-serif); }
.drp-v2-book-copy > span { display:block; font-size:11px; margin-top:8px; color:var(--drp-muted); }
.drp-v2-book-copy em { display:inline-flex; align-items:center; gap:6px; color:var(--drp-light); font-size:11px; font-style:normal; margin-top:9px; }
.drp-v2-book-part:focus-visible { outline:2px solid var(--drp-light); outline-offset:6px; }
.home2-book--v2 .home-drp-actions { margin-top:22px; }
.home2-book--v2 .home-drp-enter { gap:20px; }
.home2-book--v2 .home2-book-visual { --drp-scene-size:940px; --drp-scene-left:-205px; --drp-scene-top:-152px; width:100%; max-width:none; height:570px; pointer-events:auto; }
.home2-book--v2 .home2-book-visual::before { inset:-7% -12% 0 -6%; background:radial-gradient(ellipse at 58% 47%,color-mix(in srgb,var(--drp-light) 10%,transparent),transparent 68%); }
.home2-book--v2 :is(.home-drp-scene,.drp-v2-lightfield,.drp-v2-windows) { position:absolute; width:var(--drp-scene-size); height:var(--drp-scene-size); left:var(--drp-scene-left); top:var(--drp-scene-top); }
.home2-book--v2 .home-drp-scene { opacity:.76; mix-blend-mode:screen; filter:saturate(.72) brightness(.86); }
.home2-book--v2 .home-drp-scene > .drp-art img,.home2-book--v2 .home-drp-scene .window-texture { filter:none; }
.drp-v2-orbit { position:absolute; width:730px; height:730px; left:0; top:-70px; border:1px solid color-mix(in srgb,var(--drp-light) 7%,transparent); border-radius:50%; transform:rotateX(60deg) rotateZ(-28deg); opacity:.4; }
.drp-v2-lightfield { pointer-events:none; color:var(--home-cyan); opacity:.38; transition:opacity .45s; }
.drp-v2-ray { stroke-width:1.3; stroke-dasharray:5 95; stroke-dashoffset:100; animation:drp-v2-transmit 12s linear infinite; animation-play-state:paused; }
.drp-v2-ray--second { animation-delay:-5.5s; animation-duration:15s; opacity:.7; }
.drp-v2-ray--third { animation-delay:-8s; animation-duration:17s; opacity:.45; stroke-width:.8; }
.drp-v2-ray--bloom { stroke-width:6; opacity:.4; }
.drp-v2-data { opacity:0; animation:drp-v2-drift 14s ease-in-out infinite; animation-play-state:paused; }
.drp-v2-windows { pointer-events:none; }
.drp-v2-window { position:absolute; left:var(--wx); top:var(--wy); width:max(44px,9%); height:max(44px,13%); transform:translate(-50%,-50%); pointer-events:auto; text-decoration:none; border-radius:3px; }
.drp-v2-window span { position:absolute; top:calc(100% + 5px); left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:8px; padding:7px 10px; white-space:nowrap; font-size:12px; color:var(--drp-paper); background:color-mix(in srgb,var(--home-deep) 92%,transparent); border:1px solid color-mix(in srgb,var(--home-cyan) 25%,transparent); border-radius:4px; opacity:0; transition:opacity .18s; }
.drp-v2-window:focus-visible { outline:1px solid var(--drp-light); outline-offset:3px; }
.drp-v2-windows:not(:has(.drp-v2-window:hover)) .drp-v2-window:focus-visible span { opacity:1; }
@media(hover:hover) { .drp-v2-window:hover span { opacity:1; } }
.home2-book-visual[data-mirror-active] .home-drp-scene > .cover-light { display:block; }
.drp-v2-explore-hint { position:absolute; top:calc(var(--drp-scene-top) + var(--drp-scene-size)*.78); left:calc(var(--drp-scene-left) + var(--drp-scene-size)*.5); transform:translateX(-50%); width:max-content; margin:0; text-align:center; font-size:12px; letter-spacing:.1em; color:color-mix(in srgb,var(--drp-paper) 65%,transparent); }
.drp-v2-explore-hint svg { width:13px; height:13px; vertical-align:middle; margin-left:6px; }
[data-flow-state="running"] :is(.drp-v2-ray,.drp-v2-data) { animation-play-state:running; }
[data-flow-state="static"] .drp-v2-lightfield { display:none; }
@keyframes drp-v2-transmit { 0% { stroke-dashoffset:100; opacity:0; } 8%,65% { opacity:1; } 82%,100% { stroke-dashoffset:-100; opacity:0; } }
@keyframes drp-v2-drift { 0%,100% { opacity:0; transform:translateY(15px); } 30%,65% { opacity:.22; } 90% { opacity:0; transform:translateY(-15px); } }
@media(hover:hover) { .home2-book--v2 .home2-book-visual:hover .drp-v2-lightfield { opacity:.72; } }
@media(prefers-reduced-motion:reduce) { .drp-v2-lightfield { display:none; } }
@media(hover:hover) { .drp-v2-book-part:hover .drp-v2-book-copy em { color:var(--drp-paper); } }
@media(max-width:1100px) and (min-width:641px) {
  .home2-book--v2 { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
  .home2-book--v2 h2 .drp-v2-monogram { font-size:94px; }
  .home2-book--v2 h2 .drp-v2-headline { font-size:43px; }
  .home2-book--v2 .home2-book-visual { --drp-scene-size:780px; --drp-scene-left:-200px; --drp-scene-top:-130px; height:510px; }
  .drp-v2-orbit { width:530px; height:530px; left:-40px; top:45px; }
}
@media(max-width:991px) and (min-width:641px) {
  .home2-book--v2 .home2-book-visual { --drp-scene-size:620px; --drp-scene-left:-180px; --drp-scene-top:-70px; height:480px; }
}
@media(max-width:640px) {
  .home2-book--v2 { display:grid; grid-template-columns:1fr; gap:0; }
  .home2-book--v2 .drp-eyebrow { margin-bottom:18px; font-size:10px; }
  .home2-book--v2 h2 .drp-v2-monogram { font-size:72px; line-height:.88; margin:0 0 13px -4px; }
  .home2-book--v2 h2 .drp-v2-headline { font-size:31px; line-height:1.2; letter-spacing:.02em; }
  .home2-book--v2 h2 .drp-v2-headline > span { display:inline; margin-left:.5em; }
  .home2-book--v2 .drp-v2-intro { font-size:12px; line-height:1.7; margin:13px 0; text-wrap:balance; }
  .home2-book--v2 .drp-v2-intro br { display:none; }
  .home2-book--v2 .home2-book-copy { display:contents; }
  .home2-book--v2 .drp-eyebrow,.home2-book--v2 h2,.home2-book--v2 .drp-v2-intro { grid-column:1; }
  .home2-book--v2 .home2-book-visual { --drp-scene-size:520px; --drp-scene-left:calc(50% - 260px); --drp-scene-top:-90px; grid-row:4; width:100%; height:300px; margin:0; }
  .drp-v2-explore-hint { display:none; }
  .home2-book--v2 .home2-book-visual::before { inset:-30% -10%; }
  .drp-v2-orbit { width:420px; height:420px; left:calc(50% - 210px); top:-65px; }
  .drp-v2-book-part { grid-row:5; width:100%; gap:20px; padding-top:14px; }
  .drp-v2-book-object { width:64px; }
  .drp-v2-book-copy { flex:1; }
  .drp-v2-book-copy strong { font-size:13px; }
  .drp-v2-book-copy small { margin-bottom:4px; font-size:10px; }
  .drp-v2-book-copy > span { font-size:10px; margin-top:5px; }
  .drp-v2-book-copy em { font-size:10px; margin-top:5px; }
  .home2-book--v2 .home-drp-actions { grid-row:6; margin-top:14px; }
  body.home .home2-hero[data-drp-layout="v2"] .home2-hero-switch { margin-bottom:36px; }
}
@media(max-width:360px) {
  .home2-book--v2 h2 .drp-v2-headline { font-size:28px; }
  .home2-book--v2 h2 .drp-v2-headline > span { margin-left:.3em; }
  .home2-book--v2 .drp-v2-intro br { display:initial; }
  .home2-book--v2 .home2-book-visual { --drp-scene-size:410px; --drp-scene-left:calc(50% - 205px); --drp-scene-top:-44px; height:280px; }
}
@media(prefers-reduced-motion:reduce) { .home2-hero-summary { transition:none; } }
