
* { box-sizing: border-box; }
:root{
  --ink:#211d19;
  --muted:#74695f;
  --paper:#fbf6ee;
  --paper-2:#fffdf8;
  --line:#eadbc6;
  --gold:#c58c25;
  --gold-dark:#8e5e10;
  --blue:#4e708f;
  --green:#60745f;
  --shadow:0 24px 70px rgba(74,56,32,.14);
  --radius:28px;
  --max:1120px;
}
html{scroll-behavior:smooth;}
body.slow-fast-journey-page{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 0%, rgba(197,140,37,.12), transparent 32rem),
    radial-gradient(circle at 92% 14%, rgba(78,112,143,.12), transparent 34rem),
    linear-gradient(180deg,#fffaf2 0%,var(--paper) 42%,#f7ecde 100%);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  line-height:1.86;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.progress{position:fixed;z-index:160;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--gold),#d7a84d,var(--blue));}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;padding:.5rem .8rem;border-radius:.7rem;z-index:200;}
.shell{width:min(var(--max),calc(100% - 36px));margin-inline:auto;}

/* Safety styling when global site CSS is not loaded in local preview */
.site-header{position:sticky;top:0;z-index:120;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px clamp(18px,4vw,46px);background:rgba(255,250,242,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,219,198,.78);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:850;}
.brand-mark{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:linear-gradient(135deg,#5a7fc7,#84d3af);color:#fff;font-family:"Noto Serif SC","Songti SC",serif;box-shadow:0 8px 18px rgba(90,127,199,.22);}
.brand-text{font-size:.96rem;}
.site-nav{display:flex;align-items:center;gap:.28rem;flex-wrap:wrap;justify-content:flex-end;color:#637086;}
.site-nav a,.site-nav summary{padding:.45rem .62rem;border-radius:999px;text-decoration:none;cursor:pointer;font-size:.92rem;}
.site-nav a:hover,.site-nav summary:hover{background:rgba(255,255,255,.72);color:#1f2530;}
.nav-dropdown{position:relative;}
.nav-dropdown-menu{position:absolute;right:0;top:100%;min-width:150px;padding:.45rem;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 44px rgba(62,39,25,.12);}
.nav-dropdown-menu a{display:block;white-space:nowrap;}

.hero{position:relative;display:block;min-height:auto;padding:78px 0 56px;overflow:visible;}
.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:34px 58px;align-items:center;}
.hero-copy{position:static;z-index:auto;align-self:center;padding:0;color:var(--ink);}
.eyebrow{margin:0 0 .7rem;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.hero .eyebrow{color:var(--accent);}
.eyebrow::before{content:none;}
.hero h1{margin:0;max-width:none;font-size:clamp(2.4rem,5.4vw,5.2rem);line-height:1.04;letter-spacing:-.055em;font-weight:900;color:var(--ink);}
.hero h1 span{display:block;color:#7e4d0e;}
.subtitle{margin:22px 0 0;max-width:58ch;font-size:1.12rem;color:#554840;}
.hero-photo{position:relative;justify-self:stretch;padding:12px;border:1px solid rgba(234,219,198,.95);border-radius:32px;background:#fff;box-shadow:var(--shadow);transform:rotate(.45deg);}
.hero-photo img{border-radius:22px;width:100%;aspect-ratio:4/3;object-fit:cover;}
.caption{font-size:.84rem;color:#75675f;line-height:1.58;margin:10px 8px 4px;}
.photo-credit{display:block;margin-top:.35rem;color:#8a7d74;font-size:.78rem;}
.route-card{grid-column:1/-1;margin-top:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.stamp{min-height:116px;padding:18px 16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.74);box-shadow:0 14px 40px rgba(62,39,25,.08);}
.stamp strong{display:block;font-size:1.45rem;line-height:1;color:var(--gold-dark);margin-bottom:10px;}
.stamp span{font-size:.9rem;line-height:1.55;color:#695b52;}

.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:start;padding:28px 0 80px;}
.toc{position:sticky;top:92px;padding:20px;border:1px solid var(--line);border-radius:24px;background:rgba(255,253,248,.82);box-shadow:0 16px 44px rgba(62,39,25,.08);}
.toc-title{margin:0 0 12px;font-weight:900;color:var(--gold-dark);letter-spacing:.05em;}
.toc a{display:block;text-decoration:none;color:#574a43;padding:.48rem .2rem;border-top:1px solid rgba(234,219,198,.75);font-size:.92rem;line-height:1.48;}
.toc a:hover{color:var(--gold-dark);}
.article{min-width:0;}
.article-section{margin:0 0 34px;padding:38px;border:1px solid rgba(234,219,198,.92);border-radius:var(--radius);background:rgba(255,253,248,.88);box-shadow:0 20px 60px rgba(62,39,25,.08);}
.article-section.compact{padding:30px 34px;}
.section-label{display:flex;align-items:center;gap:.72rem;margin:0 0 14px;font-size:.84rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);}
.section-label::before{content:"";height:2px;width:38px;background:var(--gold);}
h2{font-size:clamp(1.56rem,3vw,2.38rem);line-height:1.24;margin:0 0 20px;letter-spacing:-.035em;}
p{margin:0 0 16px;}
.article-section p:not(.section-label){font-size:1.04rem;color:#3a332f;}
.preserve{white-space:pre-line;font-size:1.04rem;color:#3a332f;}
.editor-intro{background:linear-gradient(135deg,rgba(197,140,37,.08),rgba(78,112,143,.08));border-color:#e6d2b7;}
blockquote{margin:26px 0;padding:20px 24px;border-left:5px solid var(--gold);border-radius:0 20px 20px 0;background:#fff6e8;font-size:1.1rem;line-height:1.82;color:#3d332e;}
.focus-map{background:linear-gradient(135deg,#fff8ec,#eef4f0);}
.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.focus-grid div{padding:20px;border:1px solid rgba(234,219,198,.95);border-radius:22px;background:rgba(255,255,255,.7);}
.focus-grid strong{display:block;color:#7e4d0e;font-size:1.08rem;margin-bottom:8px;}
.focus-grid span{display:block;color:#5f554c;line-height:1.72;}
.story-photo{margin:24px 0 28px;padding:10px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 48px rgba(62,39,25,.10);}
.story-photo img{border-radius:18px;width:100%;}
.story-photo-wide img{aspect-ratio:16/9;object-fit:cover;}
.story-photo figcaption{margin:10px 8px 4px;font-size:.86rem;line-height:1.58;color:#74655b;}
.card-feature{display:grid;grid-template-columns:minmax(260px,.52fr) minmax(0,1fr);gap:30px;align-items:center;background:linear-gradient(135deg,#fff8ef,#edf4ef);}
.card-feature p:not(.section-label){color:#5d5048;}
.card-feature figure{margin:0;}
.card-feature figure img{border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(197,140,37,.16);}
.site-footer{padding:28px clamp(18px,4vw,46px) 44px;color:#776960;font-size:.88rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;}
.site-footer p{margin:0;}
.footer-registration{max-width:var(--max);margin:.35rem auto 0;color:#927f73;font-size:.76rem;line-height:1.55;}
.footer-copy{max-width:var(--max);margin:0 auto;}
:focus-visible{outline:3px solid rgba(197,140,37,.42);outline-offset:3px;}
@media print{.site-header,.toc,.progress{display:none!important}.layout{display:block}.article-section{break-inside:avoid;box-shadow:none;background:#fff}}
@media (max-width: 920px){
  .hero-grid,.layout,.card-feature{grid-template-columns:1fr;}
  .toc{position:static;}
  .route-card{grid-template-columns:repeat(2,1fr);}
  .hero-photo{transform:none;}
}
@media (max-width: 620px){
  body.slow-fast-journey-page{line-height:1.78;}
  .shell{width:min(100% - 24px,var(--max));}
  .hero{padding-top:42px;}
  .hero-grid{width:100%;gap:24px;}
  .hero-copy{padding-inline:24px;}
  .hero h1{font-size:2.36rem;}
  .subtitle{font-size:1rem;}
  .hero-photo{width:calc(100% - 16px);justify-self:center;padding:8px;border-radius:24px;}
  .hero-photo img{border-radius:17px;}
  .caption{margin-inline:6px;}
  .route-card{width:calc(100% - 48px);justify-self:center;}
  .route-card,.focus-grid{grid-template-columns:1fr;}
  .article-section{padding:26px 20px;border-radius:22px;}
  .article-section.compact{padding:26px 20px;}
  .story-photo-wide img{aspect-ratio:4/3;}
}
