@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-Regular.ttf')}@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-Bold.ttf');font-weight:700}@font-face{font-family:Instrument;src:url('/assets/fonts/InstrumentSerif-Italic.ttf');font-style:italic}
:root{--paper:#f4f4ee;--ink:#19382e;--muted:#5d7066;--line:#cad1c6;--lilac:#d9d6ef;--lime:#d7eb91;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #624ac5;outline-offset:5px}button:disabled{opacity:.35;cursor:default}em{font-family:Instrument,Georgia,serif;font-weight:400}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}h1,h2{letter-spacing:-.045em}h3{letter-spacing:-.035em}button{color:inherit}[hidden]{display:none!important}.skip{position:fixed;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:0}.site-header{height:98px;max-width:1480px;margin:auto;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-weight:700;font-size:36px;letter-spacing:-.15em;display:flex;align-items:center;line-height:1}.wordmark span{font-style:italic}.wordmark i{font-style:normal;font-size:24px;letter-spacing:0;margin-left:13px}.site-header nav{display:flex;padding:5px;border:1px solid var(--line);border-radius:30px;gap:3px}.site-header nav a{padding:9px 20px;font-size:13px;border-radius:22px;transition:background 250ms var(--ease),color 250ms var(--ease)}.site-header nav a.active{background:var(--ink);color:var(--paper)}.site-header nav a:hover{background:var(--lilac);color:var(--ink)}.header-contact{font-size:14px}.header-contact span{margin-left:15px}.map-section{max-width:1440px;margin:auto;padding:12px 4% 40px}.map-caption{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:15px 0;border-bottom:1px solid var(--line)}.career-map{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1.65fr 1fr;gap:50px;align-items:center;min-height:540px;padding:35px 0 0}.map-lines{position:absolute;width:100%;height:100%;inset:0;fill:none;stroke:var(--line);stroke-width:1;z-index:-1}.map-identity{text-align:center;background:var(--paper);padding:18px 6px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.map-identity .eyebrow{margin-bottom:13px}.map-identity h1{font-size:clamp(55px,5.6vw,82px);font-weight:400;line-height:.98}.map-identity h1 em{font-size:1.26em;line-height:1.1}.motto{font-size:clamp(19px,1.6vw,24px);line-height:1.45;margin-top:24px;letter-spacing:-.035em}.motto em{font-size:1.32em}.current-role{font-size:11px;line-height:1.6;margin-top:19px;color:var(--muted)}.current-role strong{font-weight:400;color:var(--ink)}.hero-actions{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:23px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:var(--paper);padding:13px 23px;border:1px solid var(--ink);border-radius:30px;font-size:14px;transition:background 250ms var(--ease),transform 250ms var(--ease)}.button:hover{background:#315747;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink)}.cv-link{font-size:12px;border-bottom:1px solid var(--line);padding:8px 0}.map-side{display:flex;flex-direction:column;gap:23px}.map-node{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;min-height:82px;padding:16px 15px;background:var(--paper);transition:transform 300ms var(--ease),background 250ms var(--ease),border-color 250ms var(--ease)}.map-node:hover,.map-node:focus-visible{background:var(--lilac);border-color:#a99dcf;transform:translateY(-3px)}.map-node[data-map-domain="automation"]{background:var(--lime);border-color:#bacd83}.node-dot{width:6px;height:6px;border-radius:50%;background:var(--ink);flex:none}.map-node small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px;letter-spacing:.015em}.map-node strong{font-size:13px;line-height:1.4;display:block;font-weight:400}.node-arrow{margin-left:auto;font-size:16px}.map-root{position:relative;max-width:300px;margin:30px auto 0}.map-root:before{content:'';height:30px;border-left:1px solid var(--line);position:absolute;left:50%;bottom:100%}.map-root .map-node{min-height:64px;justify-content:center;background:var(--lilac)}.map-instruction{text-align:center;font-size:11px;color:var(--muted);margin-top:25px}.section{max-width:1325px;margin:auto;padding:75px 4%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{font-size:clamp(32px,4vw,52px);font-weight:400}.section-heading h2 em{font-size:1.15em}.quiet-link{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:6px;white-space:nowrap}.selected-work{border-top:1px solid var(--line)}.rail{position:relative}.rail-controls{display:flex;align-items:center;gap:8px;justify-content:end;margin:0 0 16px}.rail-controls span{font-size:11px;margin-right:12px}.rail-controls button{border:1px solid var(--line);background:transparent;width:38px;height:38px;border-radius:50%;transition:background 250ms var(--ease)}.rail-controls button:hover:not(:disabled){background:var(--lilac)}.case-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.js .case-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 20px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.case-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;padding:26px;min-height:360px;transition:background 300ms var(--ease),transform 300ms var(--ease);background:#e9ede3}.js .case-rail > .case-card{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start}.case-card:hover{background:#e0e7d7;transform:translateY(-3px)}.tone-automation{background:#e0eabf}.tone-offensive,.tone-detection,.tone-recognition{background:#e4e1ef}.card-top{display:flex;justify-content:space-between;font-size:11px;margin-bottom:45px;color:var(--muted)}.card-top span:last-child{font-size:22px;color:var(--ink)}.card-title{margin-bottom:20px}.card-title h3{font-size:25px;font-weight:400;margin-bottom:12px}.domain-label{font-size:9px;letter-spacing:.04em;border-top:1px solid #aab5a2;display:inline-block;padding-top:7px;line-height:1.5}.case-card p{font-size:13px;line-height:1.7;color:#43594d}.card-bottom{margin-top:auto;padding-top:30px;font-size:11px;display:flex;justify-content:space-between}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted);max-width:1260px;margin:30px auto;padding:0 4%}.breadcrumbs a:hover{text-decoration:underline}footer{border-top:1px solid var(--line);text-align:center;padding:65px 5% 30px;margin-top:45px}footer>p{font-size:13px;color:var(--muted)}.footer-contact{font-size:clamp(40px,8vw,92px);font-family:Instrument,serif;font-style:italic;display:inline-block;margin:10px 0 50px}.footer-contact span{font-family:Manrope;font-size:.7em;font-style:normal}footer>div{display:flex;justify-content:center;gap:30px;font-size:11px;flex-wrap:wrap}footer>div span{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper)}.site-header nav a{white-space:nowrap}.wordmark i{display:none}.panel-summary{max-width:680px;font-size:15px;color:var(--muted);margin-top:18px}.page-intro{max-width:1000px;text-align:center;margin:70px auto 0;padding:0 6%}.page-intro h1{font-size:clamp(37px,5.1vw,70px);font-weight:400;text-wrap:balance}.page-intro .lede{max-width:700px;margin:25px auto 0;font-size:17px;line-height:1.8;color:var(--muted)}.domain-work{padding-top:40px}.domain-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:30px auto}.domain-nav a{font-size:11px;padding:8px 13px;border:1px solid var(--line);border-radius:30px;transition:background 250ms var(--ease)}.domain-nav a:hover{background:var(--lilac)}.domain-nav a.selected{background:var(--ink);color:var(--paper)}.skill-origin{margin-top:65px;border-top:1px solid var(--line);padding-top:30px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chips a{font-size:12px;padding:8px 13px;border-radius:4px;background:#e6eadd;transition:background 250ms var(--ease)}.chips a:hover{background:var(--lilac)}.skill-origin .eyebrow{margin-bottom:18px}.library{padding-top:40px}.search{display:flex;flex-direction:column;max-width:650px;margin:0 auto 25px;gap:12px;font-size:11px}.search input{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:30px;padding:15px 24px;font-size:16px;width:100%}.search-count{font-size:11px;margin:38px 0 20px;color:var(--muted)}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.case-grid>div{display:flex}.case-grid .case-card{width:100%}.case-grid .case-card{flex:initial}.domain-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.story-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;font-size:11px;color:var(--muted);margin:30px auto 0;padding:0 5%;max-width:900px;text-align:center}.story-meta span+span:before{content:'·';margin-right:24px}.story{max-width:810px;padding:0 38px;margin:60px auto 0}.story-prose p{font-size:17px;line-height:1.95;margin-bottom:26px}.story-prose p:first-child{font-size:23px;line-height:1.65;letter-spacing:-.025em}.story-prose p+p{color:#40584a}.technical-notes{margin-top:50px}.technical-notes details{border-top:1px solid var(--line)}.technical-notes details:last-child{border-bottom:1px solid var(--line)}.technical-notes summary{cursor:pointer;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:22px 0;font-size:16px;list-style:none}.technical-notes summary::-webkit-details-marker{display:none}.plus{font-size:23px;flex:none;transition:transform 250ms var(--ease)}details[open] .plus{transform:rotate(45deg)}.note-body{padding:0 0 27px;color:#40584a}.note-body p{font-size:15px;line-height:1.9;margin-bottom:18px}.note-page .chips{margin-bottom:35px}.story-domains{text-align:center;margin:30px auto 75px;padding:0 5%}.story-domains>a{display:inline-block;margin:0 12px;font-size:13px;border-bottom:1px solid var(--line)}.detection-model{margin:45px -35px;padding:35px;border-radius:20px;background:#e3e5d6}.detection-model figcaption{text-align:center;margin-bottom:32px}.detection-model figcaption .eyebrow{display:block;margin-bottom:10px}.detection-model figcaption strong{font-size:24px;font-weight:400;letter-spacing:-.025em}.model-inputs{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:15px}.model-inputs>div,.model-bridge{border:1px solid #b3bea8;border-radius:12px;background:var(--paper);padding:23px;text-align:center}.model-inputs b,.model-bridge b{display:block;font-size:15px}.model-inputs span,.model-bridge span{display:block;font-size:11px;margin-top:8px}.model-inputs a{display:inline-block;font-size:11px;border-bottom:1px solid var(--line);margin-top:15px}.model-join{text-align:center;font-size:20px}.model-bridge{position:relative;max-width:380px;margin:35px auto 0;background:var(--lilac)}.model-bridge:before{content:'';position:absolute;bottom:100%;left:50%;height:35px;border-left:1px solid #acb79f}.model-stages{display:flex;justify-content:center;gap:14px;margin:25px 0}.model-stages span{font-size:11px;border-bottom:1px solid #acb79f;padding-bottom:8px}.detection-model>p{font-size:12px;text-align:center;max-width:580px;margin:25px auto 0;color:#4b6052}.skill-context{font-size:13px;margin-bottom:25px;color:var(--muted);text-align:center}.timeline{list-style:none;padding:0;margin:0 auto;max-width:870px}.timeline li{position:relative;display:grid;grid-template-columns:165px 1fr;gap:45px;padding:0 0 55px 25px;border-left:1px solid var(--line)}.timeline li:before{content:'';width:9px;height:9px;background:var(--ink);border-radius:50%;position:absolute;left:-5px;top:8px}.timeline-date{font-size:11px;color:var(--muted);padding-top:5px}.timeline h2{font-size:30px;font-weight:400;margin-bottom:10px}.timeline h3{font-size:14px;letter-spacing:0;font-weight:400;margin-bottom:20px}.timeline p{font-size:14px;color:var(--muted);line-height:1.8}.timeline-links{display:flex;flex-direction:column;align-items:start;gap:11px;margin-top:22px}.timeline-links a{font-size:12px;border-bottom:1px solid var(--line)}.download-actions{display:flex;justify-content:center;gap:15px;margin:35px 5%;flex-wrap:wrap}.career-section .skill-origin{max-width:870px;margin-left:auto;margin-right:auto}.career-section .skill-origin p{font-size:14px;margin-bottom:15px}.map-node[aria-current=true]{background:var(--lilac);border-color:#a99dcf}.selected-work.panel-enter{animation:panel-reveal 400ms var(--ease)}@keyframes panel-reveal{from{opacity:0;transform:translateY(12px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}details[open] .note-body{animation:panel-reveal 250ms var(--ease)}
.motion-toggle{border:0;background:transparent;padding:0;font-size:11px;text-decoration:underline;text-underline-offset:4px}.motion-toggle[aria-pressed=true]{color:#453775}html[data-motion=reduce],html[data-motion=reduce] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=reduce]::view-transition-group(*),html[data-motion=reduce]::view-transition-old(*),html[data-motion=reduce]::view-transition-new(*){animation:none!important}
.map-node small{font-size:11px}.map-node strong{font-size:14px}.current-role{font-size:12px}.domain-label{font-size:11px}.case-card p{font-size:14px}
/* transitions.dev Texts Reveal and Page Side-by-Side; HTML is visible by default. */
@keyframes text-reveal{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes page-enter{from{opacity:0;transform:translateX(8px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.map-identity h1{animation:text-reveal 500ms var(--ease) both}.motto{animation:text-reveal 500ms 80ms var(--ease) both}@view-transition{navigation:auto}::view-transition-old(root){animation:250ms var(--ease) both reverse page-enter}::view-transition-new(root){animation:250ms var(--ease) both page-enter}
@media(max-width:1050px){.career-map{gap:20px;grid-template-columns:1fr 1.4fr 1fr}.map-node{padding:13px 10px}.node-dot{display:none}.map-node strong{font-size:12px}.map-identity h1{font-size:59px}.motto{font-size:19px}.js .case-rail > .case-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:760px){.site-header{height:84px;gap:12px;padding:0 5%}.wordmark{font-size:31px}.wordmark i{display:none}.site-header nav{gap:0;padding:3px}.site-header nav a{font-size:11px;padding:8px 12px}.header-contact{display:none}.map-caption{font-size:9px;letter-spacing:.08em}.map-caption span:last-child{display:none}.career-map{display:flex;flex-wrap:wrap;gap:20px;padding-top:24px;min-height:auto}.map-identity{order:0;flex:0 0 100%;padding:10px 0 30px}.map-identity h1{font-size:66px}.map-identity h1 br{display:none}.map-identity h1 em{display:block;font-size:1.2em}.motto{margin-top:22px;font-size:20px}.current-role{margin-top:14px}.hero-actions{margin-top:20px}.map-side{flex:1;min-width:0;gap:12px}.map-left{order:1}.map-right{order:2}.map-node{min-height:101px;gap:7px;padding:14px 12px}.map-node small{font-size:9px}.map-node strong{font-size:12px}.node-arrow{font-size:12px}.map-lines{display:none}.map-side:before{content:'';height:20px;width:50%;border-top:1px solid var(--line)}.map-left:before{align-self:end;border-left:1px solid var(--line)}.map-right:before{border-right:1px solid var(--line)}.map-root{margin-top:22px}.map-root:before{height:22px}.map-section{padding:0 5% 36px}.map-instruction{font-size:10px}.section{padding:45px 5%}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading .eyebrow{margin-bottom:12px}.case-rail{grid-template-columns:1fr}.js .case-rail > .case-card{flex-basis:86%;min-height:350px}.card-title h3{font-size:26px}.card-top{margin-bottom:35px}.card-bottom{padding-top:22px}.section-heading h2{font-size:39px}footer{padding-top:45px}footer>div{gap:18px}.breadcrumbs{margin-top:20px}.hero-actions .button{padding:13px 23px}}@media(max-width:360px){.site-header nav a{padding:8px 9px}.map-identity h1{font-size:57px}.map-node{padding:12px 9px}.node-arrow{display:none}}
@media(max-width:1000px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.page-intro{margin-top:45px;padding:0 6%}.page-intro .lede{font-size:15px;margin-top:20px}.domain-index{grid-template-columns:1fr 1fr}.case-grid{grid-template-columns:1fr}.story{padding:0 6%;margin-top:40px}.story-prose p{font-size:15px;line-height:1.9}.story-prose p:first-child{font-size:20px}.story-meta{font-size:10px;gap:7px 12px}.story-meta span+span:before{margin-right:12px}.technical-notes summary{font-size:14px}.detection-model{margin:35px 0;padding:24px 16px}.detection-model figcaption strong{font-size:21px}.model-inputs{grid-template-columns:1fr;gap:10px}.model-inputs>div{padding:18px}.model-bridge{margin-top:30px}.model-bridge:before{height:30px}.model-stages{gap:10px}.model-stages span{font-size:10px;text-align:center}.detection-model>p{font-size:11px}.timeline li{grid-template-columns:1fr;gap:16px;padding-left:23px;padding-bottom:45px}.timeline h2{font-size:27px}.timeline h3{font-size:13px}.timeline-links a{font-size:11px}.story-domains>a{margin:10px;font-size:12px}.panel-summary{font-size:14px}.skill-origin{margin-top:40px}.chips a{font-size:11px;padding:8px 11px}.domain-nav{gap:7px}.domain-nav a{font-size:10px;padding:8px 11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html{scroll-behavior:auto}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

.case-rail:has(>.case-card:only-child){justify-content:center}.js .case-rail>.case-card:only-child{flex-basis:min(640px,100%)}

.map-lines path{transition:stroke 250ms var(--ease),stroke-width 250ms var(--ease)}
.career-map:has([data-map-domain="soc"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="soc"]{stroke:#8073a7;stroke-width:2}
.career-map:has([data-map-domain="soc-engineering"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="soc-engineering"]{stroke:#8073a7;stroke-width:2}
.career-map:has([data-map-domain="detection"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="detection"]{stroke:#8073a7;stroke-width:2}
.career-map:has([data-map-domain="automation"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="automation"]{stroke:#8073a7;stroke-width:2}
.career-map:has([data-map-domain="offensive"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="offensive"]{stroke:#8073a7;stroke-width:2}
.career-map:has([data-map-domain="security-engineering"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="security-engineering"]{stroke:#8073a7;stroke-width:2}
.career-map:has([data-map-domain="leadership"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="leadership"]{stroke:#8073a7;stroke-width:2}
.career-map:has([data-map-domain="software"]:is(:hover,:focus-visible,[aria-current=true])) [data-edge="software"]{stroke:#8073a7;stroke-width:2}
@media(prefers-reduced-motion:reduce){.map-lines path{transition:none}}

/* Editor-created groups and additional root domains follow the existing flat layout. */
.skill-group-title{font-size:25px;font-weight:400;margin:30px 0 18px}.map-root{display:flex;flex-direction:column;gap:12px}.domain-children{margin-bottom:35px}


.cv-preview-section{max-width:1100px}.cv-document{width:100%;height:1800px;border:1px solid var(--line);border-radius:4px;background:white}.cv-preview-section .skill-origin{margin-top:30px}


/* Skills first on the career map; the complete cases remain one level below. */
.map-node{align-items:flex-start;gap:13px;padding:20px 17px;min-height:130px}.node-index{font-size:10px;letter-spacing:.04em;color:var(--muted);padding-top:4px;font-variant-numeric:tabular-nums}.node-content{min-width:0;flex:1}.map-node strong{font-size:16px;font-weight:500;line-height:1.35;letter-spacing:-.025em}.node-keywords{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0 12px}.node-keywords>span{font-size:10px;line-height:1.5;border:1px solid #bac6b680;padding:3px 6px;border-radius:4px;background:#ffffff40}.map-node small{font-size:10px;margin:0;display:flex;justify-content:space-between;gap:12px}.map-node small span{color:var(--ink);font-size:14px}.map-side{gap:16px}.map-root{max-width:390px}.map-root .map-node{min-height:initial}.selected-work .section-heading .chips{margin-top:18px}.timeline li{scroll-margin-top:110px}
@media(min-width:1500px){.map-node{padding:22px}.map-node strong{font-size:18px}.node-keywords>span{font-size:11px}}
@media(max-width:800px){.map-node{min-height:128px;padding:17px 13px}.map-node strong{font-size:15px}.node-index{font-size:9px}.node-keywords{gap:4px}.node-keywords>span{font-size:10px}}
.wordmark{width:48px;height:48px;flex:none;justify-content:center;letter-spacing:normal}
.wordmark .brand-lock{display:block;width:48px;height:48px}
@media(max-width:680px){.wordmark,.wordmark .brand-lock{width:38px;height:38px}}

.wordmark,.studio-brand{width:48px;height:54px;flex:none}.brand-shield{display:block;width:48px;height:54px;max-width:none;object-fit:contain;aspect-ratio:8/9;flex:none}
@media(max-width:680px){.wordmark,.studio-brand{width:40px;height:45px}.brand-shield{width:40px;height:45px}}
