:root{--bg: #f3f1ea;--surface: #ece8de;--ink: #111111;--muted: #59564f;--line: #c8c1b2;--dark: #0e0e0d;--highlight: #d7cfbd;--font-ui: "IBM Plex Sans", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", sans-serif;--font-display: "Fraunces", "Source Han Serif SC", "Songti SC", serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink)}body{font-family:var(--font-ui);line-height:1.55;font-size:17px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}p{margin:0;color:var(--muted)}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.05;letter-spacing:-.02em}img{max-width:100%;display:block}main{min-height:calc(100vh - 156px)}.container{width:min(1180px,100% - 56px);margin:0 auto}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 92%,white 8%);border-bottom:1px solid var(--line)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:1.05rem;letter-spacing:.08em;font-weight:700;text-decoration:none;text-transform:uppercase}.menu{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:8px}.menu a{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:999px;border:1px solid transparent;text-decoration:none;transition:background-color .24s ease,border-color .24s ease}.menu a:hover,.menu a.active{border-color:var(--line);background:var(--surface)}.hero{padding:88px 0 48px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}.hero-title{font-size:clamp(2.7rem,7.3vw,6.2rem);font-weight:700;font-family:var(--font-display)}.hero-title span{text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.1em}.hero-copy{font-size:clamp(1.1rem,2.2vw,1.7rem);max-width:24ch;color:#23211f}.section{padding:44px 0}.section-title{font-size:clamp(1.6rem,3.1vw,2.6rem);font-family:var(--font-display);margin-bottom:18px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:16px;padding:20px;background:color-mix(in srgb,var(--bg) 88%,white 12%);transition:transform .24s ease,border-color .24s ease}.card:hover{transform:translateY(-3px);border-color:#98907f}.card h3{font-size:1.2rem;margin-bottom:10px}.promo{border-radius:24px;background:var(--dark);color:#ece8dd;padding:clamp(28px,5vw,44px);margin-top:22px}.promo .kicker{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;margin-bottom:12px;color:#cec7b8}.promo h2{font-family:var(--font-display);font-size:clamp(2.3rem,6vw,4.8rem);line-height:.95;margin-bottom:12px}.promo p{color:#dad3c4}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.list li{border:1px solid var(--line);border-radius:12px;background:#f8f6f0}.list a{display:block;padding:16px;text-decoration:none}.post-meta{color:var(--muted);font-size:.9rem;margin:8px 0}.tag-row{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.82rem;color:#3f3b33;background:var(--highlight)}.blog-hero-image{border-radius:18px;border:1px solid var(--line);margin:24px 0}.blog-content{width:min(760px,100%);margin:0 auto}.blog-content p,.blog-content li{margin-bottom:1em;color:#2a2824}.blog-content h2,.blog-content h3{margin:1.2em 0 .5em}.blog-content blockquote{margin:1.2em 0;padding-left:1em;border-left:3px solid #8e8675;color:#3a3731}.site-footer{border-top:1px solid var(--line);padding:30px 0 44px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}.muted{color:var(--muted)}@media(max-width:960px){.container{width:min(1180px,100% - 36px)}.hero{padding-top:50px}.hero-grid,.feature-grid,.grid-2{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}}@media(max-width:680px){.header-inner{flex-direction:column;align-items:flex-start;padding:14px 0;min-height:auto}.menu{width:100%;overflow-x:auto;padding-bottom:4px}.menu a{white-space:nowrap}.hero-title{line-height:1}}
