/* Shared styling for /resources/* reference pages — Nelson Cheng interpreter site */
:root{--bg:#f1efe9;--surface:#fbfaf6;--border:#d7d3c6;--amber:#b57c00;--amber-dim:#8a6100;--text:#383d49;--text-dim:#6e7383;--text-bright:#16181d;--band:#eae8dd}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Noto Sans TC',sans-serif;font-weight:300;overflow-x:hidden;line-height:1.7}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(120,98,50,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(120,98,50,0.07) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}
a{color:var(--amber)}
a:hover{color:var(--amber-dim)}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 3rem;border-bottom:1px solid var(--border);background:rgba(241,239,233,0.92);backdrop-filter:blur(14px)}
.nav-logo{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.12em;color:var(--amber);text-decoration:none}
.nav-logo .zh-name{font-family:'Noto Sans TC',sans-serif;font-weight:500;letter-spacing:0.06em}
.nav-logo span{color:var(--text-dim)}
.nav-links{display:flex;gap:2.2rem;list-style:none}
.nav-links a{font-family:'Noto Sans TC',sans-serif;font-size:0.75rem;letter-spacing:0.08em;color:var(--text-dim);text-decoration:none;transition:color 0.2s}
.nav-links a:hover{color:var(--amber)}
.nav-cta{font-family:'Noto Sans TC',sans-serif;font-size:0.75rem;font-weight:500;letter-spacing:0.1em;color:var(--bg);background:var(--amber);border:none;padding:0.55rem 1.4rem;cursor:pointer;text-decoration:none;transition:background 0.2s,transform 0.15s}
.nav-cta:hover{background:#8f6300;color:var(--bg);transform:translateY(-1px)}
main{position:relative;z-index:1}
.crumbs{max-width:1060px;margin:0 auto;padding:7.5rem 3rem 0;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.1em;color:var(--text-dim)}
.crumbs a{color:var(--text-dim);text-decoration:none}
.crumbs a:hover{color:var(--amber)}
.crumbs span{color:var(--amber)}
.svc-hero{max-width:1060px;margin:0 auto;padding:2.2rem 3rem 3.4rem;border-bottom:1px solid var(--border)}
.svc-tag{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1.4rem;display:flex;align-items:center;gap:0.8rem}
.svc-tag::before{content:'';width:34px;height:1px;background:var(--amber);flex:0 0 auto}
h1{font-family:'Noto Serif TC',serif;font-weight:900;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.25;color:var(--text-bright);letter-spacing:0.04em;margin-bottom:0.6rem}
h1 .accent{color:var(--amber)}
.svc-en-sub{display:block;font-family:'Bebas Neue','IBM Plex Mono',sans-serif;font-size:clamp(1rem,2vw,1.3rem);letter-spacing:0.22em;color:var(--text-dim);margin-top:0.9rem}
.svc-lede{max-width:46em;margin-top:1.6rem;font-size:1rem;color:var(--text)}
.svc-lede+.svc-lede{margin-top:1rem}
.svc-lede strong{color:var(--text-bright);font-weight:500}
.svc-actions{display:flex;gap:1.1rem;margin-top:2rem;flex-wrap:wrap}
.btn-primary{font-family:'Noto Sans TC',sans-serif;font-size:0.85rem;font-weight:500;letter-spacing:0.1em;color:var(--bg);background:var(--amber);padding:0.9rem 2rem;text-decoration:none;transition:background 0.2s,transform 0.15s}
.btn-primary:hover{background:#8f6300;color:var(--bg);transform:translateY(-1px)}
.btn-ghost{font-family:'Noto Sans TC',sans-serif;font-size:0.85rem;letter-spacing:0.1em;color:var(--text);border:1px solid var(--border);padding:0.9rem 2rem;text-decoration:none;transition:border-color 0.2s,color 0.2s}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber)}
section{max-width:1060px;margin:0 auto;padding:3.6rem 3rem;border-bottom:1px solid var(--border)}
.sec-num{font-family:'Bebas Neue',sans-serif;font-size:0.95rem;letter-spacing:0.3em;color:var(--amber-dim);margin-bottom:0.6rem}
h2{font-family:'Noto Serif TC',serif;font-weight:900;font-size:clamp(1.35rem,2.6vw,1.8rem);color:var(--text-bright);letter-spacing:0.05em;margin-bottom:0.5rem}
h3{font-family:'Noto Sans TC',sans-serif;font-weight:500;font-size:1rem;color:var(--text-bright);margin-bottom:0.4rem}
.sec-intro{max-width:44em;color:var(--text-dim);font-size:0.9rem;margin-bottom:1.8rem}
p+p{margin-top:0.9rem}
/* term rows */
.g-list{border:1px solid var(--border);background:var(--surface)}
.g-row{display:grid;grid-template-columns:300px 200px 1fr;gap:1.2rem;align-items:baseline;padding:0.95rem 1.5rem;border-bottom:1px solid var(--border)}
.g-row:last-child{border-bottom:none}
.g-en{font-family:'IBM Plex Mono',monospace;font-size:0.85rem;font-weight:500;color:var(--amber);letter-spacing:0.01em}
.g-zh{font-family:'Noto Sans TC',sans-serif;font-weight:500;font-size:0.92rem;color:var(--text-bright)}
.g-note{font-size:0.8rem;color:var(--text-dim)}
/* phrase rows */
.ph-list{border:1px solid var(--border);background:var(--surface)}
.ph-row{display:grid;grid-template-columns:210px 1fr;gap:1.4rem;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border)}
.ph-row:last-child{border-bottom:none}
.ph-when{font-family:'Noto Sans TC',sans-serif;font-weight:500;font-size:0.88rem;color:var(--text-bright)}
.ph-say{font-family:'IBM Plex Mono',monospace;font-size:0.9rem;color:var(--amber);line-height:1.6;display:block;margin-bottom:0.35rem}
.ph-note{font-size:0.8rem;color:var(--text-dim)}
/* rate table */
.rate-table{border:1px solid var(--border);background:var(--surface)}
.rate-head,.rate-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.6fr;gap:1.2rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}
.rate-row:last-child{border-bottom:none}
.rate-head{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-dim);background:var(--band)}
.rate-mode{font-weight:500;color:var(--text-bright);font-size:0.92rem}
.rate-num{font-family:'IBM Plex Mono',monospace;font-size:0.88rem;color:var(--amber);font-weight:500}
.rate-note{font-size:0.8rem;color:var(--text-dim)}
/* generic cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.card{background:var(--surface);border:1px solid var(--border);padding:1.5rem 1.6rem}
.card p{font-size:0.85rem;color:var(--text-dim)}
.card .idx{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--amber-dim);line-height:1.2;margin-bottom:0.3rem}
/* numbered steps */
.steps{display:flex;flex-direction:column;gap:1.1rem;counter-reset:s}
.step{display:grid;grid-template-columns:34px 1fr;gap:1.1rem;background:var(--surface);border:1px solid var(--border);padding:1.3rem 1.5rem}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--amber);letter-spacing:0.08em}
.step p{font-size:0.85rem;color:var(--text-dim)}
/* pull quote / callout */
.pull{background:var(--band);border-left:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.5rem 1.6rem;font-size:0.92rem;color:var(--text)}
.pull strong{color:var(--text-bright);font-weight:500}
.disclaimer{max-width:1060px;margin:0 auto;padding:1.6rem 3rem 0;font-size:0.78rem;color:var(--text-dim);font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em}
/* mid-page lead capture band */
.leadcap{max-width:none;margin:0;padding:0;border:none;background:#1b1d24;border-top:2px solid var(--amber);border-bottom:2px solid var(--amber)}
.leadcap-inner{max-width:1060px;margin:0 auto;padding:3.6rem 3rem}
.leadcap-tag{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.18em;color:#f0a500;margin-bottom:1.2rem;display:flex;align-items:center;gap:0.8rem}
.leadcap-tag::before{content:'';width:34px;height:1px;background:#f0a500;flex:0 0 auto}
.leadcap-h{font-family:'Noto Serif TC',serif;font-weight:900;font-size:clamp(1.4rem,3vw,2rem);color:#f4f1ea;letter-spacing:0.02em;line-height:1.45;margin-bottom:1rem}
.leadcap-p{max-width:48em;color:#c3c7d1;font-size:0.95rem;margin-bottom:1.8rem}
.leadcap-actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.leadcap-link{font-family:'Noto Sans TC',sans-serif;font-size:0.85rem;letter-spacing:0.06em;color:#9aa0ae;text-decoration:none;transition:color 0.2s}
.leadcap-link:hover{color:#f0a500}
.cta-band{text-align:center;padding:4.5rem 3rem;max-width:1060px;margin:0 auto}
.cta-band h2{margin-bottom:0.8rem}
.cta-band p{color:var(--text-dim);font-size:0.92rem;max-width:40em;margin:0 auto 2rem}
.cta-actions{display:flex;gap:1.1rem;justify-content:center;flex-wrap:wrap}
footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.6rem 3rem;background:#1b1d24;border-top:2px solid var(--amber)}
.footer-brand{font-family:'Noto Sans TC',sans-serif;font-size:0.75rem;letter-spacing:0.06em;color:#9aa0ae}
.footer-brand span{color:#f0a500}
.footer-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.footer-links a{font-family:'Noto Sans TC',sans-serif;font-size:0.72rem;letter-spacing:0.06em;color:#9aa0ae;text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:#f0a500}
.footer-copy{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;color:#7d8391}
.footer-copy a{color:#7d8391}
.footer-copy a:hover{color:#f0a500}
@media (max-width:880px){
nav{padding:1rem 1.5rem}
.nav-links{display:none}
.crumbs{padding:6.5rem 1.5rem 0}
.svc-hero{padding:1.8rem 1.5rem 2.6rem}
section{padding:2.8rem 1.5rem}
.g-row{grid-template-columns:1fr;gap:0.15rem;padding:0.9rem 1.2rem}
.ph-row{grid-template-columns:1fr;gap:0.4rem;padding:1rem 1.2rem}
.rate-head{display:none}
.rate-row{grid-template-columns:1fr;gap:0.3rem;padding:1rem 1.2rem}
.leadcap-inner{padding:2.8rem 1.5rem}
.disclaimer{padding:1.4rem 1.5rem 0}
.cta-band{padding:3.6rem 1.5rem}
footer{flex-direction:column;gap:0.8rem;text-align:center;justify-content:center}
}
