@charset "UTF-8";
/* Grounded editorial visual system: parchment, ink, citrus and spacious rhythmic typesetting. */
:root {
 --paper:#f8f5ed; --paper-deep:#efebe0; --ink:#1c3029; --ink-soft:#345045;
 --muted:#68766c; --line:#d7dcd0; --orange:#edaa40; --orange-soft:#ffe5b5;
 --green:#37594d; --night:#172820; --white:#fffefa; --cyan:#d9e9e1;
 --radius:18px; --radius-large:32px; --shadow:0 26px 85px rgba(26,48,38,.08);
 --max:1240px; --gutter:clamp(20px,4.8vw,80px); --serif:"Songti SC","Noto Serif CJK SC",SimSun,serif;
 --sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:96px; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.85 var(--sans); -webkit-font-smoothing:antialiased; }
body,button,input { font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
a:hover { color:#8b5724; }
button { color:inherit; }
img,svg { max-width:100%; }
img { display:block; height:auto; object-fit:cover; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #d89025; outline-offset:5px; }
::selection { background:#f8cf84; color:#13271e; }
.page-wrap { width:min(var(--max),calc(100% - 2*var(--gutter))); margin-inline:auto; }
.section-space { padding-block:clamp(74px,9vw,144px); }
.site-shell { overflow:clip; }
.skip-link { position:absolute; z-index:999; top:-100px; left:20px; background:var(--ink); color:#fff; padding:12px 20px; border-radius:8px; }
.skip-link:focus { top:14px; }
.site-header { position:relative; z-index:60; background:var(--paper); border-bottom:1px solid #e1e3d8; }
.header-inner { width:min(1400px,calc(100% - 2*var(--gutter))); min-height:94px; margin:auto; display:flex; gap:clamp(20px,3vw,52px); align-items:center; }
.brand-lockup { display:flex; align-items:center; gap:13px; flex-shrink:0; }
.brand-seed { display:flex; position:relative; width:47px; height:47px; justify-content:center; align-items:center; background:#ecc05b; border-radius:18px 18px 18px 5px; transform:rotate(-10deg); }
.brand-seed::before { content:""; position:absolute; width:14px; height:7px; border-radius:100% 0 100% 0; background:var(--ink); top:7px; right:5px; transform:rotate(-30deg); }
.brand-seed span { width:8px; height:12px; background:#233b30; border-radius:50%; display:block; margin:2px; transform:rotate(15deg); }
.brand-text { display:flex; flex-direction:column; line-height:1.3; letter-spacing:.04em; }
.brand-text strong { font-size:21px; font-weight:800; }
.brand-text small { font-size:10px; letter-spacing:.24em; margin-top:5px; color:var(--muted); }
.primary-nav { display:flex; align-items:center; gap:clamp(14px,1.65vw,32px); margin-left:auto; }
.primary-nav a { position:relative; white-space:nowrap; font-size:13px; font-weight:700; padding:10px 0; transition:color .2s ease; }
.primary-nav a::after { content:""; position:absolute; height:2px; background:var(--orange); left:0; right:100%; bottom:3px; transition:right .2s ease; }
.primary-nav a:hover::after,.primary-nav a[aria-current]::after { right:0; }
.header-index { white-space:nowrap; display:inline-flex; gap:14px; align-items:center; border:1px solid var(--ink); border-radius:100px; padding:9px 17px; font-size:12px; font-weight:700; }
.header-index:hover { background:var(--ink); color:white; }
.menu-toggle { display:none; }
.eyebrow { text-transform:uppercase; font-weight:800; font-size:11px; letter-spacing:.23em; line-height:1.7; color:#68756a; margin:0 0 21px; }
.eyebrow--line { display:flex; align-items:center; gap:14px; }
.eyebrow--line::before { content:""; display:block; width:40px; height:1px; background:var(--ink); }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2 { font-family:var(--serif); letter-spacing:-.04em; font-weight:700; }
h1 { font-size:clamp(44px,5.7vw,88px); line-height:1.16; }
h2 { font-size:clamp(32px,3.8vw,57px); line-height:1.3; }
h3 { line-height:1.45; }
p { overflow-wrap:anywhere; }
.hero-lead { color:#53675c; font-size:clamp(16px,1.5vw,20px); max-width:580px; line-height:2; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:32px; padding:16px 25px; min-height:54px; border-radius:100px; font-size:14px; font-weight:800; transition:transform .25s,box-shadow .25s,background .25s; }
.button:hover { transform:translateY(-3px); }
.button--solid { background:var(--ink); color:#fff; }
.button--solid:hover { color:#fff; background:#41614f; box-shadow:0 12px 28px #1c302933; }
.button--outline { border:1px solid var(--ink); }
.button--outline:hover { background:var(--ink); color:#fff; }
.button--light { color:var(--ink); background:var(--orange-soft); }
.button--light:hover { color:var(--ink); background:#ffcd79; }
.text-link { display:inline-flex; align-items:center; gap:16px; font-weight:800; font-size:13px; border-bottom:1px solid var(--ink); padding:11px 0; }
.hero-actions { display:flex; align-items:center; gap:33px; flex-wrap:wrap; }
.home-hero { display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:clamp(30px,7vw,90px); min-height:700px; padding-block:70px 100px; }
.hero-copy { position:relative; z-index:1; }
.home-hero h1 { margin:30px 0 29px; max-width:680px; }
.home-hero h1 em { display:block; font-style:normal; color:#547560; }
.home-hero .hero-lead { margin-bottom:40px; }
.hero-note { margin-top:70px; display:flex; align-items:center; font-size:11px; font-weight:700; letter-spacing:.14em; color:var(--muted); }
.hero-note__dot { width:8px; height:8px; border-radius:50%; background:#d89b38; margin-right:14px; }
.hero-art { position:relative; border-radius:270px 270px 22px 22px; overflow:hidden; min-height:550px; background:linear-gradient(145deg,#d5dfc9,#b1cbb7 42%,#d9ae6e); box-shadow:var(--shadow); }
.hero-art::after { content:""; position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(transparent,rgba(12,41,29,.45)); pointer-events:none; }
.hero-art img { width:100%; height:100%; min-height:550px; position:absolute; inset:0; object-position:center center; }
.hero-annotation { position:absolute; bottom:32px; left:30px; right:30px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; z-index:2; color:white; font-size:11px; letter-spacing:.1em; }
.hero-annotation strong { font-size:12px; }
.intro-strip { background:var(--ink); color:#f2efe3; padding:38px 0; }
.intro-grid { display:grid; grid-template-columns:160px 1fr auto; align-items:center; gap:50px; }
.intro-label { font-size:12px; letter-spacing:.16em; color:#ebbf6a; margin:0; font-weight:800; }
.intro-grid p:nth-child(2) { margin:0; font-size:17px; line-height:1.9; }
.intro-grid strong { color:#f5cc79; font-weight:700; }
.intro-grid a { border-bottom:1px solid #abcbb6; color:#e6f2e9; font-size:13px; white-space:nowrap; }
.section-heading { margin-bottom:45px; }
.section-heading--split { display:flex; justify-content:space-between; align-items:end; gap:60px; }
.section-heading h2 { margin-bottom:0; }
.section-intro { max-width:355px; font-size:15px; color:var(--muted); line-height:2; }
.routes-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:15px; }
.route-card { background:#fffdf7; border:1px solid #dbe1d5; border-radius:22px; padding:31px 28px 25px; grid-column:span 2; min-height:290px; display:flex; flex-direction:column; justify-content:space-between; position:relative; transition:transform .24s,box-shadow .24s,border-color .24s; }
.route-card:nth-child(4),.route-card:nth-child(5) { grid-column:span 3; min-height:260px; }
.route-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:#bdcbb9; }
.route-card__number { color:#d0a34f; font:700 32px var(--serif); line-height:1; margin-bottom:25px; }
.route-card .eyebrow { font-size:10px; margin-bottom:9px; }
.route-card h3 { margin:0 0 13px; font-size:clamp(19px,1.7vw,24px); }
.route-card h3 a::after { content:""; position:absolute; inset:0; }
.route-card p:not(.eyebrow) { color:#68766b; font-size:13px; line-height:1.9; max-width:345px; margin:0; }
.route-card__arrow { position:absolute; right:26px; top:29px; font-size:21px; }
.feature-band { background:#e6ebe0; padding-block:90px; }
.feature-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,7vw,110px); align-items:center; }
.feature-image { background:#acbeb2; min-height:570px; border-radius:18px 180px 18px 18px; overflow:hidden; box-shadow:var(--shadow); }
.feature-image img { width:100%; height:570px; }
.feature-copy { max-width:530px; }
.feature-copy h2 { margin-bottom:27px; }
.feature-copy > p:not(.eyebrow) { color:#536b5c; font-size:16px; line-height:2.1; }
.check-list { list-style:none; padding:8px 0 21px; margin:0; }
.check-list li { border-top:1px solid #c5d2c6; padding:14px 0; font-size:14px; font-weight:700; }
.check-list li::before { content:"↗"; color:#b97921; margin-right:15px; }
.double-feature { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.editorial-tile { position:relative; border-radius:23px; min-height:620px; padding:clamp(30px,4vw,60px); overflow:hidden; display:flex; flex-direction:column; align-items:start; }
.editorial-tile--warm { background:#f5e8cb; }
.editorial-tile--cool { background:#dcebe4; }
.editorial-tile h2 { font-size:clamp(30px,3vw,44px); max-width:420px; margin-bottom:20px; z-index:1; }
.editorial-tile p:not(.eyebrow) { font-size:14px; color:#56675d; max-width:390px; line-height:2; z-index:1; }
.editorial-tile a { font-size:13px; font-weight:800; border-bottom:1px solid var(--ink); padding:8px 0; margin-top:8px; z-index:2; }
.editorial-tile img { width:calc(100% - 30px); height:240px; border-radius:180px 180px 10px 10px; position:absolute; bottom:0; left:15px; object-position:center 35%; }
.home-questions { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,125px); }
.home-questions h2 { margin-bottom:26px; }
.home-questions .section-intro { margin-bottom:30px; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:25px; cursor:pointer; padding:23px 0; font-weight:750; font-size:15px; line-height:1.6; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; background:#e8e9de; border-radius:50%; font:normal 23px/1 var(--sans); transition:transform .2s; }
.faq-item[open] summary::after { transform:rotate(45deg); background:var(--orange-soft); }
.faq-answer { padding-bottom:19px; animation:fade-down .25s ease both; }
.faq-answer p { color:#67776b; font-size:14px; line-height:2; margin:0; }
.all-link { display:inline-block; margin-top:25px; font-size:13px; font-weight:800; border-bottom:1px solid currentColor; }
.closing-cta { background:#244335; color:#fffefa; position:relative; overflow:hidden; }
.closing-cta::before,.closing-cta::after { content:""; position:absolute; width:500px; height:500px; border:1px solid #678e7755; border-radius:50%; transform:rotate(25deg); }
.closing-cta::before { right:-150px; top:-260px; }
.closing-cta::after { right:-260px; top:-100px; }
.closing-inner { position:relative; padding-block:105px; z-index:1; }
.closing-inner .eyebrow { color:#edc97c; }
.closing-inner h2 { margin-bottom:30px; }
.site-footer { background:#14271e; color:#d9e3d5; }
.footer-main { width:min(var(--max),calc(100% - 2*var(--gutter))); margin:auto; padding:85px 0 70px; display:grid; grid-template-columns:2.5fr repeat(3,1fr); gap:clamp(30px,6vw,85px); }
.footer-brand { max-width:370px; }
.footer-mark { width:49px; height:49px; border-radius:15px 15px 15px 5px; display:grid; place-items:center; background:#efbe5b; color:#14271e; font:bold 21px var(--serif); margin-bottom:22px; }
.footer-brand h2 { color:#fff; font-size:25px; font-family:var(--sans); letter-spacing:.03em; margin-bottom:16px; }
.footer-brand p { font-size:13px; line-height:2; color:#afc0af; }
.footer-group h3 { font:800 13px var(--sans); color:#fff; margin-bottom:24px; letter-spacing:.07em; }
.footer-group a { display:block; font-size:12px; color:#acbcb0; margin-bottom:13px; }
.footer-group a:hover { color:#efbe5b; }
.footer-bottom { border-top:1px solid #3d584a; padding:23px var(--gutter); display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; font-size:10px; color:#91a79a; }
.footer-bottom a { color:#cbdacc; }
.breadcrumbs { width:min(var(--max),calc(100% - 2*var(--gutter))); margin:22px auto 0; display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.breadcrumbs a { color:var(--ink); }
.breadcrumbs span[aria-hidden] { color:#b0b9ab; }
.inner-mast { display:grid; grid-template-columns:1.17fr .83fr; gap:clamp(35px,6vw,100px); align-items:center; padding-block:75px 85px; }
.inner-mast h1 { font-size:clamp(40px,4.5vw,69px); margin-bottom:28px; }
.inner-mast .hero-lead { max-width:670px; }
.mast-meta { display:flex; align-items:center; gap:15px; font-size:11px; font-weight:800; letter-spacing:.1em; margin-top:38px; color:#8e977f; }
.inner-mast__image { border-radius:240px 30px 30px 30px; overflow:hidden; background:#d4e0d3; min-height:440px; }
.inner-mast__image img { width:100%; height:440px; }
.article-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(0,320px); justify-content:space-between; gap:clamp(40px,6vw,100px); padding-bottom:125px; }
.article-main { min-width:0; }
.article-lead { background:#e7e9dc; padding:clamp(30px,4vw,60px); border-radius:20px; margin-bottom:35px; }
.article-lead h2 { font-size:clamp(30px,3vw,42px); margin-bottom:22px; }
.article-lead p:not(.eyebrow) { color:#52695b; line-height:2.15; }
.topic-chapter { display:grid; grid-template-columns:70px minmax(0,1fr); border-bottom:1px solid var(--line); gap:20px; padding:38px 0 48px; scroll-margin-top:40px; }
.chapter-index { color:#c6aa77; font:700 27px var(--serif); padding-top:3px; }
.topic-chapter h2 { font-size:clamp(24px,2.3vw,34px); margin:0 0 17px; }
.topic-chapter p { line-height:2.2; font-size:15px; color:#647368; }
.topic-chapter .chapter-intro { color:var(--ink-soft); font-weight:600; }
.topic-chapter p:last-child { margin-bottom:0; }
.article-aside { min-width:0; }
.sticky-card { position:sticky; top:32px; background:#fffdf7; border:1px solid #dce0d3; border-radius:18px; padding:30px; box-shadow:0 8px 45px #2d42240a; }
.sticky-card .eyebrow { margin-bottom:25px; }
.sticky-card ol { padding-left:22px; margin:0; color:#b68944; }
.sticky-card li { padding-left:4px; margin-bottom:15px; line-height:1.7; font-size:12px; }
.sticky-card li a { color:#52675b; }
.aside-divider { height:1px; background:var(--line); margin:29px 0 22px; }
.sticky-card > a { display:block; padding:9px 0; font-size:12px; font-weight:800; }
.article-outro { background:#f3e7c9; border-radius:18px; padding:35px 40px; margin-top:50px; }
.article-outro h2 { font-size:27px; margin-bottom:17px; }
.article-outro p { font-size:14px; color:#586655; line-height:2; }
.article-outro__links { display:flex; gap:25px; flex-wrap:wrap; }
.article-outro__links a { font-size:12px; font-weight:800; border-bottom:1px solid currentColor; }
.simple-mast { padding-block:95px 100px; }
.simple-mast h1 { font-size:clamp(43px,5.2vw,78px); max-width:970px; }
.simple-mast .hero-lead { max-width:740px; }
.faq-page { display:grid; grid-template-columns:310px 1fr; gap:clamp(50px,7vw,120px); padding-bottom:110px; }
.faq-page__intro h2 { font-size:34px; }
.faq-page__intro p { color:#778577; font-size:14px; }
.faq-page__intro img { width:100%; border-radius:22px; margin-top:30px; }
.faq-page .faq-item summary { font-size:17px; padding-block:26px; }
.faq-page .faq-answer p { font-size:15px; padding-bottom:12px; }
.bottom-navigation { border-top:1px solid var(--line); padding-block:70px 100px; }
.bottom-navigation h2 { font-size:35px; }
.compact-links { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.compact-links a { background:#e9eadd; border-radius:12px; padding:25px; font-size:15px; font-weight:800; display:flex; justify-content:space-between; }
.compact-links a:hover { background:#f4ddb5; }
.simple-mast--library { padding-bottom:70px; }
.library-index { border-block:1px solid var(--line); padding-block:25px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.index-caption h2 { font:800 15px var(--sans); margin-bottom:4px; }
.index-caption p { font-size:11px; color:var(--muted); margin:0; }
.library-index nav { display:flex; flex-wrap:wrap; gap:10px; }
.library-index nav a { font-size:12px; border:1px solid var(--line); border-radius:100px; padding:7px 13px; }
.library-index nav a:hover { background:var(--ink); color:#fff; }
.library-page { display:grid; grid-template-columns:minmax(0,790px) minmax(0,300px); justify-content:space-between; gap:clamp(40px,7vw,110px); padding-block:85px 130px; }
.library-entry { border-bottom:2px solid var(--line); padding-bottom:72px; margin-bottom:75px; scroll-margin-top:20px; }
.library-entry:last-child { margin-bottom:0; border:0; }
.library-entry__head { margin-bottom:32px; }
.library-entry h2 { font-size:clamp(30px,3vw,47px); }
.lead-small { font-size:17px; line-height:2; color:#516c5a; }
.article-section { padding-block:16px; }
.article-section h3 { font-size:22px; margin-bottom:17px; }
.article-section p { color:#69786d; font-size:15px; line-height:2.2; }
.point-list { list-style:none; padding:0; display:grid; gap:8px; }
.point-list li { display:flex; flex-direction:column; padding:17px 20px; background:#eeeee3; border-radius:10px; }
.point-list strong { font-size:14px; }
.point-list span { font-size:13px; color:var(--muted); }
.library-aside .sticky-card p:not(.eyebrow) { font-size:13px; color:var(--muted); line-height:2; }
.about-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(50px,9vw,140px); align-items:start; padding-bottom:140px; }
.about-photo { background:#d9e4d7; border-radius:250px 250px 20px 20px; overflow:hidden; min-height:650px; }
.about-photo img { width:100%; height:650px; }
.about-copy h2 { font-size:clamp(27px,2.7vw,40px); margin:0 0 20px; }
.about-copy h2:not(:first-child) { margin-top:48px; }
.about-copy p { color:#66786b; font-size:15px; line-height:2.3; }
.about-actions { display:flex; gap:30px; align-items:center; flex-wrap:wrap; margin-top:40px; }
.not-found { padding-block:120px 170px; }
.error-code { display:block; font:700 clamp(90px,14vw,190px)/1 var(--serif); color:#ddbe83; letter-spacing:-.09em; }
.not-found h1 { font-size:clamp(39px,4.8vw,70px); margin-block:14px 25px; }
.not-found > p:not(.eyebrow) { color:var(--muted); max-width:580px; }
.not-found .hero-actions { margin-top:35px; }
@keyframes fade-down { from {opacity:0;transform:translateY(-5px)} to {opacity:1;transform:translateY(0)} }
@media (min-width:1500px) { .home-hero { min-height:750px; } .hero-art { min-height:610px; } .hero-art img { min-height:610px; } }
@media (max-width:1150px) {
 .header-inner { min-height:84px; gap:20px; }
 .primary-nav { gap:15px; }
 .header-index { display:none; }
 .home-hero { min-height:auto; }
 .hero-art,.hero-art img { min-height:490px; }
 .intro-grid { grid-template-columns:130px 1fr; gap:20px; }
 .intro-grid a { grid-column:2; justify-self:start; }
 .article-layout,.library-page { grid-template-columns:minmax(0,1fr) 240px; gap:40px; }
 .feature-image,.feature-image img { min-height:480px; height:480px; }
}
@media (max-width:900px) {
 :root { --gutter:clamp(20px,4vw,40px); }
 .menu-toggle { margin-left:auto; display:flex; align-items:center; gap:10px; border:1px solid #cbd3c7; border-radius:100px; padding:9px 17px; background:transparent; font-size:12px; font-weight:800; cursor:pointer; }
 .menu-icon { width:17px; display:flex; flex-direction:column; gap:4px; }
 .menu-icon i { height:2px; background:var(--ink); width:100%; display:block; }
 .primary-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); padding:20px var(--gutter) 28px; box-shadow:0 22px 35px #1b372015; flex-direction:column; align-items:stretch; gap:0; }
 .primary-nav.is-open { display:flex; }
 .primary-nav a { padding:13px 0; border-bottom:1px solid var(--line); font-size:15px; }
 .primary-nav a::after { display:none; }
 .primary-nav a[aria-current] { color:#a06a28; }
 .home-hero { gap:35px; padding-block:65px 80px; grid-template-columns:1.1fr .9fr; }
 .home-hero h1 { font-size:clamp(43px,6vw,61px); }
 .hero-art,.hero-art img { min-height:430px; }
 .hero-note { margin-top:42px; }
 .section-heading--split { align-items:start; }
 .routes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .route-card,.route-card:nth-child(4),.route-card:nth-child(5) { grid-column:span 1; }
 .route-card:nth-child(5) { grid-column:span 2; min-height:190px; }
 .feature-layout { gap:35px; }
 .feature-image,.feature-image img { min-height:430px; height:430px; }
 .editorial-tile { min-height:560px; }
 .home-questions { gap:45px; }
 .inner-mast { gap:30px; }
 .inner-mast h1 { font-size:clamp(37px,4.7vw,53px); }
 .inner-mast__image,.inner-mast__image img { min-height:350px; height:350px; }
 .footer-main { grid-template-columns:repeat(3,1fr); gap:40px; }
 .footer-brand { grid-column:1/-1; max-width:650px; }
 .faq-page { grid-template-columns:240px 1fr; gap:40px; }
 .about-photo,.about-photo img { min-height:510px; height:510px; }
}
@media (max-width:700px) {
 body { font-size:15px; }
 .header-inner { min-height:76px; }
 .brand-seed { width:41px; height:41px; }
 .brand-text strong { font-size:18px; }
 .brand-text small { font-size:9px; }
 .home-hero { grid-template-columns:1fr; padding-top:58px; padding-bottom:60px; }
 .home-hero h1 { font-size:clamp(43px,10vw,68px); }
 .home-hero .hero-lead { margin-bottom:28px; }
 .hero-art { max-width:520px; border-radius:220px 220px 18px 18px; width:100%; min-height:380px; }
 .hero-art img { min-height:380px; }
 .hero-note { margin-top:30px; }
 .intro-grid { grid-template-columns:1fr; gap:12px; }
 .intro-grid a { grid-column:1; }
 .intro-grid p:nth-child(2) { font-size:15px; }
 .section-space { padding-block:75px; }
 .section-heading--split { display:block; }
 .section-intro { max-width:580px; margin-top:25px; }
 .routes-grid { gap:13px; }
 .route-card { padding:23px; min-height:255px; }
 .route-card__number { font-size:27px; margin-bottom:20px; }
 .route-card h3 { font-size:19px; }
 .route-card:nth-child(5) { grid-column:span 2; min-height:190px; }
 .feature-band { padding-block:65px; }
 .feature-layout { grid-template-columns:1fr; }
 .feature-image { max-width:550px; width:100%; border-radius:16px 140px 16px 16px; }
 .feature-image,.feature-image img { height:410px; min-height:410px; }
 .feature-copy { max-width:100%; }
 .double-feature { grid-template-columns:1fr; }
 .editorial-tile { min-height:540px; }
 .home-questions { grid-template-columns:1fr; }
 .closing-inner { padding-block:75px; }
 .footer-main { grid-template-columns:repeat(2,1fr); padding-block:65px; }
 .footer-brand { grid-column:1/-1; }
 .inner-mast { grid-template-columns:1fr; padding-block:55px 65px; }
 .inner-mast__image { width:100%; max-width:560px; }
 .inner-mast__image,.inner-mast__image img { height:340px; min-height:340px; }
 .article-layout,.library-page { grid-template-columns:1fr; padding-bottom:80px; }
 .article-aside,.library-aside { display:none; }
 .article-lead { padding:30px; }
 .topic-chapter { grid-template-columns:45px minmax(0,1fr); gap:12px; }
 .chapter-index { font-size:22px; }
 .simple-mast { padding-block:65px; }
 .faq-page { grid-template-columns:1fr; gap:20px; padding-bottom:60px; }
 .faq-page__intro img { display:none; }
 .compact-links { grid-template-columns:1fr; }
 .library-index { display:block; }
 .library-index nav { margin-top:18px; }
 .library-page { padding-top:65px; }
 .about-layout { grid-template-columns:1fr; gap:42px; padding-bottom:80px; }
 .about-photo { max-width:470px; }
 .about-photo,.about-photo img { min-height:430px; height:430px; }
 .not-found { padding-block:90px 120px; }
}
@media (max-width:440px) {
 :root { --gutter:18px; }
 .button { min-height:51px; padding:13px 20px; }
 .hero-actions { gap:20px; }
 .home-hero h1 { letter-spacing:-.06em; }
 .hero-art,.hero-art img { min-height:320px; }
 .hero-annotation { left:18px; right:18px; bottom:18px; }
 .routes-grid { grid-template-columns:1fr; }
 .route-card,.route-card:nth-child(5) { grid-column:1; min-height:235px; }
 .route-card:nth-child(5) { min-height:220px; }
 .editorial-tile { min-height:520px; padding:30px; }
 .editorial-tile img { height:205px; }
 .feature-image,.feature-image img { height:310px; min-height:310px; }
 .footer-main { gap:25px; }
 .footer-bottom { display:grid; }
 .chapter-index { font-size:19px; }
 .topic-chapter { grid-template-columns:32px minmax(0,1fr); }
 .article-outro { padding:30px 22px; }
 .faq-page .faq-item summary { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }
@media print { .site-header,.site-footer,.article-aside,.library-aside,.hero-actions,.bottom-navigation { display:none!important; } body { color:#000; background:#fff; font-size:12pt; } .page-wrap { width:100%; } .topic-chapter,.library-entry { break-inside:avoid; } a { text-decoration:underline; } }
/* Fine-grained adjustments for typographic rhythm, long-form reading and accessibility. */
@supports (text-wrap:balance) {
 .home-hero h1,.inner-mast h1,.simple-mast h1,.section-heading h2,.closing-inner h2 { text-wrap:balance; }
 .route-card h3,.topic-chapter h2,.article-section h3 { text-wrap:pretty; }
}
@media (hover:hover) and (pointer:fine) {
 .brand-lockup:hover .brand-seed { transform:rotate(0deg) translateY(-2px); }
 .brand-seed { transition:transform .22s ease; }
 .editorial-tile a:hover,.text-link:hover { border-bottom-color:#ab791f; }
 .route-card:hover .route-card__arrow { transform:translate(3px,-3px); }
 .route-card__arrow { transition:transform .22s ease; }
 .library-index nav a { transition:background .2s,color .2s; }
 .compact-links a { transition:background .2s ease,transform .2s ease; }
 .compact-links a:hover { transform:translateY(-2px); }
}
@media (prefers-contrast:more) {
 :root { --muted:#385244; --line:#8ca296; --paper:#fffdf7; }
 .route-card,.sticky-card { border-color:#526e5c; }
 .eyebrow,.hero-lead,.route-card p:not(.eyebrow),.article-section p { color:#365544; }
 .primary-nav a[aria-current] { text-decoration:underline; text-underline-offset:5px; }
 .button--outline { border-width:2px; }
}
@media (forced-colors:active) {
 .brand-seed,.hero-note__dot,.footer-mark { border:2px solid ButtonText; }
 .button,.menu-toggle,.header-index { border:1px solid ButtonText; }
 .route-card { border:1px solid CanvasText; }
 .faq-item summary::after { border:1px solid CanvasText; }
}
@media (max-width:900px) and (min-width:701px) {
 .primary-nav.is-open { max-height:calc(100vh - 85px); overflow-y:auto; overscroll-behavior:contain; }
 .feature-copy .eyebrow { margin-bottom:13px; }
 .feature-copy h2 { font-size:clamp(30px,3.65vw,44px); }
 .editorial-tile h2 { font-size:clamp(30px,3.8vw,40px); }
 .closing-inner h2 { max-width:760px; }
 .home-questions > div:first-child { padding-right:8px; }
}
@media (max-width:700px) {
 .primary-nav.is-open { max-height:calc(100dvh - 76px); overflow-y:auto; overscroll-behavior:contain; }
 .hero-copy,.inner-mast__copy { min-width:0; }
 .inner-mast .mast-meta { flex-wrap:wrap; }
 .editorial-tile img { object-position:center 38%; }
 .library-entry__head .eyebrow { margin-bottom:15px; }
 .library-entry h2 { line-height:1.35; }
 .library-entry p,.topic-chapter p { overflow-wrap:break-word; }
 .faq-page .faq-list { margin-top:5px; }
 .simple-mast .eyebrow { letter-spacing:.17em; }
 .simple-mast h1 { letter-spacing:-.055em; }
 .footer-group a { padding-block:2px; }
 .article-outro__links { row-gap:15px; }
}
@media (max-width:380px) {
 .brand-lockup { gap:8px; }
 .brand-text small { letter-spacing:.14em; }
 .menu-toggle { padding:7px 12px; }
 .eyebrow { font-size:10px; }
 .home-hero h1 { font-size:42px; }
 .hero-annotation strong { display:block; }
 .chapter-copy h2 { font-size:23px; }
 .footer-main { grid-template-columns:1fr 1fr; }
 .footer-group h3 { margin-bottom:14px; }
 .editorial-tile { min-height:505px; }
}
