@page { size: A4; margin: 12mm 12mm 12mm 12mm; }
  * { box-sizing: border-box; }
  :root {
    --forest:    #1a4d3a;
    --forest-d:  #0f2e1e;
    --moss:      #2d6a4f;
    --navy:      #1d3557;
    --navy-d:    #0e1f33;
    --ocean:     #2c6a8a;
    --terra:     #c1683b;
    --terra-d:   #8e4622;
    --gold:      #b08d57;
    --gold-l:    #d4b878;
    --wood:      #8a6a1c;
    --cream:     #faf6ec;
    --cream-2:   #efe6cf;
    --paper:     #faf6ec;
    --sand:      #e6dcc4;
    --ink:       #1f1f1f;
    --ink-2:     #2a2a2a;
    --muted:     #6b6256;
  }
  html, body {
    margin: 0; padding: 0;
    font-family: "Noto Serif TC","Noto Serif JP","Georgia",serif;
    color: var(--ink);
    background: #efe7d4;
    font-size: 10pt;
    line-height: 1.6;
  }
  .page {
    background: var(--paper);
    max-width: 210mm;
    margin: 0 auto;
    padding: 0 0 14mm 0;
    box-shadow: 0 0 14px rgba(0,0,0,0.08);
  }
  .body-pad { padding: 0 14mm; }
  .sans {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
  }

  /* ================= HERO ================= */
  .hero {
    position: relative;
    height: 200px;
    background-image:
      linear-gradient(120deg, rgba(14,31,51,0.82) 0%, rgba(29,53,87,0.70) 50%, rgba(142,70,34,0.45) 100%),
      url("https://commons.wikimedia.org/wiki/Special:FilePath/Red_Cypress_Alishan.jpg?width=1600");
    background-size: cover;
    background-position: center 30%;
    color: var(--paper);
    padding: 24px 14mm 20px 14mm;
    overflow: hidden;
  }
  .hero::after {
    content:""; position: absolute; left:0; right:0; bottom:0;
    height: 3px;
    background: linear-gradient(90deg, var(--forest) 0%, var(--gold) 30%, var(--terra) 65%, var(--navy) 100%);
  }
  .hero .stamp {
    position: absolute; top: 18px; right: 14mm;
    border: 1.5px solid var(--gold-l);
    color: var(--gold-l);
    padding: 4px 10px;
    font-family: "Georgia",serif;
    font-size: 8.5pt;
    letter-spacing: 3px;
  }
  .hero .eyebrow {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    letter-spacing: 8px;
    font-size: 9pt;
    color: var(--gold-l);
    margin-bottom: 4px;
  }
  .hero h1 {
    margin: 0;
    font-size: 23pt;
    line-height: 1.15;
    letter-spacing: 1px;
    color: var(--paper);
    font-weight: 700;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
  }
  .hero .h1-en {
    font-family: "Georgia",serif;
    font-style: italic;
    font-size: 10pt;
    color: var(--gold-l);
    margin-top: 3px;
    letter-spacing: 0.5px;
  }
  .hero .meta {
    margin-top: 10px;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 10.5pt;
    letter-spacing: 2px;
  }
  .hero .meta .pipe { color: var(--gold-l); margin: 0 10px; }

  /* Decorative SVG strip in hero (mountains + waves) */
  .hero .decor {
    position: absolute; left: 0; right: 0; bottom: 6px;
    height: 24px; opacity: 0.45;
  }

  /* ================= STAT STRIP ================= */
  .stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: #ffffff;
    border-bottom: 1px solid var(--sand);
  }
  .stats .cell {
    padding: 11px 10px 10px 10px;
    border-right: 1px solid var(--sand);
    text-align: center;
    position: relative;
  }
  .stats .cell::before {
    content: ""; position: absolute; top: 0; left: 12%; right: 12%;
    height: 2px; background: var(--gold); opacity: 0.55;
  }
  .stats .cell:nth-child(1)::before { background: var(--forest); }
  .stats .cell:nth-child(2)::before { background: var(--gold); }
  .stats .cell:nth-child(3)::before { background: var(--terra); }
  .stats .cell:nth-child(4)::before { background: var(--ocean); }
  .stats .cell:nth-child(5)::before { background: var(--navy); }
  .stats .cell:last-child { border-right: none; }
  .stats .num {
    font-family: "Georgia",serif;
    font-size: 19pt; color: var(--ink); line-height: 1; font-weight: 700;
  }
  .stats .cell:nth-child(5) .num { color: var(--navy); }
  .stats .lbl { font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif; font-size: 8.5pt; margin-top: 5px; letter-spacing: 1px; color: var(--ink-2);}
  .stats .sub { font-size: 7.5pt; color: var(--muted); margin-top: 2px; letter-spacing: 0.3px; }

  /* ================= SECTIONS ================= */
  h2.section {
    font-size: 14pt;
    color: var(--ink);
    margin: 20px 0 10px 0;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--sand);
    display: flex;
    align-items: baseline;
    gap: 12px;
    font-weight: 700;
    position: relative;
  }
  h2.section::after {
    content: ""; position: absolute; left: 0; bottom: -1px;
    width: 60px; height: 2px; background: var(--gold);
  }
  h2.section .roman {
    font-family: "Georgia",serif;
    font-size: 9pt;
    color: var(--terra);
    letter-spacing: 4px;
    font-weight: 700;
  }
  h2.section .deco {
    width: 22px; height: 22px; vertical-align: middle;
  }

  /* ================= INTRO ================= */
  .intro { margin-top: 14px; }
  .salutation {
    color: var(--ink);
    font-size: 11.5pt;
    font-weight: 700;
    margin-bottom: 6px;
  }
  .intro p { margin: 0 0 8px 0; }
  .logistics-box {
    margin-top: 10px;
    background: #fff7e8;
    border-left: 4px solid var(--terra);
    padding: 10px 14px;
    border-radius: 3px;
  }
  .logistics-box .lh {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700; color: var(--terra-d);
    font-size: 10.5pt; margin-bottom: 4px; letter-spacing: 0.5px;
  }

  /* ================= MISSION ================= */
  .mission-wrap {
    margin-top: 14px;
    border: 1px solid var(--sand);
    border-left: 4px solid var(--gold);
    border-radius: 3px;
    padding: 14px 18px;
    background:
      linear-gradient(180deg, rgba(250,246,236,0.96) 0%, rgba(250,246,236,0.98) 100%),
      url("https://commons.wikimedia.org/wiki/Special:FilePath/Alishan_Forest_Staircase2.JPG?width=1200");
    background-size: cover;
    background-position: center;
  }
  .quote {
    font-style: italic;
    color: var(--ink-2);
    border-left: 3px solid var(--terra);
    padding: 7px 14px;
    margin: 4px 0 14px 0;
    font-size: 10pt;
    background: rgba(255,247,232,0.7);
  }
  .quote b { color: var(--terra-d); font-style: normal; }
  .mission {
    counter-reset: m;
    list-style: none;
    padding: 0; margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 20px;
  }
  .mission li {
    counter-increment: m;
    position: relative;
    padding-left: 32px;
    font-size: 9.8pt;
    line-height: 1.5;
  }
  .mission li::before {
    content: counter(m, decimal-leading-zero);
    position: absolute; left: 0; top: 0;
    font-family: "Georgia",serif;
    font-weight: 700;
    color: var(--gold);
    font-size: 12pt;
  }
  .mission li b {
    color: var(--ink);
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
  }
  .mission li:nth-child(1)::before { color: var(--forest); }
  .mission li:nth-child(2)::before { color: var(--gold); }
  .mission li:nth-child(3)::before { color: var(--terra); }
  .mission li:nth-child(4)::before { color: var(--ocean); }
  .mission li:nth-child(5)::before { color: var(--navy); }
  .mission li:nth-child(6)::before { color: var(--terra-d); }

  /* Why now callout */
  .why-now {
    margin-top: 14px;
    background: #ffffff;
    border: 1px solid var(--sand);
    border-top: 3px solid var(--terra);
    border-radius: 2px;
    padding: 12px 16px;
    page-break-inside: avoid;
  }
  .why-now .h {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: var(--terra-d);
    font-size: 10.5pt;
    letter-spacing: 1px;
    margin-bottom: 5px;
  }
  .why-now .h::before { content: "❖ "; color: var(--gold); }
  .why-now p { margin: 4px 0; font-size: 9.7pt; color: #3b3b30; }

  /* ================= REFERENCES ================= */
  .refs {
    margin-top: 14px;
    background: var(--navy-d);
    color: var(--paper);
    padding: 14px 18px;
    border-radius: 3px;
    page-break-inside: avoid;
    position: relative;
  }
  .refs::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0;
    height: 3px; background: linear-gradient(90deg, var(--gold) 0%, var(--terra) 100%);
  }
  .refs .rh {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 11pt; color: var(--gold-l); letter-spacing: 1px;
    border-bottom: 1px solid rgba(212,184,120,0.3);
    padding-bottom: 4px; margin-bottom: 8px; font-weight: 700;
  }
  .refs .rh small { font-weight: 400; color: var(--gold); font-size: 8.5pt; letter-spacing: 0; margin-left: 8px; }
  .refs ul {
    margin: 0; padding: 0; list-style: none;
    display: grid; grid-template-columns: 1fr 1fr; gap: 5px 16px; font-size: 9pt;
  }
  .refs li {
    padding-left: 16px;
    position: relative;
    line-height: 1.45;
  }
  .refs li::before { content: "▸"; position: absolute; left: 0; color: var(--gold-l); }
  .refs li b { color: var(--gold-l); }
  .refs li em { color: #c9b896; font-style: normal; font-size: 8pt; }
  .refs .star {
    background: rgba(201,163,90,0.18);
    border-left: 3px solid var(--gold-l);
    padding: 4px 8px 4px 14px !important;
    grid-column: span 2;
    margin-bottom: 4px;
    border-radius: 2px;
  }
  .refs .star::before { left: 4px; }

  /* ================= ITINERARY TABLE ================= */
  table.itinerary {
    width: 100%; border-collapse: collapse; font-size: 10pt;
  }
  table.itinerary th, table.itinerary td {
    text-align: left; padding: 8px 10px; vertical-align: top;
    border-bottom: 1px solid #ddd2b3;
  }
  table.itinerary thead th {
    background: var(--ink); color: var(--paper);
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 9pt; letter-spacing: 1.5px; border-bottom: none; font-weight: 700;
  }
  table.itinerary tbody tr:nth-child(even) td { background: #fbf6e6; }
  table.itinerary td.day {
    width: 70px;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700; color: var(--terra); white-space: nowrap;
  }
  table.itinerary td.theme {
    width: 130px; color: var(--ink); font-weight: 700;
  }
  table.itinerary td.accom {
    width: 110px; color: var(--muted); font-size: 9pt;
  }

  /* ================= Q版 STRIP ================= */
  .qstrip {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    align-items: center;
    background: linear-gradient(180deg, #ffffff 0%, var(--cream) 100%);
    padding: 14px 14mm 16px 14mm;
    border-bottom: 1px solid var(--sand);
    gap: 0;
  }
  .qstrip .qcell { text-align: center; }
  .qstrip .qsvg {
    width: 78px; height: 78px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.12));
  }
  .qstrip .qttl {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: var(--ink);
    font-size: 11pt;
    letter-spacing: 1.5px;
    margin-top: 4px;
  }
  .qstrip .qsub {
    font-family: "Georgia",serif;
    font-style: italic;
    color: var(--terra);
    font-size: 8.5pt;
    margin-top: 2px;
    letter-spacing: 0.3px;
  }
  .qstrip .qsep {
    width: 1px; height: 70px;
    background: var(--sand);
  }

  /* ================= QUESTIONS ================= */
  .question {
    margin: 8px 0;
    padding: 9px 12px;
    border-left: 3px solid var(--gold);
    background: #ffffff;
    border-top: 1px solid var(--sand);
    border-right: 1px solid var(--sand);
    border-bottom: 1px solid var(--sand);
    border-radius: 2px;
    page-break-inside: avoid;
  }
  .q-label {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700; color: var(--ink);
    font-size: 10.2pt; margin-bottom: 5px;
  }
  .q-num { color: var(--terra); margin-right: 6px; font-family: "Georgia",serif; }
  .text-line {
    display: inline-block; border-bottom: 1px solid #8a7d5e;
    min-width: 70%; height: 16px; vertical-align: bottom;
  }
  .options { margin: 3px 0 0 4px; }
  .options label { display: block; margin: 3px 0; font-size: 9.8pt; }
  .checkbox {
    display: inline-block; width: 11px; height: 11px;
    border: 1.4px solid var(--ink);
    margin-right: 8px; vertical-align: -1px; border-radius: 2px;
  }
  .radio {
    display: inline-block; width: 11px; height: 11px;
    border: 1.4px solid var(--ink);
    margin-right: 8px; vertical-align: -1px; border-radius: 50%;
  }
  .inline-blank {
    display: inline-block; border-bottom: 1px solid #8a7d5e;
    min-width: 80px; height: 14px; vertical-align: bottom; margin: 0 4px;
  }
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 14px; }

  .package {
    border: 1.5px solid var(--terra);
    background: linear-gradient(180deg, #fff5e7 0%, #fde8cf 100%);
    padding: 13px 15px; border-radius: 3px;
    page-break-inside: avoid; margin: 12px 0; position: relative;
  }
  .package::before {
    content: "★ 補助方案"; position: absolute; top: -10px; left: 12px;
    background: var(--terra-d); color: var(--cream);
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 8pt; letter-spacing: 2px;
    padding: 2px 9px; border-radius: 2px; font-weight: 700;
  }
  .package .note { font-size: 9.3pt; color: #5a4f33; margin: 4px 0 7px 0; }
  .pkg-option {
    background: #fffdf6; border: 1px solid #d9c690; border-radius: 3px;
    padding: 8px 10px; margin-top: 6px;
    display: flex; gap: 10px; align-items: flex-start;
  }
  .pkg-option .radio { margin-top: 4px; flex-shrink: 0; }
  .pkg-option .pkg-title {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700; color: var(--ink); font-size: 10pt;
  }
  .pkg-option .price {
    color: var(--terra-d); font-weight: 700; margin-left: 6px; font-family: "Georgia",serif;
  }
  .pkg-option .desc { font-size: 9.3pt; color: #3b3b30; margin-top: 3px; }

  /* ================= INFO GRID ================= */
  .info-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
    page-break-inside: avoid;
  }
  .info-card {
    background: #ffffff;
    border: 1px solid var(--sand);
    border-left: 3px solid var(--gold);
    padding: 9px 12px; border-radius: 2px;
  }
  .info-card:nth-child(1) { border-left-color: var(--forest); }
  .info-card:nth-child(2) { border-left-color: var(--terra); }
  .info-card:nth-child(3) { border-left-color: var(--gold); }
  .info-card:nth-child(4) { border-left-color: var(--navy); }
  .info-card:nth-child(5) { border-left-color: var(--ocean); }
  .info-card:nth-child(6) { border-left-color: var(--terra-d); }
  .info-card.ocean { border-left-color: var(--ocean); }
  .info-card .ttl {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700; color: var(--ink);
    font-size: 9.8pt; margin-bottom: 3px; letter-spacing: 0.5px;
  }
  .info-card .ttl .ico { color: var(--terra); margin-right: 5px; }
  .info-card .body { font-size: 9.3pt; color: #3b3b30; }

  /* ================= HOSTS ================= */
  .hosts {
    margin-top: 14px;
    border: 1px solid var(--sand);
    border-top: 3px solid var(--navy);
    border-radius: 2px;
    padding: 12px 16px;
    background: #ffffff;
    page-break-inside: avoid;
  }
  .hosts .hh {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700; color: var(--ink);
    font-size: 10.5pt; letter-spacing: 1px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--sand);
    padding-bottom: 4px;
  }
  .hosts .row {
    display: grid; grid-template-columns: 110px 1fr;
    gap: 5px 14px; font-size: 9.5pt;
  }
  .hosts .row .lab {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700; color: var(--terra);
  }

  /* Disclaimer callout */
  .disclaimer {
    margin-top: 14px;
    background: #fdf3e2;
    border: 1.2px dashed var(--terra);
    padding: 10px 14px;
    border-radius: 3px;
    font-size: 9.3pt;
    color: #5a4f33;
  }
  .disclaimer b { color: var(--terra-d); }

  /* ================= FOOTER ================= */
  .footer {
    margin-top: 18px;
    padding-top: 10px;
    border-top: 3px double var(--gold);
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 8.8pt;
    color: var(--muted);
    text-align: center;
    line-height: 1.6;
  }
  .footer .org { color: var(--ink); font-weight: 700; letter-spacing: 0.5px; }
  .footer .accent { color: var(--terra); margin: 0 6px; }

  @media print {
    body { background: #fff; }
    .page { box-shadow: none; max-width: none; padding: 0 0 0 0; margin: 0; }
    .body-pad { padding: 0 12mm; }
    .hero { padding: 24px 12mm 20px 12mm; }
    .hero .stamp { right: 12mm; }
  }

/* --- summit-brochure-ja.html specific --- */
@page { size: A4; margin: 13mm 13mm 13mm 13mm; }
  * { box-sizing: border-box; }
  html, body {
    margin: 0; padding: 0;
    font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "Noto Serif JP", "MS Mincho", serif;
    color: #1f2a22;
    background: #f6f1e7;
    font-size: 10pt;
    line-height: 1.55;
    font-feature-settings: "palt";
  }
  .page {
    background: #fffdf7;
    max-width: 210mm;
    margin: 0 auto;
    padding: 14mm 13mm;
    box-shadow: 0 0 12px rgba(0,0,0,0.08);
  }
  .gothic {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "Noto Sans JP", "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
  }

  /* Header */
  .header {
    border-bottom: 3px double #c9a35a;
    padding-bottom: 10px;
    margin-bottom: 12px;
  }
  .header::before {
    content: "";
    display: block;
    height: 6px;
    background: linear-gradient(90deg, #1b3a2b 0%, #2f5d3f 40%, #c9a35a 100%);
    margin-bottom: 10px;
    border-radius: 2px;
  }
  .eyebrow {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    letter-spacing: 6px;
    font-size: 8pt;
    color: #6b6256;
    margin-bottom: 4px;
  }
  h1.title {
    font-size: 20pt;
    color: #14331f;
    margin: 0 0 4px 0;
    letter-spacing: 0.5px;
    line-height: 1.2;
    font-weight: 700;
  }
  .title-en {
    font-family: "Noto Serif TC","Noto Serif JP","Georgia",serif;
    font-style: italic;
    font-size: 10pt;
    color: #2f5d3f;
    margin-bottom: 6px;
  }
  .subtitle {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 11pt;
    color: #2f5d3f;
    font-weight: 700;
    letter-spacing: 1.5px;
  }
  .subtitle .pipe { color: #c9a35a; margin: 0 8px; }

  /* Summary panel (new) */
  .summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin: 12px 0 10px 0;
  }
  .summary .cell {
    background: #14331f;
    color: #f6f1e7;
    padding: 8px 10px;
    border-radius: 3px;
    border-left: 3px solid #c9a35a;
  }
  .summary .cell .num {
    font-family: "Georgia",serif;
    font-size: 18pt;
    color: #c9a35a;
    line-height: 1;
    font-weight: 700;
  }
  .summary .cell .lbl {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 8.5pt;
    margin-top: 4px;
    letter-spacing: 0.5px;
    color: #f1ecdf;
  }
  .summary .cell .sub {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 7.5pt;
    color: #c9a35a;
    margin-top: 2px;
    letter-spacing: 0.3px;
  }

  /* Intro */
  .intro { margin: 6px 0 10px 0; }
  .intro p { margin: 0 0 6px 0; }
  .salutation {
    color: #14331f;
    font-size: 11pt;
    font-weight: 700;
  }
  .logistics-box {
    margin-top: 8px;
    background: #f1ecdf;
    border-left: 4px solid #c9a35a;
    padding: 9px 13px;
    border-radius: 3px;
  }
  .logistics-box .lh {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #14331f;
    font-size: 10pt;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
  }

  /* Section heading */
  h2.section {
    font-size: 13pt;
    color: #14331f;
    margin: 14px 0 8px 0;
    padding-bottom: 4px;
    border-bottom: 2px solid #2f5d3f;
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-weight: 700;
  }
  h2.section .roman {
    font-family: "Georgia",serif;
    font-size: 9pt;
    color: #c9a35a;
    letter-spacing: 3px;
    font-weight: 700;
  }

  /* Itinerary table */
  table.itinerary {
    width: 100%;
    border-collapse: collapse;
    font-size: 9.5pt;
  }
  table.itinerary th, table.itinerary td {
    text-align: left;
    padding: 7px 9px;
    vertical-align: top;
    border-bottom: 1px solid #e3dcc6;
  }
  table.itinerary thead th {
    background: #14331f;
    color: #f6f1e7;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 9pt;
    letter-spacing: 1.5px;
    border-bottom: none;
    font-weight: 700;
  }
  table.itinerary tbody tr:nth-child(even) td { background: #faf6ea; }
  table.itinerary td.day {
    width: 70px;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #2f5d3f;
    white-space: nowrap;
  }
  table.itinerary td.theme {
    width: 130px;
    color: #14331f;
    font-weight: 700;
  }
  table.itinerary td.accom {
    width: 110px;
    color: #6b6256;
    font-size: 9pt;
  }

  /* Survey */
  .question {
    margin: 8px 0;
    padding: 7px 10px;
    border-left: 3px solid #2f5d3f;
    background: #fbf8ee;
    border-radius: 2px;
    page-break-inside: avoid;
  }
  .q-label {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #14331f;
    font-size: 10pt;
    margin-bottom: 5px;
  }
  .q-num { color: #c9a35a; margin-right: 6px; }
  .text-line {
    display: inline-block;
    border-bottom: 1px solid #8a7d5e;
    min-width: 70%;
    height: 16px;
    vertical-align: bottom;
  }
  .options { margin: 3px 0 0 4px; }
  .options label {
    display: block;
    margin: 3px 0;
    font-size: 9.8pt;
  }
  .checkbox {
    display: inline-block;
    width: 11px; height: 11px;
    border: 1.4px solid #14331f;
    margin-right: 8px;
    vertical-align: -1px;
    border-radius: 2px;
  }
  .radio {
    display: inline-block;
    width: 11px; height: 11px;
    border: 1.4px solid #14331f;
    margin-right: 8px;
    vertical-align: -1px;
    border-radius: 50%;
  }
  .inline-blank {
    display: inline-block;
    border-bottom: 1px solid #8a7d5e;
    min-width: 80px;
    height: 14px;
    vertical-align: bottom;
    margin: 0 4px;
  }
  .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 14px;
  }

  /* Highlighted package box */
  .package {
    border: 2px solid #c9a35a;
    background: linear-gradient(180deg, #fbf3df 0%, #f6ecd0 100%);
    padding: 11px 13px;
    border-radius: 4px;
    page-break-inside: avoid;
    margin: 10px 0;
    position: relative;
  }
  .package::before {
    content: "★ 注目";
    position: absolute;
    top: -10px;
    left: 12px;
    background: #14331f;
    color: #c9a35a;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 8pt;
    letter-spacing: 2px;
    padding: 2px 8px;
    border-radius: 2px;
    font-weight: 700;
  }
  .package .q-label { color: #14331f; }
  .package .note {
    font-size: 9pt;
    color: #5a4f33;
    margin: 4px 0 7px 0;
  }
  .pkg-option {
    background: #fffdf6;
    border: 1px solid #d9c690;
    border-radius: 3px;
    padding: 7px 10px;
    margin-top: 5px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .pkg-option .radio { margin-top: 4px; flex-shrink: 0; }
  .pkg-option .pkg-title {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #14331f;
    font-size: 10pt;
  }
  .pkg-option .price {
    color: #8a6a1c;
    font-weight: 700;
    margin-left: 6px;
    font-family: "Georgia",serif;
  }
  .pkg-option .desc {
    font-size: 9.3pt;
    color: #3b3b30;
    margin-top: 3px;
  }

  /* Info card grid (Section III) */
  .info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    page-break-inside: avoid;
  }
  .info-card {
    background: #f1ecdf;
    border-left: 3px solid #2f5d3f;
    padding: 8px 11px;
    border-radius: 2px;
  }
  .info-card .ttl {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #14331f;
    font-size: 9.5pt;
    margin-bottom: 3px;
    letter-spacing: 0.5px;
  }
  .info-card .ttl .ico { color: #c9a35a; margin-right: 5px; }
  .info-card .body { font-size: 9.3pt; color: #3b3b30; }

  /* Footer */
  .footer {
    margin-top: 14px;
    padding-top: 9px;
    border-top: 3px double #c9a35a;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 8.5pt;
    color: #6b6256;
    text-align: center;
    line-height: 1.6;
  }
  .footer .org {
    color: #14331f;
    font-weight: 700;
    letter-spacing: 0.5px;
  }
  .footer .accent { color: #c9a35a; margin: 0 6px; }

  @media print {
    body { background: #fff; }
    .page { box-shadow: none; max-width: none; padding: 0; margin: 0; }
  }

/* --- summit-brochure.html specific --- */
@page {
    size: A4;
    margin: 14mm 14mm 14mm 14mm;
  }
  * { box-sizing: border-box; }
  html, body {
    margin: 0;
    padding: 0;
    font-family: "Noto Serif TC","Noto Serif JP","Georgia",serif;
    color: #1f2a22;
    background: #f6f1e7;
    font-size: 10.5pt;
    line-height: 1.45;
  }
  .page {
    background: #fffdf7;
    max-width: 210mm;
    margin: 0 auto;
    padding: 16mm 14mm;
    box-shadow: 0 0 12px rgba(0,0,0,0.08);
  }

  /* Header */
  .header {
    border-bottom: 3px double #c9a35a;
    padding-bottom: 10px;
    margin-bottom: 14px;
    position: relative;
  }
  .header::before {
    content: "";
    display: block;
    height: 6px;
    background: linear-gradient(90deg, #1b3a2b 0%, #2f5d3f 40%, #c9a35a 100%);
    margin-bottom: 10px;
    border-radius: 2px;
  }
  .eyebrow {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    letter-spacing: 4px;
    font-size: 8.5pt;
    color: #6b6256;
    text-transform: uppercase;
    margin-bottom: 4px;
  }
  h1.title {
    font-family: "Noto Serif TC","Noto Serif JP","Playfair Display","Georgia",serif;
    font-size: 22pt;
    color: #14331f;
    margin: 0 0 4px 0;
    letter-spacing: 0.3px;
    line-height: 1.15;
  }
  .subtitle {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 11pt;
    color: #2f5d3f;
    font-weight: 600;
    letter-spacing: 1px;
  }
  .subtitle .pipe { color: #c9a35a; margin: 0 8px; }

  /* Intro */
  .intro {
    margin: 14px 0 12px 0;
  }
  .intro p { margin: 0 0 8px 0; }
  .salutation {
    font-style: italic;
    color: #14331f;
    font-size: 11.2pt;
  }
  .logistics-box {
    margin-top: 10px;
    background: #f1ecdf;
    border-left: 4px solid #c9a35a;
    padding: 10px 14px;
    border-radius: 3px;
  }
  .logistics-box .lh {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #14331f;
    font-size: 10.5pt;
    margin-bottom: 4px;
    letter-spacing: 0.4px;
  }

  /* Section heading */
  h2.section {
    font-family: "Noto Serif TC","Noto Serif JP","Playfair Display","Georgia",serif;
    font-size: 14pt;
    color: #14331f;
    margin: 18px 0 8px 0;
    padding-bottom: 4px;
    border-bottom: 2px solid #2f5d3f;
    display: flex;
    align-items: baseline;
    gap: 10px;
  }
  h2.section .roman {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 9pt;
    color: #c9a35a;
    letter-spacing: 3px;
    font-weight: 700;
    text-transform: uppercase;
  }

  /* Itinerary table */
  table.itinerary {
    width: 100%;
    border-collapse: collapse;
    font-size: 10pt;
  }
  table.itinerary th, table.itinerary td {
    text-align: left;
    padding: 8px 10px;
    vertical-align: top;
    border-bottom: 1px solid #e3dcc6;
  }
  table.itinerary thead th {
    background: #14331f;
    color: #f6f1e7;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 9pt;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-bottom: none;
  }
  table.itinerary tbody tr:nth-child(even) td { background: #faf6ea; }
  table.itinerary td.day {
    width: 72px;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #2f5d3f;
    white-space: nowrap;
  }
  table.itinerary td.theme {
    width: 130px;
    color: #14331f;
    font-weight: 700;
  }
  table.itinerary td.accom {
    width: 110px;
    font-style: italic;
    color: #6b6256;
    font-size: 9.5pt;
  }

  /* Survey */
  .question {
    margin: 10px 0;
    padding: 8px 10px;
    border-left: 3px solid #2f5d3f;
    background: #fbf8ee;
    border-radius: 2px;
    page-break-inside: avoid;
  }
  .q-label {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #14331f;
    font-size: 10.5pt;
    margin-bottom: 6px;
  }
  .q-num {
    color: #c9a35a;
    margin-right: 6px;
  }
  .text-line {
    display: inline-block;
    border-bottom: 1px solid #8a7d5e;
    min-width: 70%;
    height: 16px;
    vertical-align: bottom;
  }
  .options { margin: 4px 0 0 4px; }
  .options label {
    display: block;
    margin: 3px 0;
    font-size: 10.2pt;
  }
  .checkbox {
    display: inline-block;
    width: 11px;
    height: 11px;
    border: 1.4px solid #14331f;
    margin-right: 8px;
    vertical-align: -1px;
    border-radius: 2px;
  }
  .radio {
    display: inline-block;
    width: 11px;
    height: 11px;
    border: 1.4px solid #14331f;
    margin-right: 8px;
    vertical-align: -1px;
    border-radius: 50%;
  }
  .inline-blank {
    display: inline-block;
    border-bottom: 1px solid #8a7d5e;
    min-width: 80px;
    height: 14px;
    vertical-align: bottom;
    margin: 0 4px;
  }

  /* Highlighted package box */
  .package {
    border: 2px solid #c9a35a;
    background: linear-gradient(180deg, #fbf3df 0%, #f6ecd0 100%);
    padding: 12px 14px;
    border-radius: 4px;
    page-break-inside: avoid;
    margin: 12px 0;
    position: relative;
  }
  .package::before {
    content: "★ FEATURED";
    position: absolute;
    top: -10px;
    left: 12px;
    background: #14331f;
    color: #c9a35a;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 7.5pt;
    letter-spacing: 2px;
    padding: 2px 8px;
    border-radius: 2px;
  }
  .package .q-label { color: #14331f; }
  .package .note {
    font-size: 9.5pt;
    font-style: italic;
    color: #5a4f33;
    margin: 4px 0 8px 0;
  }
  .pkg-option {
    background: #fffdf6;
    border: 1px solid #d9c690;
    border-radius: 3px;
    padding: 8px 10px;
    margin-top: 6px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .pkg-option .radio { margin-top: 4px; flex-shrink: 0; }
  .pkg-option .pkg-title {
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-weight: 700;
    color: #14331f;
    font-size: 10.5pt;
  }
  .pkg-option .price {
    color: #8a6a1c;
    font-weight: 700;
    margin-left: 6px;
  }
  .pkg-option .desc {
    font-size: 9.8pt;
    color: #3b3b30;
    margin-top: 3px;
  }

  /* Footer */
  .footer {
    margin-top: 18px;
    padding-top: 10px;
    border-top: 3px double #c9a35a;
    font-family: "Inter","Noto Sans TC","Noto Sans JP","Helvetica Neue",sans-serif;
    font-size: 8.8pt;
    color: #6b6256;
    text-align: center;
    line-height: 1.5;
  }
  .footer .org {
    color: #14331f;
    font-weight: 700;
    letter-spacing: 0.5px;
  }
  .footer .accent { color: #c9a35a; margin: 0 6px; }

  @media print {
    body { background: #fff; }
    .page { box-shadow: none; max-width: none; padding: 0; margin: 0; }
  }
