@font-face{font-family:'Google Sans';src:url(./GoogleSans-Regular.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:'Google Sans','Segoe UI',sans-serif;font-weight:400;line-height:1.7;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background:var(--bg-gradient);color:var(--text-primary);transition:background 0.3s ease,color 0.3s ease}a{text-decoration:none}.banner-wide{max-width:1920px;display:block;margin-left:auto;margin-right:auto}.banner-compact{max-width:720px;display:block;margin-left:auto;margin-right:auto}#site-header{width:100%;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--header-bg);border-bottom:1px solid var(--border-color);transition:background 0.3s ease}.header-inner{max-width:1200px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-brand{font-size:1.1rem;font-weight:400;letter-spacing:.04em;color:var(--accent);text-decoration:none;white-space:nowrap}.header-tagline{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);opacity:.75}#site-banner{width:100%;overflow:hidden;line-height:0}#site-banner img{width:100%;height:auto;object-fit:cover}#site-banner .banner-wide{display:block}#site-banner .banner-compact{display:none}#site-hero{text-align:center;padding:3.5rem 2rem 2rem}#site-hero h1{font-size:clamp(1.6rem, 4vw, 2.6rem);font-weight:400;letter-spacing:.02em;color:var(--text-primary);line-height:1.25;max-width:800px;margin:0 auto 1rem}#site-hero p.subtitle{font-size:clamp(0.9rem, 2vw, 1.05rem);color:var(--text-secondary);max-width:600px;margin:0 auto;letter-spacing:.03em}#site-main{flex:1;max-width:900px;width:100%;margin:0 auto;padding:2rem 2rem 4rem}#substack-feed-embed{width:100%}#social-sidebar{position:fixed;left:0;bottom:120px;z-index:200;display:flex;flex-direction:column;gap:12px}.social-tab{display:block;width:200px;height:60px;border-radius:0 50px 50px 0;overflow:hidden;transform:translateX(-140px);transition:transform 0.35s cubic-bezier(.34,1.56,.64,1),box-shadow 0.3s ease;box-shadow:2px 2px 10px var(--shadow-color);background:var(--social-bg);text-decoration:none}.social-tab:hover{transform:translateX(-90px);box-shadow:4px 4px 18px var(--shadow-color)}.social-tab img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}#site-footer{border-top:1px solid var(--border-color);padding:1.5rem 2rem;text-align:center;font-size:.78rem;color:var(--text-secondary);letter-spacing:.05em}#site-footer a{color:var(--accent);text-decoration:none}#site-footer a:hover{text-decoration:underline}.footer-links{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.divider{width:60px;height:2px;background:var(--accent);margin:1.5rem auto;opacity:.5;border-radius:2px}.fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.feed-section{width:100%}.feed-heading{font-size:clamp(1.2rem, 3vw, 1.6rem);font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);text-align:center;margin-bottom:.4rem}.feed-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.feed-card--featured{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0}.feed-card--featured .feed-card__img-wrap{border-radius:12px 0 0 12px}.feed-card--featured .feed-card__body{border-radius:0 12px 12px 0;border-left:none;padding:2rem 2rem 1.75rem}.feed-card--featured .feed-card__title{font-size:clamp(1.15rem, 2.5vw, 1.55rem)}.feed-card--featured .feed-card__excerpt{display:block;-webkit-line-clamp:unset;max-height:none}.feed-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform 0.25s ease,box-shadow 0.25s ease,border-color 0.25s ease;animation:cardFadeUp 0.55s ease both}@keyframes cardFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feed-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px var(--shadow-color);border-color:var(--accent)}.feed-card__img-wrap{overflow:hidden;aspect-ratio:16 / 9;background:var(--border-color);flex-shrink:0}.feed-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}.feed-card:hover .feed-card__img{transform:scale(1.04)}.feed-card__body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1;border:1px solid #fff0}.feed-card__date{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.5rem}.feed-card__title{font-size:1rem;font-weight:400;line-height:1.4;margin-bottom:.75rem;letter-spacing:.01em}.feed-card__title a{color:var(--text-primary);text-decoration:none;transition:color 0.2s ease}.feed-card__title a:hover{color:var(--accent)}.feed-card__excerpt{font-size:.88rem;color:var(--text-secondary);line-height:1.65;flex:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:1rem}.feed-card__readmore{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;align-self:flex-start;transition:letter-spacing 0.2s ease,color 0.2s ease;margin-top:auto}.feed-card__readmore:hover{letter-spacing:.14em;color:var(--text-primary)}.feed-more{text-align:center;margin-top:2.5rem;padding-bottom:1rem}.feed-more-link{display:inline-block;padding:.6rem 1.8rem;border:1px solid var(--accent);border-radius:50px;font-size:.85rem;letter-spacing:.08em;color:var(--accent);text-decoration:none;transition:background 0.2s ease,color 0.2s ease}.feed-more-link:hover{background:var(--accent);color:#fff}.feed-loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:.9rem;letter-spacing:.06em}.feed-loading::after{content:'';display:inline-block;width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin 0.8s linear infinite;vertical-align:middle;margin-left:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.feed-error{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.9rem}.feed-error a{color:var(--accent)}