:root {
  --bg: #06111c;
  --bg-2: #0a1826;
  --panel: rgba(8, 23, 37, .92);
  --panel-2: rgba(13, 34, 51, .86);
  --line: rgba(199, 151, 55, .48);
  --line-blue: rgba(71, 140, 190, .28);
  --text: #f4f0e9;
  --muted: #aab8c6;
  --gold: #d7a642;
  --gold-2: #f1c66c;
  --red: #b84b3c;
  --blue: #6ca7d1;
  --max: 1240px;
  --shadow: 0 18px 50px rgba(0,0,0,.32);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 78% -10%, rgba(38,84,116,.22), transparent 33rem),
    linear-gradient(180deg, #05101a, #071521 55%, #040b12);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
.skip-link { position:absolute; left:-9999px; top:0; z-index:999; background:#fff; color:#000; padding:.6rem 1rem; }
.skip-link:focus { left:.75rem; top:.75rem; }
.container { width:min(var(--max), calc(100% - 2rem)); margin-inline:auto; }
.eyebrow { color:var(--gold-2); letter-spacing:.18em; text-transform:uppercase; font-size:.74rem; font-weight:800; }
.section-title { font-size:clamp(1.8rem,4vw,3.1rem); line-height:1.06; margin:.25rem 0 1rem; letter-spacing:.01em; }
.lede { color:#d7e0e7; font-size:clamp(1.02rem,2vw,1.25rem); max-width:72ch; }
.muted { color:var(--muted); }
.gold { color:var(--gold-2); }
.rule { height:1px; background:linear-gradient(90deg, transparent, var(--line), transparent); margin:1.5rem 0; }

.site-header { position:sticky; top:0; z-index:50; backdrop-filter: blur(12px); background:rgba(3,10,16,.91); border-bottom:1px solid rgba(215,166,66,.23); }
.header-inner { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:flex; flex-direction:column; line-height:1; }
.brand strong { font-family:"Arial Narrow", Impact, sans-serif; font-stretch:condensed; letter-spacing:.055em; font-size:1.45rem; }
.brand span { color:var(--gold); font-size:.65rem; letter-spacing:.19em; margin-top:.38rem; text-transform:uppercase; }
.nav-toggle { display:none; border:1px solid var(--line); background:transparent; color:var(--text); padding:.45rem .65rem; border-radius:4px; }
.nav { display:flex; align-items:center; gap:1.25rem; font-size:.9rem; }
.nav a { color:#d9e1e8; padding:.45rem 0; border-bottom:2px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { color:#fff; border-color:var(--gold); }

.hero { min-height:590px; display:grid; align-items:end; position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid rgba(215,166,66,.25); }
.hero::before { content:""; position:absolute; inset:0; z-index:-3; background:url('../images/hero-carrier.webp') center right/cover no-repeat; }
.hero::after { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg, rgba(3,10,17,.97) 0%, rgba(3,10,17,.84) 38%, rgba(3,10,17,.18) 72%, rgba(3,10,17,.18)); }
.hero-grid { padding:7rem 0 4.7rem; display:grid; grid-template-columns:minmax(0, 650px) 1fr; }
.hero h1 { font-family:"Arial Narrow", Impact, sans-serif; font-size:clamp(3.3rem,7vw,6.6rem); letter-spacing:.01em; line-height:.87; text-transform:uppercase; margin:.3rem 0 1.5rem; text-wrap:balance; }
.hero h1 span { display:block; color:var(--gold-2); }
.hero p { font-size:clamp(1.05rem,2vw,1.3rem); max-width:54ch; color:#d7e1e8; }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:46px; padding:.75rem 1.1rem; border:1px solid var(--line); background:rgba(5,17,28,.55); color:#fff; font-weight:800; letter-spacing:.03em; border-radius:4px; transition:.18s ease; }
.btn:hover { transform:translateY(-2px); border-color:var(--gold-2); background:rgba(12,29,43,.92); }
.btn-primary { color:#111; border-color:var(--gold); background:linear-gradient(180deg, #f0c35e, #cf9628); }
.btn-primary:hover { background:linear-gradient(180deg,#f6d07c,#daa33c); }

.band { padding:4.5rem 0; }
.band-tight { padding:3rem 0; }
.band-dark { background:linear-gradient(180deg, rgba(1,7,12,.6), rgba(7,18,29,.88)); border-block:1px solid rgba(91,139,172,.16); }

.series-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.1rem; }
.book-card { display:grid; grid-template-columns:128px 1fr; gap:1rem; padding:1rem; min-height:245px; border:1px solid var(--line); background:linear-gradient(145deg, rgba(11,30,46,.95), rgba(5,17,28,.95)); box-shadow:var(--shadow); border-radius:5px; }
.book-card img { width:128px; height:184px; object-fit:cover; border:1px solid rgba(255,255,255,.12); }
.book-card h3 { font-size:1.2rem; margin:.3rem 0 .3rem; line-height:1.15; }
.book-card p { color:var(--muted); margin:.55rem 0; font-size:.91rem; line-height:1.5; }
.badge { display:inline-block; border:1px solid var(--line); color:var(--gold-2); padding:.2rem .45rem; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; border-radius:3px; font-weight:800; }
.text-link { color:var(--gold-2); font-weight:800; font-size:.88rem; }
.text-link:hover { text-decoration:underline; }

.feature { position:relative; overflow:hidden; border-block:1px solid rgba(215,166,66,.24); }
.feature::before { content:""; position:absolute; inset:0; background:url('../images/taiwan-map-bg.webp') center/cover no-repeat; opacity:.33; }
.feature::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#06121e 4%,rgba(6,18,30,.93) 48%,rgba(6,18,30,.55)); }
.feature-inner { position:relative; z-index:2; padding:4.2rem 0; display:grid; grid-template-columns:250px minmax(0, 680px); gap:2.2rem; align-items:center; }
.cover-large { width:240px; box-shadow:0 24px 60px rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.15); }
.feature h2 { font-size:clamp(2rem,4vw,3.6rem); line-height:1.02; margin:.5rem 0 1rem; }

.brief-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1rem; }
.brief-card { min-height:170px; border:1px solid var(--line); padding:1.2rem; background:linear-gradient(160deg, rgba(12,34,50,.9),rgba(5,17,28,.92)); position:relative; overflow:hidden; border-radius:5px; }
.brief-card::after { content:""; position:absolute; width:120px; height:120px; border:1px solid rgba(93,161,204,.12); border-radius:50%; right:-45px; bottom:-45px; }
.brief-card h3 { margin:.25rem 0 .45rem; font-size:1rem; }
.brief-card p { color:var(--muted); font-size:.88rem; margin:0 0 .7rem; }
.brief-icon { font-size:1.55rem; color:var(--gold-2); }

.two-col { display:grid; grid-template-columns:1.12fr .88fr; gap:2rem; align-items:start; }
.panel { background:var(--panel); border:1px solid rgba(215,166,66,.3); padding:1.5rem; box-shadow:var(--shadow); border-radius:5px; }
.standalone-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.wide-card { display:grid; grid-template-columns:165px 1fr; gap:1.2rem; border:1px solid var(--line); padding:1rem; background:rgba(6,20,32,.86); }
.wide-card img { width:165px; height:235px; object-fit:cover; }

.author-band { position:relative; overflow:hidden; }
.author-band::before { content:""; position:absolute; inset:0; background:url('../images/carrier-horizon.webp') center/cover no-repeat; opacity:.3; }
.author-band::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#06111c 0%,rgba(6,17,28,.92) 55%,rgba(6,17,28,.45)); }
.author-inner { position:relative; z-index:1; padding:4.5rem 0; max-width:780px; }

.newsletter { border-block:1px solid rgba(215,166,66,.28); background:#0b2032; }
.news-inner { padding:2rem 0; display:grid; grid-template-columns:1fr minmax(320px, 520px); gap:2rem; align-items:center; }
.inline-form { display:flex; gap:.55rem; }
input, textarea { width:100%; color:#fff; background:#071521; border:1px solid rgba(139,174,196,.35); padding:.8rem .9rem; border-radius:4px; }
textarea { min-height:160px; resize:vertical; }
label { display:block; color:#dbe4ea; font-weight:700; margin:.8rem 0 .3rem; }

.site-footer { padding:2rem 0 3rem; color:#91a5b4; font-size:.84rem; }
.footer-grid { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; flex-wrap:wrap; }
.footer-nav { display:flex; gap:1rem; flex-wrap:wrap; }

/* Inner pages */
.page-hero { position:relative; min-height:360px; display:flex; align-items:end; overflow:hidden; border-bottom:1px solid rgba(215,166,66,.28); }
.page-hero::before { content:""; position:absolute; inset:0; background:url('../images/hud-bg.webp') center/cover no-repeat; opacity:.72; }
.page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#06111c 4%,rgba(6,17,28,.8),rgba(6,17,28,.35)); }
.page-hero .container { position:relative; z-index:1; padding-block:5.5rem 3rem; }
.page-hero h1 { font-size:clamp(2.8rem,7vw,5.8rem); line-height:.92; margin:.4rem 0 .9rem; font-family:"Arial Narrow", Impact, sans-serif; text-transform:uppercase; }
.page-copy { padding:4rem 0; }
.book-detail { display:grid; grid-template-columns:310px minmax(0,760px); gap:3rem; align-items:start; }
.book-detail .cover { position:sticky; top:96px; width:300px; box-shadow:var(--shadow); }
.book-detail h2 { font-size:2rem; margin:0 0 .7rem; }
.book-detail p { color:#d7e0e7; }
.callout { border-left:4px solid var(--gold); padding:1rem 1.2rem; background:rgba(11,31,47,.72); font-size:1.13rem; color:#eef3f6; margin:1.3rem 0; }

.gallery { display:grid; grid-template-columns:1.4fr .8fr; gap:1rem; }
.resource { border:1px solid var(--line); background:var(--panel); overflow:hidden; border-radius:5px; }
.resource img { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center top; }
.resource.portrait img { aspect-ratio:3/4; object-fit:cover; object-position:top; }
.resource-body { padding:1rem; }
.resource h3 { margin:.1rem 0 .4rem; }
.resource p { color:var(--muted); font-size:.9rem; }

.timeline { border-left:1px solid var(--line); margin:1.5rem 0 0 1rem; padding-left:1.4rem; }
.timeline-item { position:relative; margin-bottom:1.6rem; }
.timeline-item::before { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--gold); left:-1.72rem; top:.45rem; box-shadow:0 0 0 4px rgba(215,166,66,.12); }
.timeline-item h3 { margin:.1rem 0 .3rem; }

@media (max-width: 980px) {
  .series-grid { grid-template-columns:1fr; }
  .brief-grid { grid-template-columns:repeat(2,1fr); }
  .two-col, .news-inner { grid-template-columns:1fr; }
  .book-card { grid-template-columns:110px 1fr; min-height:auto; }
  .book-card img { width:110px; height:158px; }
}
@media (max-width: 760px) {
  .nav-toggle { display:block; }
  .nav { display:none; position:absolute; left:0; right:0; top:72px; background:#06111c; padding:1rem; border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; }
  .nav.open { display:flex; }
  .hero { min-height:620px; }
  .hero::before { background-position:64% center; }
  .hero::after { background:linear-gradient(90deg,rgba(3,10,17,.98) 0%,rgba(3,10,17,.84) 70%,rgba(3,10,17,.55)); }
  .hero-grid { grid-template-columns:1fr; padding-top:6rem; }
  .feature-inner { grid-template-columns:120px 1fr; gap:1.2rem; }
  .cover-large { width:120px; }
  .standalone-grid { grid-template-columns:1fr; }
  .book-detail { grid-template-columns:1fr; gap:1.5rem; }
  .book-detail .cover { position:static; width:min(260px,70vw); }
  .gallery { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .container { width:min(var(--max), calc(100% - 1.2rem)); }
  .hero h1 { font-size:3.2rem; }
  .feature-inner { grid-template-columns:1fr; }
  .cover-large { width:150px; }
  .brief-grid { grid-template-columns:1fr; }
  .book-card { grid-template-columns:95px 1fr; }
  .book-card img { width:95px; height:136px; }
  .wide-card { grid-template-columns:100px 1fr; }
  .wide-card img { width:100px; height:144px; }
  .inline-form { flex-direction:column; }
}
