:root{--paper:#fcfaf6;--cream:#f3ede3;--sand:#e4dacb;--ink:#2a2418;--ink-soft:#6e6553;--ink-faint:#9e9584;--olive:#5c5540;--olive-2:#94876c;--moss:#7b7255;--line:#2a241821;--line-soft:#2a241814;--paper-soft:var(--cream);--card-bg:var(--paper);--bg-soft:var(--sand);--accent-calm:var(--olive-2);--accent-nature:var(--moss);--accent:var(--olive);--accent-dark:var(--olive);--display:"Playfair Display", Georgia, "Times New Roman", serif;--serif:var(--display);--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--paper);color:var(--ink);letter-spacing:.3px;-webkit-font-smoothing:antialiased;margin:0;font-size:15.5px;line-height:1.66}.container{max-width:1120px;margin:0 auto;padding:0 32px}@media (width<=760px){.container{padding:0 20px}}a{color:var(--olive)}:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:4px}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;font-weight:500;line-height:1.14}.lbl{letter-spacing:.2em;text-transform:uppercase;font-size:11.5px;font-weight:500}.site-header{border-bottom:1px solid var(--line-soft);backdrop-filter:blur(14px);z-index:30;background:#fcfaf6e0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;height:60px;display:flex}.logo{font-family:var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--ink);flex-shrink:0;font-size:13px;font-weight:500;text-decoration:none}.logo span{color:var(--ink-soft)}.site-header nav{align-items:center;gap:18px;display:flex}.site-header nav a.nav-login{border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:6px 14px}.site-header nav a.nav-login:hover{border-color:var(--sand)}.site-header nav a{color:var(--ink-soft);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;font-size:11.5px;text-decoration:none;transition:color .2s}.site-header nav a:hover{color:var(--ink)}.icon-link{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .22s,background .22s,color .22s,transform .13s cubic-bezier(.23,1,.32,1);display:flex}@media (hover:hover) and (pointer:fine){.icon-link:hover{border-color:var(--olive);background:var(--olive);color:#fff;transform:translateY(-1px)}}.icon-link:active{transform:scale(.92)}@media (width<=560px){.logo{letter-spacing:.26em;font-size:11px}.header-inner{gap:8px}.site-header nav{gap:12px}.site-header nav a{letter-spacing:.16em;font-size:10.5px}.site-header .icon-link{display:none}}@media (width<=360px){.logo{letter-spacing:.2em;font-size:10px}.site-header nav{gap:9px}.site-header nav a.nav-login{padding:5px 10px}}.btn{letter-spacing:.2em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:14px 28px;font-size:11.5px;text-decoration:none;transition:transform .14s cubic-bezier(.23,1,.32,1),background .25s,border-color .25s,color .25s;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-2px)}.btn-primary:hover{background:var(--ink)}.btn-ghost:hover{border-color:var(--olive);color:var(--olive)}}.btn:active{transform:scale(.97)}.btn-primary{background:var(--olive);color:#fff}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:var(--paper)}@media (prefers-reduced-motion:reduce){.post-card,.post-card .cover{transition:none}.post-card:hover,.post-card:active,.post-card:hover .cover{transform:none}.btn{transition:background .25s,border-color .25s,color .25s}.btn:hover,.btn:active{transform:none}}.site-footer{border-top:1px solid var(--line-soft);color:var(--ink-soft);margin-top:96px;padding:60px 0 0;font-size:13.5px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:26px;display:flex}.footer-about{align-items:center;gap:16px;max-width:560px;display:flex}.footer-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:52px;height:52px}.footer-name{color:var(--ink);font-family:var(--display);margin:0 0 2px;font-size:18px}.footer-about p:last-child{margin:0}.footer-links{flex-wrap:wrap;gap:22px;display:flex}.footer-links a{letter-spacing:.2em;text-transform:uppercase;font-size:11.5px;text-decoration:none}.site-footer a{color:var(--ink-soft)}.site-footer a:hover{color:var(--olive)}.footer-legal{border-top:1px solid var(--line-soft);color:var(--ink-faint);margin-top:34px;padding:20px 0 44px;font-size:12px;line-height:1.8}.footer-legal p{margin:0 0 6px}.footer-legal p:last-child{margin-bottom:0}.footer-legal a{color:var(--ink-faint);text-decoration:underline}@media (hover:hover) and (pointer:fine){.footer-legal a:hover{color:var(--olive)}}.post-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}@media (width<=1000px){.post-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.post-grid{grid-template-columns:1fr}}.post-card{background:var(--paper);border:1px solid var(--line-soft);border-radius:16px;flex-direction:column;transition:transform .22s cubic-bezier(.23,1,.32,1),box-shadow .25s,border-color .25s;display:flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.post-card:hover{border-color:var(--line);transform:translateY(-4px);box-shadow:0 16px 40px #2a20101a}.post-card:hover .cover{transform:scale(1.04)}}.post-card:active{transform:scale(.995)}.post-card .cover{transition:transform .4s cubic-bezier(.2,.65,.3,1)}.post-card a.card-link{color:inherit;flex-direction:column;height:100%;text-decoration:none;display:flex}.post-card .card-body{flex-direction:column;flex:1;gap:10px;padding:22px 24px 24px;display:flex}.post-card h3{margin:0;font-size:21px;line-height:1.2}.post-card p{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.post-card .card-date{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:auto;padding-top:14px;font-size:11px}.js .rv{opacity:0;transform:translateY(16px)}.rv{transition:opacity .55s cubic-bezier(.23,1,.32,1),transform .55s cubic-bezier(.23,1,.32,1)}.rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.js .rv{opacity:1;transform:none}}@media (width<=600px){.footer-inner{flex-direction:column;align-items:flex-start}}
