@font-face{font-family:"301 Num";src:url(/fonts/num-1e9dfc31ee.woff2) format("woff2");font-weight:600;font-display:swap}
/* 301汽貿 shared chrome and tokens: every page loads this after its own stylesheet. */
:root{
  --maroon:#603330;--maroon-700:#4d2826;--maroon-900:#2f1918;
  --gold:#c9a86a;--gold-soft:#e6d3a8;--gold-ink:#8a6a2f;
  --on-dark:#efe4df;--on-dark-2:#cdb9b2;--tint:#ecd9cf;
  --ink:#2b2220;--ink-2:#5c4b48;--line:#e8ddd7;--paper:#fff;--paper-2:#f7f3f1;
  --wa:#1b7f45;--wa-700:#156638;--fb:#1564d6;
  --font-body:-apple-system,BlinkMacSystemFont,"PingFang HK","Noto Sans TC","Microsoft JhengHei",sans-serif;
  --font-display:"301 Serif","Noto Serif TC","Songti TC","PMingLiU",serif;
  --font-num:"301 Num","Barlow Condensed","Arial Narrow",var(--font-body);
  --head-h:56px;--bar-h:0px;--dock-h:64px;--radius:8px;
  --ease-out:cubic-bezier(.22,1,.36,1);
}
html{scroll-padding-top:calc(var(--head-h) + var(--bar-h) + 16px);-webkit-text-size-adjust:100%}
body{padding-top:var(--head-h);padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom))}
body h1,body h2{font-family:var(--font-display);letter-spacing:0}
::selection{background:var(--tint);color:var(--maroon-900)}
:focus-visible{outline:3px solid var(--maroon);outline-offset:3px}
.site-head :focus-visible,.announce :focus-visible,.site-foot :focus-visible,.guide-band :focus-visible,.hero-media :focus-visible,.visit-photo :focus-visible{outline-color:var(--gold)}
[hidden]{display:none!important}
/* Even line breaks: short lines balance, running text avoids a lone last character */
h1,h2,h3,summary,th,td,li,dt,.btn,.cards span,.pr-label,.guide-points button,.hero-copy p,.slide-cap,.crumb{text-wrap:balance}
p,blockquote,dd{text-wrap:pretty}
h1,h2,h3,summary,.cards b{word-break:keep-all;overflow-wrap:anywhere}  /* break at punctuation, not inside 港珠澳大橋 */
:where(main) :where(a:not([class])){color:var(--maroon);text-decoration-color:var(--gold);text-underline-offset:4px}
.reading-links a{color:var(--maroon);font-weight:600}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:#fff;color:var(--maroon);padding:12px 16px;border-radius:var(--radius)}
.skip-link:focus{top:10px}

.site-head{position:fixed;inset:0 0 auto;z-index:50;height:var(--head-h);background:var(--maroon);border-bottom:1px solid rgba(201,168,106,.45);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;transition:box-shadow .25s var(--ease-out)}
.is-scrolled .site-head{box-shadow:0 6px 18px rgba(47,25,24,.18)}
.site-logo{display:flex;align-items:center;flex-shrink:0;min-height:44px}
.site-logo img{height:30px;width:auto;display:block}
.site-nav{display:flex;align-items:center;gap:18px;font:600 15px/1 var(--font-body)}
.site-nav>a,.site-nav summary{color:#fff;text-decoration:none;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.site-nav>a[aria-current=page]{box-shadow:inset 0 -2px var(--gold)}
.site-nav .full{display:none}
.nav-more{position:relative}
.nav-more summary{cursor:pointer;list-style:none;gap:4px}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);margin-left:6px}
.nav-more[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.nav-more .menu{position:absolute;right:-8px;top:calc(100% + 6px);min-width:180px;background:#fff;border-radius:var(--radius);padding:6px;box-shadow:0 2px 4px rgba(47,25,24,.08),0 12px 30px rgba(47,25,24,.16)}
.nav-more .menu a{display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--ink);text-decoration:none;border-radius:6px;font-weight:500}
.nav-more .menu a:hover,.nav-more .menu a[aria-current=page]{background:var(--paper-2);color:var(--maroon)}
.site-nav .head-wa{display:none}
.nav-more .menu{max-height:calc(100svh - var(--head-h) - 24px);overflow-y:auto;overscroll-behavior:contain}
.nav-more .menu-group{margin:8px 12px 2px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--gold-ink)}
.nav-more.full .menu{min-width:240px}
.nav-more .menu-sub{margin:0 0 6px 12px;padding-left:4px;border-left:1px solid var(--gold-soft)}
.nav-more .menu-sub .menu-group:first-child{border-top:0;padding-top:4px;margin-top:2px}
.nav-more.full .menu .menu-group:first-child{border-top:0;padding-top:0}

