:root{--font-base: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Source Code Pro", "Cascadia Code", "Fira Code", monospace;--shape-xl: 32px;--shape-lg: 24px;--shape-md: 18px;--shape-sm: 12px;--layout-max-width: 1200px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 1px rgba(15, 23, 42, .04);--shadow-sm: 0 8px 22px rgba(15, 23, 42, .08);--shadow-md: 0 18px 32px rgba(15, 23, 42, .12);--transition-surface: .32s cubic-bezier(.2, .6, .2, 1);--header-height: 86px;color-scheme:light}html{scroll-behavior:smooth}.fonts-loaded body{font-family:var(--font-base)}.hero__content{min-height:200px;display:flex;flex-direction:column;justify-content:center}body{margin:0;font-family:var(--font-base);line-height:1.6;background:var(--color-background, #f5f6fa);color:var(--color-on-background, #111827);transition:background .48s ease,color .32s ease;min-height:100vh}body.has-hero{padding-top:var(--header-height)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2}main{display:block}a{color:inherit;text-decoration:none}a:hover,a:focus{color:var(--color-primary, #0f6d96)}button{font-family:inherit;border:none;background:none;color:inherit;cursor:pointer}.hero{position:relative;padding:clamp(32px,4vw,48px) 0 clamp(28px,4vw,40px);background:var(--hero-section-bg, var(--color-surface, #ffffff));color:var(--color-on-hero, var(--color-on-surface, #101828))}.hero__inner{max-width:var(--layout-max-width, 1200px);margin:0 auto;padding:0 clamp(20px,5vw,48px);position:relative}.hero__nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:clamp(24px,3vw,40px);background:var(--hero-section-bg, var(--color-surface, #ffffff));border-bottom:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));box-shadow:var(--shadow-xs);padding:16px clamp(20px,5vw,48px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:var(--shape-lg);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .28));background:var(--brand-bg, rgba(15, 23, 42, .04));font-weight:700;letter-spacing:.18em;color:inherit;text-transform:uppercase}.nav__cluster{display:flex;align-items:center;gap:16px}.dark-mode-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border-radius:var(--shape-md);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .3));background:var(--color-surface-container, rgba(15, 23, 42, .04));transition:background var(--transition-surface),border-color var(--transition-surface),transform .2s ease}.dark-mode-toggle--desktop{display:flex}.dark-mode-toggle--mobile{display:none}.dark-mode-toggle:hover,.dark-mode-toggle:focus{background:var(--color-primary, #0f6d96);border-color:transparent;transform:scale(1.05)}.dark-mode-icon{width:20px;height:20px;transition:transform .3s ease,color .2s ease;color:var(--color-on-surface-variant, #475569)}.dark-mode-toggle:hover .dark-mode-icon,.dark-mode-toggle:focus .dark-mode-icon{color:var(--color-on-primary, #fff)}.nav-toggle{display:none;flex-direction:column;gap:5px;padding:12px;border-radius:var(--shape-sm);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .3));background:#0f172a0a}.nav-toggle__bar{width:18px;height:2px;background:currentColor}.hero__nav-links{display:flex;align-items:center;gap:clamp(18px,3vw,28px)}.hero__nav-links a{font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant, #475569);transition:color .2s ease}.hero__nav-links a:hover,.hero__nav-links a:focus{color:var(--color-on-surface, #1c2738)}.hero__nav-links .print-btn{transform:translateY(0)}.print-btn{padding:10px 18px;border-radius:999px;border:1px solid transparent;background:var(--color-primary, #0f6d96);color:var(--color-on-primary, #fff)!important;transition:background var(--transition-surface),transform .2s ease,border-color var(--transition-surface)}.print-btn:hover,.print-btn:focus{background:var(--color-primary, #0f6d96);color:var(--color-on-primary, #fff);border-color:transparent;filter:brightness(1.1)}.hero__layout{display:grid;grid-template-columns:minmax(200px,350px) minmax(0,1fr);gap:clamp(24px,5vw,48px);align-items:center}.hero__contact-item strong{font-weight:600;color:var(--color-on-surface, #111827);margin-right:6px}.hero__media{display:flex;flex-direction:column;gap:12px;text-align:center}.hero__portrait{aspect-ratio:3 / 4;width:100%;border-radius:calc(var(--shape-lg) + 4px);padding:12px 12px 0;background:var(--color-surface-container);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .26));display:flex;align-items:center;justify-content:center;box-sizing:border-box;contain:layout style}.hero__portrait img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--shape-lg) - 4px)}.hero__caption{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-variant, #475569)}.hero__badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;padding:10px 16px;border-radius:999px;border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .28));background:#0f172a0a;color:var(--color-on-surface-variant, #475569);font-family:var(--font-mono);font-size:.82rem}.badge-title{white-space:nowrap}.badge-separator{white-space:nowrap;margin-right:.5em}.hero__badge{letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px}.hero__content h1{margin:0 0 16px;font-size:clamp(2.4rem,4.6vw,3.4rem);letter-spacing:-.02em;color:var(--color-on-surface, #101828);text-wrap:balance;line-height:1.1;min-height:1.1em}.hero__lede{font-size:1.14rem;line-height:1.7;color:var(--color-on-surface-variant, #4b5565);max-width:770px;margin:0}.hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.hero__chips span{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .26));background:var(--color-surface-container);color:var(--color-on-surface, #1c2738);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.hero__notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:clamp(24px,3vw,32px)}.hero-note{padding:18px 20px;border-radius:var(--shape-md);background:var(--hero-note-bg, rgba(15, 23, 42, .04));border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));color:var(--color-on-surface, #1c2738)}.hero-note__eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary, #0f6d96);margin-bottom:6px}.content{margin-top:24px}.section-body{max-width:var(--layout-max-width, 1200px);margin:0 auto;border-radius:var(--shape-xl);padding:clamp(28px,5vw,48px);background:var(--color-surface, #ffffff);box-shadow:var(--shadow-xs);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));transition:transform var(--transition-surface),box-shadow var(--transition-surface);box-sizing:border-box}.section{background:var(--color-surface);padding:24px 48px;scroll-margin-top:calc(var(--header-height) + 20px)}.section-body:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.section__label{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary, #0f6d96);margin-bottom:16px}.section__title{margin:0 0 16px;font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.015em;color:var(--color-on-surface, #111827)}.section__text{max-width:720px;color:var(--color-on-surface-variant, #4b5565);font-size:1.02rem;line-height:1.85}.section__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.section__controls{display:flex;align-items:center;gap:16px;font-size:.92rem;color:var(--color-on-surface-variant, #4b5565)}.section__hint{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.surface--raised{background:var(--color-background, #f2f6fb)}.grid{display:grid;gap:28px}.experience{display:grid;gap:32px}.experience__org{background:var(--color-surface, #ffffff);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .24));border-left:4px solid var(--color-primary, #0f6d96);border-radius:var(--shape-lg);padding:28px;box-shadow:var(--shadow-xs);display:grid;gap:20px}.experience__header h3{margin:0;font-size:1.4rem;letter-spacing:-.01em;color:var(--color-on-surface, #111827)}.experience__controls{display:inline-flex;flex-wrap:wrap;gap:8px;padding:6px;border-radius:var(--shape-md);background:var(--color-surface-container-high, rgba(228, 239, 246, .6));border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22))}.segment{padding:8px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--color-on-surface-variant, #4b5565);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;transition:background var(--transition-surface),color var(--transition-surface),border-color var(--transition-surface)}.segment:not(.segment--active):hover,.segment:not(.segment--active):focus{border-color:var(--color-outline, rgba(94, 106, 118, .35));color:var(--color-on-surface, #111827)}.segment--active:hover,.segment--active:focus{color:var(--color-on-primary, #fff);border-color:var(--color-primary, #0f6d96)}.segment--active{background:var(--color-primary, #0f6d96);color:var(--color-on-primary, #fff);border-color:var(--color-primary, #0f6d96)}.experience__role{display:none}.experience__role.is-active{display:block}.experience__roles{display:grid;gap:20px}.experience__role h4{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:var(--color-on-surface, #111827);display:flex;flex-wrap:wrap;gap:8px}.experience__role h4 span{font-size:.95rem;font-weight:400;color:var(--color-on-surface-variant, #4b5565)}.experience__role ul{margin:0;padding-left:20px;color:var(--color-on-surface-variant, #4b5565);line-height:1.6}@media (max-width: 720px){.experience__org{padding:24px}}.grid--spotlights{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:28px}.spotlight{padding:22px;border-radius:var(--shape-lg);background:var(--color-surface, #ffffff);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));box-shadow:var(--shadow-xs);transition:transform var(--transition-surface),border-color var(--transition-surface)}.spotlight:hover{transform:translateY(-4px);border-color:var(--color-primary, #0f6d96)}.hero__contact--print{display:none}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:24px}.skills__group{padding:22px;border-radius:var(--shape-md);background:var(--color-surface, #ffffff);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .2));transition:transform var(--transition-surface),border-color var(--transition-surface)}.skills__group:hover{transform:translateY(-4px);border-color:var(--color-primary, #0f6d96)}.skills__group h3{margin:0 0 10px;font-size:.92rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary, #0f6d96)}.skills__group ul{margin:0;padding-left:18px;color:var(--color-on-surface-variant, #4b5565);line-height:1.6}.footer{padding:60px clamp(20px,5vw,48px) 80px;background:var(--color-surface, #fff);border-top:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));box-shadow:var(--shadow-xs);margin-top:24px}.footer__content{max-width:var(--layout-max-width, 1200px);margin:0 auto;display:grid;gap:24px;color:var(--color-on-surface, #111827)}.footer__content h2{margin:0;font-size:clamp(1.9rem,4vw,2.5rem);letter-spacing:-.015em}.footer__contact{display:flex;flex-wrap:wrap;gap:16px 24px;font-family:var(--font-mono);font-size:.92rem;letter-spacing:.05em;color:var(--color-on-surface-variant, #4b5565)}.footer__link{padding:12px 18px;border-radius:999px;border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));transition:transform var(--transition-surface),border-color var(--transition-surface),color var(--transition-surface)}.footer__link:hover,.footer__link:focus{transform:translateY(-2px);border-color:var(--color-primary, #0f6d96);color:var(--color-primary, #0f6d96)}.footer__meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:.88rem;color:var(--color-on-surface-variant, #4b5565)}.footer__print{padding:10px 18px;border-radius:var(--shape-sm);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .24));transition:background var(--transition-surface),border-color var(--transition-surface),color var(--transition-surface)}.footer__print:hover,.footer__print:focus{background:var(--color-primary, #0f6d96);color:var(--color-on-primary, #fff);border-color:transparent}body[data-theme=ocean]{--color-primary: #0f6d96;--color-on-primary: #ffffff;--color-background: #f1f5fb;--color-background-overlay: linear-gradient(160deg, rgba(15, 109, 150, .04), rgba(206, 227, 244, .36));--color-on-background: #0b1c2b;--color-on-surface: #111e2f;--color-on-surface-variant: #3f5365;--color-outline: rgba(15, 109, 150, .24);--color-outline-variant: rgba(15, 109, 150, .18);--color-surface: #ffffff;--color-surface-container: #f0f5fb;--color-surface-container-high: #e6eff6;--color-surface-tonal: #d7e6f2}body[data-theme=dusk]{--color-primary: #6d4aff;--color-on-primary: #ffffff;--color-background: #f6f3ff;--color-background-overlay: linear-gradient(170deg, rgba(109, 74, 255, .05), rgba(234, 226, 255, .4));--color-on-background: #1a1238;--color-on-surface: #201437;--color-on-surface-variant: #524873;--color-outline: rgba(109, 74, 255, .22);--color-outline-variant: rgba(109, 74, 255, .16);--color-surface: #ffffff;--color-surface-container: #f3efff;--color-surface-container-high: #ece4ff;--color-surface-tonal: #e0d8ff}body[data-theme=canyon]{--color-primary: #b9441e;--color-on-primary: #ffffff;--color-background: #fef6f2;--color-background-overlay: linear-gradient(150deg, rgba(185, 68, 30, .05), rgba(255, 226, 206, .42));--color-on-background: #2b120d;--color-on-surface: #2f1812;--color-on-surface-variant: #644841;--color-outline: rgba(185, 68, 30, .2);--color-outline-variant: rgba(185, 68, 30, .14);--color-surface: #ffffff;--color-surface-container: #fdf0ea;--color-surface-container-high: #f7e3da;--color-surface-tonal: #f2d7ce}body[data-theme=willow]{--color-primary: #2c7c4f;--color-on-primary: #ffffff;--color-background: #f3faf4;--color-background-overlay: linear-gradient(160deg, rgba(44, 124, 79, .05), rgba(221, 240, 224, .4));--color-on-background: #10261b;--color-on-surface: #123524;--color-on-surface-variant: #3f5d4d;--color-outline: rgba(44, 124, 79, .2);--color-outline-variant: rgba(44, 124, 79, .14);--color-surface: #ffffff;--color-surface-container: #ecf5ee;--color-surface-container-high: #e1f0e6;--color-surface-tonal: #d2e7d7}body[data-dark-mode=true]{--color-background: #0d1117;--color-background-overlay: linear-gradient(160deg, color-mix(in srgb, var(--color-primary) 8%, transparent), rgba(21, 32, 43, .4));--color-on-background: #f0f6fc;--color-on-surface: #e6edf3;--color-on-surface-variant: #8b949e;--color-outline: color-mix(in srgb, var(--color-primary) 30%, transparent);--color-outline-variant: color-mix(in srgb, var(--color-primary) 20%, transparent);--color-surface: #161b22;--color-surface-container: #21262d;--color-surface-container-high: #30363d;--color-surface-tonal: #484f58}@media (max-width: 980px){.section{padding:12px 24px}.hero__nav-links{position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;border-radius:var(--shape-lg);background:var(--color-surface, #fff);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .28));box-shadow:var(--shadow-md);transform:scale(.95);transform-origin:top right;opacity:0;visibility:hidden;transition:opacity .24s ease,transform .24s ease}.hero__nav-links.is-open{opacity:1;visibility:visible;left:8px;right:8px;transform:scale(1)}.nav-toggle{display:inline-flex}.dark-mode-toggle--mobile{display:flex}.dark-mode-toggle--desktop{display:none}}@media (max-width: 720px){.hero{padding:32px 20px 40px}.hero__nav{margin-bottom:28px}.hero__layout{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.hero__content{max-width:100%}.hero__badge{text-align:center;justify-content:center}.hero__chips span{width:100%;justify-content:center}.hero__notes{grid-template-columns:1fr}}@media (max-width: 560px){.section__controls{flex-direction:column;align-items:flex-start}.section-body{border-radius:0;border:0;padding:0;background:unset;box-shadow:none}.section-body:hover{box-shadow:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{:root{color-scheme:light!important}body{padding-top:0!important}.no-print{display:none}.hero__content h1{line-height:100%}*{color:inherit!important}h1,h2,h3,h4,h5,h6{color:#111!important}}body.not-found-page{padding-top:0}body.not-found-page .hero{padding:0}.not-found-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:0 clamp(20px,5vw,48px)}.not-found-content{text-align:center;max-width:600px;width:100%}.not-found-error{font-size:clamp(4rem,12vw,8rem);font-weight:700;color:var(--color-primary, #0f6d96);line-height:1;margin-bottom:24px;font-family:var(--font-base)}.not-found-content h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--color-on-surface, #111827);margin:0 0 24px;line-height:1.2}.not-found-message{font-size:1.1rem;color:var(--color-on-surface-variant, #4b5565);line-height:1.6;margin-bottom:48px;max-width:480px;margin-left:auto;margin-right:auto}.not-found-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:999px;border:1px solid transparent;background:var(--color-primary, #0f6d96);color:var(--color-on-primary, #fff);font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transform:translateY(0)}.not-found-btn:hover,.not-found-btn:focus{background:var(--color-primary, #0f6d96);color:var(--color-on-primary, #fff);border-color:transparent;transform:translateY(-1px);filter:brightness(1.1)}@media (max-width: 768px){.not-found-error{font-size:clamp(3rem,10vw,6rem)}.not-found-content h1{font-size:clamp(1.5rem,4vw,2.2rem)}.not-found-message{font-size:1rem;margin-bottom:36px}}@media print{p,li,span,div{color:#444!important}body{background:#fff!important;color:#111!important;font-size:11pt;line-height:1.4;padding-top:0}body:before{display:none}@page{size:A4;margin:.6cm .9cm}.hero,.content{margin:0;padding:0;max-width:none;box-shadow:none;page-break-inside:avoid;page-break-after:avoid;background:none!important;border:none;color:#111!important}.hero__inner{max-width:none;padding:0}.hero__nav,.nav-toggle,.hero__nav-links,.print-btn,.dark-mode-toggle,.hero__chips,.hero__notes,.footer__print,.experience__controls{display:none!important}.hero__layout{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:flex-start}.hero__media{align-items:flex-start;text-align:left;margin-left:0}.hero__portrait{width:110px;padding:0;border:0px;background:none;box-shadow:none}.hero__portrait img{border-radius:4px}.hero__caption{margin-top:6px;font-size:9pt;color:#333}.section__label{margin-top:16px}.section-body{margin:0;padding:0;border:none;box-shadow:unset;background:none}.section-body:hover{box-shadow:unset;transform:unset}.hero__badge{font-size:9pt;padding:4px 8px;border:1px solid #999;margin:12px 0;background:none;box-shadow:none}.experience__org{page-break-inside:avoid;break-inside:avoid;display:block}.experience__org+.experience__org{page-break-before:auto}.experience__header{margin-bottom:16px}.hero__content{text-align:left}.hero__content h1{font-size:20pt;margin:0 0 6px;color:#111!important}.hero__contact--print{display:block;font-size:10pt;line-height:1.3;margin-bottom:6px}.hero__contact--print .hero__contact-item{margin:0}.hero__contact--print .hero__contact-item strong{font-weight:600}.hero__lede{font-size:10.5pt;line-height:1.35;margin-bottom:6px;color:#444!important}.experience{gap:10px}.experience__org{border:none;border-radius:0;padding:0 0 6px;box-shadow:none;background:none!important;color:#111!important}.experience__header h3{font-size:14pt;margin-bottom:4px;color:#111!important}.experience__role h4{font-size:11.5pt;margin-bottom:4px;color:#111!important}.experience__role h4 span{font-size:10.5pt;color:#444!important}.experience__role{display:block!important}.experience__role ul{margin:0 0 6px;padding-left:16px;color:#444!important}.content{padding:0}.section{margin:0;padding:0 0 8px;border:none;border-radius:0;box-shadow:none;background:none!important;color:#111!important}.section__title{font-size:16pt;margin-bottom:6px;display:none;color:#111!important}.section__text{font-size:11pt;line-height:1.5;margin-bottom:8px;color:#444!important}.skills{gap:16px}.skills__group{padding:0;border:none;box-shadow:none;background:none!important;color:#111!important}.skills__group h3{color:#111!important}.skills__group ul{color:#444!important}.footer{display:none!important}.section,.skills__group{break-inside:avoid;page-break-inside:avoid}}@media (max-width: 1020px) and (min-width: 720px){.skills{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skills__group:last-child{grid-column:1 / -1}.skills__group:last-child ul{column-count:3;column-gap:18px;list-style-type:disc;list-style-position:inside;padding-left:0;margin:0}.experience__controls .segment{font-size:0}.experience__controls .segment:before{content:attr(data-short);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;display:inline-block;color:inherit}}@media (max-width: 719px){.skills__group:last-child ul{column-count:1}.experience__controls .segment{font-size:0}.experience__controls .segment:before{content:attr(data-short);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;display:inline-block;color:inherit}}.hero__nav--standalone{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:clamp(24px,3vw,40px);background:var(--hero-section-bg, var(--color-surface, #ffffff));border-bottom:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));box-shadow:var(--shadow-xs);padding:16px clamp(20px,5vw,48px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.blog-container{max-width:var(--layout-max-width, 1200px);margin:0 auto;padding:calc(var(--header-height) + clamp(32px,5vw,48px)) clamp(20px,5vw,48px) 60px}.blog-container h1{margin:0 0 16px;font-size:clamp(2.4rem,4.6vw,3.4rem);letter-spacing:-.02em;color:var(--color-on-surface, #101828);text-wrap:balance;line-height:1.1}.blog-description{font-size:1.14rem;line-height:1.7;color:var(--color-on-surface-variant, #4b5565);max-width:770px;margin:0 0 32px}.blog-filters{margin-bottom:32px}.tag-filter{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.tag-filter span{font-family:var(--font-mono);font-size:.9rem;color:var(--color-on-surface-variant, #4b5565)}.tag-buttons{display:flex;flex-wrap:wrap;gap:8px}.tag-button{padding:6px 14px;border-radius:999px;border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .26));background:var(--color-surface-container, rgba(15, 23, 42, .04));color:var(--color-on-surface-variant, #4b5565);font-size:.82rem;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-surface)}.tag-button:hover,.tag-button:focus{border-color:var(--color-primary, #0f6d96);color:var(--color-primary, #0f6d96);transform:translateY(-1px)}.tag-button.active{background:var(--color-primary, #0f6d96);color:var(--color-on-primary, #fff);border-color:var(--color-primary, #0f6d96)}.blog-posts{display:grid;gap:32px}.blog-post-card{padding:32px;border-radius:var(--shape-lg);background:var(--color-surface, #ffffff);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));box-shadow:var(--shadow-xs);transition:transform var(--transition-surface),box-shadow var(--transition-surface)}.blog-post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.blog-post-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px;font-family:var(--font-mono);font-size:.82rem;color:var(--color-on-surface-variant, #4b5565)}.reading-time{display:flex;align-items:center;gap:4px}.blog-post-card h2{margin:0 0 16px;font-size:1.8rem;line-height:1.3;color:var(--color-on-surface, #111827)}.blog-post-link{color:inherit;text-decoration:none;transition:color var(--transition-surface)}.blog-post-link:hover,.blog-post-link:focus{color:var(--color-primary, #0f6d96)}.blog-post-excerpt{font-size:1.1rem;line-height:1.6;color:var(--color-on-surface-variant, #4b5565);margin:0 0 20px}.blog-post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.blog-post-tags .tag{padding:4px 12px;border-radius:999px;background:var(--color-surface-container, rgba(15, 23, 42, .04));color:var(--color-on-surface-variant, #4b5565);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.read-more{color:var(--color-primary, #0f6d96);text-decoration:none;font-weight:600;transition:color var(--transition-surface)}.read-more:hover,.read-more:focus{color:var(--color-primary, #0f6d96);text-decoration:underline}.no-posts{text-align:center;padding:60px 20px;color:var(--color-on-surface-variant, #4b5565)}.blog-post-container{max-width:var(--layout-max-width, 1200px);margin:0 auto;padding:calc(var(--header-height) + 32px) clamp(20px,5vw,48px) 60px}.blog-post{border-radius:var(--shape-xl);padding:clamp(28px,5vw,48px);background:var(--color-surface, #ffffff);box-shadow:var(--shadow-xs);border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22));transition:transform var(--transition-surface),box-shadow var(--transition-surface);box-sizing:border-box}.blog-post-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22))}.blog-post-header h1{margin:0 0 16px;font-size:clamp(2.2rem,4vw,2.8rem);line-height:1.2;color:var(--color-on-surface, #111827)}.blog-post-author{font-family:var(--font-mono);font-size:.9rem;color:var(--color-on-surface-variant, #4b5565);margin-top:8px}.blog-post-content{line-height:1.7;color:var(--color-on-surface, #111827)}.blog-post-content h1,.blog-post-content h2,.blog-post-content h3,.blog-post-content h4,.blog-post-content h5,.blog-post-content h6{margin-top:32px;margin-bottom:16px;line-height:1.3;color:var(--color-on-surface, #111827)}.blog-post-content h1{font-size:2.2rem}.blog-post-content h2{font-size:1.8rem}.blog-post-content h3{font-size:1.5rem}.blog-post-content p{margin-bottom:16px}.blog-post-content ul,.blog-post-content ol{margin-bottom:16px;padding-left:24px}.blog-post-content li{margin-bottom:8px}.blog-post-content blockquote{margin:24px 0;padding:16px 24px;border-left:4px solid var(--color-primary, #0f6d96);background:var(--color-surface-container, rgba(15, 23, 42, .04));color:var(--color-on-surface-variant, #4b5565);font-style:italic}.blog-post-content code{background:var(--color-surface-container, rgba(15, 23, 42, .04));padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;color:var(--color-primary, #0f6d96)}.blog-post-content pre{margin:24px 0;padding:16px;border-radius:var(--shape-md);background:var(--color-surface-container-high, rgba(15, 23, 42, .08));overflow-x:auto;border:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22))}.blog-post-content pre code{background:none;padding:0;color:inherit}.blog-post-content a{color:var(--color-primary, #0f6d96);text-decoration:none}.blog-post-content a:hover,.blog-post-content a:focus{text-decoration:underline}.blog-post-content img{max-width:100%;height:auto;border-radius:var(--shape-md);margin:24px 0}.blog-post-content hr{margin:32px 0;border:none;border-top:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22))}.blog-post-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--color-outline-variant, rgba(148, 163, 184, .22))}.back-to-blog{color:var(--color-primary, #0f6d96);text-decoration:none;font-weight:600;transition:color var(--transition-surface)}.back-to-blog:hover,.back-to-blog:focus{color:var(--color-primary, #0f6d96);text-decoration:underline}@media (max-width: 768px){.blog-post-card,.blog-post{padding:24px}.blog-post-header h1{font-size:2rem}.blog-post-content h1{font-size:1.8rem}.blog-post-content h2{font-size:1.5rem}.blog-post-content h3{font-size:1.3rem}}
