:root{--ink:var(--cms-c0);--paper:var(--cms-c1);--accent:var(--cms-c2);--muted:var(--cms-c3);--line:var(--cms-c4);--font:'Poppins',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cms-c5);outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.wrap{width:min(1240px,calc(100% - 112px));margin:auto}.header{height:100px;max-width:1440px;padding:0 56px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:37px;font-weight:800;letter-spacing:-2px;line-height:1}.wordmark span{color:var(--accent)}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav>a{transition:color .2s}nav>a:hover{color:var(--accent)}.nav-contact{border:1px solid var(--cms-c6);border-radius:6px;padding:12px 18px;margin-left:16px}.nav-contact span{margin-left:18px}.menu-button{display:none}.skip{position:fixed;left:16px;top:-100px;z-index:20;background:var(--accent);color:var(--ink);padding:12px}.skip:focus{top:12px}.hero{padding-top:52px}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow,.section-label{font-size:13px;font-weight:500;letter-spacing:1.65px;margin:0 0 22px}.availability{font-size:13px;color:var(--cms-c7);margin:0 0 22px;display:flex;align-items:center;gap:10px}.availability span{width:7px;height:7px;background:var(--accent);border-radius:50%}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:9%;padding:26px 0 54px}.hero h1{font-size:clamp(70px,8.5vw,126px);font-weight:600;line-height:1.12;letter-spacing:-7px;margin:0}.hero h1>span{color:var(--accent)}.hero-intro{max-width:390px;padding-top:3px}.asterisk{color:var(--accent);font-size:65px;line-height:1;margin:0 0 24px}.role{font-size:23px;line-height:1.5;font-weight:500;margin:0 0 20px}.muted{color:var(--cms-c8);font-size:15px;margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:16px 23px;border-radius:5px;font-size:14px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:var(--cms-c9)}.button span{font-size:23px;line-height:1}.primary{background:var(--accent);color:var(--ink)}.text-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:500;margin-top:24px;max-width:340px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-bottom{padding:24px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:11px;letter-spacing:1.1px;color:var(--cms-c3)}.discipline-strip{padding:20px 30px;background:var(--accent);color:var(--ink);display:flex;justify-content:center;align-items:center;gap:30px;font-size:13px;font-weight:600;letter-spacing:1px}.discipline-strip i{font-style:normal;font-size:24px}.section{padding-top:112px;padding-bottom:112px}h2{font-size:clamp(34px,4vw,52px);font-weight:500;line-height:1.2;letter-spacing:-2px;margin:0 0 32px}h3{font-weight:500}p{margin:0 0 20px}.about{display:grid;grid-template-columns:1fr 2fr;gap:10%;background:var(--ink)}.section-label{color:var(--accent);padding-top:8px}.about-copy{max-width:740px;color:var(--cms-c8)}.about-copy p:first-child{color:var(--paper);font-size:19px;line-height:1.75}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:26px;margin-top:35px}.about-facts span{font-size:11px;color:var(--cms-c3);letter-spacing:1.2px}.about-facts strong{display:block;font-size:14px;font-weight:500;margin:8px 0}.about-facts p{font-size:13px;color:var(--cms-c3);margin:0}.expertise,#projects{background:var(--paper);color:var(--ink)}#projects{width:100%;padding-left:max(56px,calc((100% - 1240px)/2));padding-right:max(56px,calc((100% - 1240px)/2));padding-top:25px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2{margin:0}.section-description{font-size:14px;color:var(--cms-c10);max-width:345px;margin:0;line-height:1.8}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--cms-c11);border-bottom:1px solid var(--cms-c11)}.skill-card{padding:33px 32px 35px;border-right:1px solid var(--cms-c11)}.skill-card:first-child{padding-left:0}.skill-card:last-child{border:0;padding-right:0}.skill-number{font-size:13px;color:var(--cms-c12)}.skill-card h3{font-size:27px;line-height:1.4;letter-spacing:-.7px;margin:30px 0 18px}.skill-card p{font-size:15px;color:var(--cms-c13)}.skill-card ul{list-style:none;margin:26px 0 0;padding:0;font-size:13px}.skill-card li{padding:8px 0;border-top:1px solid var(--cms-c14)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 34px}.project-cover{aspect-ratio:1.55;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-radius:8px;overflow:hidden;min-height:270px}.cover-category,.cover-footer{font-size:11px;font-weight:500;letter-spacing:1.5px}.cover-footer{display:flex;justify-content:space-between;align-items:center}.project-cover p{font-size:13px;margin:9px 0 0}.rec{background:var(--cms-c15);color:var(--cms-c16)}.project-monogram{font-size:clamp(44px,4.3vw,66px);font-weight:700;letter-spacing:-3px;line-height:1.2}.rec .project-monogram span{color:var(--cms-c17)}.ilarry{background:var(--cms-c18);color:var(--cms-c19)}.ilarry .project-monogram{font-size:clamp(35px,3.8vw,59px)}.ilarry .project-monogram span{color:var(--cms-c20)}.cute{background:var(--cms-c21);color:var(--cms-c22)}.collectibles{font-size:clamp(38px,4vw,60px);line-height:1.05;letter-spacing:-2px;font-weight:500}.collectibles em{font-family:Georgia,serif;font-weight:400}.behance{background:var(--cms-c23);color:var(--cms-c24);transition:background .2s}.behance:hover{background:var(--cms-c25)}.behance-mark{font-size:83px;font-weight:700;line-height:1.1;letter-spacing:-5px}.project-meta{display:flex;justify-content:space-between;margin:23px 0 8px;font-size:11px;letter-spacing:1px;color:var(--cms-c26)}.project h3{font-size:24px;letter-spacing:-.6px;margin:0 0 9px}.project>p{color:var(--cms-c13);font-size:15px;line-height:1.8;margin-bottom:18px}.project summary,.project-external{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--cms-c27);padding:13px 0;font-size:14px;font-weight:500;cursor:pointer;list-style:none}.project summary::-webkit-details-marker{display:none}.project summary>span{font-size:22px;font-weight:400;transition:transform .2s}.project details[open] summary>span{transform:rotate(45deg)}.project-details{padding:24px;background:var(--cms-c28);font-size:14px;line-height:1.8}.project-details h4{font-weight:600;margin:0 0 8px}.project-details p{color:var(--cms-c29);margin:0 0 18px}.project-details p:last-child{margin:0}.project-details a{font-size:14px}.building .eyebrow{color:var(--accent)}.building .section-description{color:var(--cms-c3)}.building-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.build-card{border:1px solid var(--cms-c30);padding:32px;border-radius:8px;background:var(--cms-c31)}.build-top{display:flex;align-items:center;justify-content:space-between;color:var(--cms-c32);font-size:12px;letter-spacing:1px}.status{border:1px solid var(--cms-c33);padding:5px 10px;border-radius:4px;color:var(--accent);font-size:11px}.build-card h3{font-size:38px;letter-spacing:-1.5px;display:flex;justify-content:space-between;align-items:center;margin:38px 0 10px}.build-card h3>span{color:var(--cms-c10);font-size:25px}.build-subtitle{color:var(--cms-c34)!important;font-size:17px!important}.build-card>p{color:var(--cms-c3);font-size:15px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.tags span{font-size:11px;border:1px solid var(--cms-c30);padding:5px 10px;border-radius:20px;color:var(--cms-c35)}.teaching{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:13%;align-items:center}.teaching-stat{color:var(--ink);background:var(--accent);padding:36px 40px;border-radius:8px;min-height:390px}.teaching-stat>.eyebrow{font-size:11px}.teaching-stat strong{font-size:clamp(80px,10vw,150px);letter-spacing:-9px;display:block;line-height:1.3;font-weight:500}.teaching-stat strong>span{font-size:65%;vertical-align:top}.teaching-stat p{font-size:20px;line-height:1.5;letter-spacing:-.5px}.year{display:block;text-align:right;border-top:1px solid var(--cms-c36);padding-top:13px;font-size:13px}.teaching-copy>.eyebrow{color:var(--accent)}.teaching-copy p:not(.eyebrow){color:var(--cms-c8)}.teaching-caption{display:block;font-size:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:25px;color:var(--cms-c37)}.contact{background:var(--cms-c38);padding-bottom:0}.contact>.wrap>.eyebrow{color:var(--accent)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:center;padding-bottom:70px}.contact h2{font-size:clamp(50px,6vw,85px);line-height:1.12;letter-spacing:-4px;margin:0}.contact h2 span{color:var(--accent)}.contact-copy>p{color:var(--cms-c39)}.contact-availability{font-size:14px;color:var(--cms-c40)!important;margin:28px 0}footer{border-top:1px solid var(--cms-c41);display:flex;align-items:center;justify-content:space-between;padding:29px 0;font-size:12px;color:var(--cms-c3)}footer .wordmark{color:var(--paper);font-size:30px}footer a:last-child{font-size:12px} @media(min-width:1600px){.header{padding:0 100px}.hero h1{font-size:136px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header{padding:0 32px}nav{gap:20px}.hero-grid{gap:6%;grid-template-columns:1.2fr 1fr}.hero h1{font-size:86px;letter-spacing:-5px}.role{font-size:20px}.discipline-strip{gap:16px;font-size:11px}.hero-bottom{font-size:9px}.about{gap:6%;grid-template-columns:1fr 2.3fr}.section{padding-top:85px;padding-bottom:85px}#projects{padding-left:32px;padding-right:32px}.skill-card{padding:25px 24px}.skill-card h3{font-size:23px}.project-cover{padding:24px;min-height:240px}.teaching{gap:7%}.teaching-stat{padding:28px;min-height:340px}.teaching-stat strong{font-size:110px}.contact{padding-bottom:0}.contact-grid{gap:8%}}@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{height:80px;padding:0 20px;position:relative}.wordmark{font-size:32px}.menu-button{display:flex;gap:12px;align-items:center;color:var(--paper);background:transparent;border:1px solid var(--cms-c42);padding:7px 12px;border-radius:4px;font-size:14px}.menu-button span{font-size:18px}.header nav{display:none;position:absolute;top:79px;left:0;right:0;z-index:10;background:var(--cms-c43);padding:24px;align-items:stretch;flex-direction:column;gap:0;border-bottom:1px solid var(--cms-c42);box-shadow:0 14px 20px var(--cms-c44)}.header nav.is-open{display:flex}nav>a{padding:13px 4px}.nav-contact{margin:12px 0 0;padding:12px!important}.hero{padding-top:30px}.hero-top{display:block}.hero-top .eyebrow{font-size:11px;margin-bottom:12px}.availability{font-size:11px}.hero-grid{grid-template-columns:1fr;gap:34px;padding-top:10px;padding-bottom:38px}.hero h1{font-size:clamp(74px,16vw,110px);letter-spacing:-4px;line-height:1.08}.hero-intro{max-width:none;padding-top:0;position:relative}.asterisk{position:absolute;right:10px;top:6px;font-size:46px}.role{font-size:20px;padding-right:70px}.muted{max-width:470px;font-size:15px}.hero-bottom{font-size:10px;flex-wrap:wrap;gap:10px}.hero-bottom>span:nth-child(2){display:none}.discipline-strip{flex-wrap:wrap;padding:16px 18px;column-gap:14px;row-gap:8px;font-size:10px;letter-spacing:.7px}.discipline-strip i{font-size:16px}.section{padding-top:64px;padding-bottom:64px}.about{grid-template-columns:1fr;gap:10px}.section-label{font-size:11px;margin-bottom:12px}h2{font-size:35px;letter-spacing:-1.4px}.about-copy p:first-child{font-size:17px}.about-copy p{font-size:15px}.about-facts{grid-template-columns:1fr;gap:24px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-bottom:22px}.section-description{font-size:14px}.eyebrow{font-size:11px}.skills-grid{grid-template-columns:1fr}.skill-card,.skill-card:first-child,.skill-card:last-child{padding:28px 0;border:0}.skill-card+.skill-card{border-top:1px solid var(--cms-c11)}.skill-card h3{font-size:26px;margin-top:16px}.skill-card h3 br{display:none}.skill-card ul{margin-top:18px}.projects-grid{grid-template-columns:1fr;gap:42px}#projects{padding-left:20px;padding-right:20px;padding-top:0}.project-cover{aspect-ratio:1.5;min-height:250px;padding:25px}.project-monogram{font-size:65px}.ilarry .project-monogram{font-size:49px}.collectibles{font-size:52px}.project-meta{margin-top:19px}.project h3{font-size:23px}.building-grid{grid-template-columns:1fr;gap:18px}.build-card{padding:24px}.build-card h3{font-size:33px;margin-top:28px}.teaching{grid-template-columns:1fr;gap:40px}.teaching-stat{min-height:0;padding:28px}.teaching-stat strong{font-size:118px;letter-spacing:-6px}.teaching-stat p{font-size:19px}.teaching-copy h2{font-size:34px}.contact{padding-bottom:0}.contact-grid{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.contact h2{font-size:59px;letter-spacing:-3px}.contact-copy p{font-size:15px}footer{flex-wrap:wrap;gap:22px}footer>span{font-size:11px}.cover-category,.cover-footer{font-size:10px}.button{min-height:52px}.text-link{font-size:12px}.teaching-caption{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{body,.contact,.expertise,#projects{background:white;color:black}.header,.hero,.discipline-strip,.button,.menu-button,.contact footer,.asterisk{display:none}.section{padding:30px 0}.wrap{width:100%}.about-copy,.about-copy p:first-child,.build-card>p,.teaching-copy p:not(.eyebrow),.contact-copy p{color:var(--cms-c45)}.project-cover{min-height:150px}.build-card{break-inside:avoid}.projects-grid{gap:25px}.project{break-inside:avoid}.contact-grid{display:block}.contact h2{font-size:30px}}

