:root{--bg:#f7f3ec;--bg-soft:#f0eadf;--ink:#2a2118;--ink-soft:#5c4e40;--line:#e2d8c8;--wood:#8c5a2e;--dark:#2a2118;--on-dark:#efe6d8;--serif:"Noto Sans TC", system-ui, -apple-system, "Segoe UI", sans-serif;--sans:"Noto Sans TC", system-ui, -apple-system, "Segoe UI", sans-serif;--latin:"Jost", "Noto Sans TC", system-ui, sans-serif;--wrap:1140px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;font-weight:400;line-height:1.9}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,p,figure,ol{margin:0}h1,h2,h3{font-family:var(--serif);color:var(--ink);font-synthesis:none;font-weight:500}.wrap{width:min(var(--wrap), 100% - 48px);margin-inline:auto}.skip{background:var(--dark);color:var(--on-dark);z-index:20;border-radius:4px;padding:8px 14px;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}:focus-visible{outline:2px solid var(--wood);outline-offset:3px}.eyebrow{font-family:var(--latin);letter-spacing:.24em;text-transform:uppercase;color:var(--wood);margin-bottom:14px;font-size:.85rem;font-weight:500}.section{padding:clamp(72px,10vw,128px) 0}.section-head{margin-bottom:clamp(36px,5vw,56px)}h2{letter-spacing:.05em;font-size:clamp(1.7rem,3.2vw,2.3rem);line-height:1.35}h3{letter-spacing:.06em;font-size:1.2rem;line-height:1.5}.btn{white-space:nowrap;font-family:var(--sans);letter-spacing:.16em;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:15px 36px;font-size:.95rem;font-weight:500;text-decoration:none;transition:background-color .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-sm{padding:9px 22px;font-size:.85rem}.btn-dark{background:var(--dark);color:var(--bg);box-shadow:0 6px 16px #2a21182e}.btn-dark:hover{background:var(--wood);box-shadow:0 10px 22px #8c5a2e47}.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--bg)}.btn-light{background:var(--on-dark);color:var(--dark)}.btn-light:hover{background:#fff}.btn-ghost{color:var(--ink);border-color:#2a211847}.btn-ghost:hover{border-color:var(--wood);color:var(--wood);background:#8c5a2e0f}.site-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f7f3eceb;position:sticky;top:0}.header-inner{align-items:center;gap:32px;height:68px;display:flex}.wordmark{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.logo-mark{width:34px;height:34px;color:var(--wood);flex:none}.sprite{width:0;height:0;position:absolute;overflow:hidden}.wordmark-latin{font-family:var(--latin);letter-spacing:.3em;font-size:1.35rem;font-weight:500;line-height:1}.wordmark-cjk{font-family:var(--serif);letter-spacing:.3em;color:var(--wood);font-size:.9rem;font-weight:400}.nav{gap:34px;margin-left:auto;display:flex}.nav a{letter-spacing:.14em;color:var(--ink-soft);font-size:.92rem;text-decoration:none;transition:color .2s}.nav a:hover{color:var(--ink)}.hero{padding:clamp(48px,8vw,104px) 0 clamp(56px,8vw,112px)}.hero-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(32px,6vw,88px);display:grid}.hero h1{letter-spacing:.04em;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;line-height:1.35}.lead{max-width:30em;color:var(--ink-soft);margin-top:28px;font-size:1.05rem;line-height:2}.hero-actions{flex-wrap:wrap;align-items:center;gap:32px;margin-top:40px;display:flex}.hero-figure,.hero-frame{position:relative}.hero-frame:before{content:"";border:1px solid var(--wood);opacity:.45;border-radius:6px;position:absolute;inset:18px -18px -18px 18px}.hero-figure figcaption{letter-spacing:.14em;color:var(--ink-soft);text-align:right;margin-top:36px;font-size:.85rem}.about{background:var(--bg-soft)}.section-label{align-items:center;gap:18px;margin-bottom:clamp(32px,5vw,56px);display:flex}.section-label .eyebrow{margin:0}.section-label:after{content:"";background:var(--line);flex:1;height:1px}.duo{grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);display:grid}.glyph-card{border-top:1px solid var(--ink);grid-template-columns:auto 1fr;align-items:end;gap:clamp(20px,3vw,40px);padding-top:28px;display:grid}.glyph{font-family:var(--serif);color:var(--wood);font-size:clamp(5.5rem,11vw,9rem);font-weight:300;line-height:.95}.glyph-card h3{align-items:baseline;gap:12px;margin-bottom:10px;font-size:1.5rem;display:flex}.roman{font-family:var(--latin);letter-spacing:.26em;text-transform:uppercase;color:var(--wood);font-size:.8rem;font-weight:500}.glyph-card p{color:var(--ink);font-size:1.08rem;line-height:1.95}.statement{text-align:center;letter-spacing:.06em;margin:clamp(72px,10vw,128px) auto 0;font-size:clamp(1.7rem,3.8vw,2.8rem);font-weight:500;line-height:1.6}.statement-sub{text-align:center;max-width:30em;color:var(--ink-soft);margin:28px auto 0;font-size:1.05rem}.principles{grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin:clamp(56px,8vw,96px) 0 0;padding:0;list-style:none;display:grid}.principles li{border-top:1px solid #2a211838;padding-top:22px}.principles .no{font-family:var(--latin);letter-spacing:.24em;color:var(--wood);margin-bottom:14px;font-size:.85rem;font-weight:500;display:block}.principles h3{margin-bottom:8px;font-size:1.35rem}.principles p{color:var(--ink-soft)}.contact{background:var(--dark);color:var(--on-dark);text-align:center;padding:clamp(96px,13vw,168px) 0;position:relative;overflow:hidden}.contact-ring{color:#8c5a2e;opacity:.16;pointer-events:none;width:min(52vw,560px);height:min(52vw,560px);position:absolute;top:50%;right:-4%;transform:translateY(-50%)}.contact-inner{position:relative}.contact .eyebrow{color:#c9a77c}.contact h2{color:var(--on-dark);margin-bottom:22px;font-size:clamp(2rem,5vw,3.4rem)}.contact-lead{color:#d8cbb9;max-width:28em;margin:0 auto}.contact-mail{font-family:var(--latin);letter-spacing:.08em;border:1px solid #efe6d866;border-radius:999px;align-items:center;gap:18px;margin-top:48px;padding:18px 36px;font-size:clamp(1.25rem,3.4vw,2.2rem);font-weight:500;text-decoration:none;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.contact-mail:hover{background:var(--on-dark);color:var(--dark);border-color:var(--on-dark)}.site-footer{background:var(--dark);color:#a89a88;border-top:1px solid #efe6d81f;padding:32px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.site-footer p{letter-spacing:.12em;font-size:.82rem}.wordmark-sm .logo-mark{color:#c9a77c;width:28px;height:28px}.wordmark-sm .wordmark-latin{color:var(--on-dark);font-size:1.15rem}.wordmark-sm .wordmark-cjk{color:#c9a77c;font-size:.8rem}@keyframes rise{0%{transform:translateY(14px)}to{transform:none}}.rise{animation:.8s cubic-bezier(.2,.7,.2,1) both rise}.d0{animation-delay:0s}.d1{animation-delay:.1s}.d2{animation-delay:.22s}.d3{animation-delay:.34s}@media (width<=900px){.hero-grid,.duo{grid-template-columns:1fr}.hero-figure{max-width:560px}.hero-frame:before{inset:12px -10px -12px 12px}.principles{grid-template-columns:1fr;gap:28px}}@media (width<=680px){.wrap{width:calc(100% - 40px)}.nav{display:none}.header-inner{justify-content:space-between;gap:12px;height:60px}.header-inner .wordmark{gap:8px;min-width:0}.header-inner .logo-mark{width:30px;height:30px}.header-inner .wordmark-latin{letter-spacing:.2em;font-size:1.05rem}.header-inner .wordmark-cjk{letter-spacing:.2em;white-space:nowrap;font-size:.8rem}.btn-sm{letter-spacing:.1em;padding:8px 16px;font-size:.8rem}.hero-actions .btn{width:100%}.hero-actions{gap:24px}.hero-figure figcaption{text-align:left;margin-top:28px}.footer-inner{flex-direction:column;align-items:flex-start}.contact-ring{right:-22%}.contact-mail{gap:12px;padding:14px 22px}}@media (width<=380px){.header-inner .wordmark-cjk{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise{animation:none}.btn{transition:none}.btn:hover{transform:none}}.eyebrow .dot{vertical-align:middle;opacity:.7;background:currentColor;border-radius:50%;width:4px;height:4px;margin:0 12px;display:inline-block}h2,h3{font-weight:500}.cats-stage{aspect-ratio:5/4;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fbf1e2;border:0;border-radius:6px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.cats-stage .frame{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.frame-b,.frame-c,.frame-d{opacity:0}.frame-b{animation:7s infinite cat-blink}.frame-c{animation:9s -2s infinite cat-look}.frame-d{transition:opacity .12s}.cats-stage.is-meow .frame-d{opacity:1}@keyframes cat-blink{0%,38%,42%,80%,83%,to{opacity:0}40%,81.5%{opacity:1}}@keyframes cat-look{0%,52%,82%,to{opacity:0}58%,76%{opacity:1}}.cats-stage:focus-visible{outline:2px solid var(--wood);outline-offset:4px}.heart{pointer-events:none;fill:#d9707a;width:22px;height:22px;margin:-11px 0 0 -11px;animation:1.1s ease-out forwards heart-up;position:absolute}@keyframes heart-up{0%{opacity:1;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(var(--dx), -70px) scale(1.15)}}@media (prefers-reduced-motion:reduce){.frame-b,.frame-c{animation:none}.heart{animation-duration:10ms}}
