@font-face{font-family:"Inter";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/inter-var.b0b4f621.woff2) format("woff2")}@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/playfair-normal-latin.05287b2a.woff2) format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+2009,U+200A,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032,U+2033,U+2190-2193,U+2197,U+2198,U+2212,U+2264,U+2265,U+20AC,U+2122,U+202F}@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/playfair-normal-ro.e55ffd12.woff2) format("woff2");unicode-range:U+0102-0103,U+015E-015F,U+0162-0163,U+0218-021B}@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/fonts/playfair-italic-latin.df70fb9e.woff2) format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+2009,U+200A,U+2010-2014,U+2018-201E,U+2022,U+2026,U+2032,U+2033,U+2190-2193,U+2197,U+2198,U+2212,U+2264,U+2265,U+20AC,U+2122,U+202F}@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/fonts/playfair-italic-ro.07342445.woff2) format("woff2");unicode-range:U+0102-0103,U+015E-015F,U+0162-0163,U+0218-021B}@font-face{font-family:"Inter Fallback";src:local("Arial");size-adjust:106.48%;ascent-override:90.98%;descent-override:22.65%;line-gap-override:0.00%}@font-face{font-family:"Playfair Fallback";src:local("Georgia");size-adjust:101.58%;ascent-override:106.52%;descent-override:24.71%;line-gap-override:0.00%}:root{--bg:#efebe5;--card:#f6f2ec;--sand:#e5ded2;--line:#d2c8b8;--line-soft:#ded6c9;--ink:#2a1b2e;--plum:#3a1f3d;--plum-2:#5a3b5e;--champ:#c9a876;--brass:#b8954e;--accent-ink:#6f5119;--muted:#5f5461;--on-plum:#f6f2ec;--radius:0.75rem;--shadow-soft:0 1px 2px rgb(58 31 61 / 0.06),0 6px 18px -8px rgb(58 31 61 / 0.14);--shadow-card:0 1px 2px rgb(120 100 70 / 0.08),0 8px 24px -12px rgb(58 31 61 / 0.16);--shadow-elegant:0 18px 44px -18px rgb(58 31 61 / 0.35);--font-sans:Inter,"Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-serif:"Playfair Display","Playfair Fallback",Georgia,"Times New Roman",serif;--header-h:3.75rem;--ease:cubic-bezier(0.22,1,0.36,1)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:1rem;line-height:1.7;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}img,picture,svg{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;letter-spacing:-0.01em;line-height:1.15;color:var(--plum);margin:0;text-wrap:balance}h1{font-size:clamp(2.1rem,1.4rem + 3.2vw,3.6rem)}h2{font-size:clamp(1.55rem,1.25rem + 1.3vw,2.3rem)}h3{font-size:clamp(1.1rem,1.02rem + 0.35vw,1.3rem);line-height:1.25}p{margin:0 0 1em;text-wrap:pretty}ul,ol{margin:0;padding:0}a{color:var(--plum);text-decoration-line:underline;text-decoration-color:rgb(58 31 61 / 0.35);text-decoration-thickness:1px;text-underline-offset:0.22em;transition:color 0.2s,text-decoration-color 0.2s}a:hover{color:var(--accent-ink);text-decoration-color:currentColor}:focus-visible{outline:3px solid var(--plum);outline-offset:3px;border-radius:4px}main:focus{outline:none}address{font-style:normal}dl,dd{margin:0}[hidden]{display:none !important}.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.arw{font-family:var(--font-sans);font-style:normal;font-weight:400;display:inline-block;margin-inline:0.12em;transform:translateY(-0.04em)}.ico{flex:none}.muted{color:var(--muted)}.small{font-size:0.875rem}.wrap{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1.25rem}.wrap-narrow{max-width:50rem}@media (min-width:40em){.wrap{padding-inline:2rem}}.section{padding-block:clamp(3rem,6vw,5rem)}.section-tight{padding-block:clamp(1.75rem,4vw,3rem)}.section-alt{background:color-mix(in srgb,var(--sand) 42%,var(--bg));border-block:1px solid var(--line-soft)}.grid{display:grid;gap:1.25rem}@media (min-width:40em){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:62em){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.rule{height:1px;width:4rem;margin-block:1rem;background:linear-gradient(90deg,transparent,var(--champ),transparent)}.rule.is-center{margin-inline:auto}.eyebrow{margin:0 0 0.6rem;font-size:0.75rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent-ink);line-height:1.4}.lead{font-size:clamp(1.05rem,1rem + 0.3vw,1.2rem);line-height:1.65;color:rgb(42 27 46 / 0.86);max-width:44rem}.sec-head{max-width:46rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.sec-head .lead{color:var(--muted);font-size:1.05rem}.sec-head.is-center{margin-inline:auto;text-align:center}.sec-head.is-center .rule{margin-inline:auto}.section-more{margin:1.75rem 0 0}.skip{position:absolute;left:1rem;top:-5rem;z-index:200;background:var(--plum);color:var(--on-plum);padding:0.8rem 1.1rem;border-radius:0.5rem;text-decoration:none;font-weight:600}.skip:focus{top:0.75rem;outline-color:var(--champ)}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 93%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line-soft)}.header-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h)}.brand{font-family:var(--font-serif);font-size:clamp(0.95rem,0.85rem + 0.6vw,1.35rem);color:var(--plum);text-decoration:none;letter-spacing:0.02em;line-height:1;white-space:nowrap;padding-block:0.6rem}.brand-dot{color:var(--accent-ink);display:inline-block;transition:transform 0.5s var(--ease)}.brand:hover .brand-dot{transform:rotate(18deg)}.header-end{display:flex;align-items:center;gap:0.25rem;flex:none}.lang-switch{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 0.7rem;border:1px solid var(--line);border-radius:999px;font-size:0.75rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;color:var(--plum);background:var(--card)}.lang-switch:hover{border-color:var(--plum);color:var(--plum)}.nav-desktop{display:none}.nav-desktop ul{display:flex;gap:0.15rem;list-style:none}.nav-desktop a{position:relative;display:inline-flex;align-items:center;min-height:2.75rem;padding:0 0.85rem;font-size:0.9375rem;font-weight:500;letter-spacing:0.01em;text-decoration:none;color:rgb(42 27 46 / 0.82);border-radius:0.5rem}.nav-desktop a::after{content:"";position:absolute;left:0.85rem;right:0.85rem;bottom:0.45rem;height:1px;background:linear-gradient(90deg,transparent,var(--accent-ink),transparent);transform:scaleX(0);transition:transform 0.4s var(--ease)}.nav-desktop a:hover,.nav-desktop a[aria-current="page"]{color:var(--plum)}.nav-desktop a:hover::after,.nav-desktop a[aria-current="page"]::after{transform:scaleX(1)}.nav-mobile{position:static}.nav-toggle{list-style:none;cursor:pointer;display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:0.5rem;color:var(--plum)}.nav-toggle::-webkit-details-marker{display:none}.nav-toggle:hover{background:var(--sand)}.nav-toggle .ico{grid-area:1 / 1}.nav-mobile .ico-close,.nav-mobile[open] .ico-open{display:none}.nav-mobile[open] .ico-close{display:block}.nav-panel{max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));overflow-y:auto;overscroll-behavior:contain;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-elegant);padding:0.5rem 1.25rem 1.25rem}.nav-panel ul{list-style:none;max-width:72rem;margin-inline:auto}.nav-panel a{display:flex;align-items:center;min-height:3rem;padding:0.5rem 0.25rem;font-family:var(--font-serif);font-size:1.2rem;text-decoration:none;color:rgb(42 27 46 / 0.88);border-bottom:1px solid var(--line-soft)}.nav-panel li:last-child a{border-bottom:0}.nav-panel a[aria-current="page"]{color:var(--plum);font-weight:600;box-shadow:inset 3px 0 0 var(--champ);padding-left:0.85rem}@media (max-width:23.99em){.wrap{padding-inline:1rem}.header-bar{gap:0.5rem}.brand{font-size:0.9rem;letter-spacing:0}.lang-switch{padding:0 0.55rem}.nav-toggle{width:2.5rem}}@media (min-width:62em){.nav-desktop{display:block}.nav-mobile{display:none}.header-bar{gap:2rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;min-height:2.75rem;padding:0.6rem 1.25rem;border:1px solid transparent;background:transparent;-webkit-appearance:none;appearance:none;border-radius:0.55rem;font:600 0.9375rem/1.2 var(--font-sans);letter-spacing:0.01em;text-decoration:none;cursor:pointer;transition:background-color 0.25s,color 0.25s,border-color 0.25s,box-shadow 0.25s,transform 0.25s var(--ease)}.btn-lg{min-height:3rem;padding:0.75rem 1.5rem;font-size:1rem}.btn-primary{background:var(--plum);color:var(--on-plum);box-shadow:var(--shadow-soft)}.btn-primary:hover{background:var(--plum-2);color:var(--on-plum);box-shadow:var(--shadow-elegant);transform:translateY(-1px)}.btn-accent{background:var(--champ);color:var(--plum);box-shadow:var(--shadow-soft)}.btn-accent:hover{background:#d6b986;color:var(--plum);box-shadow:var(--shadow-elegant);transform:translateY(-1px)}.btn-outline{border-color:rgb(58 31 61 / 0.45);color:var(--plum);background:transparent}.btn-outline:hover{background:var(--plum);border-color:var(--plum);color:var(--on-plum)}.btn-ghost{color:var(--plum);background:transparent}.btn-ghost:hover{background:var(--sand);color:var(--plum)}.btn-outline-light{border-color:rgb(246 242 236 / 0.5);color:var(--on-plum)}.btn-outline-light:hover{background:rgb(246 242 236 / 0.12);color:var(--on-plum);border-color:var(--on-plum)}.btn-ghost-light{color:var(--on-plum)}.btn-ghost-light:hover{background:rgb(246 242 236 / 0.12);color:var(--on-plum)}.cta-row{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.5rem}.cta-row.is-center{justify-content:center}.link-arrow,.link-ext,.card-link{display:inline-flex;align-items:center;gap:0.4rem;font-weight:600;font-size:0.9375rem;color:var(--plum);text-decoration:none;border-bottom:1px solid rgb(111 81 25 / 0.45);padding-block:0.15rem}.link-arrow:hover,.link-ext:hover,.card-link:hover{color:var(--accent-ink);border-bottom-color:var(--accent-ink)}.ico-ext{opacity:0.8}:where(.cta-band,.card-plum) :focus-visible{outline-color:var(--champ)}.crumbs ol{display:flex;flex-wrap:wrap;gap:0.35rem;list-style:none;font-size:0.875rem;color:var(--muted);margin-bottom:1.25rem}.crumbs li + li::before{content:"/";margin-right:0.35rem;color:var(--line)}.crumbs a{color:var(--muted)}.crumbs [aria-current]{color:var(--ink)}.page-head{padding-block:clamp(1.5rem,3.5vw,2.75rem) clamp(1rem,2vw,1.5rem);background:linear-gradient(180deg,#f4efe8 0%,var(--bg) 100%)}.page-head h1{font-size:clamp(2rem,1.4rem + 2.8vw,3.25rem);max-width:24ch}.cv-download{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem 1rem;margin-top:1.5rem}.cv-download .muted{font-size:0.875rem}@media (max-width:47.99em){.cv-download [data-print]{display:none !important}}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f6f2ec 0%,#e8e1d5 100%)}.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:0.1}.hero::before{width:22rem;height:22rem;left:-8rem;top:-10rem;background:radial-gradient(circle,var(--plum),transparent 70%)}.hero::after{width:26rem;height:26rem;right:-9rem;bottom:-12rem;background:radial-gradient(circle,var(--champ),transparent 70%);opacity:0.35}.hero-grid{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"eyebrow eyebrow" "portrait name" "tagline tagline" "body body";align-items:center;gap:0 1.25rem;padding-block:1.75rem 2.75rem}.hero-eyebrow{grid-area:eyebrow;margin-bottom:1rem}.hero-portrait{grid-area:portrait;margin:0;width:6.75rem}.hero-portrait img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid var(--plum);box-shadow:0 0 0 3px rgb(201 168 118 / 0.6),var(--shadow-elegant)}.hero-h1{grid-area:name;font-size:clamp(1.9rem,1.2rem + 4vw,4rem);line-height:1.04}.tagline{grid-area:tagline;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.15rem,1rem + 0.8vw,1.6rem);color:rgb(42 27 46 / 0.82);margin:1rem 0 0}.hero-body{grid-area:body}.hero-body .rule{margin-top:1.25rem}.hero .cta-row{gap:0.6rem}@media (max-width:39.99em){.hero .cta-row .btn-primary{flex:1 1 100%}.hero .cta-row .btn-outline,.hero .cta-row .btn-ghost{flex:1 1 calc(50% - 0.3rem);padding-inline:0.6rem;gap:0.4rem;font-size:0.9rem;white-space:nowrap}.hero .cta-row .btn-ghost{border-color:var(--line)}}@media (min-width:62em){.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);grid-template-areas:"eyebrow portrait" "name portrait" "tagline portrait" "body portrait";grid-template-rows:auto auto auto auto;column-gap:4.5rem;padding-block:5rem 5.5rem;align-content:center}.hero-eyebrow{align-self:end}.hero-body .rule{margin-top:1.5rem}.hero-portrait{width:min(100%,24rem);justify-self:center;align-self:center}.hero-portrait img{border-width:6px;box-shadow:0 0 0 5px rgb(201 168 118 / 0.55),0 0 0 14px rgb(201 168 118 / 0.14),var(--shadow-elegant)}}.section-glance{padding-block:clamp(1.5rem,3vw,2.5rem) 0}.glance{background:var(--card);border:1px solid var(--line-soft);border-radius:1rem;padding:clamp(1.25rem,2.5vw,2rem);box-shadow:var(--shadow-card)}.glance-title{font-size:1.25rem;margin-bottom:1rem}.glance-list{display:grid;gap:1rem 2.25rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.glance-row dt{font-size:0.72rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent-ink)}.glance-row dd{margin-top:0.15rem;line-height:1.5}.section-stats{padding-block:clamp(2rem,4vw,3rem)}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;text-align:center}@media (min-width:48em){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{display:grid;grid-template-rows:auto 1fr;align-content:start;gap:0.35rem}.stat dd{order:-1}.stat dd{font-family:var(--font-serif);font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1;color:var(--plum);font-variant-numeric:lining-nums}.stat dt{font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);line-height:1.4}.stats-card .stat{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.25rem 0.75rem;box-shadow:var(--shadow-card)}.card{position:relative;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:clamp(1.25rem,2.2vw,1.75rem);box-shadow:var(--shadow-card)}.card h2,.card h3{margin-bottom:0.6rem}.card p:last-child{margin-bottom:0}.card-num{display:flex;flex-direction:column;transition:border-color 0.3s,box-shadow 0.3s}.card-num:hover{border-color:var(--champ);box-shadow:var(--shadow-elegant)}.card-num h3{padding-right:3rem}.card-index{position:absolute;top:1rem;right:1.25rem;font-family:var(--font-serif);font-size:2.25rem;line-height:1;color:#a07f3b}.card-num .card-link{margin-top:auto;align-self:flex-start}.card-num p{color:rgb(42 27 46 / 0.82);margin-bottom:1.25rem}.badge{display:inline-grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--champ),var(--brass));color:var(--plum);box-shadow:var(--shadow-soft)}.badge-lg{width:3rem;height:3rem;border-radius:0.8rem;margin-bottom:1rem}.skill-head{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem}.skill-head h3{margin:0;font-size:1.05rem}.dots,.ticks{list-style:none;display:grid;gap:0.4rem;font-size:0.9375rem;color:rgb(42 27 46 / 0.86)}.dots li,.ticks li{position:relative;padding-left:1.1rem;line-height:1.55}.dots li::before{content:"";position:absolute;left:0;top:0.68em;width:0.32rem;height:0.32rem;border-radius:50%;background:var(--brass)}.ticks li{padding-left:1.5rem}.ticks li::before{content:"";position:absolute;left:0.1rem;top:0.5em;width:0.6rem;height:0.32rem;border-left:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(-45deg)}.card-head{display:flex;align-items:center;gap:0.75rem;color:var(--accent-ink);margin-bottom:1rem}.card-head h2{margin:0;font-size:1.25rem}.career{list-style:none;border-top:1px solid var(--line)}.career li{display:grid;gap:0.25rem 1.5rem;padding-block:1.1rem;border-bottom:1px solid var(--line)}@media (min-width:40em){.career li{grid-template-columns:12.5rem minmax(0,1fr)}}.career-period{margin:0;color:var(--muted);font-size:0.9rem;font-variant-numeric:tabular-nums;padding-top:0.2rem}.career h3{font-size:1.15rem}.career-org{margin:0.15rem 0 0;color:rgb(42 27 46 / 0.86)}.career-org span{color:var(--muted)}.pub-list{display:grid;gap:1rem}.pub{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.25rem 1.5rem;box-shadow:var(--shadow-card)}.pub-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.25rem 1rem;margin:0 0 0.5rem;font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-ink);line-height:1.5}.pub-venue{text-transform:none;letter-spacing:0.02em;font-size:0.8125rem}.pub-year{color:var(--muted)}.pub-title{font-size:clamp(1.05rem,1rem + 0.3vw,1.25rem);margin-bottom:0.4rem}.pub-authors{font-style:italic;color:rgb(42 27 46 / 0.8);font-size:0.9375rem;margin-bottom:0.75rem}.pub-links{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem 1rem}.pub-links:empty{display:none}.doi{font-size:0.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}.year-group{margin-top:2rem}.year{display:flex;align-items:center;gap:1rem;margin-bottom:0.9rem;font-size:1.6rem}.year::after{content:"";flex:1;height:1px;background:var(--line)}.profile-grid{gap:1rem}.profile-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-soft);transition:border-color 0.3s,box-shadow 0.3s}.profile-card:hover{border-color:var(--champ);box-shadow:var(--shadow-elegant);color:var(--ink)}.profile-ico{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:0.7rem;background:var(--sand);color:var(--plum);flex:none}.profile-txt{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.35}.profile-txt span{font-size:0.875rem;color:var(--muted);overflow-wrap:break-word}.about-grid{display:grid;gap:2rem}.about-portrait{margin:0;width:min(100%,20rem)}.about-portrait img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:1rem;border:1px solid rgb(201 168 118 / 0.6);box-shadow:var(--shadow-elegant)}.prose{max-width:42rem;font-size:1.0625rem;line-height:1.75}.prose p{margin-bottom:1.15em}@media (min-width:62em){.about-grid{grid-template-columns:22rem minmax(0,1fr);gap:4rem;align-items:start}.about-portrait{position:sticky;top:calc(var(--header-h) + 1.5rem);width:100%}}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:0.6rem}.chips li{padding:0.5rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:0.9375rem;line-height:1.3}.kv>div{display:flex;justify-content:space-between;gap:1rem;padding-block:0.65rem;border-bottom:1px solid var(--line-soft)}.kv>div:last-child{border-bottom:0}.kv dt{font-weight:600}.kv dd{color:var(--muted);text-align:right}.cert-list{list-style:none;display:grid;gap:0.9rem}.cert-list li{display:flex;flex-direction:column;gap:0.15rem}.cert-list span{color:var(--muted);font-size:0.875rem}.cv-grid{display:grid;gap:1.5rem}.toc{font-size:0.9375rem}.toc-title{margin:0 0 0.5rem;font-size:0.72rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent-ink)}.toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:0.5rem}.toc a{display:inline-flex;min-height:2.5rem;align-items:center;padding:0 0.9rem;border:1px solid var(--line);border-radius:999px;background:var(--card);text-decoration:none}@media (min-width:62em){.cv-grid{grid-template-columns:12rem minmax(0,1fr);gap:3rem}.toc{position:sticky;top:calc(var(--header-h) + 1.5rem);align-self:start}.toc ul{flex-direction:column;gap:0;border-left:1px solid var(--line)}.toc a{border:0;border-radius:0;background:none;min-height:2.25rem;padding:0 0.9rem}.toc a:hover{box-shadow:inset 2px 0 0 var(--accent-ink)}}.cv-main>section + section{margin-top:3rem}.cv-h{display:flex;align-items:center;gap:0.75rem;font-size:clamp(1.4rem,1.2rem + 0.9vw,1.9rem);margin-bottom:1.5rem}.cv-h .ico{color:var(--accent-ink)}.timeline{list-style:none;position:relative;padding-left:1.6rem}.timeline::before{content:"";position:absolute;left:0.35rem;top:0.75rem;bottom:0.75rem;width:2px;background:linear-gradient(180deg,var(--champ),rgb(201 168 118 / 0.15))}.timeline>li{position:relative;margin-bottom:1.25rem}.timeline>li::before{content:"";position:absolute;left:-1.6rem;top:1.55rem;width:0.75rem;height:0.75rem;border-radius:50%;background:var(--champ);box-shadow:0 0 0 4px var(--bg)}.tl-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:clamp(1.1rem,2vw,1.5rem);box-shadow:var(--shadow-card)}.tl-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.35rem 1.25rem;margin-bottom:0.9rem}.tl-org{margin:0.2rem 0 0;font-weight:600}.tl-org span{font-weight:400;color:var(--muted)}.tl-period{margin:0;color:var(--muted);font-size:0.875rem;font-weight:500;font-variant-numeric:tabular-nums}.edu-period{margin:0 0 0.35rem;font-size:0.75rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-ink)}.edu h3{font-size:1.1rem;margin-bottom:0.4rem}.edu-school{font-weight:600;margin-bottom:0.5rem;font-size:0.9375rem}.edu-details{font-size:0.875rem;color:var(--muted)}.svc h2{font-size:1.3rem}.svc>p{color:rgb(42 27 46 / 0.84)}.svc .ticks{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line-soft)}.steps{list-style:none;display:grid;gap:1.25rem}@media (min-width:48em){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.steps li{position:relative;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card)}.step-n{display:block;margin-bottom:0.4rem;font-family:var(--font-serif);font-size:2.5rem;line-height:1;color:#a07f3b}.steps h3{margin-bottom:0.5rem}.steps p{margin:0;color:rgb(42 27 46 / 0.84)}.contact-grid{gap:1.25rem;align-items:stretch}.contact-card h2,.direct h2{font-size:clamp(1.4rem,1.2rem + 0.8vw,1.8rem)}.contact-card h2{margin-bottom:1.25rem}.contact-list{list-style:none;display:grid;gap:1.1rem}.contact-list li{display:flex;gap:0.9rem;align-items:flex-start}.contact-list .badge{width:2.25rem;height:2.25rem;background:var(--sand);color:var(--plum);box-shadow:none}.contact-label{margin:0;font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}.contact-value{margin:0.1rem 0 0;overflow-wrap:anywhere}.card-plum{background:linear-gradient(135deg,var(--plum) 0%,#4e2f52 100%);color:var(--on-plum);border-color:transparent;box-shadow:var(--shadow-elegant);display:flex;flex-direction:column}.card-plum h2{color:var(--on-plum)}.card-plum a:not(.btn){color:var(--on-plum)}.card-plum p{color:rgb(246 242 236 / 0.9)}.direct .cta-row{margin-top:0.5rem}.copy-row{margin-top:0.5rem}.direct-li{margin:auto 0 0;padding-top:1.5rem}.direct-li a{display:inline-flex;align-items:center;gap:0.5rem;text-decoration-color:rgb(246 242 236 / 0.4)}.direct-li a:hover{color:var(--champ)}.faq-list{display:grid;gap:0.75rem}.faq-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:border-color 0.3s,box-shadow 0.3s}.faq-item[open]{border-color:var(--champ);box-shadow:var(--shadow-card)}.faq-item summary{position:relative;display:flex;align-items:center;min-height:3.25rem;padding:0.85rem 3.25rem 0.85rem 1.25rem;list-style:none;cursor:pointer;font-family:var(--font-serif);font-size:1.075rem;font-weight:600;line-height:1.35;color:var(--plum);border-radius:var(--radius)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"";position:absolute;right:1.35rem;top:50%;width:0.55rem;height:0.55rem;border-right:2px solid var(--plum);border-bottom:2px solid var(--plum);transform:translateY(-70%) rotate(45deg);transition:transform 0.3s var(--ease)}.faq-item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}.faq-a{padding:0 1.25rem 1.1rem;color:rgb(42 27 46 / 0.9)}.faq-a p{margin:0;max-width:44rem}.cta-band{padding-block:clamp(2.5rem,5vw,3.5rem);background:linear-gradient(135deg,var(--plum) 0%,#4e2f52 100%);color:var(--on-plum)}.cta-in{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.cta-band h2{color:var(--on-plum);font-size:clamp(1.4rem,1.2rem + 1vw,2rem);margin-bottom:0.5rem}.cta-band p{margin:0;max-width:40rem;color:rgb(246 242 236 / 0.88)}@media (min-width:48em){.cta-in{flex-direction:row;align-items:center;justify-content:space-between;gap:3rem}}.site-footer{margin-top:0;background:color-mix(in srgb,var(--sand) 55%,var(--bg));border-top:1px solid var(--line);font-size:0.9375rem}.footer-grid{display:grid;gap:2rem;padding-block:2.5rem}@media (min-width:48em){.footer-grid{grid-template-columns:1.3fr 1fr 1.3fr;gap:3rem}}.footer-name{margin:0;font-family:var(--font-serif);font-size:1.35rem;color:var(--plum)}.footer-role{margin:0.15rem 0 0;font-family:var(--font-serif);font-style:italic;color:var(--muted)}.footer-line{margin:1rem 0 0;color:var(--muted);max-width:22rem;font-size:0.875rem}.site-footer ul{list-style:none;display:grid;gap:0.15rem}.site-footer li a{display:inline-flex;align-items:center;gap:0.6rem;min-height:2.25rem;color:rgb(42 27 46 / 0.88);text-decoration:none}.site-footer li a:hover{color:var(--accent-ink);text-decoration:underline}.footer-bar{border-top:1px solid var(--line)}.footer-bar-in{display:flex;flex-direction:column;gap:0.35rem;padding-block:1rem;font-size:0.8125rem;color:var(--muted)}.footer-bar-in p{margin:0}.footer-bar-in a{color:var(--muted)}@media (min-width:48em){.footer-bar-in{flex-direction:row;justify-content:space-between;gap:1.5rem}}.nf{min-height:100vh;display:grid;align-items:center;background:linear-gradient(135deg,#f6f2ec 0%,#e8e1d5 100%)}.nf-in{text-align:center;padding-block:4rem}.nf-code{font-family:var(--font-serif);font-size:clamp(4rem,12vw,7rem);line-height:1;color:var(--plum);margin:0}.nf-brand{font-family:var(--font-serif);font-size:clamp(1.75rem,5vw,2.75rem);color:var(--plum);margin:0 0 1.5rem}.nf .rule{margin-block:1.25rem 1.75rem}.nf-cols{display:grid;gap:2rem;margin-top:0.5rem}@media (min-width:40em){.nf-cols{grid-template-columns:1fr 1fr}}.nf h1,.nf h2{font-size:1.5rem;margin-bottom:0.5rem}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.cards>*,.pub-list>*,.timeline>li,.steps>li,.faq-item{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 28%}@keyframes rise{from{transform:translateY(16px)}to{transform:none}}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;scroll-behavior:auto !important}}@media (forced-colors:active){.card,.pub,.tl-card,.glance,.faq-item,.btn,.profile-card,.steps li{border:1px solid CanvasText}.badge,.profile-ico{forced-color-adjust:none;background:Canvas;color:CanvasText;border:1px solid CanvasText}}.print-id{display:none}@media print{.print-id{display:block;margin:0 0 1rem;padding-bottom:0.6rem;border-bottom:1px solid #999;font-size:10pt}.print-id strong{font-size:15pt;display:block}.dots li::before,.ticks li::before{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{margin:16mm 14mm}:root{--bg:#fff;--card:#fff}body{font-size:10.5pt;line-height:1.5;background:#fff;color:#000}.site-header,.skip,.site-footer .footer-nav,.footer-contact,.cta-band,.toc,.btn,.crumbs,.card-link,.faq-list,.section-faq,.hero::before,.hero::after,[data-print],[data-copy]{display:none !important}.hero,.page-head,.section-alt{background:#fff !important;border:0}.card,.tl-card,.pub,.glance,.steps li{box-shadow:none !important;border:1px solid #ccc;break-inside:avoid}.timeline>li{break-inside:avoid}.cv-grid{display:block}a{color:#000;text-decoration:none}a[href^="http"]:not(.brand)::after{content:" (" attr(href) ")";font-size:0.85em;word-break:break-all;color:#333}.section{padding-block:1rem}h1,h2,h3{break-after:avoid}}