/* Black and blue palette, project photography, and motion. */
:root{--line:var(--cms-c46);--muted:var(--cms-c47);--blue:var(--cms-c48);--surface:var(--cms-c49)}
body{background:var(--cms-c0)}.header{border-color:var(--line)}.primary{background:var(--blue);color:var(--cms-c24)}.button:hover{background:var(--cms-c9);color:var(--cms-c24)}.hero-specialty{font-size:13px;font-weight:500;letter-spacing:.3px;color:var(--accent);margin:-10px 0 18px}.hero .muted{color:var(--cms-c47)}.discipline-strip{background:var(--cms-c50);color:var(--cms-c24);font-size:12px;gap:23px}.asterisk{transform-origin:center;animation:mark-turn 1.5s cubic-bezier(.2,.7,.2,1) both}.hero h1{animation:hero-enter .8s cubic-bezier(.2,.7,.2,1) both}.hero-intro{animation:hero-enter 1s .12s cubic-bezier(.2,.7,.2,1) both}.hero-top{animation:hero-enter .7s both}.hero-bottom{color:var(--cms-c51)}.expertise,#projects{background:var(--surface);color:var(--paper)}.expertise .eyebrow,#projects .eyebrow{color:var(--accent)}.section-description{color:var(--cms-c52)}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0}.skill-card,.skill-card:first-child,.skill-card:last-child{padding:30px;border:1px solid var(--cms-c53);border-radius:9px;background:var(--cms-c54);transition:transform .3s,border-color .3s,background .3s}.skill-card:hover{transform:translateY(-5px);border-color:var(--cms-c55);background:var(--cms-c56)}.skill-number{color:var(--cms-c57);font-size:13px}.skill-card h3{font-size:23px;line-height:1.4;margin:25px 0 15px;letter-spacing:-.65px}.skill-card p{color:var(--cms-c58);font-size:15px}.skill-card ul{font-size:13px;margin-top:22px;color:var(--cms-c59)}.skill-card li{border-color:var(--cms-c60)}.skill-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.3fr;column-gap:60px}.skill-card:last-child .skill-number{grid-column:1/-1}.skill-card:last-child h3{grid-column:1;margin-top:18px}.skill-card:last-child p{grid-column:1;margin-bottom:0}.skill-card:last-child ul{grid-column:2;grid-row:2/4;align-self:center;margin:0}.projects-grid{gap:55px 30px}.project{min-width:0}.website-preview{display:block;position:relative;border:1px solid var(--cms-c61);border-radius:10px;overflow:hidden;background:var(--cms-c62);isolation:isolate}.browser-bar{height:33px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;font-size:10px;color:var(--cms-c63);background:var(--cms-c64);letter-spacing:.3px}.browser-dots{font-size:17px;letter-spacing:3px;line-height:1;color:var(--cms-c65)}.browser-bar>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screenshot-window{aspect-ratio:1.5;overflow:hidden;background:var(--cms-c66)}.screenshot-window img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.website-preview:hover img,.website-preview:focus-visible img{transform:scale(1.035)}.preview-cta{position:absolute;right:17px;bottom:17px;color:white;background:var(--cms-c50);border:1px solid var(--cms-c67);border-radius:4px;font-size:12px;padding:8px 12px;box-shadow:0 4px 15px var(--cms-c44);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}.website-preview:hover .preview-cta,.website-preview:focus-visible .preview-cta{opacity:1;transform:translateY(0)}.project-meta{color:var(--cms-c68);font-size:11px}.project h3{font-size:24px;line-height:1.45}.project>p{color:var(--cms-c69)}.project .project-scope{font-size:12px;color:var(--cms-c70);margin-top:-4px;margin-bottom:12px}.project summary,.project-external{border-color:var(--cms-c71);color:var(--cms-c72);min-height:48px}.project-external:hover{color:var(--accent);border-color:var(--blue)}.project-details{background:var(--cms-c73);color:var(--cms-c24);border-radius:0 0 6px 6px}.project-details p{color:var(--cms-c74)}.rec{background:var(--cms-c75);color:var(--cms-c76)}.rec .project-monogram span{color:var(--cms-c77)}.behance{background:var(--cms-c78)}.behance:hover{background:var(--cms-c79)}.build-card{background:var(--cms-c80);border-color:var(--cms-c81);overflow:hidden}.build-top{color:var(--cms-c82)}.status{border-color:var(--cms-c83);color:var(--cms-c84);background:var(--cms-c85)}.build-card h3{margin:25px 0 10px}.build-card>p{color:var(--cms-c47)}.product-mockup{margin:26px -32px 0;border-top:1px solid var(--cms-c86);border-bottom:1px solid var(--cms-c86);background:var(--cms-c87)}.product-mockup img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.product-mockup figcaption{font-size:10px;color:var(--cms-c88);padding:9px 17px;letter-spacing:.35px;background:var(--cms-c54)}.tags span{border-color:var(--cms-c89);color:var(--cms-c90)}.teaching-stat{background:var(--cms-c50);color:var(--cms-c24)}.teaching-stat .year{border-color:var(--cms-c91)}.teaching-copy p:not(.eyebrow){color:var(--cms-c47)}.teaching-caption{border-color:var(--cms-c92);color:var(--cms-c93)}.contact{background:var(--cms-c94)}.contact-copy>p{color:var(--cms-c95)}.contact-phone{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:clamp(24px,3vw,34px);letter-spacing:-.9px;font-weight:500;color:var(--cms-c24);border-bottom:1px solid var(--cms-c96);padding:0 0 12px;margin:26px 0}.contact-phone>span{font-size:24px;color:var(--accent)}.contact-phone:hover{color:var(--accent)}.social-links{display:flex;flex-wrap:wrap;gap:23px;margin-top:27px;font-size:13px;color:var(--cms-c97)}.social-links a{padding:8px 0}.social-links a:hover{color:var(--cms-c24);text-decoration:underline;text-underline-offset:5px}footer{border-color:var(--cms-c98);color:var(--cms-c99)}.reveal-pending{opacity:0;transform:translateY(24px)}.reveal-pending.revealed{opacity:1;transform:translateY(0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes mark-turn{from{opacity:0;transform:rotate(-110deg) scale(.6)}to{opacity:1;transform:rotate(0) scale(1)}}
@media(max-width:1000px){.skills-grid{grid-template-columns:1fr 1fr}.skill-card,.skill-card:first-child,.skill-card:last-child{padding:25px}.skill-card h3{font-size:24px}.discipline-strip{gap:14px;font-size:10px}.project h3{font-size:22px}.product-mockup{margin-left:-32px;margin-right:-32px}}
@media(max-width:760px){.hero-specialty{font-size:12px;margin-top:-8px}.discipline-strip{column-gap:13px;row-gap:9px;font-size:10px}.header nav{background:var(--cms-c100);border-color:var(--cms-c101)}.skills-grid{grid-template-columns:1fr;gap:15px}.skill-card,.skill-card:first-child,.skill-card:last-child{padding:24px;border:1px solid var(--cms-c53);display:block}.skill-card:last-child ul{margin-top:22px}.skill-card h3{font-size:24px;margin:15px 0 12px}.skills-grid .skill-card p{font-size:15px}.projects-grid{gap:40px}.project h3{font-size:23px}.browser-bar{font-size:10px;height:30px}.screenshot-window{aspect-ratio:1.45}.preview-cta{opacity:1;transform:none;font-size:10px;padding:6px 9px;right:10px;bottom:10px}.product-mockup{margin-left:-24px;margin-right:-24px}.product-mockup figcaption{font-size:10px}.contact-phone{font-size:29px}.social-links{gap:24px}.contact .button{font-size:13px;gap:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero h1,.hero-intro,.hero-top,.asterisk{animation:none}.reveal-pending{opacity:1;transform:none}.reveal-pending.revealed{transition:none}*,*:before,*:after{animation:none!important;transition:none!important}.website-preview:hover img,.website-preview:focus-visible img,.skill-card:hover,.button:hover{transform:none}}
.skill-card p,.skills-grid .skill-card p,.project>p,.build-card>p,.hero .muted{font-size:16px}.skill-card ul{font-size:14px}.project .project-scope{font-size:13px}.project-meta{font-size:12px}.tags span{font-size:12px}.product-mockup figcaption{font-size:12px;line-height:1.6}.contact .contact-availability{font-size:14px}
.website-cover{aspect-ratio:1.45;min-height:270px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:var(--cms-c102);color:var(--cms-c103);transition:background .3s,border-color .3s}.website-cover:hover{background:var(--cms-c104);border-color:var(--cms-c105)}.site-identity{display:flex;flex-direction:column;gap:16px}.site-identity strong{font-size:clamp(31px,3.5vw,53px);line-height:1.15;letter-spacing:-1.5px;font-weight:600}.site-identity>span{font-size:11px;letter-spacing:1.2px;line-height:1.8;color:var(--cms-c106)}.cover-rec{background:var(--cms-c107)}.cover-idowu{background:var(--cms-c108)}.cover-cute{background:var(--cms-c109)}.cover-adebolanle{background:var(--cms-c110)}.cover-eksu{background:var(--cms-c111)}.website-cover .cover-footer{border-top:1px solid var(--cms-c112);padding-top:14px;color:var(--cms-c113)}.website-cover .cover-footer>span{font-size:24px;line-height:1;color:var(--cms-c24)}.website-cover .cover-category{color:var(--cms-c114)}@media(max-width:760px){.website-cover{padding:25px;min-height:250px}.site-identity strong{font-size:38px}.site-identity>span{font-size:10px}.website-cover .cover-category,.website-cover .cover-footer{font-size:11px}}

/* Device galleries and mobile interaction. */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions .button{gap:24px}.secondary{background:transparent;color:var(--cms-c115);border:1px solid var(--cms-c116)}.button{min-height:54px;white-space:normal;line-height:1.4;text-align:left}.button:active,.carousel-controls button:active{transform:scale(.97)}.button span{flex:none}.hero-actions+.text-link{margin-top:22px}.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0 18px}.carousel-controls p{font-size:13px;color:var(--cms-c117);margin:0}.carousel-count{display:inline-block;color:var(--accent);margin-left:15px;font-variant-numeric:tabular-nums}.carousel-controls>div{display:flex;gap:9px}.carousel-controls button{width:48px;height:48px;display:grid;place-items:center;background:var(--cms-c118);color:var(--cms-c24);border:1px solid var(--cms-c119);border-radius:50%;font-size:23px;cursor:pointer;transition:background .2s,transform .2s,border-color .2s}.carousel-controls button:hover{background:var(--cms-c120);border-color:var(--cms-c121)}.carousel-controls button:disabled{opacity:.35;cursor:default;transform:none}.project-controls{display:none}.gmnet-showcase{border:1px solid var(--cms-c86);border-radius:18px;background:var(--cms-c122);padding:34px;overflow:hidden}.showcase-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:35px}.showcase-heading>div:first-child{max-width:600px}.showcase-heading h3,.sitetrack-showcase h3{font-size:38px;letter-spacing:-1.2px;line-height:1.2;margin:20px 0 14px}.showcase-heading p,.sitetrack-showcase p{font-size:16px;color:var(--cms-c123);margin:0 0 18px}.showcase-heading .tags{margin-top:0;flex:none}.phone-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--cms-c124) var(--cms-c125);padding:15px 0 22px;touch-action:pan-x pan-y;outline-offset:-3px}.phone-slide{margin:0;scroll-snap-align:start;scroll-snap-stop:always;min-width:0;padding:16px 4px;background:radial-gradient(ellipse at 50% 40%,var(--cms-c126),transparent 68%);border-radius:14px}.phone-slide figcaption{display:flex;align-items:center;justify-content:center;gap:11px;color:var(--cms-c127);font-size:13px;margin-top:14px}.phone-slide figcaption>span{font-size:12px;color:var(--cms-c128)}.iphone-device{position:relative;width:min(100%,270px);margin:auto;aspect-ratio:887/1774}.device-hardware{display:block;width:100%;height:auto;pointer-events:none;user-select:none}.iphone-screen{position:absolute;left:8.906%;top:3.89%;width:82.638%;height:92.052%;border-radius:17% / 7.65%;overflow:hidden;background:var(--cms-c129)}.iphone-screen>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.iphone-screen:after{content:'';position:absolute;width:26%;height:2.6%;left:37%;top:1.3%;border-radius:50px;background:var(--cms-c130);pointer-events:none}.laptop-device{position:relative;width:100%;aspect-ratio:3/2}.laptop-screen{position:absolute;left:8.138%;top:11.621%;width:83.854%;height:72.168%;overflow:hidden;border-radius:2px;background:var(--cms-c131)}.laptop-screen>img{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}.rec-showcase{margin:0;border:1px solid var(--cms-c132);border-radius:10px;background:radial-gradient(ellipse at center,var(--cms-c133),var(--cms-c134));padding:10px 6px 14px;overflow:hidden}.rec-showcase figcaption{font-size:12px;color:var(--cms-c135);text-align:center;margin:-14px 0 0;position:relative}.screenshot-note{margin:18px 0 0;color:var(--cms-c136);font-size:12px}.sitetrack-showcase{margin-top:26px;border:1px solid var(--cms-c137);border-radius:18px;background:var(--cms-c138);overflow:hidden;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:34px}.sitetrack-showcase>.product-mockup{margin:0;border:0}.sitetrack-showcase>div{padding:30px 30px 30px 0;min-width:0}.sitetrack-showcase .product-mockup img{object-fit:contain}.project-external,details summary{min-height:50px}.phone-track:focus-visible,#project-track:focus-visible{outline:2px solid var(--cms-c2);outline-offset:6px}
@media(max-width:1100px){.hero-actions{display:grid;grid-template-columns:1fr}.showcase-heading{display:block}.showcase-heading .tags{margin:15px 0 0}.phone-track{grid-auto-columns:calc((100% - 16px)/2)}.sitetrack-showcase{gap:20px}.sitetrack-showcase h3{font-size:32px}}
@media(max-width:760px){
 html{scroll-padding-top:90px}body{overflow-x:clip}.header{position:sticky;top:0;z-index:30;height:72px;background:var(--cms-c139);backdrop-filter:blur(15px);border-bottom:1px solid var(--cms-c140)}.header nav{top:71px;box-shadow:0 15px 30px var(--cms-c141);padding:15px 20px 22px}.header nav.is-open{animation:menu-enter .24s ease both}.menu-button{min-height:44px;min-width:94px;justify-content:center;border-color:var(--cms-c142);background:var(--cms-c143);padding:8px 14px}.header nav>a{min-height:48px;padding:12px 8px;font-size:15px}.header nav .nav-contact{background:var(--cms-c144);border-color:var(--cms-c145);border-radius:7px;margin-top:8px;padding:13px 15px!important}.hero{padding-top:24px}.hero-grid{gap:28px;padding-bottom:32px}.hero h1{font-size:clamp(66px,16vw,96px);letter-spacing:-3.6px;line-height:1.08}.hero .role{font-size:20px;padding-right:52px;margin-bottom:17px}.hero-intro .asterisk{font-size:38px;right:2px;top:3px}.hero-specialty{font-size:12px;line-height:1.65;margin-bottom:17px}.hero .muted{font-size:16px;line-height:1.75;margin-bottom:23px}.hero-actions{display:grid;grid-template-columns:1fr;gap:11px;width:100%}.hero-actions .button,.contact-copy .button{width:100%;min-height:56px;justify-content:space-between;padding:17px 20px;gap:12px;font-size:15px;border-radius:8px;font-weight:600}.hero .text-link{max-width:none;min-height:44px;font-size:13px;margin-top:12px}.hero-bottom{font-size:10px;padding:18px 0;gap:12px}.discipline-strip{font-size:10px;padding:15px 16px;row-gap:10px;column-gap:12px}.section{padding-top:60px;padding-bottom:60px}.section-heading h2{font-size:34px;letter-spacing:-1.2px}.section-description{font-size:15px;line-height:1.8}.skills-grid{gap:12px}.skill-card,.skill-card:first-child,.skill-card:last-child{padding:23px;border-radius:12px}.skill-card h3{font-size:23px}.skill-card p{margin-bottom:16px}.skill-card ul{font-size:14px;line-height:1.7}.project-controls{display:flex;margin:4px 0 16px}.carousel-controls p{font-size:12px}.carousel-count{margin-left:8px}.carousel-controls button{width:46px;height:46px;font-size:22px}#projects{padding-bottom:60px}.projects-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% - 22px);grid-template-columns:none;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--cms-c146) var(--cms-c147);padding:0 0 21px;align-items:start}.projects-grid>.project{scroll-snap-align:start;scroll-snap-stop:always;min-width:0;background:var(--cms-c148);border:1px solid var(--cms-c149);border-radius:12px;padding:12px 12px 15px;opacity:1!important;transform:none!important}.website-cover{min-height:225px;padding:22px;border-radius:8px;aspect-ratio:1.35}.site-identity strong{font-size:31px;letter-spacing:-1px;overflow-wrap:break-word}.site-identity>span{font-size:10px}.project h3{font-size:22px;line-height:1.45}.project-meta{font-size:10px;letter-spacing:.65px;gap:6px;margin-top:19px}.project>p{font-size:15px;line-height:1.75}.project .project-scope{font-size:12px}.project-external,details summary{border:1px solid var(--cms-c150);background:var(--cms-c151);color:var(--cms-c152);border-radius:7px;min-height:52px;padding:13px 14px;gap:12px;font-size:14px;margin-top:16px}.project-external:active,details summary:active{background:var(--cms-c153)}.project-cover{min-height:240px}.rec-showcase{padding:15px 0;border-radius:8px;min-height:245px;display:flex;flex-direction:column;justify-content:center}.rec-showcase figcaption{font-size:10px;margin-top:-6px}.gmnet-showcase{padding:22px 16px;border-radius:14px}.showcase-heading h3{font-size:34px;margin-top:18px}.showcase-heading p{font-size:15px;line-height:1.8}.showcase-heading .tags{margin-top:18px}.phone-track{grid-auto-columns:calc(100% - 24px);gap:12px;padding-top:4px;padding-bottom:18px}.phone-slide{padding:5px 2px 15px}.iphone-device{width:min(100%,254px)}.phone-slide figcaption{font-size:13px;margin-top:12px}.screenshot-note{font-size:12px;line-height:1.7;margin-top:15px}.sitetrack-showcase{grid-template-columns:1fr;gap:0;border-radius:14px}.sitetrack-showcase>div{padding:24px}.sitetrack-showcase h3{font-size:31px}.sitetrack-showcase p{font-size:15px;line-height:1.8}.sitetrack-showcase .product-mockup figcaption{font-size:10px}.contact h2{font-size:clamp(48px,13vw,63px);letter-spacing:-2.8px}.contact-phone{font-size:28px;min-height:52px}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.social-links>a{border:1px solid var(--cms-c154);border-radius:7px;min-height:48px;padding:12px 13px;text-align:center;font-size:14px}.social-links>a:last-child{grid-column:1/-1}.contact-grid{padding-bottom:36px}.contact-copy>p{font-size:16px}.teaching-stat{border-radius:14px}footer{gap:18px;font-size:12px}footer>a:last-child{min-height:44px;display:flex;align-items:center}
}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.header{padding:0 16px}.hero h1{font-size:64px}.hero-actions .button,.contact-copy .button{font-size:14px;padding:15px 17px}.project-controls p{font-size:11px}.carousel-controls{gap:8px}.carousel-controls button{width:43px;height:43px}.project-controls .carousel-count{margin-left:4px}.site-identity strong{font-size:28px}.website-cover{padding:18px;min-height:210px}.contact-phone{font-size:25px}.gmnet-showcase{padding-left:12px;padding-right:12px}.phone-track{grid-auto-columns:calc(100% - 14px)}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.phone-track,.projects-grid{scroll-behavior:auto}.button:active,.carousel-controls button:active{transform:none}.header nav.is-open{animation:none}}
.iphone-screen>img{object-fit:fill}.laptop-screen>img{object-fit:contain;object-position:center}

