html,body{height:100%;min-height:100%}#root{min-height:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);line-height:var(--line-height-body);color:var(--color-text-primary);background:var(--color-bg);overflow-x:hidden}h1,h2{line-height:var(--line-height-heading);letter-spacing:var(--tracking-tight)}h3,h4{line-height:var(--line-height-heading-sm)}.section{--stack-gap: var(--section-stack-gap);padding:var(--section-pad-y) 0}.section+.section{border-top:1px solid var(--color-border-subtle);padding-top:max(var(--space-8),calc(var(--section-pad-y) - var(--space-2)))}.section h2:not(.ui-heading){margin:0 0 var(--heading-mb)}.section h3:not(.ui-heading){margin:0 0 var(--heading-gap)}.section h2:not(.ui-heading)+p:not(.ui-text){margin:0 0 var(--space-8);max-width:var(--lede-max);color:var(--color-text-muted);line-height:var(--line-height-body-loose)}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:767px){.section{--stack-gap: var(--section-content-gap)}}@media(max-width:480px){.section{padding:var(--section-pad-y-mobile) 0}.section+.section{padding-top:var(--section-pad-y-mobile)}}.ui-heading{margin:0}.ui-heading--tone-default{color:var(--color-text)}.ui-heading--tone-muted{color:var(--color-text-muted)}.ui-heading--size-sm{font-size:var(--font-size-heading-6);line-height:var(--line-height-heading-sm)}.ui-heading--size-md{font-size:var(--font-size-heading-5);line-height:var(--line-height-heading-sm)}.ui-heading--size-lg{font-size:var(--font-size-heading-4);line-height:var(--line-height-heading-sm)}.ui-heading--size-xl{font-size:var(--font-size-heading-3);line-height:var(--line-height-heading-sm)}.ui-heading--size-2xl{font-size:var(--font-size-heading-2);line-height:var(--line-height-heading)}.ui-heading--size-3xl{font-size:var(--font-size-heading-1);line-height:var(--line-height-heading)}.ui-heading--size-display{font-size:var(--font-size-display);line-height:var(--line-height-display)}.ui-heading--weight-regular{font-weight:400}.ui-heading--weight-semibold{font-weight:600}.ui-heading--weight-bold{font-weight:700}.ui-heading--tracking-normal{letter-spacing:normal}.ui-heading--tracking-tight{letter-spacing:var(--tracking-tight)}.ui-text{margin:0;line-height:var(--line-height-body)}.ui-text--tone-default{color:var(--color-text)}.ui-text--tone-muted{color:var(--color-text-muted)}.ui-text--size-xs{font-size:var(--font-size-caption)}.ui-text--size-sm{font-size:var(--font-size-body-sm)}.ui-text--size-md{font-size:var(--font-size-body-md)}.ui-text--size-lg{font-size:var(--font-size-body-lg)}.ui-text--weight-regular{font-weight:400}.ui-text--weight-medium{font-weight:500}.ui-text--weight-semibold{font-weight:600}.ui-text--tracking-normal{letter-spacing:normal}.ui-text--tracking-tight{letter-spacing:var(--tracking-tight-sm)}.ui-text--kind-meta,.ui-text--kind-caption{line-height:var(--line-height-meta)}.ui-text--kind-eyebrow{text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.ui-link{display:inline-flex;align-items:center;gap:var(--space-1);line-height:1.4;color:var(--link-color);text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,var(--link-color) 42%,transparent);border-radius:var(--radius-sm);transition:color var(--motion-duration-fast) var(--motion-ease-standard),text-decoration-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.ui-link:hover{color:var(--link-color-hover);text-decoration-color:color-mix(in srgb,var(--link-color-hover) 55%,transparent)}.ui-link:active{color:var(--link-color-active)}.ui-link:focus-visible{outline:none;box-shadow:var(--link-focus-ring-shadow)}.ui-link--sm{font-size:var(--font-size-sm)}.ui-link--md{font-size:var(--font-size-base);font-weight:500}.ui-link--lg{font-size:var(--font-size-lg)}.ui-link--muted{color:var(--color-text-muted);font-weight:400;text-decoration-color:color-mix(in srgb,var(--color-text-muted) 40%,transparent)}.ui-link--muted:hover{color:var(--color-text);text-decoration-color:color-mix(in srgb,var(--color-text) 50%,transparent)}.ui-link--unstyled{color:inherit;text-decoration:none;font-weight:inherit}.ui-link--unstyled:hover,.ui-link--unstyled:active{color:inherit}.ui-link.is-disabled{color:var(--color-text-muted);text-decoration:none;cursor:not-allowed;opacity:var(--control-disabled-opacity);pointer-events:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.ui-link{transition:none}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--control-px-md);border-radius:var(--radius-pill);border:1px solid transparent;font:inherit;font-size:var(--control-font-size-md);font-weight:var(--button-font-weight);line-height:1.1;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.ui-button:hover{text-decoration:none}.ui-button:focus-visible{outline:none;box-shadow:var(--button-focus-ring-shadow)}.ui-button:hover:not(:disabled):not(.is-disabled){transform:translateY(-1px)}.ui-button:active{transform:translateY(var(--button-active-translate-y))}.ui-button--sm{min-height:var(--control-height-sm);padding:0 var(--control-px-sm);font-size:var(--control-font-size-sm)}.ui-button--lg{min-height:var(--control-height-lg);padding:0 var(--control-px-lg);font-size:var(--control-font-size-lg)}.ui-button--full{width:100%}.ui-button--primary{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-text)}.ui-button--primary:hover{background:var(--button-primary-bg-hover);box-shadow:var(--shadow-soft)}.ui-button--primary:active{background:var(--button-primary-bg-active)}.ui-button--secondary{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.ui-button--secondary:hover{background:var(--button-secondary-bg-hover);border-color:color-mix(in srgb,var(--color-accent) 55%,transparent)}.ui-button--secondary:active{background:var(--button-secondary-bg-active)}.ui-button--text{min-height:var(--control-height-sm);padding:0 var(--space-2);border-color:var(--button-text-border);background:var(--button-text-bg);color:var(--button-text);border-radius:var(--radius-sm);box-shadow:none;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--button-text) 35%,transparent);text-underline-offset:.14em}.ui-button--text:hover{background:var(--button-text-bg-hover);text-decoration-color:color-mix(in srgb,var(--button-text) 62%,transparent)}.ui-button--text:active{background:var(--button-text-bg-active);transform:none}.ui-button:disabled,.ui-button.is-disabled{opacity:var(--control-disabled-opacity);cursor:not-allowed;transform:none;box-shadow:none;pointer-events:none}@media(prefers-reduced-motion:reduce){.ui-button{transition:none}.ui-button:active{transform:none}}.ui-cluster{display:flex;flex-wrap:wrap}.ui-cluster--align-start{align-items:flex-start}.ui-cluster--align-center{align-items:center}.ui-cluster--align-end{align-items:flex-end}.ui-cluster--align-baseline{align-items:baseline}.ui-cluster--justify-start{justify-content:flex-start}.ui-cluster--justify-center{justify-content:center}.ui-cluster--justify-end{justify-content:flex-end}.ui-cluster--justify-between{justify-content:space-between}.ui-cluster--gap-1{gap:var(--space-1)}.ui-cluster--gap-2{gap:var(--space-2)}.ui-cluster--gap-3{gap:var(--space-3)}.ui-cluster--gap-4{gap:var(--space-4)}.ui-cluster--gap-6{gap:var(--space-6)}.section-action-group{width:auto;column-gap:var(--cta-row-gap-loose);row-gap:var(--cta-row-gap)}.section-header{width:100%;max-width:42rem}.section-header__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-size:var(--font-size-xs)}.section-header__name{margin:0;font-size:var(--font-size-sm);color:color-mix(in srgb,var(--color-accent) 72%,var(--color-text))}.section-header__title{margin:0;max-width:36rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.025em;color:var(--color-text)}.section-header__lead{margin:0;max-width:39rem;line-height:1.48;color:color-mix(in srgb,var(--color-text) 90%,var(--color-accent))}.section-header__body{margin:0;max-width:40rem;line-height:1.65}.section-header .section-action-group{margin-top:var(--space-2)}@media(max-width:900px){.section-header,.section-header__title{max-width:100%}}@media(max-width:640px){.section-header__title{font-size:clamp(1.7rem,6.4vw,2.35rem);line-height:1.12}.section-header__lead{font-size:var(--font-size-base)}}.proof-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2);max-width:40rem}.proof-list li{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--space-2);margin:0;padding:var(--space-2) 0;border-top:1px solid color-mix(in srgb,var(--color-border-subtle) 80%,transparent);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}.proof-list li:first-child{border-top:0}.proof-list li:before{content:"";width:.42rem;height:.42rem;margin-top:.38rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-accent) 70%,transparent)}.section-media-frame{display:flex;justify-content:center;align-items:center;width:100%;margin:0;padding:var(--space-2);border-radius:calc(var(--radius-lg) + var(--space-1));border:1px solid color-mix(in srgb,var(--color-border-subtle) 95%,transparent);background:color-mix(in srgb,var(--color-surface) 96%,var(--color-bg))}.section-media-frame__asset{width:100%;border:1px solid var(--color-border-subtle);background:var(--color-surface);object-fit:cover;display:block;box-shadow:var(--shadow-soft)}.section-media-frame--avatar .section-media-frame__asset{width:clamp(220px,32vw,320px);aspect-ratio:1 / 1;border-radius:var(--radius-pill)}.section-media-frame--image .section-media-frame__asset{max-width:560px;aspect-ratio:5 / 4;border-radius:var(--radius-lg)}@media(max-width:640px){.section-media-frame{padding:var(--space-1)}.section-media-frame--image .section-media-frame__asset{aspect-ratio:4 / 3}}.section-hero{background:transparent}.hero-layout{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(290px,.84fr);gap:clamp(var(--space-6),4.2vw,var(--space-12));align-items:center;background:transparent}.hero-layout--text-only{grid-template-columns:1fr}.hero-content{min-width:0;max-width:44rem}.hero-media{width:100%;justify-self:end;align-self:center}.hero-media--avatarImage{max-width:320px}.hero-media--heroImage{max-width:540px}.section-hero .proof-list{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid color-mix(in srgb,var(--color-border-subtle) 90%,transparent)}.section-hero .section-action-group .ui-button{min-width:10.25rem}.section-hero .section-action-group{row-gap:var(--cta-row-gap);column-gap:var(--cta-row-gap-loose)}.section-hero .section-action-group .ui-button--text{min-width:0;padding-inline:var(--space-2)}.hero-media .section-media-frame__asset{transition:transform var(--motion-duration-base) var(--motion-ease-standard),box-shadow var(--motion-duration-base) var(--motion-ease-standard)}.hero-layout:hover .hero-media .section-media-frame__asset,.hero-layout:focus-within .hero-media .section-media-frame__asset{transform:translateY(-1px);box-shadow:var(--shadow-soft-strong)}@media(max-width:1024px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(250px,.72fr);gap:clamp(var(--space-6),3.2vw,var(--space-8))}.hero-media--heroImage{max-width:460px}}@media(max-width:820px){.hero-layout{grid-template-columns:1fr}.hero-media{justify-self:start;max-width:100%;margin-top:var(--space-2)}.hero-media--avatarImage{max-width:min(100%,290px)}.hero-media--heroImage{max-width:min(100%,520px)}}@media(max-width:640px){.hero-content{max-width:min(100%,40rem)}.section-hero .section-action-group{width:100%}.section-hero .section-action-group .ui-button{width:fit-content;min-width:0}}@media(max-width:480px){.hero-content{max-width:100%}.section-hero .section-action-group .ui-button{width:100%}}@media(prefers-reduced-motion:reduce){.hero-media .section-media-frame__asset{transition:none}}.ui-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.ui-card--sm{padding:var(--card-pad-sm)}.ui-card--md{padding:var(--card-pad-md)}.ui-card--lg{padding:var(--card-pad-lg)}.ui-card--subtle{background:var(--color-surface-2);box-shadow:none}.ui-card--elevated{box-shadow:var(--shadow-soft-strong)}.ui-card--interactive{cursor:pointer}.ui-card--interactive:hover{border-color:#0b2a6f38;box-shadow:var(--shadow-soft-strong);transform:translateY(-1px)}.ui-card--interactive:active{transform:translateY(1px)}.ui-card--interactive:focus-within{outline:none;border-color:color-mix(in srgb,var(--color-accent) 42%,transparent);box-shadow:var(--card-focus-ring-shadow)}@media(prefers-reduced-motion:reduce){.ui-card{transition:none}.ui-card--interactive:active{transform:none}}.ui-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1px solid transparent;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.ui-badge--sm{min-height:1.25rem;padding:0 var(--space-2);font-size:.65rem}.ui-badge--md{min-height:1.5rem;padding:0 var(--space-3);font-size:var(--font-size-xs)}.ui-badge--default{background:var(--color-surface-2);color:var(--color-text);border-color:#1118271f}.ui-badge--muted{background:#1118270f;color:var(--color-text-muted);border-color:transparent}.ui-badge--success{background:var(--color-success-bg);color:var(--color-success-text);border-color:color-mix(in srgb,var(--color-success-border) 68%,transparent)}.ui-badge--warning{background:var(--color-warn-bg);color:var(--color-warn-text);border-color:color-mix(in srgb,var(--color-warn-border) 68%,transparent)}.ui-inline{display:flex}.ui-inline--align-start{align-items:flex-start}.ui-inline--align-center{align-items:center}.ui-inline--align-end{align-items:flex-end}.ui-inline--align-stretch{align-items:stretch}.ui-inline--align-baseline{align-items:baseline}.ui-inline--justify-start{justify-content:flex-start}.ui-inline--justify-center{justify-content:center}.ui-inline--justify-end{justify-content:flex-end}.ui-inline--justify-between{justify-content:space-between}.ui-inline--gap-1{gap:var(--space-1)}.ui-inline--gap-2{gap:var(--space-2)}.ui-inline--gap-3{gap:var(--space-3)}.ui-inline--gap-4{gap:var(--space-4)}.ui-inline--gap-6{gap:var(--space-6)}.ui-inline--gap-8{gap:var(--space-8)}.ui-inline--wrap{flex-wrap:wrap}.timeline{width:100%}.timeline-header{width:100%;max-width:44rem}.timeline-eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:var(--font-size-xs)}.timeline-intro{margin:0;color:var(--color-text-muted);max-width:var(--lede-max);line-height:var(--line-height-body-loose)}.timeline-list{display:grid;gap:clamp(var(--space-6),3.2vw,var(--space-8));padding:0;margin:0;list-style:none;grid-template-columns:1fr}.timeline-item{display:grid;gap:var(--space-4);grid-template-columns:1fr;align-items:start}.timeline-item__content,.timeline-item__media{width:100%}.timeline-item__media{display:flex;justify-content:center}.timeline-card{display:block}.timeline-card__header{display:inline-flex;align-items:flex-start;gap:var(--text-flow-gap-tight);flex-wrap:wrap}.timeline-card__title{margin:0;overflow-wrap:anywhere}.timeline-context{color:var(--color-text)}.timeline-date{letter-spacing:-.01em}.timeline-card__highlights{margin:0;padding-left:calc(var(--space-4) + var(--space-1));color:var(--color-text);line-height:1.5;max-width:68ch}.timeline-summary{max-width:65ch;overflow-wrap:anywhere}.timeline-card__media{display:flex;justify-content:center}.timeline-card__media-frame{width:100%;max-width:28rem;aspect-ratio:4 / 3;background:var(--color-surface);border-radius:calc(var(--radius-lg) + 4px);border:1px solid var(--color-border-subtle);padding:var(--space-4);display:flex;justify-content:center}.timeline-card__media-frame img{width:100%;height:100%;display:block;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background:var(--color-surface)}.timeline-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.timeline-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:.25rem .6rem;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.3}.timeline-action{margin-top:var(--space-2);display:inline-flex}.timeline-empty{margin:0;padding:var(--space-4);border:1px solid color-mix(in srgb,var(--color-border-subtle) 95%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-bg));color:var(--color-text-muted)}@media(max-width:639px){.timeline-item{grid-template-columns:1fr;gap:var(--space-4)}.timeline-item--flip .timeline-item__content,.timeline-item--flip .timeline-item__media{order:0}.timeline-card__media-frame{width:100%;max-width:28rem;padding:var(--space-3)}}@media(min-width:640px){.timeline-item{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(var(--space-4),2.5vw,var(--space-8));align-items:center}.timeline-item__media{justify-self:stretch}.timeline-item--flip .timeline-item__content{order:2}.timeline-item--flip .timeline-item__media{order:1}.timeline-card__media-frame{width:clamp(17rem,42vw,24rem);max-width:none;padding:var(--space-3)}}@media(min-width:768px){.timeline-list{grid-template-columns:1fr;justify-items:stretch}.timeline-item{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(var(--space-6),2.8vw,var(--space-10));align-items:center}.timeline-item__media{justify-self:stretch}.timeline-card__media-frame{width:clamp(18rem,40vw,22rem);padding:var(--space-4)}}@media(min-width:1024px){.timeline-item{gap:var(--space-10)}.timeline-item--flip .timeline-item__content{order:2}.timeline-item--flip .timeline-item__media{order:1}}.ui-grid{display:grid}.ui-grid--cols-1{grid-template-columns:1fr}.ui-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-grid--cols-auto-fit{grid-template-columns:repeat(auto-fit,minmax(var(--ui-grid-min-item),1fr))}.ui-grid--min-220{--ui-grid-min-item: 220px}.ui-grid--min-260{--ui-grid-min-item: 260px}.ui-grid--min-280{--ui-grid-min-item: 280px}.ui-grid--min-320{--ui-grid-min-item: 320px}.ui-grid--gap-2{gap:var(--space-2)}.ui-grid--gap-3{gap:var(--space-3)}.ui-grid--gap-4{gap:var(--space-4)}.ui-grid--gap-6{gap:var(--space-6)}.ui-grid--gap-8{gap:var(--space-8)}.ui-grid--align-start{align-items:flex-start}.ui-grid--align-center{align-items:center}.ui-grid--align-stretch{align-items:stretch}.skills-layout,.skills-header,.skills-grid{width:100%}.skills-layout{max-width:72rem}.skills-eyebrow{text-transform:uppercase;letter-spacing:.08em}.skills-intro{margin:0;max-width:var(--lede-max)}.skills-group{width:100%}.skills-group__label{margin:0;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.skills-group__description{margin:0;max-width:60ch}.skills-group__rows{margin-top:var(--space-1);border-top:1px solid var(--color-border-subtle)}.skills-row{padding:var(--space-3) 0}.skills-row+.skills-row{border-top:1px solid var(--color-border-subtle)}.skills-row__header{width:100%}.skills-row__name{color:var(--color-text);overflow-wrap:anywhere}.skills-row__level{white-space:nowrap}.skills-row__keywords{margin:var(--space-2) 0 0;overflow-wrap:anywhere}.skills-group__empty,.skills-empty{margin:0;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted)}@media(max-width:767px){.skills-grid{grid-template-columns:1fr;gap:var(--space-6)}}.projects-section{width:100%;display:grid;gap:var(--section-content-gap)}.projects-section__header{width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.projects-section__header-content{min-width:min(100%,34rem);max-width:42rem}.projects-section__eyebrow{text-transform:uppercase;letter-spacing:.08em}.projects-section__intro{margin:0;max-width:var(--lede-max)}.projects-section__controls{flex-shrink:0}.projects-section__viewport{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2)}.projects-section__viewport--single{overflow:visible}.projects-section__track{display:flex;gap:var(--grid-gap-default);align-items:stretch;width:max-content;min-width:100%}.projects-section__track--single{width:100%}.projects-section__slide{--project-slide-width: clamp(17rem, 86vw, 22rem);flex:0 0 var(--project-slide-width);scroll-snap-align:start}.projects-section__track--single .projects-section__slide{--project-slide-width: min(100%, 44rem)}.projects-section__card{height:100%;border-color:color-mix(in srgb,var(--color-border-subtle) 95%,transparent);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-bg));transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.projects-section__card-content{min-height:100%}.projects-section__slide:hover .projects-section__card,.projects-section__slide:focus-within .projects-section__card{border-color:color-mix(in srgb,var(--color-accent) 22%,transparent);box-shadow:var(--shadow-soft-strong);transform:translateY(-1px)}.projects-section__media-frame{width:100%;border-radius:calc(var(--radius-lg) + 2px);border:1px solid var(--color-border-subtle);background:var(--color-surface);overflow:hidden;aspect-ratio:16 / 9}.projects-section__media-placeholder{width:100%;aspect-ratio:16 / 9;border-radius:calc(var(--radius-lg) + 2px);border:1px solid var(--color-border-subtle);background:linear-gradient(150deg,color-mix(in srgb,var(--color-accent-soft) 35%,transparent),transparent 52%),var(--color-surface-2);display:grid;place-items:center}.projects-section__media-placeholder>span{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--color-border-subtle) 90%,transparent);background:color-mix(in srgb,var(--color-surface) 92%,transparent);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:500}.projects-section__media-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--motion-duration-base) var(--motion-ease-standard)}.projects-section__slide:hover .projects-section__media-frame img,.projects-section__slide:focus-within .projects-section__media-frame img{transform:scale(1.02)}.projects-section__featured{display:inline-flex}.projects-section__title{margin:0;line-height:1.25;overflow-wrap:anywhere}.projects-section__tagline{margin:0;color:color-mix(in srgb,var(--color-text) 88%,var(--color-accent));line-height:1.45;overflow-wrap:anywhere}.projects-section__summary{margin:0;max-width:64ch;line-height:1.62;overflow-wrap:anywhere}.projects-section__highlights{margin:0;padding-left:1.1rem;display:grid;gap:var(--space-2);color:var(--color-text-muted)}.projects-section__meta{width:100%;margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid color-mix(in srgb,var(--color-border-subtle) 92%,transparent)}.projects-section__chips,.projects-section__actions{width:100%}.projects-section__actions{margin-top:auto;padding-top:var(--space-2);row-gap:var(--cta-row-gap);column-gap:var(--cta-row-gap-loose);border-top:1px solid color-mix(in srgb,var(--color-border-subtle) 92%,transparent);justify-content:flex-start}.projects-section__actions .ui-button--text{font-weight:600}.projects-section__status{margin:0;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-bg));color:var(--color-text-muted)}@media(min-width:640px){.projects-section__slide{--project-slide-width: clamp(21rem, 72vw, 27rem)}}@media(max-width:767px){.projects-section__header{align-items:flex-start;gap:var(--space-3)}.projects-section__controls{width:100%;justify-content:flex-start}.projects-section__track{gap:var(--space-3)}}@media(max-width:480px){.projects-section__slide{--project-slide-width: clamp(15.75rem, 90vw, 20.5rem)}.projects-section__status{padding:var(--space-3)}}@media(min-width:768px){.projects-section{gap:var(--space-8)}.projects-section__track{gap:var(--grid-gap-wide)}}@media(min-width:1024px){.projects-section__slide{--project-slide-width: clamp(22rem, 48vw, 31rem)}.projects-section__summary{max-width:60ch}}@media(prefers-reduced-motion:reduce){.projects-section__viewport,.projects-section__card,.projects-section__media-frame img{scroll-behavior:auto;transition:none}}.learning-roadmap{width:100%;display:grid;gap:var(--space-4)}.learning-roadmap__step{display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);align-items:start;min-width:0}.learning-roadmap__rail{width:3.5rem;display:grid;grid-template-rows:auto auto 1fr;align-items:center;justify-items:center;align-content:start;gap:var(--space-2)}.learning-roadmap__label{text-transform:uppercase;letter-spacing:.08em;text-align:center;max-width:3.5rem}.learning-roadmap__marker{min-width:1.5rem;min-height:1.5rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);background:var(--color-surface-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center}.learning-roadmap__line{width:2px;min-height:var(--space-10);flex:1;border-radius:var(--radius-pill);background:var(--color-border-subtle)}.learning-roadmap__step--exploring .learning-roadmap__marker{background:color-mix(in srgb,var(--color-surface-2) 90%,transparent);color:var(--color-text-muted)}.learning-roadmap__step--practicing .learning-roadmap__marker{background:var(--color-warn-bg);color:var(--color-warn-text);border-color:color-mix(in srgb,var(--color-warn-border) 68%,transparent)}.learning-roadmap__step--shipping .learning-roadmap__marker{background:var(--color-success-bg);color:var(--color-success-text);border-color:color-mix(in srgb,var(--color-success-border) 68%,transparent)}.learning-roadmap__step--practicing .learning-roadmap__line{background:color-mix(in srgb,var(--color-warn-border) 55%,transparent)}.learning-roadmap__step--shipping .learning-roadmap__line{background:color-mix(in srgb,var(--color-success-border) 60%,transparent)}.learning-roadmap__step--next-up .learning-roadmap__label{color:var(--color-accent)}.learning-roadmap__step--next-up .learning-roadmap__marker{border-color:color-mix(in srgb,var(--color-accent) 50%,transparent)}.learning-roadmap__step--next-up .learning-roadmap__card{border-color:color-mix(in srgb,var(--color-accent) 24%,transparent);box-shadow:var(--shadow-soft-strong)}.learning-roadmap__card{height:100%}.learning-roadmap__card-content{width:100%;display:grid;gap:var(--space-3)}.learning-roadmap__header{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.learning-roadmap__header .ui-heading{margin:0;min-width:0;max-width:100%;overflow-wrap:anywhere}.learning-roadmap__header-badges{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.learning-roadmap__description{margin:0;max-width:64ch;overflow-wrap:anywhere}.learning-roadmap__focus-areas{display:flex;flex-wrap:wrap;gap:var(--space-2)}.learning-roadmap__focus-areas .ui-badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;justify-content:flex-start}.learning-roadmap__action{width:fit-content;margin-top:var(--space-1);overflow-wrap:anywhere}@media(min-width:48rem){.learning-roadmap{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.learning-roadmap__description{max-width:none}}@media(min-width:80rem){.learning-roadmap{display:flex;gap:var(--space-3);align-items:stretch}.learning-roadmap__step{flex:1 1 0;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--space-2)}.learning-roadmap__rail{width:100%;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;justify-items:start;column-gap:var(--space-2);row-gap:var(--space-1)}.learning-roadmap__label{grid-column:1;grid-row:1;text-align:left;max-width:none}.learning-roadmap__marker{grid-column:1;grid-row:2}.learning-roadmap__line{grid-column:2;grid-row:2;width:100%;min-height:0;min-width:0;height:2px}.learning-roadmap__card-content{gap:var(--space-4)}.learning-roadmap__description{max-width:40ch}}@media(min-width:96rem){.learning-roadmap{gap:var(--space-4)}.learning-roadmap__step{gap:var(--space-3)}.learning-roadmap__rail{column-gap:var(--space-3)}.learning-roadmap__description{max-width:44ch}}@media(max-width:639px){.learning-roadmap__rail{width:3rem}.learning-roadmap__label{max-width:3rem;font-size:var(--font-size-xs)}}.section-learning{--learning-roadmap-surface-pad: var(--space-4)}.learning-layout,.learning-header{width:100%}.learning-layout{max-width:100%}.learning-eyebrow{text-transform:uppercase;letter-spacing:.08em}.learning-intro{margin:0;max-width:var(--lede-max)}.learning-header{max-width:44rem}.learning-roadmap-surface{width:100%;padding:var(--learning-roadmap-surface-pad);border:1px solid color-mix(in srgb,var(--color-border-subtle) 95%,transparent);border-radius:calc(var(--radius-lg) + 2px);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-bg))}.learning-empty{margin:0;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-bg));color:var(--color-text-muted)}@media(min-width:80rem){.section-learning{--content-max: 76rem;--learning-roadmap-surface-pad: var(--space-5)}}@media(min-width:96rem){.section-learning{--content-max: 88rem;--learning-roadmap-surface-pad: clamp( var(--space-5), calc(var(--space-4) + 1vw), var(--space-6) )}}@media(max-width:640px){.section-learning{--learning-roadmap-surface-pad: var(--space-3)}}@media(max-width:480px){.section-learning{--learning-roadmap-surface-pad: var(--space-2)}.learning-empty{padding:var(--space-3)}}.contact-layout,.contact-header,.contact-actions,.contact-links{width:100%}.contact-layout{max-width:48rem}.contact-header{max-width:42rem}.contact-intro{margin:0;max-width:var(--lede-max);color:var(--color-text-muted)}.contact-actions{padding:clamp(var(--space-3),2.4vw,var(--space-4));border:1px solid color-mix(in srgb,var(--color-border-subtle) 95%,transparent);border-radius:calc(var(--radius-lg) + 2px);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-bg))}.contact-email{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;font-weight:600;font-size:var(--font-size-lg)}.contact-email:after{content:"->";font-size:var(--font-size-sm);color:color-mix(in srgb,var(--color-accent) 78%,var(--color-text-muted))}.contact-links{padding-top:var(--space-2);row-gap:var(--cta-row-gap);column-gap:var(--cta-row-gap-loose);border-top:1px solid color-mix(in srgb,var(--color-border-subtle) 92%,transparent)}.contact-link-chip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--color-border-subtle) 95%,transparent);background:color-mix(in srgb,var(--color-surface) 95%,transparent)}.contact-link-chip:hover{border-color:color-mix(in srgb,var(--color-accent) 28%,transparent);background:color-mix(in srgb,var(--color-accent-soft) 35%,var(--color-surface))}.contact-links__empty{margin:0;padding:var(--space-4);border:1px solid color-mix(in srgb,var(--color-border-subtle) 95%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-bg));color:var(--color-text-muted)}@media(max-width:640px){.contact-actions{padding:var(--space-3)}}@media(max-width:480px){.contact-email{font-size:var(--font-size-base)}.contact-links__empty{padding:var(--space-3)}}.footer-section{width:100%}.footer-section__inner{--stack-gap: var(--space-6)}.footer-section__top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(var(--space-8),4vw,var(--space-12));align-items:start;border-top:1px solid var(--color-border-subtle);padding:clamp(var(--space-8),4vw,var(--space-10)) 0 var(--space-8)}.footer-section__brand{display:grid;gap:var(--space-4)}.footer-section__inner .footer-section__title{margin:0 0 var(--space-2);font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:var(--space-2)}.footer-section__title-dot{width:.44rem;height:.44rem;border-radius:999px;background:var(--color-success-border)}.footer-section__subtitle{margin:0;font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.footer-section__summary{margin:0;max-width:58ch;color:var(--color-text-muted)}.footer-section__social{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}.footer-section__social-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);text-decoration:none;transition:color var(--motion-duration-fast) var(--motion-ease-standard),text-decoration-color var(--motion-duration-fast) var(--motion-ease-standard)}.footer-section__social-icon{width:1rem;height:1rem;flex-shrink:0}.footer-section__social-link:hover{color:var(--color-text)}@media(min-width:901px){.footer-section__social-link:not(:last-child):after{content:"·";margin-left:var(--space-2);color:color-mix(in srgb,var(--color-text-muted) 65%,transparent)}}.footer-section__social-link:focus-visible,.footer-section__nav-link:focus-visible{box-shadow:var(--link-focus-ring-shadow)}.footer-section__nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-6) var(--space-8);width:100%;justify-self:end}.footer-section__nav-group{min-width:0}.footer-section__nav-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.footer-section__nav-link{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;color:var(--color-text-muted);text-decoration:none;transition:color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.footer-section__nav-icon{width:1rem;height:1rem;flex-shrink:0;transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.footer-section__nav-link:hover{color:var(--color-text)}.footer-section__nav-link.is-active{color:var(--color-accent);text-decoration:underline;text-underline-offset:.2em}.footer-section__nav-link:hover .footer-section__nav-icon{transform:translate(2px)}.footer-section__bottom{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-start;border-top:1px solid var(--color-border-subtle);padding-top:var(--space-6)}.footer-section__legal,.footer-section__meta{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer-section__meta{margin-left:auto;text-align:right}@media(max-width:900px){.footer-section__top{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-8) 0}}@media(max-width:640px){.footer-section__nav{grid-template-columns:1fr}.footer-section__bottom{flex-direction:column;gap:var(--space-2)}.footer-section__meta{margin-left:0;text-align:left}}@media(max-width:480px){.footer-section__top{padding:var(--space-6) 0}}@media(prefers-reduced-motion:reduce){.footer-section__social-link,.footer-section__nav-link,.footer-section__nav-icon{transition:none}}.skip-link{position:absolute;left:-999px;top:auto;padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-accent);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);z-index:1000}.skip-link:focus{left:var(--space-4);top:var(--space-4)}.site-header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f3eae6;border-bottom:1px solid var(--color-border-subtle)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:calc(var(--space-8) * 2);min-width:0}.site-brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;color:var(--color-text);text-decoration:none}.site-brand.is-active .site-brand__label{color:var(--color-accent)}.site-brand__dot{width:var(--space-3);height:var(--space-3);background:linear-gradient(135deg,var(--color-accent),#204297);border-radius:50%;box-shadow:0 0 0 4px #0b2a6f14}.nav{display:flex;align-items:center;justify-content:flex-end;flex:1;min-width:0}.nav-placeholder{color:var(--color-text-muted);font-size:var(--font-size-sm)}.nav-placeholder__error{color:#b45309}.nav-desktop .nav-list{display:flex;align-items:center;gap:var(--space-3);list-style:none;margin:0;padding:0}.nav-list__item{position:relative}.nav-link,.nav-link:visited{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;transition:background-color .15s ease,color .15s ease}.nav-link:hover,.nav-link:focus-visible{background:var(--color-surface-2)}.nav-link:active{background:#0b2a6f1a}.nav-link.is-active{background:#0b2a6f1a;color:var(--color-accent)}.nav-link--button{border:0;background:transparent;cursor:pointer;font:inherit}.nav-link--button:focus-visible{outline:none;box-shadow:var(--link-focus-ring-shadow)}.nav-link__caret{font-size:.75em}.nav-panel{position:absolute;top:100%;left:50%;transform:translate(-50%,var(--space-3));min-width:280px;max-width:720px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-4);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.nav-panel--left{left:0;transform:translateY(var(--space-3))}.nav-panel.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,var(--space-2))}.nav-panel--left.is-open{transform:translateY(var(--space-2))}.nav-panel__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.nav-panel__card{background:var(--color-surface-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 6px 14px #11182714}.nav-panel__card-link{display:grid;grid-template-columns:calc(var(--space-6) * 2) 1fr;gap:var(--space-3);padding:var(--space-3);text-decoration:none;color:inherit;background:linear-gradient(180deg,#ffffffe6,#f2ede2e6)}.nav-panel__card-link:hover,.nav-panel__card-link:focus-visible{background:#0b2a6f0d}.nav-panel__card-link.is-active{background:#0b2a6f1a}.nav-panel__card-icon{width:calc(var(--space-6) * 2);height:calc(var(--space-6) * 2);display:inline-flex;align-items:center;justify-content:center;border-radius:calc(var(--radius-md) + var(--radius-sm));background:var(--color-surface);border:1px dashed var(--color-border-subtle);font-size:18px;overflow:hidden}.nav-panel__card-icon img{width:100%;height:100%;object-fit:cover}.nav-panel__card-body{display:flex;flex-direction:column;gap:4px}.nav-panel__card-title{font-weight:600}.nav-panel__card-description{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.4}.nav-panel__pill{display:inline-flex;align-self:flex-start;padding:2px 10px;border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);font-size:var(--font-size-xs);color:var(--color-muted);background:var(--color-surface)}.nav-panel__pill--active{border-color:var(--color-accent);color:var(--color-accent);background:#0b2a6f14}.nav-list__item--cta .nav-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);border:1px solid rgba(11,42,111,.35);background:#0b2a6f14;color:var(--color-accent);text-decoration:none;font-weight:600;box-shadow:inset 0 1px #fff6;transition:transform .12s ease,box-shadow .12s ease}.nav-cta:hover,.nav-cta:focus-visible{transform:translateY(-1px);box-shadow:0 10px 20px #0b2a6f24,inset 0 1px #ffffff80}.nav-cta.is-active{border-color:var(--color-accent);box-shadow:0 0 0 1px #0b2a6f33,inset 0 1px #ffffff80}.nav-mobile{display:inline-flex;align-items:center}.nav-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 12px;border-radius:calc(var(--radius-md) + var(--radius-sm));border:1px solid var(--color-border-subtle);background:var(--color-surface);cursor:pointer;font:inherit;box-shadow:inset 0 1px #fff9;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.nav-toggle:hover,.nav-toggle:focus-visible{background:var(--color-surface-2);border-color:#0b2a6f2e}.nav-toggle__bars{width:18px;height:12px;position:relative;display:inline-block}.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--color-text);border-radius:calc(var(--radius-sm) / 2)}.nav-toggle__bars:before{top:0;box-shadow:0 5px 0 var(--color-text)}.nav-toggle__bars:after{bottom:0}.nav-toggle--close{border:none;background:transparent;box-shadow:none}.nav-drawer{position:fixed;inset:0;width:100%;max-width:100%;background:var(--color-surface);box-shadow:-12px 0 40px #1118272e;transform:translate(100%);transition:transform .2s ease;z-index:50;display:flex;flex-direction:column;height:100vh;padding-top:max(env(safe-area-inset-top,0px),var(--space-3));border-left:0;overflow:hidden}.nav-drawer.is-open{transform:translate(0)}.nav-drawer__overlay{position:fixed;inset:0;border:0;padding:0;background:#11182759;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40;cursor:pointer}.nav-drawer__overlay.is-open{opacity:1;pointer-events:auto}.nav-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border-subtle);gap:var(--space-3);position:sticky;top:0;background:var(--color-surface)}.nav-drawer__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;text-decoration:none;color:var(--color-text)}.nav-drawer__brand.is-active .site-brand__label{color:var(--color-accent)}.nav-drawer__header-actions{display:inline-flex;align-items:center;gap:var(--space-3)}.nav-drawer__title{font-weight:700;font-size:var(--font-size-sm)}.nav-drawer__body{padding:var(--space-4);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.nav-drawer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.nav-drawer__item{border:1px solid var(--color-border-subtle);border-radius:calc(var(--radius-md) + var(--radius-sm));background:var(--color-surface);box-shadow:inset 0 1px #fff9;overflow:hidden}.nav-drawer__accordion-trigger{width:100%;padding:var(--space-3);display:inline-flex;align-items:center;justify-content:space-between;background:var(--color-surface-2);border:none;border-radius:calc(var(--radius-md) + var(--radius-sm));font:inherit;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.nav-drawer__accordion-trigger:hover,.nav-drawer__accordion-trigger:focus-visible{background:#0b2a6f0f;box-shadow:0 0 0 2px #0b2a6f14}.nav-drawer__accordion-trigger.is-active{background:#0b2a6f1f;color:var(--color-accent)}.nav-drawer__chevron{transition:transform .15s ease}.nav-drawer__chevron.is-open{transform:rotate(180deg)}.nav-drawer__accordion{max-height:0;overflow:hidden;transition:max-height .2s ease,opacity .2s ease,padding .2s ease;opacity:0;padding:0 var(--space-3);background:var(--color-surface)}.nav-drawer__accordion.is-open{max-height:800px;opacity:1;padding:0 var(--space-3) var(--space-3);background:var(--color-surface-2);border-top:1px solid var(--color-border-subtle)}.nav-drawer__link{display:block;padding:var(--space-3);text-decoration:none;color:var(--color-text);background:var(--color-surface-2);border-radius:calc(var(--radius-md) + var(--radius-sm));transition:background-color .15s ease,box-shadow .15s ease}.nav-drawer__link:hover,.nav-drawer__link:focus-visible{background:#0b2a6f0d;box-shadow:0 0 0 2px #0b2a6f14}.nav-drawer__link.is-active{background:#0b2a6f1a;color:var(--color-accent)}.nav-drawer__cta{margin-top:auto}@media(max-width:960px){.nav-drawer{width:100%;border-radius:0;padding-top:max(env(safe-area-inset-top,0px),var(--space-2))}.nav-panel__cards{grid-template-columns:1fr}.nav-panel__card-link{grid-template-columns:36px 1fr;gap:var(--space-2)}.nav-panel__card-icon{width:36px;height:36px}.site-header__inner{padding:0 var(--space-3)}.nav-drawer__body{padding:var(--space-3) var(--space-4) var(--space-4)}.nav-drawer__accordion-trigger{padding:var(--space-3) var(--space-3)}.nav-drawer__link{padding:var(--space-3)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.nav-link,.nav-cta,.nav-panel,.nav-toggle,.nav-drawer,.nav-drawer__overlay,.nav-drawer__accordion,.nav-drawer__chevron{transition:none}.nav-cta:hover,.nav-cta:focus-visible{transform:none}}.landing-discovery{border-top:1px solid var(--color-border-subtle);margin-top:var(--space-10);padding:var(--space-8) 0 var(--space-4);display:grid;gap:var(--space-3)}.landing-discovery__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:var(--font-size-sm);color:var(--color-text-muted)}.landing-discovery__intro,.landing-discovery__empty{margin:0;color:var(--color-text-muted);max-width:68ch}.landing-discovery__list{margin:var(--space-2) 0 0;padding-left:var(--space-4);display:grid;gap:var(--space-4)}.landing-discovery__link{color:var(--color-text);font-weight:600;text-decoration:none}.landing-discovery__link:hover{color:var(--color-accent)}.landing-discovery__excerpt{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.landing-discovery__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.landing-discovery__action-link{text-decoration:none;color:var(--color-accent);font-weight:600}.landing-discovery__action-link:hover{color:var(--color-accent-hover)}.article-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:clip;min-height:100%;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.article-card:hover{border-color:color-mix(in srgb,var(--color-border) 28%,transparent);box-shadow:var(--shadow-soft-strong);transform:translateY(-1px)}.article-card:focus-within{border-color:color-mix(in srgb,var(--color-accent) 38%,transparent);box-shadow:var(--card-focus-ring-shadow);transform:translateY(-1px)}.article-card__media{aspect-ratio:16 / 9;display:block;background:var(--color-surface-2);overflow:hidden}.article-card__media-placeholder{aspect-ratio:16 / 9;display:grid;place-items:center;border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(150deg,color-mix(in srgb,var(--color-accent-soft) 42%,transparent),transparent 48%),var(--color-surface-2)}.article-card__media-placeholder-label{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--color-border-subtle) 90%,transparent);background:color-mix(in srgb,var(--color-surface) 92%,transparent);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.02em}.article-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--motion-duration-base) var(--motion-ease-standard)}.article-card:hover .article-card__media img,.article-card:focus-within .article-card__media img{transform:scale(1.02)}.article-card__body{display:grid;align-content:start;gap:var(--card-flow-gap);padding:var(--card-pad-md);min-height:100%}.article-card__title{margin:0;font-size:clamp(1.1rem,1.3vw,1.25rem);line-height:1.25;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card__title-link{color:var(--color-text);text-decoration:none;transition:color var(--motion-duration-fast) var(--motion-ease-standard),text-decoration-color var(--motion-duration-fast) var(--motion-ease-standard)}.article-card__title-link:hover{color:var(--color-accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-accent) 42%,transparent);text-underline-offset:.16em}.article-card__title-link:focus-visible{color:var(--color-accent)}.article-card__meta{display:flex;flex-wrap:wrap;row-gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}.article-card__meta-item{display:inline-flex;align-items:center}.article-card__meta-item+.article-card__meta-item:before{content:"·";margin:0 var(--space-2);color:color-mix(in srgb,var(--color-text-muted) 75%,transparent)}.article-card__author{font-weight:500}.article-card__excerpt{margin:0;color:var(--color-text-muted);line-height:1.62;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.article-card__cta{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);text-decoration:none;margin-top:auto;padding-top:var(--space-2)}.article-card__cta:after{content:"→";transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.article-card__cta:hover{color:var(--color-accent-hover)}.article-card__cta:hover:after{transform:translate(2px)}@media(prefers-reduced-motion:reduce){.article-card,.article-card__media img,.article-card__cta:after{transition:none}}@media(max-width:767px){.article-card__body{gap:var(--card-flow-gap-tight)}.article-card__cta{padding-top:var(--space-1)}}@media(max-width:480px){.article-card__body{padding:var(--card-pad-sm)}}:root{--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-size-display: clamp(2.5rem, 5vw, 3.25rem);--font-size-heading-1: var(--font-size-3xl);--font-size-heading-2: var(--font-size-2xl);--font-size-heading-3: var(--font-size-xl);--font-size-heading-4: var(--font-size-lg);--font-size-heading-5: var(--font-size-base);--font-size-heading-6: var(--font-size-sm);--font-size-body-lg: var(--font-size-lg);--font-size-body-md: var(--font-size-base);--font-size-body-sm: var(--font-size-sm);--font-size-caption: var(--font-size-xs);--line-height-display: 1.08;--line-height-heading: 1.12;--line-height-heading-sm: 1.2;--line-height-body: 1.55;--line-height-body-loose: 1.7;--line-height-meta: 1.4;--tracking-tight: -.02em;--tracking-tight-sm: -.01em;--tracking-eyebrow: .08em;--color-bg: #f7f3ea;--color-surface: #fffdf8;--color-surface-2: #f2ede2;--color-accent: #0b2a6f;--color-accent-hover: #163f96;--color-accent-active: #09245c;--color-accent-soft: #dde6fb;--color-text: #111827;--color-muted: #4b5563;--color-border: #8f887e;--color-border-subtle: rgba(17, 24, 39, .08);--color-text-primary: var(--color-text);--color-text-muted: var(--color-muted);--color-focus-ring: #7aa2ff;--color-success-text: #166534;--color-success-bg: #ecfdf3;--color-success-border: #34d399;--color-warn-text: #9a3412;--color-warn-bg: #fff7ed;--color-warn-border: #fb923c;--color-error-text: #991b1b;--color-error-bg: #fef2f2;--color-error-border: #f87171;--text: var(--color-text);--muted: var(--color-muted);--bg: var(--color-bg);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--content-max: 1040px;--section-pad-y: clamp(var(--space-10), 6vw, var(--space-16));--section-pad-y-mobile: clamp(var(--space-8), 8vw, var(--space-10));--section-pad-x: clamp(var(--space-4), 4vw, var(--space-12));--stack-gap: var(--space-12);--section-stack-gap: clamp(var(--space-8), 4vw, var(--space-12));--section-content-gap: clamp(var(--space-6), 3vw, var(--space-8));--section-header-gap: var(--space-3);--text-flow-gap: var(--space-3);--text-flow-gap-tight: var(--space-2);--cta-row-gap: var(--space-2);--cta-row-gap-loose: var(--space-3);--heading-gap: var(--space-3);--heading-mb: var(--space-6);--lede-max: 62ch;--measure-body: 68ch;--card-pad-sm: var(--space-3);--card-pad-md: var(--space-4);--card-pad-lg: clamp(var(--space-4), 2.4vw, var(--space-6));--card-flow-gap: var(--space-3);--card-flow-gap-tight: var(--space-2);--grid-gap-default: var(--space-4);--grid-gap-wide: var(--space-6);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-pill: 999px;--border-width-thin: 1px;--border-width-thick: 2px;--shadow-soft: 0 18px 40px rgba(17, 24, 39, .1);--shadow-soft-strong: 0 20px 60px rgba(17, 24, 39, .14);--motion-duration-fast: .12s;--motion-duration-base: .18s;--motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--breakpoint-sm: 40rem;--breakpoint-md: 48rem;--breakpoint-nav: 60rem;--breakpoint-lg: 64rem;--breakpoint-xl: 80rem;--control-font-size-sm: var(--font-size-sm);--control-font-size-md: var(--font-size-base);--control-font-size-lg: var(--font-size-lg);--control-height-sm: 2.25rem;--control-height-md: 2.75rem;--control-height-lg: 3.25rem;--control-px-sm: var(--space-3);--control-px-md: var(--space-4);--control-px-lg: var(--space-6);--control-disabled-opacity: .56;--button-focus-ring-shadow: 0 0 0 3px rgba(122, 162, 255, .35);--link-focus-ring-shadow: 0 0 0 3px rgba(122, 162, 255, .28);--card-focus-ring-shadow: 0 0 0 3px rgba(122, 162, 255, .28), var(--shadow-soft-strong);--button-font-weight: 600;--button-active-translate-y: 1px;--button-primary-bg: var(--color-accent);--button-primary-bg-hover: var(--color-accent-hover);--button-primary-bg-active: var(--color-accent-active);--button-primary-text: var(--color-surface);--button-primary-border: var(--color-accent);--button-secondary-bg: transparent;--button-secondary-bg-hover: rgba(11, 42, 111, .08);--button-secondary-bg-active: rgba(11, 42, 111, .14);--button-secondary-text: var(--color-accent);--button-secondary-border: rgba(11, 42, 111, .45);--button-text-bg: transparent;--button-text-bg-hover: rgba(11, 42, 111, .08);--button-text-bg-active: rgba(11, 42, 111, .14);--button-text: var(--color-accent);--button-text-border: transparent;--link-color: var(--color-accent);--link-color-hover: var(--color-accent-hover);--link-color-active: var(--color-accent-active)}.articles-page{width:100%;padding:var(--section-pad-y) 0;display:grid;gap:var(--space-8)}.articles-page__header{display:grid;gap:var(--space-3)}.articles-page__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:var(--font-size-sm);color:var(--color-text-muted)}.articles-page__title{margin:0;font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.02em}.articles-page__intro{margin:0;max-width:68ch;color:var(--color-text-muted);line-height:1.7}.articles-page__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.articles-page__action-link{color:var(--color-accent);text-decoration:none;font-weight:600}.articles-page__action-link:hover{color:var(--color-accent-hover)}.articles-page__status{margin:0;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted)}.articles-page__inline-link{color:var(--color-accent)}.articles-page__grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}@media(max-width:640px){.articles-page__grid{grid-template-columns:1fr}}.article-page{max-width:min(var(--content-max),960px);margin:0 auto;padding:var(--section-pad-y) var(--section-pad-x);color:var(--color-text)}.article-page__context,.article-page__footer-nav{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.article-page__footer-nav{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.article-page__context-link{color:var(--color-accent);text-decoration:none;font-size:var(--font-size-sm);font-weight:600}.article-page__context-link:hover{color:var(--color-accent-hover)}.article-header{display:grid;gap:var(--space-3);margin-bottom:var(--space-6)}.article-title{font-size:var(--font-size-3xl);line-height:1.15;margin:0}.article-meta{display:flex;gap:var(--space-3);flex-wrap:wrap;color:var(--color-text-muted);font-size:var(--font-size-sm)}.article-excerpt{font-size:var(--font-size-lg);line-height:1.7;max-width:var(--lede-max);margin:0;color:var(--color-text)}.article-hero{margin:var(--space-6) 0}.article-hero img{width:100%;height:auto;aspect-ratio:16 / 9;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:var(--color-surface)}.article-body{display:grid;gap:var(--space-4);line-height:1.7;font-size:var(--font-size-base)}.article-body__content>*+*{margin-top:var(--space-4)}.article-body__content h2{margin:var(--space-8) 0 var(--space-3)}.article-body__content h3{margin:var(--space-6) 0 var(--space-2)}.article-body__content p,.article-body__content ul,.article-body__content ol{margin:0;line-height:1.7}.article-body__content ul,.article-body__content ol{padding-left:var(--space-4)}.article-body__content blockquote{margin:var(--space-4) 0;padding-left:var(--space-3);border-left:3px solid var(--color-border);color:var(--color-text);background:var(--color-surface-2);border-radius:var(--radius-sm)}.embedded-asset{margin:var(--space-6) 0;text-align:center}.embedded-asset img{max-width:100%;height:auto;aspect-ratio:16 / 9;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:var(--color-surface)}.embedded-asset figcaption{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.embedded-asset--inline img{display:inline;box-shadow:none;border-radius:var(--radius-sm)}.attachments{margin-top:var(--space-8)}.attachments h2{margin-bottom:var(--space-3)}.attachments-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}.attachment{padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);display:flex;justify-content:space-between;align-items:center}.attachment__info a{color:var(--color-text);text-decoration:underline}.attachment__info a:hover{text-decoration-thickness:2px}.attachment__type{display:inline-flex;align-items:center;gap:var(--space-1);padding:.25rem .5rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);background:var(--color-surface-2);color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase}
