:root{color-scheme:light;--cream: #f8f3e8;--ink: #1f1a14;--line: #e2d7c8;--muted: #5b5249;--aero: #2c8f7a;--pine: #0f7363;--clay: #c45b37;--shadow-retro: 4px 4px 0px var(--ink);--shadow-retro-sm: 2px 2px 0px var(--ink);--shadow-retro-lg: 5px 5px 0px var(--ink);--shadow-soft: 0 12px 30px rgba(31, 26, 20, .08);--shadow-soft-lg: 0 20px 50px rgba(31, 26, 20, .08);--shadow-hover: 5px 11px 10px rgba(31, 26, 20, .7);--border-retro: 1.5px solid var(--ink);--radius-sm: 6px;--radius-md: 14px;--radius-lg: 22px;--radius-full: 999px;--space-2xs: 4px;--space-xs: 6px;--space-sm: 8px;--space-md: 10px;--space-base: 12px;--space-lg: 14px;--space-xl: 16px;--space-2xl: 18px;--space-3xl: 22px;--space-4xl: 28px;--font-display: "DM Serif Display", serif;--font-body: "Newsreader", serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--text-xs: .68rem;--text-sm: .78rem;--text-base: .95rem;--text-md: 1rem;--text-lg: 1.1rem;--text-xl: 1.3rem;--text-2xl: 1.5rem;--text-3xl: clamp(2rem, 5vw, 2.8rem);--text-4xl: clamp(2.4rem, 6vw, 3.4rem);--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.45;--leading-relaxed: 1.6;--leading-loose: 1.65;--tracking-tight: .01em;--tracking-normal: 0;--tracking-wide: .08em;--tracking-wider: .16em;--panel-bg: linear-gradient(120deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .94));--bg-card: #fffefb;--bg-white: #ffffff;--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-snap: cubic-bezier(.4, 0, .2, 1);--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 100;--z-modal: 1000;--max-width-content: 860px;--header-height-mobile: 95px;--header-height-desktop: 105px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;background:var(--cream)}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-body);background:var(--cream);color:var(--ink);line-height:var(--leading-relaxed)}#root{min-height:100vh;min-height:100svh;min-height:100dvh}a{color:var(--aero);text-decoration:none}a:hover{color:var(--pine)}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font-family:inherit;-webkit-appearance:none;appearance:none;background:none;border:none;color:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0 0 .35em;letter-spacing:var(--tracking-tight)}.eyebrow{font-size:var(--text-sm);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}::selection{background:#dfeeea;color:var(--ink)}.app{position:relative;min-height:100vh;min-height:100svh;min-height:100dvh;padding:18px 14px 64px}.frame{max-width:var(--max-width-content);margin:0 auto;position:relative;display:flex;flex-direction:column;gap:var(--space-2xl);z-index:var(--z-base)}.empty-state{padding:1rem;border:1.5px dashed var(--line);border-radius:var(--radius-sm);text-align:center;color:var(--muted);background:#fff9}@media(min-width:840px){.app{padding:28px 28px 72px}.frame{gap:var(--space-3xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:var(--border-retro);border-radius:var(--radius-sm);padding:.65rem 1rem .55rem;font-weight:600;font-size:var(--text-md);line-height:1;background:var(--bg-white);color:var(--ink);box-shadow:var(--shadow-retro-sm);cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background-color var(--duration-fast) ease}.btn.small{padding:.45rem .8rem .35rem;font-size:var(--text-base)}.btn.outline{background:var(--bg-white)}.btn.ghost{background:#1f1a140a;border:2px solid transparent}.btn.primary{background:var(--aero);color:var(--bg-white)}.btn:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn:disabled:hover{transform:none;box-shadow:none}.btn:focus-visible{outline:2px dashed var(--clay);outline-offset:4px}.btn.active{background:#e0f2f1;border-color:var(--pine);color:var(--pine)}.pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.38rem .68rem .2rem;border:var(--border-retro);border-radius:var(--radius-sm);background:var(--bg-white);box-shadow:2px 2px #1f1a1426;font-weight:600;font-size:.82rem;line-height:1;color:var(--ink);-webkit-text-fill-color:var(--ink);cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background-color var(--duration-fast) ease}.pill.small{padding:.3rem .4rem .15rem;font-size:.7rem}.pill:hover{transform:translate(1px,1px);box-shadow:1px 1px #1f1a1433;background:#fdfbf7}.pill:active{transform:translate(2px,2px);box-shadow:none}.pill.active{background:#e0f2f1;border-color:var(--pine);color:var(--pine);-webkit-text-fill-color:var(--pine)}.pill.reset{background:#fbe9e7;border-color:var(--clay);color:var(--clay)}.pill.disabled{cursor:default;opacity:1;background:var(--bg-white)}.pill.disabled:hover{transform:none;box-shadow:2px 2px #1f1a1426;background:var(--bg-white)}.pill.icon-btn{padding:0;width:34px;height:34px;justify-content:center;border-radius:50%;color:var(--muted);border-color:transparent;background:transparent;box-shadow:none;transition:all var(--duration-normal) ease}.pill.icon-btn:hover{color:var(--pine);background:var(--bg-white);border-color:var(--line);box-shadow:2px 2px #1f1a1426;transform:translateY(-1px)}.pill.icon-btn:active{transform:translateY(1px);box-shadow:none}.pill.project-link-pill{padding:.5rem .85rem .4rem;font-size:.88rem;box-shadow:var(--shadow-retro-sm);border-radius:var(--radius-sm)}.pill.project-link-pill:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.pill.project-link-pill:active{transform:translate(2px,2px);box-shadow:none}.pill-icon{width:14px;height:14px;flex-shrink:0;display:block;position:relative;top:-1px}.tag-count{color:var(--muted);font-weight:500;margin-left:.25em}.pill.active .tag-count{color:var(--pine);opacity:.7}.pill:focus-visible{outline:2px dashed var(--clay);outline-offset:4px}.panel{position:relative;background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem 1.35rem;box-shadow:var(--shadow-soft-lg);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.panel:before{content:"";position:absolute;inset:8px;border-radius:calc(var(--radius-lg) - 8px);pointer-events:none;border:1px dashed rgba(31,26,20,.04)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-base);flex-wrap:wrap}.hero h1{font-size:var(--text-4xl);margin-top:.4rem}.hero .muted{max-width:680px}.posts-panel{display:flex;flex-direction:column;gap:var(--space-base)}.post-list{display:flex;flex-direction:column;gap:0}.featured-project-panel{display:flex;flex-direction:column;gap:var(--space-lg)}.featured-project-panel .panel-head,.recent-posts-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-base);flex-wrap:wrap}.see-all-link{font-size:.9rem;font-weight:600;color:var(--muted);transition:color var(--duration-normal) ease,transform var(--duration-normal) ease;flex-shrink:0}.see-all-link:hover{color:var(--aero);transform:translate(4px)}@media(min-width:840px){.panel{padding:1.8rem 1.6rem}}@media(max-width:640px){.panel{padding:1.2rem 1.05rem}.panel:before{inset:6px}}.top-bar{display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;top:18px;left:14px;right:14px;max-width:var(--max-width-content);margin:0 auto;padding:12px 14px;background:#ffffffd1;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:var(--z-fixed);transition:padding var(--duration-normal) ease,box-shadow var(--duration-normal) ease;overflow-anchor:none}.top-bar.scrolled{box-shadow:0 8px 32px #1f1a141f,0 2px 8px #1f1a140f}.top-bar+*{margin-top:var(--header-height-mobile)}.top-bar.expanded{box-shadow:0 16px 42px #1f1a141f}.top-bar.flyout.expanded{box-shadow:var(--shadow-soft)}.top-bar.flyout{overflow:visible}.top-bar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-base);position:relative;z-index:5;pointer-events:none}.top-bar-row>*{pointer-events:auto}.brand{display:inline-flex;align-items:center;gap:var(--space-lg);border:none;background:none;padding:0;margin:0;cursor:pointer;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.55rem,4.5vw,2.2rem);letter-spacing:var(--tracking-tight)}.brand:hover{color:var(--pine)}.brand:focus-visible{outline:2px dashed var(--clay);outline-offset:4px}.brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center}.brand-mark-inner{width:48px;height:48px;border-radius:var(--radius-full);border:1.5px solid var(--ink);background:var(--cream);box-shadow:none;display:grid;place-items:center;overflow:hidden;transition:box-shadow var(--collapse-duration, .3s) var(--collapse-ease, ease),transform .15s ease}.brand-mark img{width:100%;height:100%;object-fit:contain}.menu-toggle{min-width:62px;font-weight:800;letter-spacing:var(--tracking-wide)}.menu-toggle.active{background:#f2f7f4}.toggle-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:18px;height:18px}.toggle-icon{position:absolute;opacity:0;-webkit-transform:scale(.5) rotate(-90deg);transform:scale(.5) rotate(-90deg);-webkit-transition:opacity var(--duration-normal) ease-out,-webkit-transform var(--duration-slow) var(--ease-snap);transition:opacity var(--duration-normal) ease-out,transform var(--duration-slow) var(--ease-snap)}.toggle-icon.visible{opacity:1;-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0);-webkit-transition:opacity var(--duration-normal) ease-out,-webkit-transform var(--duration-slower) var(--ease-bounce);transition:opacity var(--duration-normal) ease-out,transform var(--duration-slower) var(--ease-bounce)}.toggle-icon.ellipsis{-webkit-transform:scale(.5);transform:scale(.5)}.toggle-icon.ellipsis.visible{-webkit-transform:scale(1);transform:scale(1)}.toggle-icon.chevron-up{-webkit-transform:scale(.5) rotate(180deg);transform:scale(.5) rotate(180deg)}.toggle-icon.chevron-up.visible{-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0)}.toggle-icon.chevron-right{-webkit-transform:scale(.5) rotate(-90deg);transform:scale(.5) rotate(-90deg)}.toggle-icon.chevron-right.visible{-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0)}.icon{width:18px;height:18px;display:block}.top-menu{position:absolute;top:calc(100% + 8px);right:14px;display:flex;flex-direction:column;gap:var(--space-xs);background:#fffffff5;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 12px 30px #1f1a1426;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:var(--space-sm);opacity:0;pointer-events:none;transform:translateY(-12px) scale(.92);transform-origin:top right;transition:opacity var(--duration-normal) ease,transform var(--duration-slower) var(--ease-bounce);z-index:var(--z-sticky);min-width:140px}.top-menu.visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.top-menu-content{display:flex;flex-direction:column;width:100%;gap:var(--space-xs)}.top-menu .btn.active{background:#e0f2f1;border-color:var(--pine);color:var(--pine)}@media(hover:hover){.top-menu.visible .btn:hover{transform:translateY(2px) scale(.98);box-shadow:1px 1px 0 var(--ink);transition:transform .12s ease-out,box-shadow .12s ease-out}}.top-menu.visible .btn:active,.top-menu.visible .btn.touch-pressed{transform:translateY(4px) scale(.96);box-shadow:0 0 0 var(--ink);transition:transform .06s ease-out,box-shadow .06s ease-out}.top-menu.desktop{position:absolute;top:50%;right:90px;flex-direction:row;background:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;gap:var(--space-sm);min-width:0;z-index:var(--z-base);transform:translateY(-50%);opacity:1;pointer-events:none;transition:none}.top-menu.desktop.visible{pointer-events:auto}.top-menu.desktop.closing{pointer-events:none}.top-menu.desktop .top-menu-content{flex-direction:row;gap:var(--space-sm);width:auto}.top-menu.desktop .btn{opacity:0;-webkit-transform:translateX(-16px) scale(.88) rotate(-3deg);transform:translate(-16px) scale(.88) rotate(-3deg);-webkit-transform-origin:left center;transform-origin:left center;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:opacity var(--duration-slow) var(--ease-out),-webkit-transform .42s var(--ease-bounce);transition:opacity var(--duration-slow) var(--ease-out),transform .42s var(--ease-bounce);-webkit-transition-delay:var(--btn-stagger, 0ms);transition-delay:var(--btn-stagger, 0ms)}.top-menu.desktop.visible .btn{opacity:1;-webkit-transform:translateX(0) scale(1) rotate(0deg);transform:translate(0) scale(1) rotate(0)}.top-menu.desktop .btn:nth-child(1){--btn-stagger: 30ms}.top-menu.desktop .btn:nth-child(2){--btn-stagger: 75ms}.top-menu.desktop .btn:nth-child(3){--btn-stagger: .12s}@media(hover:hover){.top-menu.desktop.visible .btn:hover{transform:translateY(2px) scale(.98);box-shadow:1px 1px 0 var(--ink);transition:transform .12s ease-out,box-shadow .12s ease-out}}.top-menu.desktop.visible .btn:active,.top-menu.desktop.visible .btn.touch-pressed{transform:translateY(4px) scale(.96);box-shadow:0 0 0 var(--ink);transition:transform .06s ease-out,box-shadow .06s ease-out}.top-menu.desktop.visible.closing .btn{opacity:0;-webkit-transform:translateX(18px) scale(.85) rotate(4deg);transform:translate(18px) scale(.85) rotate(4deg);-webkit-transition:opacity .16s cubic-bezier(.4,0,1,1),-webkit-transform var(--duration-normal) var(--ease-snap);transition:opacity .16s cubic-bezier(.4,0,1,1),transform var(--duration-normal) var(--ease-snap);-webkit-transition-delay:var(--btn-stagger-close, 0ms);transition-delay:var(--btn-stagger-close, 0ms)}.top-menu.desktop.visible.closing .btn:nth-child(1){--btn-stagger-close: 80ms}.top-menu.desktop.visible.closing .btn:nth-child(2){--btn-stagger-close: 40ms}.top-menu.desktop.visible.closing .btn:nth-child(3){--btn-stagger-close: 0ms}.top-menu.mobile{background:transparent;border:none;box-shadow:none;padding:0;min-width:auto;right:14px;top:calc(100% - 5px);gap:var(--space-md);backdrop-filter:none;-webkit-backdrop-filter:none;align-items:flex-end;transform:none;opacity:1;transition:none}.top-menu.mobile.closing{pointer-events:none}.top-menu.mobile .top-menu-content{width:auto;gap:var(--space-md);align-items:flex-end}.top-menu.mobile .btn{min-width:auto;padding-left:.9rem;padding-right:.9rem;opacity:0;-webkit-transform:translateY(-12px) scale(.88) rotate(-2deg);transform:translateY(-12px) scale(.88) rotate(-2deg);-webkit-transform-origin:right center;transform-origin:right center;box-shadow:1px 1px 0 var(--ink);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:opacity .28s var(--ease-out),-webkit-transform var(--duration-slower) var(--ease-bounce),box-shadow .32s var(--ease-bounce);transition:opacity .28s var(--ease-out),transform var(--duration-slower) var(--ease-bounce),box-shadow .32s var(--ease-bounce);-webkit-transition-delay:var(--btn-stagger, 0ms);transition-delay:var(--btn-stagger, 0ms)}.top-menu.mobile.visible .btn{opacity:1;-webkit-transform:translateY(0) scale(1) rotate(0deg);transform:translateY(0) scale(1) rotate(0);box-shadow:3px 3px 0 var(--ink)}.top-menu.mobile .btn:nth-child(1){--btn-stagger: 20ms}.top-menu.mobile .btn:nth-child(2){--btn-stagger: 70ms}.top-menu.mobile .btn:nth-child(3){--btn-stagger: .12s}@media(hover:hover){.top-menu.mobile.visible .btn:hover{transform:translateY(2px) scale(.98);box-shadow:1px 1px 0 var(--ink);transition:transform .12s ease-out,box-shadow .12s ease-out}}.top-menu.mobile.visible .btn:active,.top-menu.mobile.visible .btn.touch-pressed{transform:translateY(4px) scale(.96);box-shadow:0 0 0 var(--ink);transition:transform .06s ease-out,box-shadow .06s ease-out}.top-menu.mobile.visible.closing .btn{opacity:0;-webkit-transform:translateY(-14px) scale(.85) rotate(3deg);transform:translateY(-14px) scale(.85) rotate(3deg);box-shadow:0 0 0 var(--ink);-webkit-transition:opacity .18s cubic-bezier(.4,0,1,1),-webkit-transform .24s var(--ease-snap),box-shadow .18s ease-out;transition:opacity .18s cubic-bezier(.4,0,1,1),transform .24s var(--ease-snap),box-shadow .18s ease-out;-webkit-transition-delay:var(--btn-stagger-close, 0ms);transition-delay:var(--btn-stagger-close, 0ms)}.top-menu.mobile.visible.closing .btn:nth-child(1){--btn-stagger-close: 80ms}.top-menu.mobile.visible.closing .btn:nth-child(2){--btn-stagger-close: 40ms}.top-menu.mobile.visible.closing .btn:nth-child(3){--btn-stagger-close: 0ms}@media(min-width:840px){.top-bar{padding:14px 18px;top:28px;left:28px;right:28px}.top-bar+*{margin-top:var(--header-height-desktop)}}@media(max-width:640px){.top-bar{top:20px;left:14px;right:14px}.top-bar+*{margin-top:var(--header-height-mobile)}.brand{font-size:1.65rem}}@media(max-width:380px){.brand{gap:var(--space-md);font-size:1.35rem}.brand-mark-inner{width:40px;height:40px}.top-bar{padding:10px 12px}.menu-toggle{min-width:52px;padding-left:.6rem;padding-right:.6rem}}.top-bar{--collapse-duration: .3s;--collapse-ease: cubic-bezier(.4, 0, .2, 1)}.top-bar .brand-name,.top-bar .menu-toggle{transition:opacity var(--collapse-duration) var(--collapse-ease)}.top-bar{transition:background var(--collapse-duration) var(--collapse-ease),border-color var(--collapse-duration) var(--collapse-ease),box-shadow var(--collapse-duration) var(--collapse-ease),backdrop-filter var(--collapse-duration) var(--collapse-ease),-webkit-backdrop-filter var(--collapse-duration) var(--collapse-ease)}.top-bar.collapsed,.top-bar.collapsed.expanded,.top-bar.collapsed.flyout.expanded{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.top-bar.collapsed .brand-name,.top-bar.collapsed .menu-toggle{opacity:0;pointer-events:none}.top-bar.collapsed .brand-mark-inner{box-shadow:0 5px 5px #1f1a1499}.top-bar.collapsed .brand-mark.clickable{cursor:pointer}@media(hover:hover){.top-bar.collapsed .brand:hover .brand-mark-inner{transform:translateY(2px);box-shadow:0 3px 3px #1f1a14b3}}.top-bar.collapsed .brand:active .brand-mark-inner{transform:translateY(4px);box-shadow:0 1px 1px #1f1a14e6;transition:transform .08s ease,box-shadow .08s ease}.top-bar.collapsed .top-menu.from-collapsed{position:absolute;top:calc(100% + 8px);left:14px;right:auto;background:transparent;border:none;box-shadow:none;padding:0;min-width:auto;gap:var(--space-sm);backdrop-filter:none;-webkit-backdrop-filter:none;align-items:flex-start;transform:none;opacity:1;transition:none;pointer-events:none}.top-bar.collapsed .top-menu.from-collapsed.visible{pointer-events:auto}.top-bar.collapsed .top-menu.from-collapsed.closing{pointer-events:none}.top-bar.collapsed .top-menu.from-collapsed .top-menu-content{flex-direction:column;width:auto;gap:var(--space-sm);align-items:flex-start}.top-bar.collapsed .top-menu.from-collapsed .btn{min-width:auto;padding:.45rem .9rem .35rem;font-size:var(--text-base);font-weight:600;opacity:0;-webkit-transform:translateY(-12px) scale(.88) rotate(-2deg);transform:translateY(-12px) scale(.88) rotate(-2deg);-webkit-transform-origin:left center;transform-origin:left center;box-shadow:1px 1px 0 var(--ink);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:opacity .28s var(--ease-out),-webkit-transform var(--duration-slower) var(--ease-bounce),box-shadow .32s var(--ease-bounce);transition:opacity .28s var(--ease-out),transform var(--duration-slower) var(--ease-bounce),box-shadow .32s var(--ease-bounce);-webkit-transition-delay:var(--btn-stagger, 0ms);transition-delay:var(--btn-stagger, 0ms)}.top-bar.collapsed .top-menu.from-collapsed.visible .btn{opacity:1;-webkit-transform:translateY(0) scale(1) rotate(0deg);transform:translateY(0) scale(1) rotate(0);box-shadow:2px 2px 0 var(--ink)}.top-bar.collapsed .top-menu.from-collapsed .btn:nth-child(1){--btn-stagger: 20ms}.top-bar.collapsed .top-menu.from-collapsed .btn:nth-child(2){--btn-stagger: 70ms}.top-bar.collapsed .top-menu.from-collapsed .btn:nth-child(3){--btn-stagger: .12s}.top-bar.collapsed .top-menu.from-collapsed .btn:nth-child(4){--btn-stagger: .17s}@media(hover:hover){.top-bar.collapsed .top-menu.from-collapsed.visible .btn:hover{transform:translateY(2px) scale(.98);box-shadow:1px 1px 0 var(--ink);transition:transform .12s ease-out,box-shadow .12s ease-out}}.top-bar.collapsed .top-menu.from-collapsed.visible .btn:active,.top-bar.collapsed .top-menu.from-collapsed.visible .btn.touch-pressed{transform:translateY(4px) scale(.96);box-shadow:0 0 0 var(--ink);transition:transform .06s ease-out,box-shadow .06s ease-out}.top-bar.collapsed .top-menu.from-collapsed.visible.closing .btn{opacity:0;-webkit-transform:translateY(-14px) scale(.85) rotate(3deg);transform:translateY(-14px) scale(.85) rotate(3deg);box-shadow:0 0 0 var(--ink);-webkit-transition:opacity .18s cubic-bezier(.4,0,1,1),-webkit-transform .24s var(--ease-snap),box-shadow .18s ease-out;transition:opacity .18s cubic-bezier(.4,0,1,1),transform .24s var(--ease-snap),box-shadow .18s ease-out;-webkit-transition-delay:var(--btn-stagger-close, 0ms);transition-delay:var(--btn-stagger-close, 0ms)}.top-bar.collapsed .top-menu.from-collapsed.visible.closing .btn:nth-child(1){--btn-stagger-close: 90ms}.top-bar.collapsed .top-menu.from-collapsed.visible.closing .btn:nth-child(2){--btn-stagger-close: 60ms}.top-bar.collapsed .top-menu.from-collapsed.visible.closing .btn:nth-child(3){--btn-stagger-close: 30ms}.top-bar.collapsed .top-menu.from-collapsed.visible.closing .btn:nth-child(4){--btn-stagger-close: 0ms}.top-bar.collapsed .top-menu.from-collapsed .btn.home-link{background:var(--bg-white);border-color:var(--ink);color:var(--ink)}.top-bar.collapsed .top-menu.from-collapsed .btn.active{background:#e0f2f1;border-color:var(--pine);color:var(--pine)}@media(min-width:840px){.top-bar.collapsed .top-menu.from-collapsed{left:18px}}@media(max-width:380px){.top-bar.collapsed .top-menu.from-collapsed{left:12px}}.carousel-container{position:relative;margin-top:24px;width:100%;overflow:visible;mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}.carousel-track{display:flex;gap:var(--space-xl);overflow-x:auto;scroll-behavior:auto;padding:20px 5vw;align-items:center;scrollbar-width:none;-ms-overflow-style:none}.carousel-track::-webkit-scrollbar{display:none}.carousel-item{position:relative;flex:0 0 auto;height:320px;width:auto;border:var(--border-retro);border-radius:var(--radius-sm);overflow:hidden;padding:0;background:var(--bg-card);cursor:pointer;box-shadow:var(--shadow-retro-sm);display:inline-flex;align-items:center;justify-content:center;transform:translateY(0) scale(1);transition:transform .42s var(--ease-out),box-shadow .42s var(--ease-out)}.carousel-item img{height:100%;width:auto;min-width:1px;object-fit:contain;display:block}.carousel-item.is-active{transform:translateY(-8px) scale(1.01);box-shadow:4px 6px 3px var(--ink)}.carousel-item:active{transform:translateY(2px) scale(.98);box-shadow:1px 2px 0 var(--ink);transition:transform .09s ease-out,box-shadow .09s ease-out}.gif-badge{position:absolute;top:10px;right:10px;background:#eaeaea;color:var(--ink);font-size:.64rem;font-weight:900;line-height:1;padding:.2rem .28rem .02rem;border:var(--border-retro);border-radius:var(--radius-sm);pointer-events:none}.carousel-caption{text-align:center;font-size:.9rem;font-style:italic;color:var(--muted);margin:0}.about-carousel{margin-top:.75rem;margin-bottom:0}@media(max-width:720px){.carousel-item{height:220px}.carousel-container{mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%)}}@media(max-width:720px)and (hover:none){.carousel-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.carousel-item{scroll-snap-align:center}}.lightbox-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:#f8f3e8eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;animation:lightbox-fadeIn var(--duration-normal) ease-out}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--cream);padding:var(--space-sm);box-shadow:8px 8px 0 var(--ink);animation:lightbox-popIn var(--duration-slow) var(--ease-bounce)}.lightbox-content img{max-width:100%;max-height:calc(90vh - 16px);display:block;border-radius:4px}.lightbox-close{position:absolute;top:-16px;right:-16px;width:32px;height:32px;border-radius:50%;background:var(--clay);color:var(--bg-white);border:2px solid var(--ink);font-size:1.2rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-retro-sm);transition:transform var(--duration-fast) ease}.lightbox-close:hover{transform:scale(1.1)}@keyframes lightbox-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightbox-popIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.code-block{border:var(--border-retro);border-radius:var(--radius-sm);background:var(--bg-white);box-shadow:var(--shadow-retro-sm);overflow:hidden;margin:1.5rem 0;font-family:var(--font-mono)}.code-block-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:6px 10px;background:#faf8f5;border-bottom:1px solid var(--line)}.code-block-lang{font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;color:var(--ink);padding:.25rem .5rem .2rem;background:var(--bg-white);border-radius:var(--radius-sm);border:var(--border-retro);box-shadow:1px 1px #1f1a1426;line-height:1}.code-block-actions{display:flex;align-items:center;gap:var(--space-base)}.code-block-lines{font-size:var(--text-xs);color:var(--muted);font-weight:500}.code-block-copy{display:inline-flex;align-items:center;gap:5px;padding:.22rem .5rem .18rem;font-size:.7rem;font-weight:600;font-family:var(--font-body);color:var(--ink);background:var(--bg-white);border:var(--border-retro);border-radius:4px;cursor:pointer;transition:background .15s ease,transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease;box-shadow:1px 1px 0 var(--ink);min-width:64px;justify-content:center}.code-block-copy:hover{background:#fdfbf7;transform:translate(1px,1px);box-shadow:0 0 0 var(--ink)}.code-block-copy:active{transform:translate(2px,2px);box-shadow:none}.code-block-copy svg{flex-shrink:0}.code-block-copy .copy-icon,.code-block-copy .copy-text{transition:opacity var(--duration-normal) ease,transform .25s var(--ease-bounce)}.code-block-copy.copied{background:#e8f5e9;border-color:var(--pine);color:var(--pine)}.code-block-copy.copied .copy-icon{animation:code-checkPop .35s var(--ease-bounce)}@keyframes code-checkPop{0%{transform:scale(.5) rotate(-10deg);opacity:0}50%{transform:scale(1.15) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.code-block-content{position:relative;max-height:none;overflow:hidden;background:var(--bg-card)}.code-block-content.truncated{max-height:280px}.code-block-content pre{margin:0;padding:var(--space-xl);background:transparent;border-radius:0;overflow-x:auto;font-size:.82rem;line-height:var(--leading-relaxed)}.code-block-content code{color:var(--ink);font-family:inherit;white-space:pre;display:block}.code-block-fade{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,var(--bg-card) 0%,var(--bg-card) 20%,transparent 100%);pointer-events:none}.code-block-expand{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:10px var(--space-xl);font-size:.85rem;font-weight:600;font-family:var(--font-body);color:var(--ink);background:#faf8f5;border:none;border-top:1px solid var(--line);cursor:pointer;transition:background .15s ease,color .15s ease}.code-block-expand:hover{background:#f5f0e8;color:var(--pine)}.code-block-expand svg{flex-shrink:0}.post-body .code-block{margin:1rem 0}.post-body .code-block pre{background:transparent;border:none;box-shadow:none;padding:var(--space-xl);border-radius:0}.toast{position:absolute;left:50%;transform:translate(-50%) translateY(0);bottom:calc(100% + 10px);background:var(--bg-white);color:var(--ink);border:var(--border-retro);padding:.34rem .72rem .26rem;border-radius:var(--radius-sm);font-size:.77rem;font-weight:600;white-space:nowrap;max-width:calc(100vw - 40px);pointer-events:none;text-align:center;z-index:var(--z-dropdown);box-shadow:2px 2px #1f1a1426;animation:toast-pop var(--duration-slower) var(--ease-bounce) forwards,toast-fade .32s ease forwards 1.5s;display:flex;align-items:center;justify-content:center}.toast:after{display:none}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes toast-fade{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(6px) scale(.99)}}.post-card{position:relative}.post-card+.post-card{margin-top:var(--space-3xl);padding-top:var(--space-3xl)}.post-card+.post-card:before{content:"◆";position:absolute;top:0;left:50%;transform:translate(-50%);font-size:.6rem;color:var(--pine);background:var(--panel-bg);padding:0 .75rem;z-index:1}.post-card+.post-card:after{content:"";position:absolute;top:.35rem;left:0;right:0;border-top:1px dashed var(--line)}.post-card h3{margin:0;line-height:var(--leading-snug)}.post-head{display:grid;grid-template-columns:1fr auto;grid-template-areas:"meta link" "summary summary";column-gap:var(--space-base);row-gap:var(--space-sm);align-items:flex-start}.post-meta{grid-area:meta;min-width:0}.post-meta .eyebrow{margin-bottom:4px;font-size:.72rem;font-weight:600;letter-spacing:.08em}.post-meta h3{margin:0;font-size:var(--text-xl)}.post-excerpt{grid-area:summary;margin:0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--muted);max-height:calc(4 * var(--leading-normal) * 1em);overflow:hidden;position:relative}.post-excerpt:after{content:"";position:absolute;bottom:0;right:0;width:40%;height:calc(var(--leading-normal) * 1em);background:linear-gradient(to right,transparent 0%,rgba(255,254,251,.7) 65%,#fffefb 100%);pointer-events:none;z-index:1}.link-btn-wrapper{grid-area:link;display:inline-flex;align-items:center;justify-content:center;position:relative;justify-self:end;align-self:start;z-index:2}.post-title-link{color:var(--ink);text-decoration:none;transition:color var(--duration-normal) ease}.post-title-link:hover{color:var(--pine)}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-md) 0}.post-card>.tag-row:last-child{margin-bottom:0}.post-body{border-top:1px dashed var(--line);padding-top:var(--space-base)}.post-body img{max-width:50%;display:block;margin:0 auto;border:var(--border-retro);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-retro-sm);cursor:default;transition:transform var(--duration-slower) ease,box-shadow var(--duration-slower) ease}.post-body video,.post-body iframe{max-width:100%;border:var(--border-retro);border-radius:var(--radius-sm);box-shadow:var(--shadow-retro-sm)}.post-body pre{background:#111827;color:#e5e7eb;padding:var(--space-base);border-radius:var(--radius-base);overflow:auto}@media(hover:hover)and (pointer:fine){.post-body img:hover{transform:translateY(-4px);box-shadow:4px 12px 8px #1f1a14b3}.post-body img:active{transform:translateY(-1px);box-shadow:4px 5px 2px #1f1a1426}}.post-body img.touch-hover{transform:translateY(-4px);box-shadow:12px 16px 14px #1f1a1494}.post-body.full-content{font-size:.92rem;line-height:1.5;border-top:none;margin-top:0;padding-top:0}.post-body.full-content p{margin-bottom:.85rem}.post-body.full-content h2{font-size:var(--text-2xl);margin-top:1.8rem;margin-bottom:.6rem}.post-body.full-content h3{font-size:1.2rem;margin-top:1.4rem;margin-bottom:.5rem}.post-body blockquote{position:relative;margin:1.25rem 0;padding:0 0 0 1.25rem;border-left:3px solid var(--pine);color:var(--muted);transition:transform var(--duration-normal) var(--ease-out),border-color var(--duration-normal) ease}.post-body blockquote p{margin:0}.post-body blockquote p+p{margin-top:.6rem}.post-body blockquote cite{display:block;margin-top:.5rem;font-size:.85em;font-weight:600;color:var(--pine);transition:color var(--duration-normal) ease}.post-body blockquote cite:before{content:"— "}@media(hover:hover)and (pointer:fine){.post-body blockquote:hover{transform:translate(4px);border-color:var(--clay)}.post-body blockquote:hover cite{color:var(--clay)}}.post-body.full-content img{max-width:100%;margin:0;cursor:pointer}.post-body a{color:var(--aero);text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--duration-normal) ease,text-decoration-color var(--duration-normal) ease,text-decoration-thickness var(--duration-normal) ease}.post-body a:hover{color:var(--pine);text-decoration-color:var(--pine);text-decoration-thickness:2px}.post-body a:active{color:var(--clay);text-decoration-color:var(--clay)}.post-body a:focus-visible{outline:2px dashed var(--clay);outline-offset:3px;border-radius:2px;text-decoration-color:var(--pine);text-decoration-thickness:2px}@media(max-width:640px){.post-body img{max-width:100%}}.filter-row{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-base)}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.active-tags{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md);flex-wrap:wrap}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-md);margin-top:4px}.pagination .btn{min-width:90px}.pagination .muted{min-width:100px;text-align:center;font-weight:600;font-size:.85rem}.pagination-arrow{display:none}.pagination-text{display:inline}.back-link{display:inline-block;margin-bottom:1.5rem;font-size:.9rem;font-weight:600;color:var(--muted);transition:color var(--duration-normal) ease,transform var(--duration-normal) ease}.back-link:hover{color:var(--aero);transform:translate(-4px)}.post-page-head{margin-bottom:2rem}.post-page-head .eyebrow{letter-spacing:.1em}.post-page .post-title{font-size:var(--text-3xl);margin-bottom:.5rem;line-height:var(--leading-tight)}.post-page-head .tag-row{margin-top:.4rem;margin-bottom:0}.post-footer{margin-top:2.5rem;padding-top:1.25rem;padding-bottom:1.25rem;margin-bottom:-.4rem;border-top:1px solid var(--line)}.post-nav{display:flex;justify-content:space-between;gap:var(--space-lg)}.post-nav-link{display:flex;flex-direction:column;gap:.15rem;max-width:45%;transition:transform var(--duration-normal) ease}.post-nav-prev{align-items:flex-start;text-align:left}.post-nav-next{align-items:flex-end;text-align:right}.post-nav-link:hover{transform:translateY(-2px)}.post-nav-prev:hover{transform:translate(-4px)}.post-nav-next:hover{transform:translate(4px)}.post-nav-label{font-size:.9rem;font-weight:600;color:var(--muted);transition:color var(--duration-normal) ease}.post-nav-title{font-family:var(--font-body);font-size:.88rem;font-style:italic;font-weight:500;color:var(--muted);line-height:1.4;transition:color var(--duration-normal) ease}.post-nav-link:hover .post-nav-label,.post-nav-link:hover .post-nav-title{color:var(--aero)}.post-nav-spacer{flex:1}@media(min-width:840px){.filter-row{flex-direction:row;align-items:center;justify-content:space-between}}@media(max-width:480px){.post-nav-link{max-width:50%}}@media(max-width:380px){.pagination{flex-wrap:nowrap;gap:var(--space-sm)}.pagination .btn{min-width:auto;width:36px;height:36px;padding:0;position:relative}.pagination .muted{min-width:auto;font-size:.85rem}.pagination-text{display:none}.pagination-arrow{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1rem;line-height:1;position:absolute;top:0;left:0}}.portfolio-panel{display:flex;flex-direction:column;gap:var(--space-lg)}.portfolio-panel .panel-head{align-items:flex-start}.portfolio-panel .muted{max-width:520px}.moodboard{display:flex;flex-direction:row;gap:var(--space-lg);align-items:flex-start;width:100%}.moodboard-column{display:flex;flex-direction:column;gap:var(--space-lg);flex:1 1 0%;min-width:0}.moodboard.mobile{flex-direction:column}.scroll-sentinel{width:100%;height:24px}.project-card{position:relative;border:var(--border-retro);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-retro-sm);overflow:hidden;display:block;width:100%;height:auto;transition:transform .32s var(--ease-out),box-shadow .32s var(--ease-out);isolation:isolate;transform:translateZ(0)}.project-media{position:relative;width:100%;height:auto;display:block;background:var(--bg-card)}.project-media img{width:100%;height:auto;min-height:1px;display:block;z-index:1}.project-pill{position:absolute;left:var(--space-lg);bottom:var(--space-lg);margin:0;z-index:2;border-radius:var(--radius-full);padding:.42rem .95rem .38rem;border:1px solid rgba(255,255,255,.2);background:#ffffffa6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000000f;max-width:calc(100% - 28px)}.pill-label{font-family:var(--font-display);font-weight:600;font-size:.9rem;letter-spacing:var(--tracking-tight);color:var(--ink);line-height:var(--leading-tight)}@media(hover:hover)and (pointer:fine){.project-card:hover{transform:translateY(-5px) translateZ(0);box-shadow:var(--shadow-hover)}}.project-card.touch-hover{transform:translateY(-5px) translateZ(0);box-shadow:var(--shadow-hover)}.featured-project-card{display:block;position:relative;border:var(--border-retro);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-retro-sm);overflow:hidden;width:100%;transition:transform .32s var(--ease-out),box-shadow .32s var(--ease-out);isolation:isolate;transform:translateZ(0)}.featured-project-media{position:relative;width:100%;height:auto;display:block;background:var(--bg-card)}.featured-project-media img{width:100%;height:auto;max-height:420px;object-fit:cover;object-position:center top;display:block}@media(hover:hover)and (pointer:fine){.featured-project-card:hover{transform:translateY(-5px) translateZ(0);box-shadow:var(--shadow-hover)}}@media(max-width:640px){.featured-project-media img{max-height:280px}}.project-detail-panel{display:flex;flex-direction:column;gap:var(--space-2xl)}.project-header{display:flex;flex-direction:column;gap:2px}.project-header h1{font-size:var(--text-4xl);line-height:var(--leading-tight);margin:.12em 0 .24em}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);flex-wrap:wrap;margin:.12em 0 .28em}.project-title-row h1{margin:0}.project-links{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.project-header .tag-row{margin-top:.5rem;margin-bottom:0}.project-content{display:flex;flex-direction:column;gap:var(--space-base)}.project-description{font-size:var(--text-base);line-height:1.55;max-width:720px;margin:0}.project-description p{margin-bottom:.9rem}.project-description h2{font-size:1.35rem;margin-top:1.4rem;margin-bottom:.5rem}.project-description h3{font-size:var(--text-lg);margin-top:1rem;margin-bottom:.4rem}.project-description ul,.project-description ol{margin-top:.4rem;margin-bottom:.9rem;padding-left:1.5rem}.project-description li{margin-bottom:.35rem}.project-description code{font-size:.88em;background:#1f1a140f;padding:.15em .4em;border-radius:4px}.github-card{display:inline-flex;align-items:center;gap:var(--space-lg);padding:var(--space-xl);border:var(--border-retro);border-radius:var(--radius-sm);background:var(--bg-white);box-shadow:var(--shadow-retro-sm);transition:transform .15s ease,box-shadow .15s ease;width:max-content;text-decoration:none;color:var(--ink)}.github-card:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink);color:var(--ink)}.github-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--ink)}.github-icon svg{width:100%;height:100%}.github-info{display:flex;flex-direction:column;gap:2px}.github-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted)}.github-url{font-family:var(--font-display);font-size:var(--text-lg);line-height:1}.github-arrow{margin-left:var(--space-base);color:var(--muted);transition:transform var(--duration-normal) ease,color var(--duration-normal) ease}.github-card:hover .github-arrow{color:var(--pine);transform:translate(2px) translateY(-2px)}.about-panel p{font-size:var(--text-base);line-height:var(--leading-loose);margin:0 0 1rem}.about-panel p:last-of-type{margin-bottom:0}.about-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.about-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-base);flex-wrap:wrap;margin-bottom:.5rem}.about-body{display:block}.about-body p{margin:0}.about-panel h2{margin-top:.3rem}.about-page-panel{max-width:var(--max-width-content);width:100%;margin:0 auto;margin-top:var(--header-height-mobile)}.about-eyebrow{margin-bottom:1rem}@media(min-width:840px){.about-page-panel{margin-top:var(--header-height-desktop)}}.photo-gallery-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px dashed var(--line)}.contact-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:var(--space-base);flex-wrap:wrap}.contact-section h3{margin:0;font-size:var(--text-xl);white-space:nowrap}.contact-links{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap}.contact-icon-btn{position:relative;width:auto;height:auto;border:none;background:none;box-shadow:none;color:var(--bg-white);display:inline-flex;align-items:center;justify-content:center;will-change:transform;padding:4px;filter:drop-shadow(2.5px 2.5px 0px var(--ink));transition:transform var(--duration-normal) ease,filter var(--duration-normal) ease}.contact-icon-btn:hover{transform:translate(1px,1px);filter:drop-shadow(1.5px 1.5px 0px var(--ink));color:var(--bg-white)}.contact-icon-btn:active{transform:translate(2.5px,2.5px);filter:drop-shadow(0px 0px 0px var(--ink))}.contact-icon-btn:after{display:none}.contact-icon-btn:focus-visible{outline:2px dashed var(--clay);outline-offset:4px}.contact-icon{width:26px;height:26px;fill:var(--bg-white);stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke fill;overflow:visible}.about-panel-compact .about-body{margin-top:.25rem}.about-panel-compact .panel-head:only-child{margin-bottom:0}.about-panel-compact .panel-head:only-child .eyebrow{margin-bottom:0;line-height:1;transform:translateY(2px)}.contact-links-compact{justify-content:flex-start}.contact-links-compact .contact-icon-btn{filter:drop-shadow(2px 2px 0px rgba(62,52,42,.9))}.contact-links-compact .contact-icon-btn:hover{filter:drop-shadow(1px 1px 0px rgba(62,52,42,.9))}.contact-links-compact .contact-icon-btn:active{filter:drop-shadow(0px 0px 0px rgba(62,52,42,.9))}.contact-links-compact .contact-icon{width:24px;height:24px;stroke:#5b5249d9;stroke-width:1.3px}@media(max-width:340px){.contact-section{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.contact-links{justify-content:flex-start;width:100%}}