/* Consistent icons across iPhone, Android and desktop. */
.icon{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;flex-shrink:0;overflow:visible}.button .icon,.project-external .icon{width:22px;height:22px;vertical-align:middle}.nav-contact .icon,.social-links .icon{width:17px;height:17px}.asterisk{display:flex;justify-content:flex-start;align-items:center}.asterisk .icon{width:60px;height:60px}.discipline-strip i{display:inline-flex;align-items:center;justify-content:center}.discipline-strip .icon{width:19px;height:19px;stroke-width:1.5}.menu-button span{display:inline-flex}.menu-button .icon{width:21px;height:21px}.cover-footer>span,.button>span,.contact-phone>span{display:inline-flex;align-items:center;justify-content:center}.carousel-controls .icon{width:22px;height:22px}.hero-actions{grid-template-columns:1fr;max-width:340px}
/* White skill cards with readable dark text. */
.skills-grid .skill-card,.skills-grid .skill-card:first-child,.skills-grid .skill-card:last-child{background:var(--cms-c24);color:var(--cms-c155);border:1px solid var(--cms-c156);box-shadow:0 10px 30px var(--cms-c157)}.skills-grid .skill-card:hover{background:var(--cms-c24);border-color:var(--cms-c158);box-shadow:0 14px 30px var(--cms-c159)}.skills-grid .skill-card h3{color:var(--cms-c160)}.skills-grid .skill-card p{color:var(--cms-c161)}.skills-grid .skill-card ul{color:var(--cms-c162)}.skills-grid .skill-card li{border-color:var(--cms-c163)}.skills-grid .skill-number{color:var(--cms-c164)}.skills-grid .skill-card.revealed{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
@media(max-width:760px){.hero-actions{max-width:none}.hero-grid{padding-bottom:45px}.asterisk .icon{width:36px;height:36px}.discipline-strip .icon{width:16px;height:16px}.hero-actions .button{animation:mobile-cta-in .75s .2s both}.hero h1{animation:hero-enter .8s both}.phone-slide .iphone-device{transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .5s;transform:scale(.96);opacity:.8}.phone-slide.slide-active .iphone-device{transform:scale(1);opacity:1}.projects-grid>.project{transition:border-color .35s,box-shadow .35s}.projects-grid>.project.slide-active{border-color:var(--cms-c165);box-shadow:0 7px 22px var(--cms-c166)}.skills-grid .skill-card.reveal-pending{transform:translateY(30px)}.skills-grid .skill-card.revealed{transform:translateY(0)}}
@keyframes mobile-cta-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero-actions .button,.hero h1{animation:none}.phone-slide .iphone-device,.phone-slide.slide-active .iphone-device{transform:none;opacity:1;transition:none}.skills-grid .skill-card.reveal-pending{transform:none;opacity:1}}

