/* MORE 05 — mountain, Macau and forward movement. All fonts and artwork are local assets. */
@font-face { font-family:'MORE Sans'; src:url('../fonts/noto-sans-regular.woff') format('woff'); font-weight:400; font-display:swap; }
@font-face { font-family:'MORE Sans'; src:url('../fonts/noto-sans-bold.woff') format('woff'); font-weight:700; font-display:swap; }
@font-face { font-family:'MORE TC'; src:url('../fonts/noto-sans-tc-ui.woff') format('woff'); font-weight:100 900; font-display:swap; }
@font-face { font-family:'MORE Display'; src:url('../fonts/anton-regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
:root { --forest:#547B3C !important; --forest-bg:#547B3C !important; --forest-deep:#3F612B !important; --deep:#3F612B !important; --cream:#FAFCF9 !important; --card:#fff !important; --ink:#384139 !important; --text:#4E5A51 !important; --muted:#6D796F !important; --line:#dce1d1 !important; --sub:#f0f3e8 !important; --mint:#e7ecdc !important; --accent:#c5d3ad !important; --green-dark:#547B3C !important; --ff:'MORE Sans','MORE TC','PingFang TC','Microsoft JhengHei',sans-serif !important; --ff-en:'MORE Sans','Helvetica Neue',Arial,sans-serif !important; --ff-num:'MORE Sans',Arial,sans-serif !important; }
html,body { background:#FAFCF9 !important; color:#384139 !important; }
body { background-image:none !important; font-family:var(--ff) !important; }
h1,h2,h3,h4 { color:#384139 !important; }
.site-header { background:#fff !important; border-bottom:1px solid #e9ecdf !important; box-shadow:none !important; }
.header-bar { max-width:1200px; margin:auto; min-height:80px; padding:13px 26px; gap:18px; }
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.brand-mark { width:68px !important; height:44px !important; object-fit:contain; filter:none !important; }
.brand-name { display:flex; flex-direction:column; gap:3px; line-height:1; }
.brand-word { color:#30332c !important; font-family:'MORE Sans',sans-serif; font-size:34px !important; font-weight:700 !important; letter-spacing:-.035em; line-height:1; }
.brand-cn,html[lang="en"] .brand-cn { color:#547B3C !important; font:800 11.5px/1.25 'MORE TC','PingFang TC',sans-serif !important; letter-spacing:.12em !important; max-width:none; margin:0; }
.header-actions { display:flex; align-items:center; gap:5px; margin-left:auto; }
.ha-sep { display:none; color:#869475 !important; }
.header-actions .lang-switch { min-width:40px; min-height:42px; padding:0 6px; font:700 13px/1 var(--ff-en); letter-spacing:.03em; color:#486933 !important; border:0 !important; background:transparent !important; }
.nav-toggle { min-width:42px; min-height:42px; color:#486933 !important; padding:5px; }
.nav-toggle .bars { width:21px; gap:5px; }
.nav-toggle .bars i { background:#486933 !important; height:2px; transition:transform .22s,opacity .16s; }
.nav-toggle.is-open .bars i:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle.is-open .bars i:nth-child(2) { opacity:0; }
.nav-toggle.is-open .bars i:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.site-nav { background:#fff !important; border-top:0 !important; gap:6px; padding:0 24px 13px; }
.site-nav a { padding:9px 10px; font-size:14px; font-weight:500; color:#535d48 !important; letter-spacing:0; }
.site-nav a.active { color:#547B3C !important; background:transparent !important; box-shadow:none !important; }
.site-nav a.active::after { background:#547B3C !important; width:17px; height:2px; bottom:2px; }
.site-nav a:hover { background:#f1f4e9 !important; color:#547B3C !important; }
.site-footer { background:#f1f4e9 !important; border-color:#e1e7d5 !important; color:#77826a !important; }
.site-footer a,.eyebrow,.head-link { color:#547B3C !important; }
.section-tint { background:#f2f5ec !important; }
.section-intro { color:#77816b !important; }
.page-hero { background:#f0f3e8 !important; border-color:#dce4d0 !important; border-radius:18px !important; }
.page-hero h1,.page-head h1 { font-weight:800 !important; }
.ph-sub { color:#758265 !important; }
.ph-sub em { color:#547B3C !important; font-style:normal; }
.ph-arrow { background:#547B3C !important; }
.card,.whatson .card,.form-card,.detail-card,.about-card,.coming-panel,.path-card,.viz-box,.stat-card,.cstat,.submit-card { background:#fff !important; border-color:#dce3d0 !important; box-shadow:none !important; }
.card { transition:border-color .22s,transform .22s; }
.card:hover { border-color:#91a976 !important; transform:translateY(-2px) !important; }
.card-title,.whatson .card-title { color:#383d31 !important; font-weight:750 !important; }
.card-top { padding-right:48px !important; }
.card-top .chip { display:inline-flex; align-items:center; gap:5px; font-size:12px !important; font-weight:700 !important; text-transform:none; letter-spacing:0; }
.card-top .deadline,.card-top .deadline.ok { color:#58793d !important; font-size:12px !important; font-weight:700 !important; background:transparent !important; }
.card-top .chip { color:#526f3c !important; border:1px solid #9fae90 !important; background:#fff !important; }
.card-save { display:grid !important; width:29px !important; height:29px !important; top:12px !important; right:12px !important; border:1px solid #aab59d !important; border-radius:5px !important; color:#586f43 !important; background:#fff !important; font-size:17px !important; }
.card-meta,.card-meta li { border-color:#e6ebdd !important; }
.card-media { order:0; margin:0 12px; overflow:hidden; border-radius:6px; aspect-ratio:16/10; background:#eef2e5; }
.card-media .card-poster { display:block; width:100% !important; height:100% !important; margin:0 !important; border:0 !important; border-radius:0 !important; aspect-ratio:auto !important; object-fit:cover !important; object-position:center 20%; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.card:hover .card-media .card-poster { transform:scale(1.025); }
.card:hover .card-save { background:#edf3e4 !important; border-color:#86a265 !important; }
.card-more,.mini-btn,.btn { background:#547B3C !important; color:#fff !important; border-color:#547B3C !important; }
.btn-ghost { background:transparent !important; color:#547B3C !important; border-color:#b7c79f !important; }
.btn:hover { background:#3F612B !important; }
.btn-ghost:hover { background:#f0f4e7 !important; }
.tag-pill,.card-tags .tag { background:#eff3e6 !important; color:#6c7e58 !important; }
.filter-chip,.cat-pill { background:#fff !important; border-color:#dce4d0 !important; color:#677b52 !important; }
.filter-chip.active,.cat-pill.active { background:#547B3C !important; border-color:#547B3C !important; color:#fff !important; }
.filter-cats .filter-chip svg { width:15px; height:15px; vertical-align:-3px; margin-right:3px; }
.form-group input,.form-group select,.form-group textarea,.filter-row input,.filter-row select { background:#fff !important; border-color:#dce4d0 !important; color:#4b5740 !important; }
.app-tabbar { background:rgba(255,255,253,.97) !important; border-color:#dce4d0 !important; }
.app-tab,.app-tab.on { color:#73796a !important; font-size:11px; font-weight:400; }
.app-tab.on { color:#547B3C !important; }
.app-tab.on::after { background:#547B3C !important; width:28px; height:2.5px; }
.app-tab-ico svg { width:25px; height:25px; stroke-width:1.55; }
.category-icon { display:inline-flex; vertical-align:-3px; flex-shrink:0; }
.category-icon svg,.deadline svg { width:15px; height:15px; flex-shrink:0; }
.deadline { display:inline-flex; align-items:center; gap:5px; }
@media(min-width:1240px) {
 .site-header { display:grid; grid-template-columns:228px minmax(0,1fr) 46px; align-items:center; gap:20px; padding:16px max(36px,calc((100vw - 1160px)/2)); }
 .site-header .header-bar { display:contents; }
 .brand { grid-column:1; grid-row:1; }
 .header-actions { grid-column:3; grid-row:1; }
 .site-nav { grid-column:2; grid-row:1; justify-content:flex-end; padding:0; gap:3px; }
 .site-nav a { font-size:13px; padding:10px 7px; white-space:nowrap; }
}
@media(max-width:899px) {
 .header-bar { min-height:70px; padding:9px 18px; }
 .brand-mark { width:56px !important; height:44px !important; }
 .brand-word { font-size:34px !important; }
 .brand-cn,html[lang="en"] .brand-cn { font-size:11px !important; }
 .ha-sep { display:block; font-size:20px; font-weight:300; margin-right:3px; }
 .site-nav { display:none; padding:8px 20px 18px; }
 .site-nav.open { display:flex; flex-wrap:wrap; justify-content:flex-start; }
 .site-nav.open a { font-size:14px; }
}
@media(max-width:359px) {
 .header-bar { padding:12px 14px; gap:6px; }
 .brand { gap:8px; }
 .brand-mark { width:48px !important; height:39px !important; }
 .brand-word { font-size:31px !important; }
 .brand-cn,html[lang="en"] .brand-cn { font-size:10px !important; letter-spacing:.07em !important; }
 .header-actions { gap:1px; }
 .ha-sep { margin-right:0; }
 .header-actions .lang-switch { min-width:33px; }
}
@media(prefers-reduced-motion:reduce) { .card,.card-poster,.nav-toggle .bars i { transition:none !important; } .card:hover { transform:none !important; } }

/* A shared, compact header system connects every page to the new identity. */
:root { --water:#D6EAF3; --water-deep:#80AEBF; --line:#D8E2D7 !important; }
html { scroll-behavior:smooth; scroll-padding-top:25px; }
.brand-mark { transition:transform .25s; }
.brand:hover .brand-mark { transform:translateY(-2px); }
.site-footer { background:#EDF5F7 !important; border-color:#D2E3E8 !important; color:#5F7475 !important; }
.site-footer p { font-size:13px; }
.site-footer .copyright { margin-top:14px; }
.site-nav .nav-whats { font-weight:700; letter-spacing:-.02em; }
.header-actions .lang-switch { font-size:15px; font-family:var(--ff); }
.page-hero { display:block; position:relative; min-height:0; margin:26px 0 30px; padding:25px 30px !important; overflow:hidden; background:#F0F5ED !important; border:1px solid #DFE8D9 !important; border-radius:10px 10px 20px 20px !important; }
.page-hero::before { display:none !important; }
.page-hero::after { content:""; display:block !important; position:absolute; z-index:0; inset:auto -15px -10px auto; width:250px; max-width:40%; height:160px; background:url('../images/graphics/more-harbour.svg') right bottom/contain no-repeat !important; opacity:.7; pointer-events:none; }
.page-hero h1 { max-width:75%; font-size:clamp(32px,3.4vw,44px); line-height:1.2; margin:5px 0 0; letter-spacing:-.025em; }
.page-hero .eyebrow { font-size:11px; letter-spacing:.12em; }
.page-hero .ph-sub { max-width:75%; margin-top:10px; font-size:17px; line-height:1.75; font-weight:400; color:#62745B !important; }
.page-hero .ph-sub em { border:0; }
.ph-arrow { display:none !important; }
.page-hero-links { position:relative; z-index:3; display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:16px; font-size:14px; font-weight:700; color:#4F713D; }
.page-hero-links a { border-bottom:1px solid #ACBF9C; padding-bottom:3px; }
.page-head { position:relative; border:0; border-bottom:1px solid #D8E4D9; margin:30px 0 25px; padding:0 200px 23px 0 !important; }
.page-head::after { content:""; position:absolute; right:0; bottom:0; width:170px; height:100px; background:url('../images/graphics/more-harbour.svg') right bottom/contain no-repeat; opacity:.65; pointer-events:none; }
.page-head h1 { font-size:clamp(30px,3.2vw,43px); line-height:1.2; letter-spacing:-.03em; }
.page-head .page-sub { font-size:16px; line-height:1.8; margin-top:11px; color:#69776A; }
.shenxue-banner { margin:0 0 28px; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; }
.shenxue-banner::before,.shenxue-banner::after { display:none !important; }
.shenxue-banner h2 { font-size:26px; line-height:1.4; }
.path-destinations { margin-top:8px; font-size:16px; color:#62786A; }
.path-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:20px; }
.path-card { padding:18px; border-radius:9px; background:#fff !important; border:1px solid #D8E2DA; }
.path-num { display:inline-grid; place-items:center; width:29px; height:29px; background:#E7F1F7 !important; color:#4D7E91 !important; font-size:13px; border-radius:4px; letter-spacing:0; }
.path-card h3 { margin:11px 0 8px; font-size:17px; line-height:1.5; }
.path-card p { font-size:14px; line-height:1.85; color:#63705F !important; }
.banner-note { border-top:1px solid #E0E7DD; padding-top:15px; color:#75806F !important; font-size:13px; line-height:1.9; }
.article-card { border-color:#D8E2D7 !important; border-radius:10px; }
.article-card summary { padding:22px; }
.article-card h3 { font-size:20px; line-height:1.6; }
.article-body { font-size:16px; line-height:1.95; }
.filter-row input,.filter-row select,.filter-chip { font-size:15px; }
.detail-meta .dm-label { font-size:13px; letter-spacing:0; }
.about-card h2 { font-size:24px; line-height:1.4; margin-bottom:13px; }
.about-card p { font-size:16px; line-height:1.95; }
body[data-page="about"] .container-narrow { max-width:1080px; }
body[data-page="about"] .page-head h1 { font-family:var(--ff-en); font-size:clamp(40px,5vw,62px); font-weight:400 !important; letter-spacing:-.055em; }
.about-intro { display:grid; grid-template-columns:1.15fr 1fr; gap:28px; margin-bottom:28px; align-items:stretch; }
.about-intro .about-card { padding:28px 0; border:0; background:transparent !important; margin:0; }
.identity-panel { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; overflow:hidden; min-height:280px; margin:0; padding:30px; background:#F0F5EC; border-radius:12px; }
.identity-panel::after { content:""; position:absolute; bottom:-130px; left:-10%; width:120%; height:200px; background:#D3E9F2; border-radius:50% 50% 0 0; }
.identity-panel img { width:85%; max-width:280px; position:relative; z-index:2; }
.identity-panel figcaption { position:relative; z-index:2; display:flex; align-items:center; gap:15px; font-size:13px; color:#64785A; }
.identity-panel figcaption i { width:3px; height:3px; background:#9CAF90; border-radius:50%; }
.about-name { border-top:1px solid #D7E2D4; border-bottom:1px solid #D7E2D4; padding:30px 0; margin:0 0 28px; }
.about-name h2,.about-logo h2 { font-size:26px; margin-bottom:16px; letter-spacing:-.025em; }
.about-name > p,.about-logo > p { max-width:800px; font-size:17px; line-height:1.95; color:#60715C; }
.more-meaning { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin:24px 0; }
.more-meaning div { border-left:2px solid #BED8E4; padding-left:15px; }
.more-meaning strong { display:block; font:400 25px/1.4 'MORE Display',Impact,sans-serif; color:#384139; }
.more-meaning strong b { font-weight:400; color:#547B3C; }
.more-meaning span { display:block; margin-top:5px; font-size:14px; color:#718066; }
.about-logo { margin:0 0 30px; }
.about-bottom { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.about-bottom .about-card { padding:24px; border-radius:10px; margin-bottom:0; }
.about-contact { display:flex; align-items:center; gap:25px; margin:26px 0 0; border-top:1px solid #D8E2D7; padding-top:23px; }
.about-contact h2 { font-size:18px; }
.about-contact a { color:#527F8E; font-size:16px; overflow-wrap:anywhere; }
:focus-visible { outline:2px solid #5D91A2; outline-offset:4px; }
@media(min-width:900px) and (max-width:1239px) {
 .site-header { display:block; padding:0; }
 .header-bar { display:flex; min-height:80px; padding:13px 26px; }
 .nav-toggle { display:grid !important; }
 .site-nav { display:none; }
 .site-nav.open { display:flex; flex-wrap:wrap; padding-bottom:16px; justify-content:flex-start; }
}
@media(min-width:1240px) { .nav-toggle { display:none !important; } }
@media(max-width:999px) { .path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) {
 .brand-mark { width:58px !important; height:36px !important; }
 .brand-word { font-size:30px !important; }
 .brand-cn,html[lang="en"] .brand-cn { font-size:10px !important; }
 .header-bar { min-height:70px; }
 .page-head { margin-top:25px; padding:0 0 20px !important; }
 .page-head::after { display:none; }
 .page-head h1 { font-size:31px; }
 .page-head .page-sub { font-size:15px; }
 .page-hero { padding:23px 22px !important; margin:20px 0 26px; }
 .page-hero h1 { max-width:100%; font-size:33px; }
 .page-hero .ph-sub { max-width:100%; font-size:16px; }
 .page-hero::after { width:145px; max-width:40%; height:100px; opacity:.28; }
 .page-hero-links { gap:14px; font-size:13px; }
 .shenxue-banner h2 { font-size:24px; }
 .path-destinations { font-size:14px; }
 .path-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .path-card { display:grid; grid-template-columns:29px minmax(0,1fr); column-gap:13px; padding:17px; }
 .path-card h3 { margin:0 0 6px; grid-column:2; }
 .path-card p { grid-column:2; }
 .path-num { grid-column:1; grid-row:1 / span 2; }
 .about-intro,.about-bottom { grid-template-columns:minmax(0,1fr); gap:20px; }
 .about-intro .about-card { padding:0; }
 .identity-panel { min-height:220px; padding:25px; }
 .identity-panel img { max-width:240px; }
 .more-meaning { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 15px; }
 .more-meaning strong { font-size:24px; }
 .about-name > p,.about-logo > p { font-size:16px; }
 .about-name { padding:24px 0; }
 .about-contact { display:block; }
 .about-contact h2 { margin-bottom:10px; }
 .article-card h3 { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .brand-mark { transition:none; } }

/* Clear inherited positioning from the former numbered banner cards. */
.path-num { position:static !important; inset:auto !important; transform:none !important; margin:0; }
.path-card p { font-size:15px; }
body:not([data-page="home"]) .section-head h2 { font-size:28px !important; line-height:1.4; }
.article-sources { margin-top:18px; font-size:14px; color:#527F8E; }
.article-sources a { text-decoration:underline; text-underline-offset:4px; }

.about-intro .about-card { border:0 !important; }
@media(max-width:639px) { .page-hero::after { max-width:35%; } }

@media(max-width:639px) {
 .more-meaning strong { font-size:clamp(20px,6vw,24px); }
 .identity-panel figcaption { font-size:12px; gap:12px; flex-wrap:wrap; justify-content:center; }
}
