/* ============ Brochure — A4 print-ready, YUSY 科学+ style ============ */
/* Shared by brochure.html (zh) / brochure-tw.html (繁) / brochure-en.html (en).
   Per-language font is overridden via an inline :root{--font:...} after this link. */
:root{
  --brand:#0b3d91; --brand2:#1e6fd9; --cyan:#06b6d4; --violet:#7c3aed;
  --earth:#0a7c3a; --earth2:#15a34a; --sun:#f59e0b; --magma:#e11d48;
  --ink:#0b1220; --ink2:#334155; --mute:#64748b; --line:#e5e7eb; --sky:#eef4ff;
  --grad-brand:linear-gradient(135deg,#0b3d91 0%,#1e6fd9 45%,#06b6d4 100%);
  --grad-ai:linear-gradient(135deg,#06b6d4,#7c3aed);
  --grad-earth:linear-gradient(135deg,#0a7c3a,#15a34a);
  --font:"PingFang SC","Microsoft YaHei","Source Han Sans SC","Noto Sans SC",sans-serif;
}
*{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
html,body{margin:0;padding:0;}
body{font-family:var(--font);color:var(--ink);background:#5b6472;}
img{display:block;max-width:100%;}

@page{ size:A4; margin:0; }
.page{
  position:relative; width:210mm; height:297mm; overflow:hidden;
  background:#fff; margin:0 auto; page-break-after:always;
}
.page:last-child{ page-break-after:auto; }
@media screen{ .page{ margin:10px auto; box-shadow:0 10px 40px rgba(0,0,0,.4); } }
@media screen{
  body{overflow-x:hidden;}
  .brochure-page-shell{position:relative;margin:10px auto;}
  .brochure-page-shell .page{position:absolute;inset:0 auto auto 0;margin:0;transform:scale(var(--brochure-scale,1));transform-origin:top left;}
}
@media print{
  .brochure-page-shell{display:contents;}
  .brochure-page-shell .page{position:relative;transform:none!important;}
}

.pad{ padding:16mm 15mm; height:100%; }
.eyebrow{ display:inline-block; font-size:9.5pt; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; color:var(--brand2); }
h1,h2,h3,h4{ margin:0; }
.sec-title{ font-size:23pt; font-weight:800; color:var(--ink); margin:5px 0 4px; letter-spacing:-.01em; }
.sec-lead{ font-size:10.5pt; color:var(--ink2); line-height:1.7; margin:0 0 14px; }
.hl{ background:linear-gradient(90deg,#1e6fd9,#7c3aed); -webkit-background-clip:text; background-clip:text; color:transparent; }
.pgnum{ position:absolute; bottom:9mm; right:14mm; font-size:9pt; color:var(--mute); }
.pgfoot{ position:absolute; bottom:9mm; left:15mm; font-size:8.5pt; color:var(--mute); letter-spacing:.02em; }

/* ---- Cover ---- */
.cover{ position:relative; height:100%; color:#fff; }
.cover .bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cover .veil{ position:absolute; inset:0;
  background:radial-gradient(900px 500px at 80% 0%,rgba(124,58,237,.40),transparent 60%),
             linear-gradient(180deg,rgba(7,20,45,.78) 0%,rgba(6,18,40,.62) 40%,rgba(5,13,36,.92) 100%); }
.cover .inner{ position:absolute; inset:0; padding:18mm 16mm; display:flex; flex-direction:column; }
.cover .brand-row{ display:flex; align-items:center; gap:10px; }
.cover .brand-row .lg{ font-size:15pt; font-weight:800; letter-spacing:.02em; }
.cover .brand-row .lg a{ color:inherit; text-decoration:none; }
.cover .brand-row .tag{ font-size:8.5pt; font-weight:700; padding:3px 9px; border-radius:999px;
  background:var(--grad-ai); }
.cover .host{ margin-top:6px; font-size:10pt; color:#cdd9f2; font-weight:600; }
.cover .mid{ margin-top:auto; }
.cover .ce{ display:inline-block; font-size:9.5pt; font-weight:700; letter-spacing:.08em;
  padding:6px 14px; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#bcd3ff; }
.cover h1{ font-size:34pt; font-weight:800; line-height:1.16; margin:14px 0 8px; letter-spacing:-.01em; }
.cover .sub{ font-size:14pt; font-weight:700; color:#e6eeff; }
.cover .tagline{ margin-top:14px; font-size:12pt; color:#cbd9f2; max-width:150mm; line-height:1.6; }
.cover .foot{ margin-top:24px; padding-top:14px; border-top:1px solid rgba(255,255,255,.22);
  display:flex; gap:30px; font-size:10pt; color:#dbe6fb; }
.cover .foot b{ color:#fff; }

/* ---- Key facts ---- */
.facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:14px 0; }
.facts .f{ background:var(--sky); border:1px solid var(--line); border-radius:10px; padding:11px 12px; }
.facts .f .k{ font-size:8pt; color:var(--mute); font-weight:700; letter-spacing:.06em; }
.facts .f .v{ font-size:11.5pt; font-weight:800; color:var(--brand); margin-top:3px; line-height:1.2; }
.facts .f .v small{ display:block; font-size:8pt; font-weight:500; color:var(--ink2); margin-top:2px; }

/* ---- Cards ---- */
.cards4{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.card{ border:1px solid var(--line); border-radius:12px; padding:13px 14px; background:#fff; }
.card .ic{ width:30px; height:30px; border-radius:8px; background:var(--grad-brand); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:15px; margin-bottom:7px; }
.card h4{ font-size:11pt; font-weight:800; margin-bottom:3px; }
.card p{ font-size:8.7pt; color:var(--ink2); line-height:1.55; margin:0; }

/* ---- Tracks ---- */
.tracks{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.tk{ border-radius:12px; padding:13px 11px; color:#fff; min-height:120px; display:flex; flex-direction:column; }
.tk .c{ font-size:8pt; font-weight:800; letter-spacing:.06em; opacity:.9; }
.tk h4{ font-size:11.5pt; font-weight:800; margin:6px 0 5px; }
.tk p{ font-size:7.8pt; line-height:1.45; margin:0; color:rgba(255,255,255,.94); }
.tk.s1{background:linear-gradient(135deg,#0a7c3a,#15a34a 60%,#65a30d);}
.tk.s2{background:linear-gradient(135deg,#7c2d12,#b45309 55%,#ea580c);}
.tk.s3{background:linear-gradient(135deg,#1e1b4b,#4338ca 55%,#7c3aed);}
.tk.s4{background:linear-gradient(135deg,#166534,#16a34a 55%,#84cc16);}
.tk.s5{background:linear-gradient(135deg,#0c4a6e,#0284c7 55%,#06b6d4);}
.tk.s6{background:linear-gradient(135deg,#1e293b,#475569 50%,#38bdf8);}
.tk.s7{background:linear-gradient(135deg,#581c87,#9333ea 55%,#c026d3);}
.tracks.final2{ grid-template-columns:repeat(2,1fr); margin-top:8px; }
.tracks-lbl{ font-size:8.5pt; font-weight:800; color:#0b3d91; margin:11px 0 6px; }

/* ---- Tables ---- */
table.t{ width:100%; border-collapse:collapse; font-size:9pt; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
table.t th{ background:var(--sky); text-align:left; padding:8px 10px; font-weight:800; color:var(--ink); }
table.t td{ padding:8px 10px; border-top:1px solid var(--line); color:var(--ink2); vertical-align:top; }
.pill{ display:inline-block; padding:2px 8px; border-radius:999px; background:var(--sky); color:var(--brand); font-size:8pt; font-weight:800; }

/* ---- two-col feature ---- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.box{ border:1px solid var(--line); border-radius:12px; padding:13px 15px; }
.box h4{ font-size:11pt; font-weight:800; margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.kv{ list-style:none; padding:0; margin:0; }
.kv li{ display:grid; grid-template-columns:74px 1fr; gap:8px; padding:5px 0; border-bottom:1px dashed var(--line); font-size:8.8pt; }
.kv li:last-child{ border-bottom:none; }
.kv .k{ color:var(--mute); font-weight:700; }
.tag{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:7.5pt; font-weight:800; background:var(--sky); color:var(--brand); }
.tag.ai{ background:rgba(124,58,237,.12); color:var(--violet); }
.tag.earth{ background:rgba(16,185,129,.14); color:var(--earth); }

/* ---- Photo helpers ---- */
.photo{ border-radius:12px; overflow:hidden; border:1px solid var(--line); }
.photo img{ width:100%; height:100%; object-fit:cover; }
.cap{ font-size:8pt; color:var(--mute); margin-top:4px; }

/* photo spread */
.spread{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:51mm; gap:7px; }
.spread .gp{ position:relative; border-radius:10px; overflow:hidden; }
.spread .gp img{ width:100%; height:100%; object-fit:cover; }
.spread .gp .lbl{ position:absolute; left:0; right:0; bottom:0; padding:14px 8px 5px;
  background:linear-gradient(180deg,transparent,rgba(7,18,40,.8)); color:#fff; font-size:7.6pt; font-weight:600; }
.spread .wide{ grid-column:span 2; }
.spread .tall{ grid-row:span 2; }

/* awards */
.awards{ display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.aw{ border:1px solid var(--line); border-radius:12px; padding:13px 10px; text-align:center; }
.aw .m{ width:42px; height:42px; border-radius:50%; margin:0 auto 7px; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; }
.aw.g .m{background:linear-gradient(135deg,#fbbf24,#d97706);}
.aw.s .m{background:linear-gradient(135deg,#cbd5e1,#64748b);}
.aw.b .m{background:linear-gradient(135deg,#d97706,#92400e);}
.aw.e .m{background:linear-gradient(135deg,#93c5fd,#1e6fd9);}
.aw h4{ font-size:10pt; }
.aw .pct{ font-size:15pt; font-weight:800; color:var(--brand); margin:2px 0; }
.aw p{ font-size:7.6pt; color:var(--ink2); margin:0; line-height:1.4; }

/* steps */
.steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.step{ border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.step .n{ width:26px; height:26px; border-radius:7px; background:var(--grad-brand); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:11pt; margin-bottom:6px; }
.step h4{ font-size:10.5pt; font-weight:800; margin-bottom:3px; }
.step p{ font-size:8.6pt; color:var(--ink2); margin:0; line-height:1.55; }

.cta{ border-radius:14px; padding:18px 22px; background:var(--grad-brand); color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cta h3{ font-size:15pt; font-weight:800; }
.cta p{ font-size:9.5pt; color:rgba(255,255,255,.9); margin:4px 0 0; }
.cta .qr{ width:70px; height:70px; border-radius:10px; background:#fff; padding:4px; flex:none; }
.cta .qr img{ width:100%; height:100%; object-fit:contain; display:block; }

.contact{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.contact .ci{ background:var(--sky); border:1px solid var(--line); border-radius:10px; padding:10px 13px; }
.contact .ci .k{ font-size:8pt; color:var(--mute); font-weight:700; }
.contact .ci .v{ font-size:10pt; font-weight:800; color:var(--brand); margin-top:2px; }
.contact .ci .v a{ color:inherit; text-decoration:none; }

.note{ background:#fbfaf3; border:1px solid #ece5cc; border-left:3px solid var(--sun);
  border-radius:8px; padding:9px 13px; font-size:8.2pt; color:var(--ink2); line-height:1.6; }
.divider{ height:1px; background:var(--line); margin:12px 0; }
.brand-foot{ display:flex; align-items:center; gap:8px; font-size:10pt; font-weight:800; color:var(--brand); }