/* Portfolio refresh: refined spacing, glass navigation and animated capability cards. */
:root{--portfolio-blue:#78adff;--portfolio-deep:#091426;--portfolio-line:#223858;--portfolio-card:#f7f9fc}
html{scroll-padding-top:94px}
body{background-color:#080d16;background-image:radial-gradient(ellipse 55% 36% at 78% 7%,rgba(31,92,171,.22),transparent 74%),radial-gradient(ellipse 45% 34% at 0% 38%,rgba(19,59,111,.16),transparent 72%)}
.header{position:sticky;top:0;z-index:40;max-width:none;padding:0 max(56px,calc((100vw - 1328px)/2));background:rgba(8,13,22,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(115,161,224,.16);transition:background .25s,border-color .25s}
.wordmark{letter-spacing:-2.4px}
nav>a{transition:color .2s,opacity .2s}
nav>a:hover{color:#a6caff}
.nav-contact{border-color:rgba(120,173,255,.42);border-radius:999px;padding:11px 20px;transition:background .2s,border-color .2s}
.nav-contact:hover{background:rgba(55,122,214,.16);border-color:var(--portfolio-blue)}
.hero{position:relative;isolation:isolate;padding-top:70px;overflow:hidden}
.hero:before{content:"";position:absolute;z-index:-1;width:min(48vw,650px);aspect-ratio:1;right:-13%;top:2%;border:1px solid rgba(120,173,255,.075);border-radius:50%;box-shadow:0 0 0 55px rgba(120,173,255,.025),0 0 0 110px rgba(120,173,255,.018);pointer-events:none}
.hero-grid{grid-template-columns:1.45fr .8fr;gap:8%;align-items:center;padding-top:36px;padding-bottom:74px}
.hero-intro{position:relative;max-width:430px;padding:30px;border:1px solid rgba(120,173,255,.2);border-radius:18px;background:linear-gradient(145deg,rgba(17,35,59,.78),rgba(10,19,32,.56));box-shadow:0 25px 80px rgba(0,0,0,.18)}
.hero-intro:before{content:"";position:absolute;left:30px;top:-1px;width:64px;height:2px;background:linear-gradient(90deg,#78adff,transparent)}
.asterisk{margin-bottom:20px}
.hero-bottom{border-color:rgba(120,173,255,.16);font-size:11px}
.discipline-strip{justify-content:flex-start;padding:20px max(30px,calc((100vw - 1240px)/2));background:linear-gradient(90deg,#124a98,#125cca 55%,#103c77);gap:27px}
.section{padding-top:126px;padding-bottom:126px}
.about{position:relative}
.about-copy p:first-child{font-size:21px;letter-spacing:-.2px}
.about-facts{gap:38px;border-color:rgba(120,173,255,.19)}
.expertise{position:relative;overflow:hidden;background:linear-gradient(140deg,#0b1524,#0d192a 62%,#0a1422);border-top:1px solid rgba(120,173,255,.12);border-bottom:1px solid rgba(120,173,255,.12)}
.expertise:after{content:"";position:absolute;right:-190px;top:-300px;width:560px;height:560px;border:1px solid rgba(120,173,255,.075);border-radius:50%;box-shadow:0 0 0 48px rgba(120,173,255,.025),0 0 0 96px rgba(120,173,255,.018);pointer-events:none}
.expertise>.wrap{position:relative;z-index:1}
.section-heading{margin-bottom:54px}
.section-heading h2{letter-spacing:-2.3px}
.section-description{font-size:15px;line-height:1.9}
.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.skills-grid .skill-card,.skills-grid .skill-card:first-child,.skills-grid .skill-card:last-child{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:335px;padding:26px 25px 23px;border:1px solid #dce5f1;border-radius:14px;background:linear-gradient(155deg,#fff 0%,#f5f8fd 100%);box-shadow:0 12px 34px rgba(1,9,22,.13);overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.skills-grid .skill-card:before{content:"";position:absolute;z-index:-1;right:-30px;top:-46px;width:125px;height:125px;border:1px solid rgba(37,120,239,.12);border-radius:50%;box-shadow:0 0 0 15px rgba(37,120,239,.035),0 0 0 31px rgba(37,120,239,.022);transition:transform .55s cubic-bezier(.2,.7,.2,1),border-color .3s}
.skills-grid .skill-card:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,#2578ef,#8ec0ff 70%,transparent);transform:scaleX(.2);transform-origin:left;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.skills-grid .skill-card:hover,.skills-grid .skill-card:focus-within{transform:translateY(-7px);border-color:#91b9eb;box-shadow:0 22px 42px rgba(1,9,22,.19)}
.skills-grid .skill-card:hover:before,.skills-grid .skill-card:focus-within:before{transform:scale(1.13);border-color:rgba(37,120,239,.25)}
.skills-grid .skill-card:hover:after,.skills-grid .skill-card:focus-within:after{transform:scaleX(1)}
.skills-grid .skill-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid #cbdcf1;border-radius:12px;background:#eaf2fc;color:#1764c9;font-size:12px;font-weight:600;letter-spacing:.4px;font-variant-numeric:tabular-nums;transition:background .3s,color .3s,transform .4s}
.skills-grid .skill-card:hover .skill-number{background:#1764c9;color:white;transform:rotate(-5deg)}
.skills-grid .skill-card h3{margin:25px 0 12px;font-size:21px;line-height:1.35;letter-spacing:-.65px}
.skills-grid .skill-card p{font-size:14px;line-height:1.75;color:#516178;margin-bottom:19px}
.skills-grid .skill-card ul{display:grid;gap:0;margin:auto 0 0;padding:0;list-style:none;color:#334967;font-size:12px;line-height:1.55}
.skills-grid .skill-card li{position:relative;border-top:1px solid #e1e8f1;padding:9px 0 8px 15px;transition:color .25s,padding-left .25s}
.skills-grid .skill-card li:before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:#5594eb;box-shadow:0 0 0 3px rgba(85,148,235,.12);transition:box-shadow .3s,background .3s}
.skills-grid .skill-card:hover li{padding-left:18px;color:#173b68}
.skills-grid .skill-card:hover li:before{background:#1764c9;box-shadow:0 0 0 4px rgba(85,148,235,.2)}
.skills-grid .skill-card.reveal-pending{opacity:0;transform:translateY(26px) scale(.985)}
.skills-grid .skill-card.revealed{opacity:1;transform:translateY(0) scale(1)}
.skills-grid .skill-card.revealed:nth-child(1){transition-delay:0ms}.skills-grid .skill-card.revealed:nth-child(2){transition-delay:65ms}.skills-grid .skill-card.revealed:nth-child(3){transition-delay:130ms}.skills-grid .skill-card.revealed:nth-child(4){transition-delay:195ms}.skills-grid .skill-card.revealed:nth-child(5){transition-delay:260ms}.skills-grid .skill-card.revealed:nth-child(6){transition-delay:325ms}.skills-grid .skill-card.revealed:nth-child(7){transition-delay:390ms}
.skills-grid .skill-card.reveal-pending li{opacity:0;transform:translateX(-8px)}
.skills-grid .skill-card.revealed li{opacity:1;transform:translateX(0);transition:opacity .38s ease,transform .38s cubic-bezier(.2,.7,.2,1),color .25s,padding-left .25s}
.skills-grid .skill-card.revealed li:nth-child(1){transition-delay:.12s}.skills-grid .skill-card.revealed li:nth-child(2){transition-delay:.19s}.skills-grid .skill-card.revealed li:nth-child(3){transition-delay:.26s}
#projects{position:relative;background:#0b1421;border-top:1px solid rgba(120,173,255,.1);padding-top:100px;padding-bottom:126px}
#projects .section-heading{margin-bottom:45px}
.projects-grid{gap:58px 30px}
.projects-grid .project{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.projects-grid .project:hover{transform:translateY(-5px)}
.website-preview{border-radius:13px;box-shadow:0 18px 45px rgba(0,0,0,.2);transition:border-color .3s,box-shadow .3s}
.website-preview:hover{border-color:rgba(120,173,255,.65);box-shadow:0 24px 55px rgba(0,0,0,.3)}
.building{background:linear-gradient(180deg,#080d16,#0c1727)}
.build-card{border-radius:16px;transition:transform .3s,border-color .3s,box-shadow .3s}
.build-card:hover{transform:translateY(-4px);border-color:#3c6cab;box-shadow:0 18px 38px rgba(0,0,0,.17)}
.contact{background:radial-gradient(ellipse at 15% 5%,rgba(32,95,180,.22),transparent 50%),#0c1727;border-top:1px solid rgba(120,173,255,.16)}
.contact-grid{padding-top:12px}
.contact h2{letter-spacing:-4.5px}
.contact-phone{transition:color .2s,border-color .2s}
footer{border-color:rgba(120,173,255,.18)}
@media(max-width:1100px){.header{padding:0 32px}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skills-grid .skill-card,.skills-grid .skill-card:first-child,.skills-grid .skill-card:last-child{min-height:330px}.hero-grid{grid-template-columns:1.2fr .9fr}.hero-intro{padding:26px}.section{padding-top:100px;padding-bottom:100px}}
@media(max-width:760px){html{scroll-padding-top:80px}.header{height:72px;padding:0 20px}.hero{padding-top:32px}.hero:before{width:80vw;right:-40%;top:0}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:24px;padding-bottom:46px}.hero-intro{padding:23px;border-radius:14px;max-width:100%}.hero-intro:before{left:23px}.hero-bottom{font-size:10px}.discipline-strip{justify-content:center;padding:17px 15px;gap:12px 17px}.section{padding-top:72px;padding-bottom:72px}.section-heading{margin-bottom:32px}.section-heading h2{letter-spacing:-1.7px}.expertise:after{right:-370px;top:-240px}.skills-grid{grid-template-columns:1fr;gap:13px}.skills-grid .skill-card,.skills-grid .skill-card:first-child,.skills-grid .skill-card:last-child{min-height:0;padding:22px 22px 20px;border-radius:13px}.skills-grid .skill-card h3{font-size:22px;margin:18px 0 8px}.skills-grid .skill-card p{font-size:14px;margin-bottom:14px}.skills-grid .skill-card ul{margin-top:0}.skills-grid .skill-card li{padding:8px 0 8px 15px}.skills-grid .skill-card.reveal-pending{transform:translateY(18px)}#projects{padding-top:70px;padding-bottom:75px}.projects-grid{gap:16px}.projects-grid .project:hover{transform:none}.website-preview{border-radius:10px}.build-card{border-radius:13px}.contact h2{letter-spacing:-3px}}
@media(prefers-reduced-motion:reduce){.skills-grid .skill-card,.skills-grid .skill-card:before,.skills-grid .skill-card:after,.skills-grid .skill-card li,.skills-grid .skill-number,.projects-grid .project,.website-preview,.build-card{transition:none!important;transform:none!important;animation:none!important}.skills-grid .skill-card.reveal-pending,.skills-grid .skill-card.reveal-pending li{opacity:1;transform:none}}

/* Continuous expertise marquee and precise desktop navigation alignment. */
.header nav{height:100%;align-items:center;gap:30px}
.header nav>a:not(.nav-contact){display:inline-flex;align-items:center;align-self:center;min-height:44px;padding:0 1px;line-height:1.25;white-space:nowrap}
.header nav>.nav-contact{display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:12px;min-height:44px;margin:0 0 0 4px;padding:10px 18px;line-height:1.25;white-space:nowrap}
.header nav>.nav-contact>span{display:inline-flex;align-items:center;margin:0;line-height:1}
.discipline-strip{display:block;overflow:hidden;position:relative;white-space:nowrap;padding:19px 0;background:linear-gradient(90deg,#124a98,#125cca 55%,#103c77)}
.discipline-track{display:flex;width:max-content;will-change:transform;animation:expertise-marquee 38s linear infinite}
.discipline-group{display:flex;flex:0 0 auto;align-items:center;gap:27px;padding-right:27px}
.discipline-group>span{flex:0 0 auto}
.discipline-group>i{flex:0 0 auto;display:inline-flex}
.discipline-strip:hover .discipline-track,.discipline-strip:focus-within .discipline-track{animation-play-state:paused}
@keyframes expertise-marquee{to{transform:translateX(-50%)}}
@media(max-width:1000px){.header nav{gap:20px}.discipline-group{gap:20px;padding-right:20px}}
@media(max-width:760px){.header nav{height:auto;align-items:stretch;gap:0}.header nav>a:not(.nav-contact){display:flex;align-items:center;align-self:stretch;min-height:48px;padding:12px 8px;line-height:1.35;white-space:normal}.header nav>.nav-contact{display:flex;align-self:stretch;justify-content:space-between;min-height:48px;margin:8px 0 0;padding:13px 15px!important}.discipline-strip{padding:15px 0}.discipline-group{gap:16px;padding-right:16px}.discipline-group>span{font-size:10px}.discipline-group .icon{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.discipline-track{animation:none;transform:none}.discipline-group[aria-hidden="true"]{display:none}}

/* Final pass based on the approved portfolio preview. */
body{background-image:radial-gradient(ellipse 52% 38% at 76% 12%,rgba(40,102,184,.2),transparent 74%),radial-gradient(ellipse 42% 32% at 2% 45%,rgba(19,59,111,.13),transparent 72%)}
.header{position:sticky;top:0;z-index:40;max-width:none;padding:0 max(56px,calc((100vw - 1328px)/2));background:rgba(8,13,22,.84);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(115,161,224,.16)}
.header nav{height:100%;display:flex;align-items:center;gap:30px}
.header nav>a:not(.nav-contact){display:inline-flex;align-items:center;align-self:center;min-height:44px;padding:0 1px;line-height:1.25;white-space:nowrap}
.header nav>.nav-contact{display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:12px;min-height:44px;margin:0 0 0 4px;padding:10px 18px;border-radius:999px;line-height:1.25;white-space:nowrap}
.header nav>.nav-contact>span{display:inline-flex;align-items:center;margin:0;line-height:1}
.hero{position:relative;isolation:isolate;overflow:hidden;padding-top:64px}
.hero:before{content:"";position:absolute;z-index:-1;width:min(48vw,650px);aspect-ratio:1;right:-13%;top:2%;border:1px solid rgba(120,173,255,.075);border-radius:50%;box-shadow:0 0 0 55px rgba(120,173,255,.025),0 0 0 110px rgba(120,173,255,.018);pointer-events:none}
.hero-grid{grid-template-columns:1.2fr .8fr;gap:8%;align-items:center;padding:36px 0 74px}
.hero-intro{position:relative;max-width:470px;padding:32px;border:1px solid rgba(120,173,255,.2);border-radius:18px;background:linear-gradient(145deg,rgba(17,35,59,.78),rgba(10,19,32,.66));box-shadow:0 25px 80px rgba(0,0,0,.18)}
.hero-intro:before{content:"";position:absolute;left:30px;top:-1px;width:64px;height:2px;background:linear-gradient(90deg,#78adff,transparent)}
.discipline-strip{display:block;position:relative;overflow:hidden;white-space:nowrap;padding:17px 0;background:linear-gradient(90deg,#124a98,#125cca 55%,#103c77);color:#fff}
.discipline-track{display:flex;flex-wrap:nowrap;width:max-content;will-change:transform;animation:expertise-marquee 38s linear infinite}
.discipline-group{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:27px;padding-right:27px;white-space:nowrap}
.discipline-group>span,.discipline-group>i{flex:0 0 auto;white-space:nowrap}
.discipline-group>i{display:inline-flex}
.discipline-strip:hover .discipline-track,.discipline-strip:focus-within .discipline-track{animation-play-state:paused}
@keyframes expertise-marquee{to{transform:translateX(-50%)}}
.expertise{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b1422,#0d1929);border-block:1px solid rgba(120,173,255,.12)}
.expertise:after{content:"";position:absolute;right:-200px;top:-280px;width:550px;height:550px;border:1px solid rgba(120,173,255,.065);border-radius:50%;box-shadow:0 0 0 48px rgba(120,173,255,.022),0 0 0 96px rgba(120,173,255,.016);pointer-events:none}
.expertise>.wrap{position:relative;z-index:1}
.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.skills-grid .skill-card,.skills-grid .skill-card:first-child,.skills-grid .skill-card:last-child{display:flex;flex-direction:column;grid-column:auto;width:auto;min-height:310px;padding:25px;border:1px solid #d9e4f1;border-radius:15px;background:linear-gradient(155deg,#fff,#f3f7fc);color:#102139;box-shadow:0 14px 36px rgba(0,0,0,.12);overflow:hidden}
.skills-grid .skill-card:last-child{grid-column:2}
.skills-grid .skill-card:before{right:-42px;top:-48px;width:130px;height:130px;border-color:#2578ef22;box-shadow:0 0 0 16px #2578ef08,0 0 0 34px #2578ef05}
.skills-grid .skill-card:after{height:3px;background:linear-gradient(90deg,#2778ed,#9bc4ff,transparent);transform:scaleX(.25)}
.skills-grid .skill-number{width:42px;height:42px;border:1px solid #c9dcf3;border-radius:12px;background:#eaf2fc;color:#1764c9;font-size:12px;font-weight:700}
.skills-grid .skill-card h3{font-size:21px;letter-spacing:-.035em;margin:22px 0 10px;color:#102139}
.skills-grid .skill-card p{font-size:14px;line-height:1.7;margin-bottom:18px;color:#52637a}
.skills-grid .skill-card ul{display:grid;gap:0;margin:auto 0 0;padding:0;list-style:none;color:#314967;font-size:12px;line-height:1.55}
.skills-grid .skill-card li{border-top:1px solid #e1e9f2;padding:8px 0}
.skills-grid .skill-card li:before{content:"•";position:static;display:inline;color:#4388e7;background:none;box-shadow:none;font-size:18px;line-height:0;vertical-align:-1px;margin-right:9px;width:auto;height:auto}
.skills-grid .skill-card:hover{transform:translateY(-6px);border-color:#8db5e8;box-shadow:0 22px 42px rgba(0,0,0,.19)}
.skills-grid .skill-card:hover:after{transform:scaleX(1)}
#projects{background:#0b1421;border-top:1px solid rgba(120,173,255,.1)}
.project-cover,.website-preview{border-radius:13px;box-shadow:0 18px 45px rgba(0,0,0,.2);transition:border-color .3s,box-shadow .3s,transform .35s}
.website-preview:hover{border-color:rgba(120,173,255,.65);box-shadow:0 24px 55px rgba(0,0,0,.3)}
.contact{background:radial-gradient(ellipse at 15% 5%,rgba(32,95,180,.2),transparent 50%),#0c1727;border-top:1px solid rgba(120,173,255,.16)}
@media(max-width:1100px){.header{padding:0 32px}.header nav{gap:20px}.hero-grid{grid-template-columns:1.1fr .9fr;gap:5%}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid .skill-card:last-child{grid-column:1/-1;width:calc((100% - 18px)/2);justify-self:center}}
@media(max-width:760px){.header{height:72px;padding:0 20px}.header nav{height:auto;align-items:stretch;gap:0}.header nav>a:not(.nav-contact){display:flex;align-items:center;align-self:stretch;min-height:48px;padding:12px 8px;line-height:1.35;white-space:normal}.header nav>.nav-contact{display:flex;align-self:stretch;justify-content:space-between;min-height:48px;margin:8px 0 0;padding:13px 15px!important}.hero{padding-top:32px}.hero:before{width:80vw;right:-40%;top:0}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:24px;padding-bottom:46px}.hero-intro{padding:23px;border-radius:14px;max-width:100%}.hero-intro:before{left:23px}.discipline-strip{padding:15px 0}.discipline-group{gap:16px;padding-right:16px}.discipline-group>span{font-size:10px}.discipline-group .icon{width:16px;height:16px}.skills-grid{grid-template-columns:1fr;gap:13px}.skills-grid .skill-card,.skills-grid .skill-card:first-child,.skills-grid .skill-card:last-child{grid-column:auto;width:auto;min-height:0;padding:22px}.skills-grid .skill-card h3{font-size:22px;margin:18px 0 9px}.skills-grid .skill-card p{font-size:14px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.discipline-track{animation:none;transform:none}.discipline-group[aria-hidden="true"]{display:none}.skills-grid .skill-card,.skills-grid .skill-card:before,.skills-grid .skill-card:after,.skills-grid .skill-card li{transition:none!important;transform:none!important;animation:none!important}}


/* One centered, accessible expertise row. */
.discipline-strip{display:flex;justify-content:center;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:17px 20px}
.discipline-strip::-webkit-scrollbar{display:none}
.discipline-track{display:block;flex:0 0 auto;width:max-content;margin-inline:auto;animation:none!important;transform:none!important;will-change:auto}
.discipline-group{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(12px,2vw,27px);width:max-content;margin-inline:auto;padding:0;white-space:nowrap}
.discipline-group>span{flex:0 0 auto;font-size:clamp(10px,1vw,13px);white-space:nowrap}
.discipline-group>i{flex:0 0 auto;display:inline-flex;align-items:center;font-style:normal}
@media(max-width:760px){.discipline-strip{justify-content:flex-start;padding:14px 16px}.discipline-track,.discipline-group{margin-inline:0}.discipline-group{gap:13px}.discipline-group>span{font-size:10px}.discipline-group .icon{width:16px;height:16px}}