.dock{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;gap:8px;align-items:stretch;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.dock a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border-radius:var(--radius);color:#fff;text-decoration:none;font:600 14px/1.2 var(--font-body)}
.dock a+a{position:relative}
.dock svg,.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dock .dock-guide{background:var(--maroon)}
.dock .dock-fb{background:var(--fb)}
.dock .dock-wa{flex:1.3;background:var(--wa)}
.dock a:active{filter:brightness(.9)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--radius);font:600 16px/1.2 var(--font-body);text-decoration:none;transition:background-color .18s var(--ease-out),color .18s var(--ease-out),transform .18s var(--ease-out)}
.btn:active{transform:translateY(1px)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:var(--wa-700)}
.btn-line{border:1.5px solid var(--maroon);color:var(--maroon);background:#fff}
.btn-line:hover{background:var(--paper-2)}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--maroon);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:5px}
.text-link::after{content:"";width:7px;height:7px;margin-left:8px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}
.text-link.on-dark{color:var(--gold-soft)}

.site-foot{background:var(--maroon);color:var(--on-dark);padding:40px 20px 28px;font:15px/1.7 var(--font-body)}
.site-foot .foot-inner{max-width:1120px;margin:0 auto;display:grid;gap:24px}
.site-foot img{height:34px;width:auto}
.site-foot address{font-style:normal}
.site-foot a{color:#fff;text-decoration-color:rgba(201,168,106,.6);text-underline-offset:4px}
.site-foot .foot-nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.site-foot .foot-nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.site-foot .foot-topics{display:flex;flex-wrap:wrap;gap:0 16px}
.site-foot .foot-topics p{flex:0 0 100%;margin:0 0 2px;font-size:13px;font-weight:600;color:var(--gold-soft)}
.site-foot .foot-topics a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.site-foot small{color:var(--on-dark-2);font-size:13px}
.foot-bottom{max-width:1120px;margin:24px auto 0;display:grid;gap:14px}
.foot-rule{height:1px;background:linear-gradient(90deg,rgba(201,168,106,.7),rgba(201,168,106,0))}

:root:has(.announce){--bar-h:44px}
/* Announcement stays fixed under the header while scrolling */
.announce{position:sticky;top:var(--head-h);z-index:49;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;background:var(--maroon-700);color:var(--gold-soft);font:500 14px/1.45 var(--font-body)}
.announce .ticker{flex:1;min-width:0;overflow:hidden;white-space:nowrap;color:var(--gold-soft);text-decoration:none;line-height:44px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.announce .track{display:inline-flex;animation:ticker var(--dur,18s) linear infinite}
.announce .msg{padding-right:64px;text-decoration:underline;text-decoration-color:rgba(201,168,106,.55);text-underline-offset:4px}
.announce .ticker:hover{color:#fff}
@media (hover:hover){.announce:hover .track{animation-play-state:paused}}
.announce:has(:focus-visible) .track{animation-play-state:paused}
@keyframes ticker{to{transform:translateX(-50%)}}
.services-life{margin:40px auto 0;max-width:1120px}
.services-life figure{margin:0;position:relative;border-radius:var(--radius);overflow:hidden}
.services-life img{width:100%;height:260px;object-fit:cover;display:block}
.services-life figcaption{position:absolute;inset:auto 0 0;padding:28px 20px 18px;color:#fff;background:linear-gradient(transparent,rgba(47,25,24,.82))}
.services-life h2{margin:0;font-size:26px;line-height:1.35}
.services-life .metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 8px}
.services-life .metric-grid b{display:block;font:600 26px/1.2 var(--font-num);color:var(--maroon)}
.services-life .metric-grid span{font-size:14px;color:var(--ink-2)}
.services-life .fine{font-size:13px;color:var(--ink-2);margin:0}

@media (min-width:1024px){
  :root{--head-h:68px;--dock-h:0px}
  .site-head{padding:0 max(24px,calc((100vw - 1180px)/2))}
  .site-logo img{height:36px}
  .site-nav{gap:22px;font-size:15px}
  .site-nav .full{display:flex}
  .site-nav .compact{display:none}
  .site-nav .head-wa{display:inline-flex;min-height:44px;padding:0 16px;font-size:15px}
  body{padding-left:92px}
  .dock{left:12px;right:auto;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;width:72px;padding:6px;border-radius:12px;box-shadow:0 2px 4px rgba(47,25,24,.06),0 10px 30px rgba(47,25,24,.12)}
  .dock a{flex-direction:column;gap:4px;font-size:12px;min-height:64px;padding:6px 2px;text-align:center}
  .dock .dock-wa{flex:1}
  .dock a+a{margin-top:0}
  .site-foot .foot-inner{grid-template-columns:1.1fr 1fr 1.2fr;align-items:start}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}.announce .track{animation:none!important}.announce .msg+.msg{display:none}.announce .ticker{text-overflow:ellipsis}}
@media print{body{padding:0}.site-head,.dock,.skip-link{display:none}}
