:root{--bg:#f5f2ea;--surface:#fcfaf5;--strong:#fff;--ink:#10282c;--soft:#465b5e;--line:#cad2cc;--line2:#8fa19e;--accent:#0b61d8;--accent2:#0649a4;--accent-soft:#dce9fb;--dark:#10282c;--on-dark:#f4f1e8;--success:#24845c;--shadow:0 22px 70px rgba(25,45,47,.09);--max:1180px;--radius:18px}
[data-theme=dark]{--bg:#101718;--surface:#162022;--strong:#1a2628;--ink:#f0f2ec;--soft:#aab7b5;--line:#344346;--line2:#637577;--accent:#73aaff;--accent2:#9cc3ff;--accent-soft:#1c3554;--dark:#091011;--success:#70d0a5;--shadow:0 22px 70px rgba(0,0,0,.22)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}button,a{font:inherit}a{color:inherit}button{color:inherit}img,svg{display:block;max-width:100%}h1,h2,h3,p,ul,dl,blockquote{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h1{margin-bottom:28px;font-size:clamp(3rem,7vw,6.7rem);font-weight:640}h1 em{color:var(--accent);font-family:Georgia,"Times New Roman",serif;font-weight:400}h2{margin-bottom:0;font-size:clamp(2.25rem,5vw,4.5rem);font-weight:620}h3{margin-bottom:12px;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:620}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.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}.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 16px;border-radius:8px;background:var(--accent);color:#fff;transform:translateY(-150%);transition:transform .16s}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.site-header{position:sticky;z-index:100;top:0;border-bottom:1px solid transparent;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);transition:border-color .18s}.site-header.is-scrolled{border-color:var(--line)}.header-inner{display:flex;min-height:76px;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:.93rem;font-weight:700;text-decoration:none}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--ink);color:var(--bg);font-size:.75rem}.site-nav{display:flex;margin-left:auto;align-items:center;gap:24px}.site-nav a{color:var(--soft);font-size:.82rem;font-weight:650;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=true]{color:var(--accent)}.theme-toggle,.nav-toggle{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.theme-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.theme-icon-moon,[data-theme=dark] .theme-icon-sun{display:none}[data-theme=dark] .theme-icon-moon{display:block}.nav-toggle{display:none;align-content:center;gap:5px}.nav-toggle span:not(.sr-only){width:17px;height:1px;background:currentColor;transition:transform .18s}
.hero{position:relative;overflow:hidden;padding:clamp(80px,11vw,150px) 0 clamp(100px,13vw,170px)}.hero::after{position:absolute;z-index:-1;top:8%;right:-14%;width:52vw;height:52vw;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 80px color-mix(in srgb,var(--accent) 3%,transparent),0 0 0 160px color-mix(in srgb,var(--accent) 2%,transparent);content:""}.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);align-items:center;gap:clamp(55px,8vw,110px)}.eyebrow,.section-number{color:var(--accent);font-size:.73rem;font-weight:760;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:flex;margin-bottom:28px;align-items:center;gap:10px}.eyebrow span{width:36px;height:1px;background:currentColor}.hero-intro{max-width:730px;margin-bottom:34px;color:var(--soft);font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.65}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:16px;padding:0 20px;border:1px solid var(--line2);border-radius:999px;font-size:.85rem;font-weight:720;text-decoration:none;transition:.16s}.button:hover{transform:translateY(-2px)}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button-primary:hover{border-color:var(--accent2);background:var(--accent2)}.button-secondary:hover{border-color:var(--accent);color:var(--accent)}.button-disabled{cursor:not-allowed;opacity:.58}.placeholder-label{padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}.hero-meta{margin:26px 0 0;color:var(--soft);font-size:.78rem}.hero-meta a{color:var(--accent);font-weight:700;text-underline-offset:4px}
.signal-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.portrait-wrap{overflow:hidden;aspect-ratio:4/5;border-bottom:1px solid var(--line);background:var(--line)}.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.signal-topline,.signal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;color:var(--soft);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.signal-topline{border-bottom:1px solid var(--line)}.status{display:flex;align-items:center;gap:7px}.status i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 15%,transparent)}.impact-list{margin:0}.impact-list div{display:grid;grid-template-columns:105px 1fr;align-items:center;padding:23px 20px;border-bottom:1px solid var(--line);gap:12px}.portrait-card .impact-list div{grid-template-columns:88px 1fr;padding:15px 20px}.impact-list dt{color:var(--accent);font-size:2rem;font-weight:660;letter-spacing:-.05em}.portrait-card .impact-list dt{font-size:1.55rem}.impact-list dd{margin:0;color:var(--soft);font-size:.78rem;line-height:1.45}.signal-footer{justify-content:flex-start}.signal-footer span:not(:last-child)::after{margin-left:10px;color:var(--line2);content:"/"}
.section{padding:clamp(90px,12vw,155px) 0;border-top:1px solid var(--line)}.section-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(60px,10vw,150px)}.section-heading .section-number{margin-bottom:28px}.section-heading h2{max-width:520px;font-size:clamp(2.5rem,5vw,4.8rem)}.section-body{padding-top:45px}.lead{margin-bottom:46px;font-size:clamp(1.3rem,2.3vw,1.75rem);line-height:1.52;letter-spacing:-.015em}.about-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:38px;color:var(--soft)}.personal-note{margin:34px 0 0;padding-top:24px;border-top:1px solid var(--line);color:var(--soft)}.personal-note strong{color:var(--ink)}.section-tinted{background:var(--surface)}.section-intro{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;margin-bottom:75px;gap:80px}.section-intro .section-number{margin-bottom:26px}.section-intro>p{margin-bottom:4px;color:var(--soft)}
.feature-experience{display:grid;grid-template-columns:.52fr 1.48fr;padding:clamp(28px,5vw,58px);border:1px solid var(--line);border-radius:var(--radius);background:var(--strong);box-shadow:var(--shadow);gap:55px}.experience-meta{color:var(--soft);font-size:.78rem}.experience-meta p{margin-bottom:3px}.experience-meta .company,.company{color:var(--accent);font-size:.74rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.role-line{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.tag{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.65rem;font-weight:740;letter-spacing:.05em;text-transform:uppercase}.outcome-list{display:grid;margin:28px 0 0;padding:0;list-style:none}.outcome-list li{position:relative;padding:18px 0 18px 26px;border-top:1px solid var(--line);color:var(--soft)}.outcome-list li::before{position:absolute;top:27px;left:2px;width:6px;height:6px;border-radius:50%;background:var(--accent);content:""}.outcome-list strong{color:var(--ink)}.experience-list{margin-top:30px;border-top:1px solid var(--line)}.experience-row{display:grid;grid-template-columns:.5fr 1.5fr;padding:42px 0;border-bottom:1px solid var(--line);gap:55px}.experience-summary h3{margin-bottom:14px;font-size:1.45rem}.experience-summary>p:last-child{max-width:780px;margin-bottom:0;color:var(--soft)}
.project-card{display:grid;grid-template-columns:.85fr 1.15fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.project-preview{display:flex;min-height:570px;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,58px);background:var(--dark);color:var(--on-dark)}.preview-label{font-size:.72rem;font-weight:730;letter-spacing:.12em;text-transform:uppercase}.preview-window{padding:32px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.07);box-shadow:0 25px 60px rgba(0,0,0,.22)}.preview-window p{max-width:290px;margin:48px 0 28px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15}.preview-nav{display:flex;gap:7px}.preview-nav i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5)}.preview-line{width:55%;height:5px;margin:8px 0;border-radius:5px;background:rgba(255,255,255,.22)}.preview-line-long{width:90%}.preview-chips{display:flex;margin-top:30px;flex-wrap:wrap;gap:7px}.preview-chips span{padding:5px 9px;border:1px solid rgba(255,255,255,.17);border-radius:999px;font-size:.62rem}.project-content{padding:clamp(34px,6vw,70px)}.text-link{color:var(--accent);font-size:.82rem;font-weight:720;text-decoration-thickness:1px;text-underline-offset:4px}.project-content h3{margin-top:42px;font-size:clamp(2.2rem,4vw,4rem)}.project-deck{max-width:620px;color:var(--soft);font-size:1.15rem}.case-study{margin:40px 0 0}.case-study div{display:grid;grid-template-columns:90px 1fr;padding:18px 0;border-top:1px solid var(--line);gap:18px}.case-study dt{color:var(--ink);font-size:.72rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.case-study dd{margin:0;color:var(--soft)}.inline-placeholder{color:var(--accent);font-size:.8rem;font-weight:650}.tech-list{display:flex;margin:32px 0 0;padding:0;flex-wrap:wrap;gap:8px;list-style:none}.tech-list li{padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--soft);font-size:.7rem;font-weight:670}
.section-dark{border-color:rgba(255,255,255,.12);background:var(--dark);color:var(--on-dark)}.section-dark .section-number{color:#75adff}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px}.skill-group{padding:30px 0 34px;border-top:1px solid rgba(255,255,255,.18)}.skill-group>p{margin-bottom:42px;color:#75adff;font-size:.7rem;font-weight:750}.skill-group h3{margin-bottom:22px;font-size:1.25rem}.skill-group ul{margin:0;padding:0;color:#b6c2c0;list-style:none}.skill-group li{margin:5px 0;font-size:.9rem}.learning-grid blockquote{margin:0 0 38px;padding-left:28px;border-left:2px solid var(--accent)}.learning-grid blockquote p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.4}.learning-grid .section-body>p{color:var(--soft)}.learning-now{margin-top:46px;padding-top:28px;border-top:1px solid var(--line)}.learning-now>p,.service-date{color:var(--accent);font-size:.72rem;font-weight:760;letter-spacing:.09em;text-transform:uppercase}.learning-now ul{margin:0;padding-left:20px;color:var(--soft)}.service-note{margin-top:36px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.service-note h3{margin-bottom:12px;font-size:1.35rem}.service-note p{color:var(--soft)}.service-email{display:inline-block;color:var(--accent);font-size:.84rem;font-weight:700;text-underline-offset:4px}.contact-note{display:block;margin-top:2px;font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;opacity:.75}
.contact-section{padding:clamp(90px,13vw,170px) 0;background:var(--accent);color:#fff}.contact-inner{max-width:1020px}.contact-section .section-number{color:rgba(255,255,255,.72)}.contact-section h2{max-width:900px;margin:28px 0 34px;font-size:clamp(3rem,7vw,6.6rem)}.contact-section .contact-inner>p:not(.section-number){max-width:720px;margin-bottom:36px;color:rgba(255,255,255,.84);font-size:1.1rem}.button-light{border-color:#fff;background:#fff;color:#073b83}.button-light:hover{background:transparent;color:#fff}.light-link{margin-left:12px;color:#fff}.site-footer{padding:30px 0;background:var(--dark);color:#aebbb9}.footer-inner{display:grid;grid-template-columns:repeat(3,1fr);font-size:.72rem}.footer-inner p{margin:0}.footer-inner p:nth-child(2){text-align:center}.footer-inner a{text-align:right;text-underline-offset:4px}
@media(max-width:900px){.site-nav{position:fixed;inset:76px 0 auto;display:none;height:calc(100vh - 76px);padding:45px 20px;flex-direction:column;align-items:flex-start;gap:8px;border-top:1px solid var(--line);background:var(--bg)}.site-nav.is-open{display:flex}.site-nav a{width:100%;padding:12px 0;border-bottom:1px solid var(--line);font-size:1.35rem}.nav-toggle{display:grid;margin-left:auto}.nav-toggle[aria-expanded=true] span:not(.sr-only):nth-child(2){transform:translateY(3px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:not(.sr-only):nth-child(3){transform:translateY(-3px) rotate(-45deg)}.hero-grid,.section-grid,.section-intro,.project-card{grid-template-columns:1fr}.hero-grid,.section-grid{gap:70px}.signal-card{max-width:520px}.section-body{padding-top:0}.section-intro{align-items:start;gap:30px}.section-intro>p{max-width:630px}.project-preview{min-height:450px}}
@media(max-width:680px){.shell{width:min(calc(100% - 28px),var(--max))}.header-inner{min-height:68px}.site-nav{inset-block-start:68px;height:calc(100vh - 68px)}.brand>span:last-child{display:none}.hero{padding-top:72px}.hero::after{top:20%;right:-50%;width:100vw;height:100vw}.hero-actions .button{flex:1 1 auto}.hero-actions .button-primary{flex-basis:100%}.about-columns,.skills-grid{grid-template-columns:1fr;gap:10px}.feature-experience,.experience-row{grid-template-columns:1fr;gap:24px}.feature-experience{padding:28px 22px}.experience-row{padding:34px 0}.role-line{flex-direction:column;gap:8px}.project-preview{min-height:380px;padding:28px 22px}.project-content{padding:34px 22px}.case-study div{grid-template-columns:1fr;gap:6px}.contact-actions{align-items:flex-start;flex-direction:column}.light-link{margin:12px 0 0}.footer-inner{grid-template-columns:1fr;gap:7px}.footer-inner p:nth-child(2),.footer-inner a{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media print{.site-header,.hero-actions,.contact-section,.site-footer{display:none}body,.section-tinted,.section-dark{background:#fff;color:#111}.section{padding:40px 0}}
