:root{--bg:#f3f2ef;--surface:#ffffff;--surface-soft:#fafaf8;--ink:#1d1d1f;--ink-soft:#2a2d34;--muted:#6e6e73;--faint:#8f9298;--line:#dededc;--line-strong:#d0d0ce;--accent:#0071e3;--accent-soft:#edf5ff;--sage:#7f8c7b;--shadow:0 18px 42px rgba(29, 29, 31, 0.055)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sf pro text,segoe ui,sans-serif;line-height:1.62}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{display:block;height:auto;max-width:100%}.skip-link{left:1rem;position:absolute;top:-4rem}.skip-link:focus{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.4rem .6rem;top:1rem}.site-header{background:rgba(250,250,248,.9);border-bottom:1px solid var(--line-strong);position:sticky;top:0;z-index:10}.header-inner,.footer-inner,.home-intro,.post-list-shell,.page-shell,.article-shell,.section-block{margin-inline:auto;max-width:760px;padding-inline:1.35rem}.header-inner{align-items:center;display:grid;gap:1.25rem;grid-template-columns:1fr auto auto;min-height:68px}.brand{align-items:center;color:var(--ink-soft);display:inline-flex;font-size:1rem;font-weight:720;letter-spacing:0}.brand img{height:40px;width:126px}.main-nav,.language-switcher,.site-footer nav{display:flex;flex-wrap:wrap;gap:1rem}.main-nav a,.language-switcher a,.language-switcher span,.site-footer a{color:var(--muted);font-size:.92rem;font-weight:550}.main-nav a:hover,.language-switcher a:hover,.site-footer a:hover{color:var(--ink)}.language-switcher span{color:var(--ink)}.home-intro{padding-block:5.25rem 2.75rem}.home-intro h1,.page-header h1,.article-header h1{font-size:clamp(2.25rem,6vw,4.25rem);font-weight:700;letter-spacing:0;line-height:1.05;margin:0}.home-logo img{height:auto;max-width:min(340px,82vw);width:340px}.home-intro p:not(.eyebrow),.page-header p,.article-header p{color:var(--muted);font-size:1.12rem;margin:1rem 0 0;max-width:640px}.eyebrow{color:var(--sage);font-size:.76rem;font-weight:700;letter-spacing:.08em;margin:0 0 .7rem;text-transform:uppercase}.post-list-shell,.page-shell,.article-shell{padding-block:2rem 4.5rem}.section-heading{align-items:center;display:flex;gap:.9rem;margin-bottom:0;padding-bottom:1rem}.section-heading::after{background:var(--line-strong);content:"";flex:1;height:1px}.section-heading h2{color:var(--muted);font-size:.92rem;font-weight:650;letter-spacing:0;margin:0}.post-list{display:grid;gap:.85rem}.empty-state{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);color:var(--muted);margin:0;padding:1.25rem 1.35rem}.article-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.card-body{padding:1.25rem 1.35rem 1.3rem}.post-meta,.article-meta{color:var(--faint);display:flex;flex-wrap:wrap;font-size:.88rem;gap:.65rem}.post-meta span::before,.article-meta time::before{content:"/";margin-right:.65rem}.card-body h3{font-size:clamp(1.25rem,3vw,1.75rem);color:var(--ink-soft);font-weight:680;letter-spacing:0;line-height:1.18;margin:.45rem 0 .55rem}.card-body p{color:var(--muted);font-size:1rem;margin:0}.page-header,.article-header{padding-block:1.5rem 2rem}.breadcrumb{color:var(--faint);display:flex;flex-wrap:wrap;font-size:.88rem;gap:.45rem;margin-bottom:1.2rem}.article-image{background:#f0f0ee;border-radius:8px;margin-bottom:1.5rem;object-fit:cover;width:100%}.article-content{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);color:#2b2b2f;font-size:1.08rem;max-width:680px;padding:1.45rem 1.55rem}.article-content h2{color:var(--ink);font-size:1.45rem;line-height:1.25;margin:2rem 0 .6rem}.article-content p{margin:1rem 0}.article-content a{color:var(--accent)}.card-grid{display:grid;gap:0}.pagination{align-items:center;color:var(--muted);display:flex;gap:1rem;justify-content:center;padding-block:2rem}.pagination a{color:var(--accent);font-weight:600}.site-footer{background:var(--surface-soft);border-top:1px solid var(--line);color:var(--muted)}.footer-inner{display:flex;gap:2rem;justify-content:space-between;padding-block:2rem}.footer-logo{height:auto;width:110px}.site-footer p{margin:.35rem 0 0}@media(max-width:720px){.header-inner{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem;padding-block:1rem}.home-intro{padding-block:3.5rem 2rem}.home-intro h1,.page-header h1,.article-header h1{font-size:2.35rem}.footer-inner{flex-direction:column}}.author-bio{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-top:1.5rem;max-width:680px}.author-bio-inner{align-items:center;display:flex;gap:1.25rem;justify-content:space-between;padding:1.1rem 1.35rem}.author-bio-photo{border-radius:50%;flex-shrink:0;height:48px;object-fit:cover;width:48px}.author-bio-text{flex:1}.author-bio-name{color:var(--ink);font-size:.88rem;font-weight:680;letter-spacing:.02em;text-transform:uppercase}.author-bio-text p{color:var(--muted);font-size:.92rem;margin:.2rem 0 0}.author-bio-link{color:var(--accent);flex-shrink:0;font-size:.88rem;font-weight:600;white-space:nowrap}.author-bio-link:hover{color:var(--accent);text-decoration:underline}.post-nav{margin-top:1rem;max-width:680px}.post-nav-inner{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.post-nav-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1.1rem;transition:border-color .15s}.post-nav-item:hover{border-color:var(--accent);color:inherit}.post-nav-next{text-align:right}.post-nav-label{color:var(--faint);font-size:.8rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.post-nav-title{color:var(--ink-soft);font-size:.95rem;font-weight:580;line-height:1.3}@media(max-width:560px){.post-nav-inner{grid-template-columns:1fr}.post-nav-next{text-align:left}.author-bio-inner{flex-direction:column;align-items:flex-start;gap:.75rem}}.about-photo{border-radius:50%;display:block;height:160px;margin:0 auto 1.5rem;object-fit:cover;width:160px}