:root{--paper: #fafaf7;--ink: #1a1a1a;--ink-soft: #4a4a4a;--ink-mute: #8a8a8a;--line: #e5e2dc;--cinnabar: #a8341f}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:EB Garamond,LXGW WenKai,Georgia,serif;font-size:18px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}main{max-width:720px;margin:0 auto;padding:0 32px}nav.top{max-width:720px;margin:0 auto;padding:32px;display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.05em;position:relative}nav.top .brand{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:12px}nav.top .brand-mark{width:44px;height:44px;display:block;object-fit:contain}nav.top .brand-name{font-family:EB Garamond,LXGW WenKai,Georgia,serif;font-size:24px;font-weight:500;letter-spacing:.01em;color:var(--ink)}nav.top .links{display:flex;align-items:center;gap:22px;color:var(--ink-mute)}nav.top .links a{color:var(--ink-mute);text-decoration:none;font-size:14px;letter-spacing:.04em;padding:4px 0;position:relative;transition:color .2s}nav.top .links a:hover{color:var(--ink)}nav.top .links a.active{color:var(--ink)}nav.top .links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--ink)}nav.top .links a.external span{display:inline-block;transition:transform .25s ease;margin-left:2px}nav.top .links a.external:hover span{transform:translate(3px)}nav.top .links a.external:hover{color:var(--cinnabar)}.menu-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:8px;width:36px;height:36px;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span{display:block;width:20px;height:1.5px;background:var(--ink);transition:transform .3s,opacity .3s}.menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.hero{padding-top:96px;padding-bottom:80px;border-bottom:1px solid var(--line)}.character{font-family:LXGW WenKai,"Noto Serif SC",serif;font-weight:400;font-size:240px;line-height:1;color:var(--ink);letter-spacing:-.02em;margin-bottom:32px;display:inline-block}.pinyin{font-style:italic;font-size:22px;color:var(--ink-soft);margin-bottom:4px}.pinyin .tone-note{font-style:normal;color:var(--ink-mute);font-size:15px;letter-spacing:.05em}.gloss{font-size:18px;color:var(--ink-mute);margin-bottom:0}section.block{padding:64px 0;border-bottom:1px solid var(--line)}section.block:last-of-type{border-bottom:none}.label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:24px}p{margin-bottom:20px;color:var(--ink-soft)}p:last-child{margin-bottom:0}.occasions{list-style:none;margin-top:8px}.occasions li{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:baseline}.occasions li:last-child{border-bottom:1px solid var(--line)}.occasions .when{font-style:italic;color:var(--ink);font-size:17px}.occasions .why{font-size:16px;color:var(--ink-soft);line-height:1.6}.signoff{margin-top:64px;padding:36px 0 8px;border-top:1px solid var(--line)}.signoff p{font-size:15px;color:var(--ink-mute);font-style:italic;letter-spacing:.02em;margin-bottom:24px}.signoff-button{display:inline-flex;align-items:center;gap:14px;padding:14px 28px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:EB Garamond,LXGW WenKai,Georgia,serif;font-size:14px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:all .25s ease}.signoff-button span{font-size:16px;transition:transform .25s ease}.signoff-button:hover{border-color:var(--cinnabar);color:var(--cinnabar)}.signoff-button:hover span{transform:translate(4px)}footer{max-width:720px;margin:0 auto;padding:40px 32px 80px;display:flex;justify-content:space-between;font-size:13px;color:var(--ink-mute);letter-spacing:.05em}footer a{color:var(--ink-mute);text-decoration:none}footer a:hover{color:var(--ink)}@media(max-width:720px){body{font-size:17px}main,nav.top,footer{padding-left:24px;padding-right:24px}nav.top{padding:20px 24px;flex-wrap:wrap}nav.top .brand-mark{width:36px;height:36px}nav.top .brand-name{font-size:20px}.menu-toggle{display:flex}nav.top .links{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:0;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}nav.top .links.open{display:flex}nav.top .links a{width:100%;padding:14px 0;font-size:15px;border-bottom:1px solid var(--line)}nav.top .links a:last-child{border-bottom:none}nav.top .links a.active:after{left:0;right:auto;width:24px;bottom:0}.character{font-size:160px}.pinyin{font-size:19px}.hero{padding-top:64px;padding-bottom:56px}section.block{padding:48px 0}.occasions li{grid-template-columns:1fr;gap:6px;padding:16px 0}.signoff{margin-top:48px}.signoff p{font-size:14px}.signoff-button{padding:12px 22px;font-size:13px;letter-spacing:.15em}footer{flex-direction:column;gap:8px}}
