:root{--ink:#17151d;--muted:#6f6b75;--paper:#f2f3ef;--white:#fff;--purple:#7558d8;--purple-dark:#4e378f;--green:#82c99a;--green-dark:#39785a;--line:rgba(35,29,44,.13);--glass:rgba(255,255,255,.58);--display:"Space Grotesk",sans-serif;--body:"DM Sans",sans-serif;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;background:#dfe1dc;color:var(--ink);font-family:var(--body);line-height:1.55;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{display:block;max-width:100%}::selection{background:var(--purple);color:#fff}.skip-link{position:fixed;top:10px;left:10px;z-index:9999;padding:10px 14px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.ambient i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25}.ambient i:nth-child(1){width:38vw;height:38vw;left:-12vw;top:-10vw;background:#a58ae9}.ambient i:nth-child(2){width:36vw;height:36vw;right:-11vw;top:25vh;background:#8fd3a6}.ambient i:nth-child(3){width:28vw;height:28vw;left:35vw;bottom:-18vw;background:#c6aae9}.progress{position:fixed;z-index:2000;left:0;top:0;width:100%;height:3px;background:rgba(255,255,255,.4)}.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--purple),var(--green-dark));transition:width .1s linear}.topbar{position:fixed;z-index:1500;left:22px;right:22px;top:18px;height:66px;padding:0 18px;display:flex;align-items:center;gap:28px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(247,248,244,.68);box-shadow:0 16px 50px rgba(43,34,57,.08);backdrop-filter:blur(22px) saturate(140%)}.logo{width:120px}.logo img{width:100%;height:auto}.topbar-role{margin-right:auto;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.topbar-role span{color:var(--purple)}.topbar nav{display:flex;align-items:center;gap:6px}.topbar nav a{padding:9px 13px;border-radius:11px;font-size:.76rem;font-weight:600}.topbar nav a:hover,.topbar nav a:focus-visible{background:#fff;color:var(--purple)}.menu,.mobile-nav{display:none}.slide-nav{position:fixed;z-index:1200;right:30px;top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:8px;color:#514a5c}.slide-nav>b,.slide-nav small{font:600 .66rem/1 var(--display);letter-spacing:.08em}.slide-nav>i{position:relative;width:2px;height:120px;border-radius:4px;background:rgba(25,21,31,.15);overflow:hidden}.slide-nav>i span{position:absolute;inset:0 0 auto;width:100%;height:7%;background:linear-gradient(var(--purple),var(--green-dark));transition:height .5s var(--ease)}.slide-nav em{position:absolute;right:20px;width:max-content;writing-mode:vertical-rl;transform:rotate(180deg);color:#77717f;font:500 .58rem/1 var(--display);letter-spacing:.13em;text-transform:uppercase}.deck{position:relative;z-index:1}.slide{position:sticky;top:0;width:100%;min-height:100svh;padding:116px max(7vw,78px) 54px;overflow:hidden;border-top:1px solid rgba(255,255,255,.8);border-radius:34px 34px 0 0;background:var(--paper);box-shadow:0 -24px 80px rgba(40,31,54,.1);isolation:isolate}.slide+.slide{margin-top:14vh}.slide:nth-child(even){background:#f8f8f5}.slide-number{position:absolute;right:8vw;top:14vh;color:rgba(51,43,63,.08);font:700 clamp(7rem,17vw,18rem)/.8 var(--display)}.eyebrow{margin:0;color:var(--purple);font:600 .69rem/1 var(--display);letter-spacing:.15em;text-transform:uppercase}.slide-heading{display:grid;grid-template-columns:.4fr 1.6fr;gap:5vw;align-items:start}.slide-heading h2{max-width:1050px;margin:0;font:600 clamp(3rem,5.5vw,6.5rem)/.92 var(--display);letter-spacing:-.065em}.slide h2{font-family:var(--display)}
/* Cover */
.cover{background:#e8e9e6;padding-top:100px}.cover::before{content:"";position:absolute;inset:7.5% 2% 2.5%;z-index:-2;border:1px solid rgba(255,255,255,.9);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(255,255,255,.25));box-shadow:0 35px 110px rgba(53,42,69,.1);backdrop-filter:blur(16px)}.cover::after{content:"";position:absolute;left:15%;right:15%;top:21%;height:48%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(127,94,221,.18),rgba(112,194,143,.08) 45%,transparent 72%)}.cover-meta{position:absolute;z-index:5;top:110px;display:grid;gap:5px;font:.62rem/1.2 var(--display);letter-spacing:.13em}.cover-meta span{color:#77727c}.cover-meta strong{font-weight:600}.meta-left{left:max(6vw,64px)}.meta-right{right:max(6vw,64px);text-align:right}.cover-name{position:absolute;z-index:1;inset:23% 0 auto;text-align:center}.cover-name p{margin:0;color:rgba(255,255,255,.74);font:600 clamp(4rem,10vw,10rem)/1 var(--display);letter-spacing:-.07em}.cover-figure{position:absolute;z-index:3;left:50%;bottom:-4%;width:min(50vw,720px);transform:translateX(-50%);transform-origin:bottom}.cover-figure img{position:relative;z-index:2;width:100%;filter:drop-shadow(0 42px 45px rgba(26,22,31,.22))}.figure-halo{position:absolute;left:50%;top:9%;width:75%;aspect-ratio:1;transform:translateX(-50%);border:1px solid rgba(113,79,210,.18);border-radius:50%;box-shadow:inset 0 0 80px rgba(126,88,220,.12),0 0 80px rgba(117,197,148,.08)}.cover-copy{position:absolute;z-index:6;left:max(6vw,64px);bottom:8.5%;max-width:570px}.cover-copy h1{margin:16px 0 0;font:600 clamp(2.4rem,4.4vw,5.4rem)/.93 var(--display);letter-spacing:-.065em}.cover-copy h1 em{color:var(--purple);font-style:normal}.scroll-cue{position:absolute;z-index:6;right:max(6vw,64px);bottom:8.5%;display:flex;align-items:center;gap:14px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.scroll-cue i{display:grid;place-items:center;width:42px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.58);font-style:normal}
/* Statement */
.statement{display:grid;grid-template-rows:1fr auto;align-items:center}.statement-copy{max-width:1150px}.statement-copy h2{margin:22px 0 0;font:600 clamp(3.5rem,7.2vw,8.5rem)/.88 var(--display);letter-spacing:-.075em}.statement-accent{margin:22px 0 0;color:var(--green-dark);font:500 clamp(1.6rem,3vw,3.3rem)/1 var(--display);letter-spacing:-.04em}.statement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.statement-grid article{padding:24px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:var(--glass);box-shadow:0 20px 60px rgba(55,42,73,.07);backdrop-filter:blur(18px)}.statement-grid span{color:var(--purple);font:.65rem var(--display)}.statement-grid h3{margin:32px 0 8px;font:600 1.4rem var(--display)}.statement-grid p{margin:0;color:var(--muted);font-size:.84rem}
/* Profile */
.profile{display:grid;grid-template-rows:auto 1fr;gap:8vh}.profile-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:center}.profile-text{max-width:720px}.profile-text p{color:var(--muted);font-size:clamp(.95rem,1.2vw,1.2rem)}.profile-text .lead{color:var(--ink);font:500 clamp(1.6rem,2.5vw,2.8rem)/1.15 var(--display);letter-spacing:-.035em}.profile-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-roles div{min-height:150px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.92);border-radius:22px;background:rgba(255,255,255,.58);box-shadow:0 20px 60px rgba(54,40,72,.08);backdrop-filter:blur(18px)}.profile-roles small{color:var(--purple);font:600 .58rem var(--display);letter-spacing:.12em}.profile-roles strong{font:600 clamp(1.3rem,2vw,2.1rem)/1 var(--display);letter-spacing:-.04em}
/* Metrics */
.metrics{display:grid;grid-template-rows:auto 1fr;gap:6vh}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}.metric-grid article{padding:26px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.92);border-radius:26px;background:rgba(255,255,255,.58);box-shadow:0 25px 70px rgba(55,41,74,.08);backdrop-filter:blur(18px)}.metric-grid article>span{color:var(--purple);font:.62rem var(--display)}.metric-grid strong{margin:auto 0 30px;font:600 clamp(3.2rem,5.4vw,6.5rem)/.8 var(--display);letter-spacing:-.08em}.metric-grid h3{margin:0;font:600 1.1rem/1.15 var(--display)}.metric-grid p{margin:12px 0 0;color:var(--muted);font-size:.8rem}.metric-grid .metric-accent{color:#fff;background:linear-gradient(145deg,var(--purple),#5b449e 65%,var(--green-dark));border-color:transparent}.metric-accent>span,.metric-accent p{color:rgba(255,255,255,.72)}
/* Leadership */
.leadership{display:grid;grid-template-rows:auto 1fr;gap:4vh}.leadership-map{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;width:min(100%,980px);margin:auto}.leadership-map::before,.leadership-map::after{content:"";position:absolute;z-index:-1;background:rgba(106,78,180,.16)}.leadership-map::before{left:50%;top:0;bottom:0;width:1px}.leadership-map::after{top:50%;left:0;right:0;height:1px}.lead-core{position:absolute;z-index:3;left:50%;top:50%;width:180px;aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--purple),var(--green-dark));box-shadow:0 25px 70px rgba(91,65,161,.28);text-align:center;font:600 1.1rem/1.1 var(--display)}.leadership-map article{padding:26px 30px;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(255,255,255,.55);box-shadow:0 20px 60px rgba(55,41,74,.07);backdrop-filter:blur(16px)}.leadership-map article:nth-of-type(odd){padding-right:120px}.leadership-map article:nth-of-type(even){padding-left:120px}.leadership-map b{color:var(--purple);font:.62rem var(--display)}.leadership-map h3{margin:20px 0 6px;font:600 1.5rem var(--display)}.leadership-map p{margin:0;color:var(--muted);font-size:.85rem}
/* UX */
.ux{display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center}.ux-copy h2{margin:20px 0 26px;font:600 clamp(3rem,5.8vw,6.7rem)/.9 var(--display);letter-spacing:-.07em}.ux-copy>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:1rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.chip-row span{padding:8px 12px;border:1px solid rgba(105,78,174,.15);border-radius:999px;background:rgba(255,255,255,.6);font-size:.68rem}.ux-window{position:relative;aspect-ratio:4/3;padding:12px;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:rgba(255,255,255,.55);box-shadow:0 35px 90px rgba(55,41,74,.13);backdrop-filter:blur(20px);transform:rotate(1.5deg)}.browser-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 12px}.browser-bar i{width:7px;aspect-ratio:1;border-radius:50%;background:#aaa5ad}.browser-bar span{margin-left:12px;color:#99939f;font-size:.58rem}.wireframe{height:calc(100% - 42px);display:grid;grid-template-columns:18% 1fr;gap:10px;padding:10px;border-radius:18px;background:#eeeef0}.wireframe aside,.wireframe header,.wireframe footer,.wireframe section b{display:block;border-radius:10px;background:#d7d4dd}.wireframe main{display:grid;grid-template-rows:24% 1fr 15%;gap:10px}.wireframe section{display:grid;grid-template-columns:1.4fr .6fr;gap:10px}.wireframe section b:first-child{background:linear-gradient(135deg,#8367dc,#a995e5)}.wireframe section b:last-child{background:linear-gradient(135deg,#81c69a,#b7dec5)}.cursor-dot{position:absolute;right:16%;bottom:24%;width:48px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:#16131b;box-shadow:0 10px 30px rgba(0,0,0,.18)}
/* Systems */
.system{display:grid;grid-template-columns:.74fr 1.26fr;gap:7vw;align-items:center}.system-copy h2{margin:18px 0 6px;font:600 clamp(3.4rem,6vw,7rem)/.88 var(--display);letter-spacing:-.075em}.system-lead{margin:20px 0!important;color:var(--ink)!important;font:500 clamp(1.25rem,2vw,2rem)/1.12 var(--display)}.system-copy>p:not(.eyebrow){color:var(--muted);max-width:600px}.system-copy ul{display:grid;gap:8px;margin:28px 0 0;padding:0;list-style:none}.system-copy li{display:flex;align-items:center;gap:10px;font-size:.8rem}.system-copy li::before{content:"✦";color:var(--purple)}.system-purple{color:#fff;background:linear-gradient(135deg,#503790,#7558d8 58%,#658d78)}.system-purple .eyebrow,.system-purple .system-copy li::before{color:#bce5c8}.system-purple .system-lead{color:#fff!important}.system-purple .system-copy>p:not(.eyebrow){color:rgba(255,255,255,.72)}.ratio-stage{position:relative;min-height:580px}.ratio-card{position:absolute;padding:22px;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(24,15,42,.25);backdrop-filter:blur(18px);transition:transform .5s var(--ease)}.ratio-card span{font:.62rem var(--display);letter-spacing:.1em}.ratio-card b{position:absolute;left:22px;bottom:22px;font:600 clamp(1.2rem,2vw,2.3rem)/.88 var(--display)}.ratio-card.square{left:2%;top:18%;width:300px;aspect-ratio:1}.ratio-card.story{left:37%;top:0;width:230px;height:410px}.ratio-card.landscape{right:0;bottom:4%;width:420px;height:230px}.scan{position:absolute;z-index:5;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#c9ffd6,transparent);box-shadow:0 0 20px #c9ffd6;animation:scan 4s ease-in-out infinite}@keyframes scan{0%,100%{transform:translateY(-210px);opacity:0}20%,80%{opacity:1}50%{transform:translateY(210px)}}.system-green{background:#dfeee2}.pipeline{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px}.pipeline article{min-height:220px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(255,255,255,.62);box-shadow:0 28px 80px rgba(51,83,64,.12);backdrop-filter:blur(18px)}.pipeline article:nth-of-type(2){transform:translateY(-45px);background:rgba(119,88,216,.88);color:#fff}.pipeline small{font:.58rem var(--display);letter-spacing:.12em}.pipeline strong{font:600 clamp(1.2rem,2vw,2rem)/1 var(--display)}.pipeline>i{color:var(--green-dark);font-style:normal}.system-white{background:#f5f5f2}.dashboard{padding:16px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:rgba(255,255,255,.68);box-shadow:0 35px 100px rgba(54,40,72,.13);backdrop-filter:blur(22px)}.dashboard header,.dashboard footer{display:flex;align-items:center;justify-content:space-between;padding:18px}.dashboard header span{color:var(--purple);font-size:.7rem}.dash-profile{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;margin:10px 0 16px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(118,87,216,.13),rgba(116,196,146,.14))}.dash-profile i{width:48px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--purple),var(--green-dark));font-style:normal;font-weight:700}.dash-profile p{margin:0}.dash-profile b,.dash-profile small{display:block}.dash-profile small{color:var(--muted)}.dash-profile em{color:var(--green-dark);font:600 1.3rem var(--display);font-style:normal}.dash-row{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:17px 18px;border-top:1px solid var(--line);font-size:.78rem}.dash-row em{color:var(--green-dark);font-size:.65rem;font-style:normal}.dashboard footer strong{font:600 2rem var(--display);letter-spacing:-.04em}.dashboard footer span{color:var(--muted)}
/* Projects */
.project{display:grid;grid-template-columns:1.4fr .6fr;gap:3vw;align-items:stretch;background:#eceee9}.project-reverse{grid-template-columns:.6fr 1.4fr}.project-reverse .project-media{order:2}.project-media{min-height:calc(100svh - 170px);overflow:hidden;border-radius:26px;background:#dadbd7;box-shadow:0 30px 90px rgba(49,39,61,.12)}.project-media>img{width:100%;height:100%;object-fit:cover}.project-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:4vw 2vw}.project-copy>span{margin-top:auto;color:var(--purple);font:.62rem var(--display);letter-spacing:.11em;text-transform:uppercase}.project-copy h2{margin:20px 0 22px;font:600 clamp(3.5rem,6vw,7rem)/.85 var(--display);letter-spacing:-.075em}.project-copy p{color:var(--muted);font-size:.9rem}.project-copy a{width:max-content;margin-top:24px;display:flex;align-items:center;gap:18px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.project-copy a i{width:42px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--purple);font-style:normal}.live-browser{height:100%;padding:10px;background:#fff}.live-browser header{height:36px;display:flex;align-items:center;gap:6px;padding:0 9px}.live-browser header i{width:7px;aspect-ratio:1;border-radius:50%;background:#bdb9c2}.live-browser header span{margin-left:10px;color:#9b95a1;font-size:.55rem}.live-browser iframe{width:200%;height:200%;border:0;transform:scale(.5);transform-origin:top left;pointer-events:none}
/* Experience / skills */
.experience{display:grid;grid-template-rows:auto 1fr;gap:5vh}.timeline{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;border-top:1px solid var(--line)}.timeline article{position:relative;padding:28px 26px;border-right:1px solid var(--line)}.timeline article::before{content:"";position:absolute;left:-5px;top:-5px;width:9px;aspect-ratio:1;border-radius:50%;background:var(--purple)}.timeline time{color:var(--purple);font:.62rem var(--display)}.timeline div{margin-top:14vh}.timeline h3{margin:0;font:600 clamp(1.4rem,2vw,2rem)/1 var(--display);letter-spacing:-.04em}.timeline p{color:var(--muted);font-size:.82rem}.timeline .current{color:#fff;background:linear-gradient(145deg,var(--purple),var(--green-dark));border-radius:0 0 22px 22px}.timeline .current time,.timeline .current p{color:rgba(255,255,255,.75)}.skills{display:grid;grid-template-rows:auto 1fr;gap:5vh}.skill-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skill-columns article{padding:25px;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(255,255,255,.6);box-shadow:0 22px 70px rgba(53,40,70,.08)}.skill-columns span{color:var(--purple);font:.62rem var(--display)}.skill-columns h3{margin:40px 0 20px;font:600 1.5rem var(--display)}.skill-columns ul{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:.82rem}.skill-columns li{padding-bottom:9px;border-bottom:1px solid var(--line)}
/* Contact */
.contact{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:center;color:#fff;background:linear-gradient(135deg,#4b3488,#7456d3 52%,#39785a)}.contact .eyebrow{color:#bfe7ca}.contact-copy h2{margin:20px 0 26px;font:600 clamp(3.2rem,6vw,7rem)/.88 var(--display);letter-spacing:-.07em}.contact-copy>p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.73)}.contact-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.contact-tags span{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.07);font-size:.68rem}.contact form{padding:28px;border:1px solid rgba(255,255,255,.24);border-radius:26px;background:rgba(255,255,255,.1);box-shadow:0 32px 90px rgba(24,15,42,.24);backdrop-filter:blur(22px)}.form-head{display:flex;justify-content:space-between;margin-bottom:18px;font:.65rem var(--display);letter-spacing:.12em}.contact label{display:grid;gap:7px;margin-bottom:13px}.contact label>span{color:rgba(255,255,255,.76);font-size:.68rem}.contact input,.contact select,.contact textarea{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.2);border-radius:12px;outline:none;color:#fff;background:rgba(255,255,255,.08)}.contact input::placeholder,.contact textarea::placeholder{color:rgba(255,255,255,.38)}.contact select option{color:var(--ink)}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:#d1f5d8;box-shadow:0 0 0 4px rgba(209,245,216,.1)}.contact textarea{resize:vertical}.contact .consent{grid-template-columns:auto 1fr;align-items:start}.consent input{width:auto;margin-top:3px;accent-color:#bce5c8}.contact form button{width:100%;padding:14px 16px;display:flex;justify-content:space-between;border:0;border-radius:13px;color:var(--purple-dark);background:#fff;font-weight:700;cursor:pointer}.contact form button i{font-style:normal}.form-status{min-height:20px;margin:10px 0 0;color:#d2f5db;font-size:.7rem;text-align:center}.contact footer{position:absolute;left:max(7vw,78px);right:max(7vw,78px);bottom:24px;display:flex;justify-content:space-between;color:rgba(255,255,255,.55);font:.58rem var(--display);letter-spacing:.12em}
/* Responsive */
@media(max-width:1050px){.slide{padding-inline:48px}.slide-nav{right:16px}.topbar nav{display:none}.menu{display:grid;width:40px;height:40px;place-content:center;gap:5px;border:0;border-radius:10px;background:#fff}.menu span{display:block;width:18px;height:1px;background:var(--ink)}.mobile-nav{position:fixed;z-index:1400;inset:94px 22px auto;display:grid;padding:18px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:rgba(247,248,244,.94);box-shadow:0 30px 80px rgba(45,35,58,.16);backdrop-filter:blur(20px);transform:translateY(-18px);opacity:0;pointer-events:none;transition:.25s ease}.mobile-nav.open{transform:none;opacity:1;pointer-events:auto}.mobile-nav a{padding:12px;border-bottom:1px solid var(--line)}.cover-figure{width:min(64vw,700px)}.cover-copy{max-width:500px}.metric-grid,.skill-columns{grid-template-columns:1fr 1fr}.metric-grid strong{margin:45px 0 25px}.ux,.system{grid-template-columns:1fr;gap:4vh}.ux-window{max-height:48vh;margin-left:25%}.system-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:5vw}.system-copy .eyebrow,.system-copy h2{grid-column:1/-1}.ratio-stage{min-height:420px}.project,.project-reverse{grid-template-columns:1.2fr .8fr}.project-copy{padding:4vw 0}.profile-layout{gap:5vw}}
@media(max-width:760px){.topbar{left:10px;right:10px;top:9px;height:58px}.logo{width:100px}.topbar-role{display:none}.slide-nav{display:none}.slide{position:relative;top:auto;min-height:100svh;padding:94px 20px 38px;border-radius:24px 24px 0 0}.slide+.slide{margin-top:0}.slide-heading{grid-template-columns:1fr;gap:18px}.slide-heading h2{font-size:clamp(2.7rem,12vw,4.7rem)}.cover{min-height:100svh}.cover::before{inset:7% 10px 10px}.cover-meta{top:84px}.meta-left{left:24px}.meta-right{right:24px}.cover-figure{width:min(108vw,620px);bottom:8%}.cover-name{top:24%}.cover-name p{font-size:16vw}.cover-copy{left:24px;right:24px;bottom:6%;max-width:none}.cover-copy h1{font-size:clamp(2.3rem,10vw,4rem)}.cover-copy .eyebrow,.scroll-cue{display:none}.statement{display:flex;flex-direction:column;justify-content:center}.statement-copy h2{font-size:clamp(3rem,14vw,5.5rem)}.statement-grid{grid-template-columns:1fr;margin-top:50px}.profile-layout,.metric-grid,.skill-columns{grid-template-columns:1fr}.profile{gap:45px}.profile-roles{grid-template-columns:1fr 1fr}.metrics,.skills,.experience{height:auto}.leadership-map{grid-template-columns:1fr;grid-template-rows:auto}.lead-core{position:relative;left:auto;top:auto;transform:none;margin:auto}.leadership-map article:nth-of-type(n){padding:22px}.leadership-map::before,.leadership-map::after{display:none}.ux{display:flex;flex-direction:column}.ux-window{width:100%;margin:0;max-height:none}.system{display:flex;flex-direction:column;justify-content:center}.system-copy{display:block}.ratio-stage{width:100%;min-height:360px}.ratio-card.square{width:180px}.ratio-card.story{left:38%;width:140px;height:260px}.ratio-card.landscape{width:240px;height:140px}.pipeline{grid-template-columns:1fr;gap:8px;width:100%}.pipeline>i{transform:rotate(90deg);text-align:center}.pipeline article{min-height:110px}.pipeline article:nth-of-type(2){transform:none}.project,.project-reverse{display:flex;flex-direction:column;padding-bottom:40px}.project-reverse .project-media{order:0}.project-media{min-height:55vh}.project-copy{padding:24px 4px}.project-copy>span{margin-top:0}.project-copy h2{font-size:clamp(3.3rem,15vw,5rem)}.timeline{grid-template-columns:1fr;border-top:0}.timeline article{display:grid;grid-template-columns:100px 1fr;border-right:0;border-left:1px solid var(--line)}.timeline article::before{left:-5px;top:30px}.timeline div{margin:0}.timeline .current{border-radius:0 20px 20px 0}.contact{display:flex;flex-direction:column;justify-content:center;padding-bottom:80px}.contact form{width:100%}.contact footer{left:20px;right:20px}.dashboard{width:100%}.dash-row{grid-template-columns:1fr auto}.dash-row em{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.slide{position:relative}.ambient{display:none}}

/* Faster slide performance: keep only the current neighborhood painted. */
html{scroll-snap-type:y proximity}
.slide{
  scroll-snap-align:start;
  scroll-snap-stop:normal;
  contain:layout paint style;
  transition:transform .28s var(--ease),filter .28s var(--ease);
}
.slide+.slide{margin-top:2vh}
.slide.is-past{visibility:hidden;pointer-events:none}
.slide:not(.is-near) iframe{visibility:hidden}
.slide:not(.is-active){filter:saturate(.94)}
.slide.is-active{filter:none}
.topbar,.profile-roles div,.statement-grid article,.metric-grid article,.leadership-map article,.skill-columns article{
  backdrop-filter:none;
}
.topbar{background:rgba(247,248,244,.92)}

@media(max-width:760px){
  html{scroll-snap-type:none}
  .slide.is-past{visibility:visible;pointer-events:auto}
  .slide:not(.is-near) iframe{visibility:visible}
}

.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Multi-page project slides */
.project-suite{display:grid;grid-template-rows:auto 1fr;gap:28px;background:#eceee9}
.suite-heading{display:grid;grid-template-columns:1fr .7fr;gap:6vw;align-items:end}
.suite-heading h2{margin:12px 0 0;font:600 clamp(3.2rem,5vw,6rem)/.86 var(--display);letter-spacing:-.07em}
.suite-heading>p{max-width:600px;margin:0;color:var(--muted);font-size:.86rem}
.suite-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0}
.suite-grid>a{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:20px;padding:12px 12px 20px;border:1px solid rgba(255,255,255,.92);border-radius:24px;background:rgba(255,255,255,.6);box-shadow:0 24px 70px rgba(49,39,61,.1)}
.suite-preview{grid-column:1/-1;height:min(52vh,490px);margin-bottom:16px;overflow:hidden;border-radius:15px;background:#fff}
.suite-preview iframe{width:200%;height:200%;border:0;transform:scale(.5);transform-origin:top left;pointer-events:none}
.suite-grid span{color:var(--purple);font:.58rem var(--display);letter-spacing:.1em;text-transform:uppercase}
.suite-grid h3{margin:5px 0 0;font:600 clamp(1.5rem,2.3vw,2.6rem)/1 var(--display);letter-spacing:-.045em}
.suite-grid>a>i{grid-column:2;grid-row:2/4;align-self:end;width:42px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--purple);font-style:normal}
.suite-dark{color:#f7f5fb;background:#17151d}
.suite-dark .eyebrow,.suite-dark .suite-grid span{color:#a990f1}
.suite-dark .suite-heading>p{color:rgba(255,255,255,.58)}
.suite-dark .suite-grid>a{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.11);box-shadow:none}
.suite-dark .suite-grid>a>i{background:#82c99a;color:#173323}

@media(max-width:760px){
  .project-suite{display:block;height:auto}
  .suite-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}
  .suite-grid{grid-template-columns:1fr}
  .suite-preview{height:48vh}
}

/* Content-heavy chapters use natural height; slide chapters remain sticky. */
.slide.flow-section{
  position:relative;
  top:auto;
  min-height:auto;
  height:auto;
  overflow:visible;
  contain:layout style;
  scroll-snap-align:none;
  padding-top:140px;
  padding-bottom:140px;
}
.slide.statement.flow-section{display:flex;flex-direction:column;gap:72px;align-items:stretch}
.slide.statement.flow-section .statement-copy{padding-top:20px}
.slide.profile.flow-section,.slide.leadership.flow-section{gap:72px}
.slide.ux.flow-section{min-height:100svh}
.slide.flow-section + .slide{margin-top:0}

/* Override the alternating light rule with sufficient specificity. */
.slide.statement,.slide.leadership,.slide.experience{
  color:#f7f5fb;
  background:
    radial-gradient(circle at 82% 12%,rgba(119,88,216,.2),transparent 32rem),
    radial-gradient(circle at 8% 88%,rgba(80,154,113,.14),transparent 28rem),
    #17151d;
}
.slide.statement .statement-copy h2{color:#f7f5fb}
.slide.profile.flow-section{background:#f2f3ef}
.slide.profile.flow-section .profile-layout{align-items:start}
.slide.profile.flow-section .profile-text,.slide.profile.flow-section .profile-roles{align-self:start}

@media(max-width:1050px){
  .slide.flow-section{padding-top:120px;padding-bottom:120px}
  .slide.ux.flow-section{min-height:auto}
}
@media(max-width:760px){
  .slide.flow-section{padding-top:100px;padding-bottom:100px}
  .slide.statement.flow-section,.slide.profile.flow-section,.slide.leadership.flow-section{gap:48px}
}

/* Light / dark editorial rhythm */
.statement,.leadership,.experience{
  color:#f7f5fb;
  background:
    radial-gradient(circle at 82% 12%,rgba(119,88,216,.2),transparent 32rem),
    radial-gradient(circle at 8% 88%,rgba(80,154,113,.14),transparent 28rem),
    #17151d;
  border-top-color:rgba(255,255,255,.1);
}
.statement .eyebrow,.leadership .eyebrow,.experience .eyebrow{color:#a990f1}
.statement .slide-number{color:rgba(255,255,255,.035)}
.statement-accent{color:#8ed0a5}
.statement-grid article,.leadership-map article{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.1);
  box-shadow:none;
}
.statement-grid p,.leadership-map p,.experience .timeline p{color:rgba(255,255,255,.58)}
.statement-grid span,.leadership-map b,.experience .timeline time{color:#a990f1}
.leadership-map::before,.leadership-map::after{background:rgba(255,255,255,.1)}
.experience .timeline{border-top-color:rgba(255,255,255,.14)}
.experience .timeline article{border-right-color:rgba(255,255,255,.12)}
.experience .timeline .current{background:linear-gradient(145deg,#7658d8,#39785a)}

/* UX/UI sales narrative */
.ux{grid-template-columns:1.04fr .96fr;gap:5vw}
.ux-copy h2{font-size:clamp(2.8rem,4.8vw,5.8rem)}
.ux-positioning{max-width:760px!important;color:#4e4855!important;font-size:clamp(.9rem,1.05vw,1.05rem)!important}
.ux-solutions{display:grid;gap:7px;margin-top:22px}
.ux-solutions article{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:11px 14px;border-left:2px solid rgba(117,88,216,.28);background:linear-gradient(90deg,rgba(117,88,216,.055),transparent)}
.ux-solutions span{padding-top:3px;color:var(--purple);font:600 .58rem var(--display)}
.ux-solutions h3{margin:0 0 3px;font:600 .9rem/1.15 var(--display)}
.ux-solutions p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}
.ux .chip-row{margin-top:18px}
.ux-window{transform:rotate(.8deg)}

/* Capabilities is intentionally a natural-height section. */
.flow-section{
  position:relative;
  top:auto;
  min-height:auto;
  height:auto;
  padding-top:140px;
  padding-bottom:150px;
  overflow:visible;
  scroll-snap-align:none;
}
.flow-section.skills{gap:70px}
.flow-section .skill-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.flow-section .skill-columns article{min-height:310px}
.flow-section + .slide{margin-top:0}

@media(max-width:1050px){
  .ux{grid-template-columns:1fr;gap:28px}
  .ux-copy h2{font-size:clamp(2.8rem,5.6vw,5rem)}
  .ux-window{display:none}
}
@media(max-width:760px){
  .flow-section{padding-top:100px;padding-bottom:100px}
  .flow-section .skill-columns{grid-template-columns:1fr}
  .flow-section .skill-columns article{min-height:0}
  .experience .timeline article{border-left-color:rgba(255,255,255,.12)}
  .ux-solutions article{padding:12px 6px}
}

/* Contact must keep its own theme regardless of slide parity. */
.slide.contact{
  color:#fff;
  background:linear-gradient(135deg,#4b3488,#7456d3 52%,#39785a);
}
.slide.contact .eyebrow{color:#bfe7ca}
