:root{--bg:#ffffff;--surface:#fcfcfc;--text:#1a1a1a;--text-muted:#555555;--border:#eeeeee;--accent:#000000;--shadow:0 4px 20px rgba(0,0,0,0.03);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.site-header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--border);z-index:1000;box-shadow:var(--shadow)}.header-top-bar{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem}.mobile-menu-toggle{display:none;background:transparent;border:none;cursor:pointer;color:var(--text);padding:0.5rem}.header-spacer{width:40px;display:none}.logo-container{flex:1;text-align:center;display:flex;justify-content:center;align-items:center}.brand-link{display:inline-flex;align-items:center;gap:0.75rem;text-decoration:none;color:var(--text);font-weight:700;font-size:1.5rem;letter-spacing:-0.02em}.brand-link svg{width:32px;height:32px}.desktop-nav{border-top:1px solid var(--border);background:var(--surface)}.nav-list{display:flex;justify-content:center;gap:4rem;list-style:none;margin:0;padding:1.25rem 2rem}.nav-link{text-decoration:none;color:var(--text-muted);font-weight:600;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.05em;transition:color 0.3s ease;position:relative}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-link.active::after{content:'';position:absolute;bottom:-0.5rem;left:0;right:0;height:1px;background:var(--accent)}.mobile-nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);opacity:0;visibility:hidden;transition:opacity 0.3s ease;z-index:2000;backdrop-filter:blur(2px)}.mobile-nav-overlay.open{opacity:1;visibility:visible}.mobile-nav-panel{position:absolute;top:0;left:-100%;bottom:0;width:85%;max-width:360px;background:var(--bg);padding:2rem;transition:left 0.4s cubic-bezier(0.16,1,0.3,1);box-shadow:4px 0 30px rgba(0,0,0,0.1);display:flex;flex-direction:column}.mobile-nav-overlay.open .mobile-nav-panel{left:0}.mobile-menu-close{align-self:flex-end;background:transparent;border:none;cursor:pointer;color:var(--text);padding:0.5rem;margin-bottom:2rem}.mobile-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem}.mobile-nav-list .nav-link{font-size:1.25rem;color:var(--text)}.mobile-nav-list .nav-link.active::after{display:none}.mobile-nav-list .nav-link.active{font-weight:800}.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:4rem 2rem 2rem;color:var(--text);font-size:0.95rem}.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:4rem;margin-bottom:3rem}.footer-brand .brand-name{font-weight:700;font-size:1.25rem;display:block;margin-bottom:1rem;color:var(--text)}.footer-tagline{color:var(--text-muted);font-size:0.9rem;margin:0;line-height:1.5}.footer-heading{font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin:0 0 1.5rem 0;color:var(--text)}.footer-nav{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.footer-nav a,.footer-address a{color:var(--text-muted);text-decoration:none;transition:color 0.2s}.footer-nav a:hover,.footer-address a:hover{color:var(--accent)}.footer-address{font-style:normal;line-height:1.8;color:var(--text-muted)}.footer-address p{margin:0 0 1rem 0}.footer-bottom{text-align:center;border-top:1px solid var(--border);padding-top:2rem;color:var(--text-muted);font-size:0.85rem}@media (max-width:768px){.header-top-bar{padding:1rem 1.5rem}.mobile-menu-toggle,.header-spacer{display:block}.desktop-nav{display:none}.logo-container{flex:unset;position:absolute;left:50%;transform:translateX(-50%)}.brand-link{font-size:1.15rem}.footer-container{grid-template-columns:1fr;gap:2.5rem;text-align:center}}
/* footer extras */
.footer__extras{margin-top:16px;}
.footer__extrasInner{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;}
.footer__social{display:flex;gap:10px;align-items:center;}
.footer-social{display:inline-flex;gap:8px;align-items:center;text-decoration:none;}
.footer-social__icon{display:block;}
.footer__poemWrap{max-width:520px;}
.footer-poem{opacity:0.9;font-size:0.95em;line-height:1.35;}
/* --- injected by logo step --- */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-logo{width:28px;height:28px;display:inline-block;flex:0 0 auto}
.brand-logo *{vector-effect:non-scaling-stroke}
/* --- /injected by logo step --- */
