@charset "UTF-8";
:root{color-scheme:dark;--bg:#101112;--panel:#181a1c;--panel-hover:#202326;--ink:#f2f3ed;--muted:#a6aaa9;--line:#363a3b;--accent:#d8ff62;--cyan:#9de4e5;--max:1240px;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:Inter,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.skip{position:absolute;top:-100px;left:24px;z-index:10;background:var(--accent);color:#101112;padding:12px}.skip:focus{top:16px}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:21px;font-weight:800;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.brand span{color:var(--accent);font:16px var(--mono);margin-right:9px}.nav{display:flex;align-items:center;gap:32px}.nav a{font-size:14px;text-decoration:none;color:#bcc0bd}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:10px}.nav .nav-contact{padding:9px 15px;border:1px solid var(--line);color:var(--ink)}.menu-toggle{display:none;background:none;color:var(--ink);border:1px solid var(--line);padding:8px 12px}.eyebrow,.kicker{font:13px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:13px}.eyebrow:before{content:"";width:25px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.07;font-weight:550;letter-spacing:-.045em}h1{font-size:clamp(48px,6.8vw,91px);margin-bottom:28px}h2{font-size:clamp(32px,4vw,51px);margin-bottom:24px}h3{font-size:28px;margin-bottom:15px}p{margin-bottom:22px}.muted{color:var(--muted)}.accent{color:var(--accent)}.hero{padding:79px 0 64px}.hero-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:68px;align-items:end}.hero h1{max-width:770px;margin:32px 0}.hero h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.07em}.hero-description{font-size:19px;max-width:535px;color:#b9bdbb}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 21px;background:var(--accent);color:#141811;border:1px solid var(--accent);font-size:14px;font-weight:700;text-decoration:none;min-height:48px}.button:hover{background:#e6ff9c;color:#141811}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--ink)}.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid var(--muted);padding:7px 0;display:inline-block}.feature-sheet{border:1px solid var(--line);background:var(--panel);position:relative}.sheet-top{display:flex;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);font:12px var(--mono);color:var(--muted)}.sheet-body{padding:29px 26px}.sheet-title{font:18px/1.6 var(--mono);letter-spacing:-.04em;max-width:260px}.evidence-flow{margin:28px 0}.evidence-step{padding:13px 0;display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);font-size:14px}.evidence-step span{font:12px var(--mono);color:var(--muted)}.evidence-step strong{font-weight:400}.evidence-step:last-child{color:var(--accent);border-bottom:1px solid var(--line)}.feature-sheet .text-link{color:var(--accent)}.hero-foot{margin-top:62px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:12px/1.6 var(--mono);color:var(--muted);letter-spacing:.035em}.hero-foot span:first-child{color:var(--ink)}.section{padding:76px 0;border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:37px}.section-head h2{margin:12px 0 0}.section-head p{margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{border:1px solid var(--line);padding:29px;display:flex;flex-direction:column;min-width:0;transition:background .18s,border-color .18s}.project-card:hover{background:var(--panel);border-color:#616864}.card-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:38px;font:12px var(--mono);color:var(--muted)}.project-card .symbol{font:38px var(--mono);color:var(--accent);letter-spacing:-.09em;margin-bottom:24px}.project-card:nth-child(2) .symbol{color:var(--cyan)}.project-card:nth-child(3) .symbol{color:#d1b8ff}.project-card h3{font-size:30px}.project-card h3 a{text-decoration:none}.project-card p{font-size:16px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--line);padding:3px 8px;font:12px/1.5 var(--mono);color:#c4c8c5}.card-bottom{margin-top:auto;padding-top:32px}.card-bottom .text-link{width:100%;display:flex;justify-content:space-between}.article-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:160px 1fr 40px;gap:28px;padding:29px 0;border-bottom:1px solid var(--line);align-items:start;text-decoration:none}.article-row:hover h3{color:var(--accent)}.article-row h3{font-size:27px;line-height:1.2;margin-bottom:10px}.article-row p{font-size:16px;color:var(--muted);max-width:700px;margin:0}.article-meta{font:12px/1.8 var(--mono);color:var(--muted)}.article-meta span{display:block;margin-top:5px}.article-row .arrow{font-size:24px;justify-self:end;color:var(--muted)}.contact-band{background:var(--accent);color:#171b10;padding:49px;display:flex;gap:30px;align-items:center;justify-content:space-between}.contact-band h2{font-size:44px;margin:0 0 12px}.contact-band p{margin:0;color:#414c2b}.contact-band a{white-space:nowrap;border-color:#151912;background:#151912;color:var(--ink)}.site-footer{border-top:1px solid var(--line);margin-top:64px;padding:38px 0 27px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-top{align-items:center;margin-bottom:37px}.footer-top p{margin:8px 0 0;font-size:14px;color:var(--muted)}.footer-links{display:flex;gap:25px;flex-wrap:wrap}.footer-links a{font-size:14px;text-decoration:none}.footer-bottom{padding-top:22px;border-top:1px solid var(--line);font:12px/1.6 var(--mono);color:var(--muted)}.footer-bottom a{color:var(--muted)}.page-intro{padding:75px 0 51px}.page-intro h1{margin:22px 0;font-size:clamp(48px,6.4vw,80px);max-width:980px}.page-intro .lead{max-width:710px;font-size:20px;color:var(--muted)}.page-intro .big-index{float:right;color:var(--line);font:80px var(--mono)}.page-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:75px}.side-note{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.side-note .kicker{color:var(--ink);margin-bottom:17px}.side-note a{display:block;margin-top:10px}.prose{max-width:760px;color:#c3c7c4;overflow-wrap:anywhere}.prose h2{font-size:32px;color:var(--ink);margin-top:48px;line-height:1.2}.prose h3{font-size:25px;color:var(--ink);margin-top:32px;line-height:1.3}.prose p,.prose li{line-height:1.85}.prose li{margin-bottom:10px}.prose ul,.prose ol{padding-left:24px}.prose strong{color:var(--ink)}.prose blockquote{margin:35px 0;padding:6px 0 6px 24px;border-left:2px solid var(--accent);font:25px/1.5 Georgia,serif;color:var(--ink)}.prose blockquote p{margin:0}.prose code{font:14px/1.7 var(--mono);color:var(--accent);background:var(--panel);padding:3px 5px}.prose pre{background:var(--panel);padding:22px;overflow:auto;border:1px solid var(--line);max-width:100%}.prose pre code{padding:0;color:var(--ink);white-space:pre}.prose a{color:var(--ink)}.article-header{max-width:950px}.article-header h1{font-size:clamp(43px,5.7vw,74px);line-height:1.08}.article-byline{display:flex;gap:18px;flex-wrap:wrap;font:13px/1.7 var(--mono);color:var(--muted);margin-top:28px}.reading-layout{display:grid;grid-template-columns:230px minmax(0,760px);gap:75px;padding-top:24px}.article-outline{position:sticky;top:35px;align-self:start}.article-outline a{font-size:14px;padding-bottom:9px;text-decoration:none}.back-link{display:inline-block;font:13px var(--mono);color:var(--muted);margin-bottom:30px;text-decoration:none}.project-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.project-mark{border:1px solid var(--line);font:70px var(--mono);padding:25px;color:var(--accent);margin-top:23px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:40px 0}.principle{border-top:1px solid var(--line);padding-top:20px}.principle h3{font-size:24px;line-height:1.2}.principle p{font-size:16px;color:var(--muted)}.service{display:grid;grid-template-columns:80px 1fr 1fr;gap:36px;padding:37px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service h2{font-size:31px}.service p,.service li{color:var(--muted);font-size:16px}.service ul{margin:0;padding-left:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;min-width:0}.field label{font-size:14px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid #565c5b;background:var(--panel);color:var(--ink);border-radius:0;min-height:48px}.field textarea{resize:vertical;min-height:180px}.field input::placeholder,.field textarea::placeholder{color:#9da29e}.field small{font-size:13px;color:var(--muted)}.honeypot{position:absolute;left:-10000px;opacity:0}.form-note{font-size:13px;color:var(--muted);max-width:600px}.empty-state{padding:32px;border:1px solid var(--line);color:var(--muted)}.privacy-note{max-width:700px}.privacy-note p{color:var(--muted)}
@media(min-width:1600px){.hero{padding-top:100px}.hero-layout{gap:95px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav{gap:20px}.hero-layout{gap:35px;grid-template-columns:1.3fr 1fr}.hero h1{font-size:64px}.project-card{padding:22px}.project-card h3{font-size:25px}.page-grid,.reading-layout{gap:40px;grid-template-columns:200px minmax(0,1fr)}.article-row{grid-template-columns:130px 1fr 30px}.service{gap:25px;grid-template-columns:50px 1fr 1fr}}
@media(max-width:780px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:78px;flex-wrap:wrap;padding:19px 0;gap:19px}.brand{font-size:19px}.nav{width:100%;justify-content:space-between;gap:14px;flex-wrap:wrap}.js .menu-toggle{display:block}.js .nav{display:none}.js .nav.is-open{display:flex}.nav a{font-size:14px}.hero{padding:48px 0 38px}.hero-layout{grid-template-columns:1fr;gap:37px}.hero h1{font-size:clamp(49px,10vw,75px)}.hero-description{font-size:18px}.feature-sheet{max-width:none}.sheet-body{padding:24px}.sheet-title{max-width:none}.evidence-flow{margin:22px 0}.hero-foot{margin-top:37px}.section{padding:49px 0}.project-grid{grid-template-columns:1fr}.project-card{padding:26px}.card-top{margin-bottom:26px}.project-card .symbol{margin-bottom:15px}.project-card h3{font-size:31px}.card-bottom{padding-top:20px}.section-head{align-items:start}.article-row{grid-template-columns:1fr 25px;gap:14px;padding:25px 0}.article-meta{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap}.article-meta span{display:inline;margin:0}.article-row h3{font-size:25px}.contact-band{padding:30px;flex-direction:column;align-items:start}.contact-band h2{font-size:35px}.page-intro{padding:48px 0 35px}.page-intro .lead{font-size:18px}.page-intro .big-index{display:none}.page-grid,.reading-layout{grid-template-columns:1fr;gap:30px}.reading-layout .article-outline{position:static;order:0}.article-outline a{display:inline-block;margin-right:18px}.article-outline{padding-bottom:12px;border-bottom:1px solid var(--line)}.page-grid .side-note{order:2}.service{grid-template-columns:35px 1fr;gap:17px}.service ul{grid-column:2}.service h2{font-size:29px}.principles{gap:24px}.project-mark{font-size:40px;padding:15px}.project-detail-head{gap:16px}.form-grid{grid-template-columns:1fr;gap:0}.site-footer{margin-top:38px}.footer-top{align-items:start;flex-direction:column}.footer-links{gap:22px}.footer-bottom{gap:14px}}
@media(max-width:440px){.wrap{width:calc(100% - 32px)}.principles{grid-template-columns:1fr}.project-mark{display:none}.section-head{flex-direction:column}.nav{gap:15px}.hero h1{font-size:48px}.contact-band{padding:25px}.contact-band h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Client portfolio */
.hero-name{font:16px/1.5 var(--mono);color:var(--ink);margin:26px 0 0}.portfolio-hero h1{margin:20px 0 28px;font-size:clamp(52px,6.2vw,82px)}.portfolio-hero .hero-layout{grid-template-columns:1.5fr 1fr;align-items:center}.portfolio-hero .hero-description{max-width:630px}.sheet-note{font-size:15px;color:var(--muted);margin-top:24px}.credential-strip{display:flex;align-items:center;flex-wrap:wrap;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:64px;padding:25px 0}.credential-strip>span:not(.kicker){font:600 22px var(--mono);letter-spacing:-.06em}.credential-strip>.text-link{margin-left:auto}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service-tile{padding:28px 23px;text-decoration:none;display:flex;flex-direction:column;border-right:1px solid var(--line);transition:background .18s}.service-tile:last-child{border-right:0}.service-tile:hover{background:var(--panel);color:var(--ink)}.service-tile h3{font-size:25px;line-height:1.18;margin:28px 0 19px}.service-tile p{font-size:16px;color:var(--muted)}.tile-link{font-size:14px;color:var(--accent);margin-top:auto;padding-top:20px}.background-feature{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.background-feature h2{margin-top:18px;font-size:clamp(32px,3.9vw,48px);line-height:1.12}.feature-lead{font-size:23px;line-height:1.5;letter-spacing:-.02em}.experience-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.experience-tags span{border-bottom:1px solid var(--line);padding:5px 0;margin-right:12px;font:13px/1.7 var(--mono);color:var(--muted)}.work-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work-preview{border-top:2px solid var(--accent);padding:25px 0;display:flex;flex-direction:column}.work-preview:nth-child(2){border-color:var(--cyan)}.work-preview:nth-child(3){border-color:#d1b8ff}.work-preview h3{margin-top:23px;font-size:28px;line-height:1.16}.work-preview p{font-size:16px;color:var(--muted)}.work-preview .text-link{align-self:start;margin-top:auto}.career-list{border-top:1px solid var(--line)}.career-row{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;padding:38px 0;border-bottom:1px solid var(--line)}.career-row h3{font-size:29px;line-height:1.2;max-width:330px;margin-top:18px}.career-row p,.career-row li{font-size:16px;color:var(--muted)}.career-row ul{padding-left:21px;margin-bottom:0}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cert-card{padding:27px 22px;border:1px solid var(--line);background:var(--panel)}.cert-card h3{font:600 36px/1.2 var(--mono);color:var(--accent);letter-spacing:-.06em;margin:27px 0 18px}.cert-card p{font-size:15px;color:var(--muted);margin:0}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.education-grid p{color:var(--muted)}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.skill-grid h3{font-size:24px;line-height:1.2}.skill-grid p{font-size:16px;color:var(--muted)}.work-entry{display:grid;grid-template-columns:1fr 1.3fr;gap:85px;padding:52px 0;border-top:1px solid var(--line)}.work-entry h2{font-size:37px;line-height:1.15;margin:21px 0 25px}.work-entry h3{font-size:19px;letter-spacing:-.01em;line-height:1.4;margin-top:25px}.work-entry p{color:var(--muted);font-size:17px}.work-entry .tags{margin-top:25px}.deliverable-title{font:13px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px}.engagement-process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.engagement-process article{border-top:1px solid var(--line);padding-top:22px}.engagement-process h3{font-size:25px;line-height:1.2;margin:22px 0 17px}.engagement-process p{font-size:16px;color:var(--muted)}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-tile:nth-child(2){border-right:0}.service-tile:nth-child(-n+2){border-bottom:1px solid var(--line)}.credential-strip{gap:23px}.background-feature{gap:40px}.cert-grid{grid-template-columns:repeat(2,1fr)}.work-entry{gap:45px}.nav{gap:21px}}
@media(max-width:780px){.portfolio-hero .hero-layout{grid-template-columns:1fr;gap:35px}.portfolio-hero h1{font-size:clamp(49px,10vw,75px)}.credential-strip{margin-top:36px;gap:20px}.credential-strip>.kicker{width:100%}.credential-strip>.text-link{margin-left:0}.service-tile{padding:24px 21px}.service-tile h3{font-size:24px}.background-feature{grid-template-columns:1fr;gap:30px}.work-preview-grid{grid-template-columns:1fr;gap:12px}.career-row{grid-template-columns:1fr;gap:12px;padding:28px 0}.career-row h3{max-width:none}.skill-grid{grid-template-columns:1fr;gap:20px}.work-entry{grid-template-columns:1fr;gap:28px;padding:38px 0}.work-entry h2{font-size:33px;max-width:500px}.engagement-process{grid-template-columns:repeat(2,1fr);gap:25px}.nav{gap:16px}.service>div:last-child{grid-column:2}.hero-name{font-size:15px}}
@media(max-width:440px){.service-grid{grid-template-columns:1fr}.service-tile{border-right:0;border-bottom:1px solid var(--line)}.service-tile:last-child{border-bottom:0}.cert-grid,.education-grid,.engagement-process{grid-template-columns:1fr}.credential-strip>span:not(.kicker){font-size:21px}.portfolio-hero h1{font-size:48px}}
/* UI refinement: a quiet hierarchy, consistent surfaces, and concise previews. */
:root{--card:#171b1d;--card-hover:#1c2224;--card-border:#30383b;--radius:16px}
.button{border-radius:8px}.nav .nav-contact{border-radius:7px}.field input,.field select,.field textarea{border-radius:8px}.project-card,.cert-card{border-radius:var(--radius);background:var(--card);border-color:var(--card-border)}.project-card:hover{background:var(--card-hover)}.contact-band{border-radius:var(--radius)}.page-intro h1{font-size:clamp(43px,5.7vw,72px);line-height:1.1}.section-head h2{line-height:1.15}.home .section{border-top:0;padding:58px 0}.home .section-head{margin-bottom:27px}.home .section-head h2{font-size:clamp(30px,3.3vw,42px);margin-top:11px}.home .kicker{letter-spacing:.06em;font-size:12px}.home .portfolio-hero{padding:64px 0 45px}.home .hero-layout{grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}.home .hero-name{margin-top:27px;font-size:16px}.home .hero-copy{min-width:0}.home .hero-copy h1{font-size:clamp(43px,4.85vw,65px);line-height:1.1;letter-spacing:-.055em;margin:20px 0 24px}.home .hero-description{font-size:18px;line-height:1.7;max-width:450px}.home .actions{gap:12px;margin-top:27px}.hero-location{font:12px/1.7 var(--mono);color:var(--muted);margin:23px 0 0}.credential-section{padding:17px 0 40px}.credentials-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:19px}.credentials-heading h2{font:14px/1.5 var(--sans);letter-spacing:0;color:var(--muted);margin:0}.credentials-heading a{font-size:13px;color:var(--muted);text-decoration:none}.credentials-heading a:hover{color:var(--accent)}.credential-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.credential-card{position:relative;padding:23px 25px;min-height:128px;background:var(--card);border:1px solid var(--card-border);border-radius:12px;text-decoration:none;display:flex;flex-direction:column;justify-content:center;gap:10px;transition:background .18s,border-color .18s}.credential-card:hover{background:var(--card-hover);border-color:#6b7957}.credential-code{font:600 30px/1.2 var(--mono);letter-spacing:-.06em;color:var(--ink)}.credential-field{font-size:14px;color:var(--muted);line-height:1.4}.credential-arrow{position:absolute;right:18px;top:17px;font-size:17px;color:var(--accent)}.home .service-grid{border:0;gap:16px}.home .service-tile{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);padding:27px 23px;min-width:0}.home .service-tile:hover{background:var(--card-hover);border-color:#54615a}.service-icon{font:22px/1.3 var(--mono);color:var(--accent);letter-spacing:-.06em}.home .service-tile h3{font-size:25px;line-height:1.2;margin:25px 0 15px}.home .service-tile p{font-size:16px;line-height:1.65;margin-bottom:12px}.home .tile-link{font-size:13px;padding-top:16px}.home .work-preview-grid{gap:18px}.home .work-preview{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);padding:28px;text-decoration:none;transition:background .18s,border-color .18s}.home .work-preview:hover{color:var(--ink);background:var(--card-hover);border-color:#54615a}.home .work-preview h3{font-size:28px;line-height:1.2;margin:22px 0 15px}.home .work-preview p{font-size:16px;line-height:1.65}.home .work-preview .tile-link{margin-top:auto}.about-summary{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:38px 40px;background:#1b2220;border:1px solid #3e4c42;border-radius:var(--radius);margin-top:15px;margin-bottom:20px;align-items:center}.about-summary h2{font-size:35px;line-height:1.2;margin:17px 0 0}.about-summary p{font-size:17px;color:#bdc7c0;margin-bottom:18px;line-height:1.75}.tool-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--card-border);background:var(--card);border-radius:var(--radius);padding:27px;text-decoration:none;transition:background .18s,border-color .18s}.tool-card:hover{background:var(--card-hover);color:var(--ink);border-color:#54615a}.tool-symbol{font:29px/1.3 var(--mono);color:var(--accent);letter-spacing:-.07em;margin-bottom:24px}.tool-card:nth-child(2) .tool-symbol{color:var(--cyan)}.tool-card:nth-child(3) .tool-symbol{color:#d1b8ff}.tool-card h3{font-size:28px;line-height:1.2;margin:0 0 12px}.tool-card p{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:15px}.tool-card .tile-link{margin-top:auto}.home .article-list{border:0;display:grid;gap:12px}.home .article-row{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:24px;align-items:center;transition:background .18s}.home .article-row:hover{background:var(--card-hover)}.home .article-row h3{font-size:23px;line-height:1.3;margin:0}.home .article-row p{display:none}.home .contact-band{padding:39px}.home .contact-band h2{font-size:35px;line-height:1.2}.home .contact-band p{font-size:16px}.home .contact-band .button{flex-shrink:0}.home+.site-footer{margin-top:24px}.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}
/* Terminal preview is a display, with deliberate play/pause controls. */
.terminal{min-width:0;border:1px solid #3d4946;border-radius:16px;background:#0c1110;box-shadow:0 24px 55px #0003;overflow:hidden;font-family:var(--mono)}.terminal-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 19px;background:#1b2320;border-bottom:1px solid #303b35;font:12px/1.5 var(--mono);color:#b4c0b7;flex-wrap:wrap}.window-controls{display:flex;gap:6px}.window-controls i{width:8px;height:8px;border-radius:50%;background:#59645e}.window-controls i:first-child{background:#cb786d}.window-controls i:nth-child(2){background:#c8b574}.window-controls i:last-child{background:#89ae87}.terminal-title-label{font-size:12px;color:#8fa195;letter-spacing:.06em}.terminal-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:11px;gap:5px;border-bottom:1px solid #27332c;background:#111814}.terminal-modes button{font:13px/1.4 var(--mono);background:transparent;border:1px solid transparent;border-radius:6px;color:#a9b6ab;padding:10px 5px;min-height:40px}.terminal-modes button:hover{background:#1c2820;color:#eaf0e9}.terminal-modes button[aria-pressed=true]{background:#263521;border-color:#546844;color:#d8ff62}.terminal-screen{min-height:308px;padding:26px 23px 22px;font:14px/1.75 var(--mono);overflow-wrap:anywhere;color:#c3d1c4}.terminal-screen p{margin:0 0 9px;white-space:pre-wrap}.terminal-command{color:#d8ff62;min-height:25px;padding-bottom:12px}.terminal-dim{color:#8c9f90;padding-bottom:7px}.terminal-success{color:#b8de9c;padding-top:12px}.terminal-playing .terminal-command:after{content:'▌';font-size:14px;margin-left:3px;animation:terminal-cursor 1s step-end infinite}.terminal-footer{border-top:1px solid #27332c;padding:12px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px;font:12px/1.5 var(--mono);color:#8fa195;min-height:56px}.terminal-footer button{font:12px/1.4 var(--mono);color:#c9d9ca;background:#19251d;border:1px solid #405143;border-radius:5px;padding:7px 10px;min-height:32px}.terminal-footer button:hover{border-color:#9fb596;color:#e2eedf}@keyframes terminal-cursor{50%{opacity:0}}
/* Native disclosures keep professional detail available on demand. */
.disclosure{border-top:1px solid var(--card-border);margin-top:22px;padding-top:0}.disclosure summary{cursor:pointer;font-size:14px;font-weight:500;color:var(--ink);padding:17px 0;line-height:1.5;min-height:48px}.disclosure summary::marker{color:var(--accent)}.disclosure summary:hover{color:var(--accent)}.disclosure-body{padding:0 0 10px}.disclosure-body p,.disclosure-body li{font-size:16px;line-height:1.7}.work-list{display:grid;gap:20px}.work-entry{padding:34px;border:1px solid var(--card-border);background:var(--card);border-radius:var(--radius);gap:45px;grid-template-columns:1fr 1.3fr}.work-entry h2{font-size:31px;line-height:1.2;margin:18px 0 22px}.work-entry p{font-size:16px;line-height:1.75}.work-entry>div>p:last-child{margin-bottom:0}.career-list{border:0;display:grid;gap:16px}.career-row{padding:30px;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);gap:40px}.career-row h3{font-size:27px;line-height:1.2}.career-row .disclosure{margin-top:0}.service{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);padding:32px;margin-bottom:18px;grid-template-columns:34px 1.2fr 1fr;gap:25px}.service:last-child{border:1px solid var(--card-border)}.service h2{font-size:29px;line-height:1.2}.service p{line-height:1.75;margin-bottom:0}.service .disclosure{margin-top:0}.service .disclosure summary{padding-top:0}.service .disclosure-body{padding-top:8px}.education-grid .principle,.skill-grid>div,.engagement-process article{border:1px solid var(--card-border);border-radius:12px;background:var(--card);padding:25px}.education-grid .principle{margin:0}.engagement-process h3{font-size:23px}.engagement-process p{margin-bottom:0}
@media(max-width:1100px){.home .hero-layout{gap:30px;grid-template-columns:1fr 1fr}.home .hero-copy h1{font-size:54px}.home .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home .service-tile{border:1px solid var(--card-border)}.terminal-title-label{display:none}.terminal-screen{font-size:13px;padding:23px 20px;min-height:315px}.credential-card{padding:22px 20px}.credential-code{font-size:28px}.home .work-preview{padding:24px}.home .work-preview h3{font-size:25px}.about-summary{gap:35px}.about-summary h2{font-size:31px}.work-entry{gap:35px}}
@media(max-width:780px){.home .portfolio-hero{padding:40px 0 24px}.home .hero-layout{grid-template-columns:1fr;gap:33px}.home .hero-copy h1{font-size:clamp(44px,8vw,61px);line-height:1.1}.home .hero-copy h1 em br{display:none}.home .hero-description{max-width:490px;font-size:17px}.hero-location{margin-bottom:0}.terminal{max-width:none}.terminal-screen{font-size:14px;min-height:310px}.terminal-title-label{display:inline}.credential-section{padding:20px 0 25px}.credential-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.credential-card{min-height:123px;padding:22px}.credential-code{font-size:29px}.home .section{padding:36px 0}.home .section-head{align-items:start;gap:16px}.home .section-head h2{font-size:32px}.home .service-tile h3{font-size:25px}.home .service-grid{gap:13px}.home .work-preview-grid{grid-template-columns:1fr;gap:14px}.home .work-preview h3 br{display:none}.home .work-preview h3{font-size:27px}.home .work-preview{padding:25px}.home .work-preview p{margin-bottom:4px}.about-summary{grid-template-columns:1fr;gap:23px;padding:27px;margin-top:8px;margin-bottom:8px}.about-summary h2{font-size:31px;margin-top:13px}.about-summary p{font-size:16px;margin-bottom:12px}.tool-card{padding:25px}.tool-symbol{margin-bottom:17px}.home .article-row{padding:20px}.home .article-row h3{font-size:22px}.home .contact-band{padding:28px}.home .contact-band h2{font-size:31px}.work-entry{padding:25px;grid-template-columns:1fr;gap:22px}.work-entry h2{font-size:30px}.career-row{padding:24px;gap:15px}.service{grid-template-columns:25px 1fr;padding:24px;gap:17px}.service>div:last-child{grid-column:2}.service .disclosure{margin-top:4px}.service .disclosure summary{padding-top:16px}.service h2{font-size:28px}.engagement-process{gap:16px}.skill-grid{gap:16px}}
@media(max-width:440px){.home .hero-copy h1{font-size:43px}.home .hero-copy h1 em br{display:initial}.home .actions{align-items:stretch}.home .button{font-size:13px;padding:12px 15px;gap:10px}.terminal-titlebar{padding:14px 16px;gap:12px}.terminal-title-label{display:none}.terminal-modes{gap:3px;padding:9px}.terminal-modes button{font-size:12px;padding:10px 3px}.terminal-screen{padding:22px 17px;font-size:13px;min-height:325px}.terminal-footer{padding:11px 14px;gap:10px}.terminal-footer button{font-size:12px}.credential-card{padding:21px 16px;min-height:131px}.credential-code{font-size:28px}.credential-field{font-size:13px;max-width:130px}.credential-arrow{right:12px;top:12px;font-size:15px}.credentials-heading{align-items:start;gap:14px}.credentials-heading h2{font-size:14px}.credentials-heading a{font-size:12px;text-align:right}.home .service-grid{grid-template-columns:1fr}.home .service-tile{padding:25px}.home .service-tile h3 br{display:none}.home .section-head{flex-direction:column;gap:8px}.home .section-head h2{font-size:31px}.home .section-head .text-link{align-self:start}.about-summary{padding:24px}.service{padding:22px 18px;grid-template-columns:20px 1fr;gap:13px}.service h2{font-size:25px}.career-row{padding:23px}.work-entry{padding:23px}}
@media(prefers-reduced-motion:reduce){.terminal-playing .terminal-command:after{animation:none} .credential-card,.tool-card,.work-preview,.service-tile{transition:none!important}}
@media print{.terminal-modes,.terminal-footer button{display:none}.disclosure-body{display:block}}
@media(max-width:440px){.credential-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))}.credential-card{min-width:0}.credential-code{font-size:1.75rem;overflow-wrap:anywhere}}
