:root{--bg:#f3efe7;--bg-raise:#fffcf8;--ink:#152033;--muted:#4c5b70;--line:#15203324;--navy:#1a3054;--blue:#6d93aa;--blue-deep:#35596f;--clay:#8d5348;--brass:#8d7350;--sage:#3f6b64;--stone:#d7cfc3;--shadow:0 30px 70px #15203314;--header:4.5rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark] .role{background:var(--bg-raise)}:root[data-theme=dark] .facts div:first-child,:root[data-theme=dark] .strengths article:first-child{border-top-color:#8fb4cc}:root[data-theme=dark] .role:nth-child(4n+1){border-left-color:#8fb4cc}:root[data-theme=dark]{--bg:#101820;--bg-raise:#18242e;--ink:#f4efe6;--muted:#c5d0da;--line:#f4efe629;--navy:#d7e6f0;--blue:#9ec3d6;--blue-deep:#b7d4e4;--clay:#e4b7ad;--brass:#d4bc90;--sage:#9ec7bf;--stone:#3a4654;--shadow:0 30px 70px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(720px 420px at 88% 8%, #6d93aa47, transparent 55%), radial-gradient(540px 380px at 0% 40%, #8d53481a, transparent 50%), var(--bg);color:var(--ink);margin:0;font-family:Outfit,Avenir Next,Segoe UI,sans-serif;font-weight:400;line-height:1.6;transition:background-color .5s,color .5s}body:before{content:"";z-index:0;pointer-events:none;opacity:.55;background-image:linear-gradient(#6d93aa29 1px,#0000 1px),linear-gradient(90deg,#6d93aa29 1px,#0000 1px),radial-gradient(circle at 20% 20%,#8d53482e 0 1px,#0000 1.5px);background-size:56px 56px,56px 56px,22px 22px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 80% 0,#000 0%,#0000 72%);mask-image:radial-gradient(at 80% 0,#000 0%,#0000 72%)}.site-header,main,.site-footer{z-index:1;position:relative}img{max-width:100%}a{color:inherit}button,input{font:inherit;color:inherit}.skip{background:var(--ink);color:var(--bg);z-index:40;padding:.6rem .9rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.site-header{z-index:20;min-height:var(--header);background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 4vw;display:flex;position:sticky;top:0}.site-header:after{content:"";background:linear-gradient(90deg, transparent, var(--brass), var(--blue), var(--sage), transparent);opacity:.9;height:2px;position:absolute;bottom:-1px;left:0;right:0}.brand{letter-spacing:-.02em;align-items:center;gap:.7rem;font-weight:560;text-decoration:none;display:inline-flex}.brand span{color:#f4efe6;background:#1a3054;place-items:center;width:2.1rem;height:2.1rem;font-family:Fraunces,Palatino,serif;font-size:.82rem;transition:transform .35s;display:grid}.brand:hover span{transform:rotate(-8deg)scale(1.06)}.nav{gap:1.25rem;display:flex}.nav a,.nav-button{color:var(--muted);font-size:.95rem;text-decoration:none;transition:color .25s;position:relative}.nav-button{cursor:pointer;background:0 0;border:0;padding:0}.nav a:after,.nav-button:after{content:"";background:linear-gradient(90deg, var(--clay), var(--blue));transform-origin:0;width:100%;height:2px;transition:transform .35s;position:absolute;bottom:-.35rem;left:0;transform:scaleX(0)}.nav a:hover,.nav a.is-active,.nav-button:hover,.nav-button[aria-expanded=true]{color:var(--ink)}.nav a:hover:after,.nav a.is-active:after,.nav-button:hover:after,.nav-button[aria-expanded=true]:after{transform:scaleX(1)}.header-actions,.hero-actions,.contact-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.menu-button{display:none}.button,.text-button,.filters button,.menu-button{border:1px solid var(--line);cursor:pointer;background:0 0}.button{color:#f4efe6;background-color:#1a3054;background-image:linear-gradient(120deg,#1a3054 0%,#3d6d90 45%,#1a3054 80%);background-position:0 0;background-size:220% 100%;border-color:#1a3054;justify-content:center;align-items:center;min-height:2.8rem;padding:.55rem 1rem;text-decoration:none;transition:transform .28s,box-shadow .28s,background-position .45s;display:inline-flex;position:relative;overflow:hidden}.button:hover{background-position:100% 0;transform:translateY(-3px);box-shadow:0 14px 30px #1a305447}.button-quiet{color:var(--ink);border-color:var(--line);background:0 0}.button-quiet:hover{background:color-mix(in srgb, var(--blue) 22%, transparent);border-color:var(--blue)}.button-small{min-height:2.3rem;padding-inline:.8rem}.text-button{color:var(--blue-deep);text-underline-offset:.22em;border:0;padding:0;text-decoration:underline;transition:color .25s,letter-spacing .25s}.text-button:hover{color:var(--clay);letter-spacing:.02em}.button:focus-visible,.text-button:focus-visible,.nav a:focus-visible,.filters button:focus-visible,input:focus-visible,.menu-button:focus-visible,.brand:focus-visible{outline:2px solid var(--blue-deep);outline-offset:3px}main{width:min(1120px,100% - 8vw);margin:0 auto}.hero{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);padding:2.6rem 0 1.5rem;display:grid}.eyebrow,.context,.index{color:var(--blue-deep);margin:0;font-family:Fraunces,Palatino,serif;font-style:italic;font-weight:500}h1,h2,h3{letter-spacing:-.04em;font-family:Fraunces,Palatino,serif;font-weight:560;line-height:1.02}h1{background:linear-gradient(115deg, var(--ink) 8%, #243e5c 52%, var(--brass) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:.35rem 0 1rem;font-size:clamp(4rem,8vw,6.6rem)}h2{margin:0;font-size:clamp(2.2rem,4vw,3.4rem)}h3{margin:.2rem 0 .6rem;font-size:1.7rem}.lede,.section-heading p,.role p,.education p,.contact-panel p,.strengths p{color:var(--muted)}.lede{max-width:38rem;margin:0;font-size:1.16rem}.hero-actions{margin:1.5rem 0 1.8rem}.facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.facts div{background:color-mix(in srgb, var(--bg-raise) 80%, transparent);border:1px solid var(--line);border-top-width:2px;padding:.85rem .9rem;transition:transform .35s,border-color .35s,box-shadow .35s,background-color .35s}.facts div:first-child{border-top-color:var(--navy)}.facts div:nth-child(2){border-top-color:var(--brass)}.facts div:nth-child(3){border-top-color:var(--sage)}.facts div:nth-child(4){border-top-color:var(--blue-deep)}.facts div:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-4px)}.facts dt{color:var(--clay);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.facts dd{margin:.25rem 0 0;font-weight:520}.portrait{justify-self:end;width:min(100%,420px);margin:0;position:relative}.portrait-frame:before,.portrait:after{content:"";pointer-events:none;position:absolute}.portrait-frame:before{border:1px solid var(--blue);animation:7s ease-in-out infinite drift;inset:14px -14px -14px 14px}.portrait:after{background:repeating-linear-gradient(-45deg, transparent, transparent 6px, color-mix(in srgb, var(--blue) 55%, transparent) 6px, color-mix(in srgb, var(--blue) 55%, transparent) 7px);width:92px;height:92px;top:-14px;right:8px}.portrait-frame{box-shadow:var(--shadow);position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:center 18%;background:#d5e2ea;width:100%;height:min(68vh,620px);transition:transform .7s;display:block}.portrait:hover img{transform:scale(1.06)}.portrait figcaption{justify-content:space-between;gap:1rem;margin-top:.9rem;font-size:.92rem;display:flex;position:relative}.portrait figcaption span{color:var(--muted)}.ticker{border-block:1px solid var(--line);background:color-mix(in srgb, var(--blue) 14%, var(--bg));width:100vw;margin:.4rem 0 0 calc(50% - 50vw);overflow:hidden}.ticker-track{gap:2.4rem;width:max-content;padding:.85rem 0;animation:32s linear infinite ticker;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker span{letter-spacing:-.03em;font-family:Fraunces,Palatino,serif;font-size:1.15rem;font-style:italic}.ticker span:before{content:"✦";color:var(--clay);margin-right:2.4rem;font-style:normal}.quote-band{color:#f4efe6;background:linear-gradient(115deg,#8d735038,#0000 28%),linear-gradient(#1a3054,#243e5c 70%,#1d3a3a);width:100vw;margin:0 0 1rem calc(50% - 50vw);padding:2.6rem 8vw;position:relative;overflow:hidden}.quote-band:before{content:"";background-image:radial-gradient(circle,#f4efe638 1px,#0000 1.2px);background-size:16px 16px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.quote-band p{color:#f4efe6;letter-spacing:-.03em;max-width:46rem;margin:0;font-family:Fraunces,Palatino,serif;font-size:clamp(1.5rem,3vw,2.15rem);font-style:italic;font-weight:500;line-height:1.25;position:relative}.section{padding:3.2rem 0;scroll-margin-top:5.2rem}.section-heading{grid-template-columns:4rem 1fr;gap:1rem;margin-bottom:1.8rem;display:grid}.index{font-size:1.3rem}.roles{gap:.9rem;padding-left:1.2rem;display:grid;position:relative}.roles:before{content:"";background:linear-gradient(var(--blue), transparent);width:1px;position:absolute;top:.6rem;bottom:.6rem;left:0}.role{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-raise) 92%, white), var(--bg-raise));border:1px solid var(--line);border-left:3px solid var(--stone);grid-template-columns:15rem 1fr;gap:1.5rem;padding:1.35rem 1.35rem 1.35rem 1.5rem;transition:transform .4s,border-color .4s,box-shadow .4s,background-color .4s;display:grid;position:relative;box-shadow:inset 0 1px #fff6}.role:nth-child(4n+1){border-left-color:#1a3054}.role:nth-child(4n+2){border-left-color:var(--brass)}.role:nth-child(4n+3){border-left-color:var(--sage)}.role:nth-child(4n+4){border-left-color:var(--blue-deep)}.role:before{content:"";border:2px solid var(--blue);background:var(--bg);border-radius:50%;width:.7rem;height:.7rem;transition:transform .3s,background .3s;position:absolute;top:1.7rem;left:-1.48rem}.role:hover,.role.is-open{border-color:color-mix(in srgb, var(--blue) 70%, var(--line));box-shadow:var(--shadow);transform:translateY(-4px)}.role:hover:before,.role.is-open:before{background:var(--clay);transform:scale(1.25)}.role-meta p{margin:0 0 .55rem}.pill{border:1px solid var(--clay);color:var(--clay);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.pill:before{content:"";background:#2f8f6b;border-radius:50%;width:.45rem;height:.45rem;animation:1.8s ease-out infinite pulse;box-shadow:0 0 #2f8f6b8c}.role h3 span{color:var(--muted);font-style:italic;font-weight:500}.client-line{margin-top:-.3rem}.skill-row,.points,.skill-grid{margin:0;padding:0;list-style:none}.skill-row{flex-wrap:wrap;gap:.45rem;margin:1rem 0;display:flex}.skill-row li,.skill-grid li span{color:var(--blue-deep);font-size:.82rem}.skill-row li{background:color-mix(in srgb, var(--blue) 16%, transparent);padding:.2rem .5rem;transition:transform .22s,background .22s,color .22s}.skill-row li:hover{color:#f4efe6;background:#1a3054;transform:translateY(-2px)}.points{gap:.55rem;margin-top:1rem;display:grid}.points li{border-left:1px solid var(--blue);padding-left:.9rem}.details{grid-template-rows:1fr;transition:grid-template-rows .4s;display:grid}.details.is-closed{grid-template-rows:0fr}.details .points{overflow:hidden}.strengths{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.strengths article{background:var(--bg-raise);border-top:2px solid #0000;min-height:100%;padding:1.3rem;transition:transform .4s,background .4s,color .4s,border-color .4s}.strengths article:first-child{border-top-color:#1a3054}.strengths article:nth-child(2){border-top-color:var(--brass)}.strengths article:nth-child(3){border-top-color:var(--sage)}.strengths article:nth-child(4){border-top-color:var(--blue-deep)}.strengths article:hover{color:#f4efe6;background:#1a3054;transform:translateY(-8px)}.strengths article:hover p,.strengths article:hover span{color:#d5e4ee}.strengths span{color:var(--clay);font-family:Fraunces,Palatino,serif;font-style:italic}.strengths h3{margin-top:1.4rem;font-size:1.45rem}.skill-tools{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.filters{flex-wrap:wrap;gap:.45rem;display:flex}.filters button,.search input{background:0 0;min-height:2.4rem;padding:.35rem .75rem;transition:transform .22s,background .22s,color .22s,border-color .22s}.filters button:hover{border-color:var(--blue);transform:translateY(-2px)}.filters button.is-selected{color:#f4efe6;background:#1a3054;border-color:#1a3054}.search input{border:1px solid var(--line);background:var(--bg-raise);width:min(16rem,100%)}.result-count,.empty{color:var(--muted)}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.skill-grid li{background:var(--bg-raise);border:1px solid var(--line);flex-direction:column;gap:.15rem;padding:.85rem .9rem;transition:transform .28s,border-color .28s,box-shadow .28s;display:flex}.skill-grid li:hover{border-color:var(--brass);background:color-mix(in srgb, var(--sage) 10%, var(--bg-raise));box-shadow:var(--shadow);transform:translateY(-4px)}.education article,.contact-panel{background:linear-gradient(135deg, color-mix(in srgb, var(--blue) 16%, transparent), transparent 42%), var(--bg-raise);border:1px solid var(--line);box-shadow:var(--shadow);padding:1.5rem;transition:transform .35s,border-color .35s}.education article:hover,.contact-panel:hover{border-color:var(--blue);transform:translateY(-4px)}.contact-panel{grid-template-columns:1fr;gap:1.2rem;display:grid}.contact-actions{justify-content:flex-end}.contact-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.contact-list li{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, transparent);justify-content:space-between;align-items:center;gap:1rem;transition:transform .25s,border-color .25s;display:flex}.contact-list li:hover{border-color:var(--blue);transform:translate(6px)}.contact-list a{flex:1;padding:.85rem 1rem;text-decoration:none;display:block}.contact-list span,.location{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.contact-list span{padding-right:1rem}.location{margin:.9rem 0 0}.contact-layer{z-index:80;background:#1018209e;place-items:center;padding:1.2rem;animation:.28s fade-in;display:grid;position:fixed;inset:0}.contact-dialog{background:linear-gradient(160deg, color-mix(in srgb, var(--brass) 16%, transparent), transparent 36%), var(--bg);border:1px solid var(--line);border-top:2px solid var(--brass);width:min(32rem,100%);box-shadow:var(--shadow);padding:1.4rem;animation:.4s rise-in}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dialog-head h2{margin:0}.site-footer{border-top:1px solid var(--line);width:min(1120px,100% - 8vw);color:var(--muted);justify-content:space-between;gap:1rem;margin:0 auto;padding:1.2rem 0 2.4rem;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.facts,.strengths,.skill-grid{grid-template-columns:1fr 1fr}.contact-panel,.section-heading{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}}@media (width<=800px){.hero,.role{grid-template-columns:1fr}.portrait{justify-self:start}}@media (width<=760px){.nav{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:.4rem 4vw 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav.open{display:flex}.nav a,.nav-button{border-top:1px solid var(--line);text-align:left;padding:.75rem 0}.menu-button{min-height:2.3rem;padding:.3rem .7rem;display:inline-flex}.header-actions .button-small{display:none}.facts,.strengths,.skill-grid,.skill-tools{grid-template-columns:1fr;display:grid}.site-footer{flex-direction:column}h1{font-size:3.4rem}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(7px,-8px)}}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.portrait-frame:before,.pill:before,.contact-layer,.contact-dialog{animation:none}}@media print{.site-header,.hero-actions,.text-button,.skill-tools,.contact-actions{display:none}body{color:#000;background:#fff}.ticker,.portrait-frame:before,.portrait:after{display:none}.details.is-closed{grid-template-rows:1fr}}
