@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f8f6f1;--ink:#202723;--blue:#254e79;--muted:#66706e;--rule:#cdd0ca;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;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:2px solid var(--blue);outline-offset:6px}.wrap{width:min(1240px,88%);margin:auto}header{height:106px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.wordmark{font-family:var(--serif);font-size:27px;letter-spacing:-.5px}.dot{color:var(--blue)}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav a:hover,.text-link:hover{color:var(--blue)}.contact-nav{border:1px solid var(--rule);padding:11px 19px;display:flex;gap:25px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;padding-top:70px;padding-bottom:65px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;display:flex;align-items:center;gap:13px}.line{width:30px;height:1px;background:var(--blue)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-family:var(--serif);font-size:clamp(70px,8.5vw,128px);line-height:.93;letter-spacing:-4px;margin:32px 0 27px}em{font-weight:400;color:var(--blue)}h1 em{font-style:normal}.hero-note{font-family:var(--serif);font-size:29px;line-height:1.2;margin-bottom:19px}.degree{font-size:13px;line-height:1.8;color:var(--muted);max-width:440px}.actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{background:var(--blue);color:#fff;padding:13px 22px;display:inline-flex;gap:30px;font-size:13px;transition:background .2s,transform .2s}.button:hover{background:#183852;transform:translateY(-2px)}.text-link{font-size:13px;border-bottom:1px solid #a0aaa7;padding-bottom:5px;display:inline-block}.portrait-area{position:relative;height:520px;background:#e8e9e3;align-self:end;margin-bottom:23px}.portrait-area img{height:100%;width:100%;object-fit:contain;object-position:bottom;position:relative;z-index:1}.portrait-outline{position:absolute;inset:-13px 14px 13px -13px;border:1px solid #b7bdb6}.portrait-caption{position:absolute;top:100%;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding-top:12px}.focus-strip{border-block:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:25px}.focus-strip>span{font-size:9px;letter-spacing:1.5px}.focus-strip p{margin:0;font-family:var(--serif);font-size:24px}.focus-strip i{font-size:15px;color:var(--blue);margin:0 25px}.section{padding-block:85px}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.8px;font-weight:600;gap:20px}.section-label span+span{font-weight:400;color:var(--muted);letter-spacing:0}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:30px 0 36px}.section-heading p{color:var(--muted);font-size:13px;margin-bottom:5px}h2{font-family:var(--serif);font-size:clamp(38px,4.4vw,64px);line-height:1.04;letter-spacing:-1.2px;margin-bottom:0}.taqa{display:grid;grid-template-columns:1fr 1fr;background:#e9edf0}.taqa-copy{padding:45px}.taqa h3{font-family:var(--serif);font-size:56px;line-height:1;margin:25px 0}.taqa h3 span{font-family:var(--sans);font-size:24px;margin-left:30px}.project-intro{font-family:var(--serif);font-size:27px;line-height:1.2}.taqa-copy>p:not(.eyebrow):not(.project-intro){font-size:13px;color:#4e5f68}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.tags span{font-size:9px;letter-spacing:.3px;padding:3px 9px;border:1px solid #bac4c8}.store-links{display:flex;gap:24px;margin-top:28px;font-size:12px;color:var(--blue)}.store-links a{border-bottom:1px solid #92a3b6}.taqa-art{position:relative;overflow:hidden;background:#213e54;color:#eef3ef;display:flex;flex-direction:column;justify-content:space-between;padding:35px 42px}.art-top,.art-bottom{font-size:9px;letter-spacing:2px;z-index:1}.art-title{font-family:var(--serif);font-size:clamp(54px,6vw,86px);line-height:1;z-index:1;padding-block:25px}.art-title em{color:#bed3ca}.orbit{position:absolute;border:1px solid #72929d50;width:410px;height:410px;border-radius:50%;right:-200px;top:80px}.orbit-two{width:530px;height:530px;right:-260px;top:20px}.project-details{border-bottom:1px solid var(--rule);margin-bottom:45px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.project-details summary{display:flex;justify-content:space-between;padding:17px 0;font-size:12px}.project-details summary span{font-size:22px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:15px 0 25px;font-size:13px}h4{font-size:14px;margin-bottom:9px}.muted{color:var(--muted);font-size:12px}.website-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.website-art{height:280px;display:flex;flex-direction:column;justify-content:space-between;padding:26px 30px;overflow:hidden;transition:transform .3s}.website-art:hover{transform:translateY(-4px)}.robotics{background:#dedfd7;color:#333f36}.houmani{background:#ddd2bf;color:#37352d}.art-domain,.art-foot{font-size:9px;letter-spacing:1.6px}.robot-type{display:flex;font-family:var(--serif);font-size:94px;line-height:.8;gap:24px;align-items:center}.robot-type span{font-size:36px;line-height:1.1}.houmani-type{font-size:48px;letter-spacing:3px;font-weight:600;line-height:1}.houmani-type span{display:block;font-size:10px;letter-spacing:4px;margin-top:16px}.project-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px}.project-title h3{font-family:var(--serif);font-size:30px;margin:0}.project-title>span{font-size:10px;color:var(--muted)}.website>p{font-size:13px;max-width:440px;color:var(--muted)}.experience-section{background:#eeeee7}.role{border-top:1px solid #c6cbc2}.role:last-child{border-bottom:1px solid #c6cbc2}.role summary{display:grid;grid-template-columns:170px 1fr 200px 20px;gap:25px;align-items:center;padding:25px 0}.role-date{font-size:9px;letter-spacing:1px;color:var(--muted)}.role-name{font-family:var(--serif);font-size:25px;line-height:1.15}.role-name small{display:block;font-family:var(--sans);font-size:10px;margin-top:7px;color:var(--muted)}.role-title{font-size:12px}.plus{font-size:22px;transition:transform .2s}details[open] .plus,details[open]>summary>span:last-child:not(.role-title){transform:rotate(45deg)}.role-body{margin:0 8% 30px 195px;max-width:750px;font-size:13px;color:#52605b}.role-body>p{font-family:var(--serif);font-size:25px;line-height:1.25;color:var(--ink)}ul{padding-left:18px}li{padding-left:4px;margin-bottom:8px}.academic-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:45px}.academic-grid article+article{border-left:1px solid var(--rule);padding-left:65px}.status{font-size:9px;letter-spacing:1.5px;color:var(--blue)}.academic-grid h2{font-size:45px;margin-bottom:25px}.academic-grid article>p:not(.status){font-size:13px;max-width:420px}.about-section{border-top:1px solid var(--rule)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:40px}.about-grid h2{font-size:45px}.about-grid p{font-size:13px;color:var(--muted)}.about-grid .large-copy{font-size:18px;color:var(--ink);line-height:1.6}.education{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px;padding-top:25px;border-top:1px solid var(--rule)}.education span{font-size:9px;color:var(--muted);letter-spacing:1px}.education h4{margin-top:10px;font-size:13px}.education p{font-size:11px}.certifications{margin-top:60px;padding-top:28px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 2fr;gap:40px}.certifications h3{font-family:var(--serif);font-size:30px;font-style:italic}.certifications p{display:flex;justify-content:space-between;gap:20px;font-size:12px}.certifications strong{font-weight:500}.certifications span{color:var(--muted)}.contact-section{padding:60px 0;background:#253d4e;color:var(--paper)}.contact-section h2{font-size:clamp(65px,9vw,125px);display:flex;gap:25px;align-items:center;margin:20px 0 35px}.contact-section h2 em{color:#c4d4d1}.contact-section h2>span{font-family:var(--sans);font-size:.5em;margin-left:auto}.contact-bottom{border-top:1px solid #64747f;padding-top:25px;display:flex;gap:20px;align-items:center}.contact-bottom>a:first-child{font-family:var(--serif);font-size:25px}.contact-bottom>a:last-child{margin-left:auto;font-size:12px}button{border:1px solid #80909b;background:transparent;color:inherit;padding:7px 12px;font-size:10px;cursor:pointer}#copy-status{font-size:11px;min-height:18px;margin:7px 0 0}footer{display:flex;justify-content:space-between;align-items:center;padding-block:30px;font-size:10px;color:var(--muted)}footer .wordmark{font-size:23px;color:var(--ink)}.skip{position:absolute;top:-100px;background:white;z-index:9;padding:10px}.skip:focus{top:0}
@media(min-width:1550px){.hero{gap:13%}.portrait-area{height:550px}}@media(max-width:900px){nav{gap:18px}.hero{gap:6%;padding-top:50px}h1{letter-spacing:-2px}.portrait-area{height:420px}.hero-note{font-size:25px}.focus-strip p{font-size:20px}.focus-strip i{margin:0 10px}.taqa-copy{padding:30px}.taqa h3{font-size:43px}.taqa-art{padding:30px}.role summary{grid-template-columns:125px 1fr 145px 15px;gap:15px}.role-body{margin-left:140px}.role-name{font-size:21px}.houmani-type{font-size:34px}.robot-type{font-size:70px;gap:15px}.robot-type span{font-size:27px}.academic-grid,.about-grid{gap:35px}.academic-grid article+article{padding-left:35px}.certifications{grid-template-columns:1fr 2fr}.certifications p{flex-direction:column;gap:0}}@media(max-width:620px){.wrap{width:88%}header{height:80px}.wordmark{font-size:22px}nav a:not(.contact-nav){display:none}.contact-nav{padding:7px 11px;font-size:11px;gap:12px}.hero{grid-template-columns:1fr;padding-top:40px;gap:40px;padding-bottom:45px}h1{font-size:84px;margin:25px 0}.hero-note{font-size:27px}.portrait-area{height:380px;width:85%;margin:0 0 25px auto}.degree{font-size:12px}.focus-strip{align-items:start;flex-direction:column;gap:8px}.focus-strip p{font-size:18px;line-height:1.6}.focus-strip i{font-size:10px;margin:0 5px}.section{padding-block:55px}.section-label{font-size:9px}.section-label span+span{display:none}.section-heading{align-items:start;gap:20px;flex-direction:column;margin:24px 0 30px}h2{font-size:43px}.taqa{grid-template-columns:1fr}.taqa-copy{padding:28px}.taqa-art{min-height:340px}.art-title{font-size:65px}.website-grid,.detail-grid,.academic-grid,.about-grid{grid-template-columns:1fr;gap:35px}.website-art{height:240px}.project-title h3{font-size:28px}.role summary{grid-template-columns:1fr 20px;gap:7px;padding:22px 0}.role-date{grid-column:1}.role-name{grid-column:1;font-size:26px}.role-title{grid-column:1}.plus{grid-column:2;grid-row:1/4}.role-body{margin:0 0 25px}.academic-grid h2{font-size:41px}.academic-grid article+article{border-left:0;border-top:1px solid var(--rule);padding:30px 0 0}.about-grid h2{font-size:41px}.certifications{grid-template-columns:1fr;gap:0;margin-top:35px}.certifications p{margin-bottom:20px}.contact-section{padding-block:45px}.contact-section h2{font-size:61px;gap:12px}.contact-bottom{flex-wrap:wrap;gap:14px}.contact-bottom>a:first-child{font-size:22px;width:100%}.contact-bottom>a:last-child{margin-left:auto}footer{flex-wrap:wrap;gap:15px}footer .wordmark{width:100%}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.arrow-icon{width:15px;height:15px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.4}.contact-section h2 .arrow-icon{width:54px;height:54px}.taqa h3 .arrow-icon{width:24px;height:24px}
.app-icon{width:43px;height:43px;float:right;border-radius:10px}.taqa-art{background:#dfe4de;justify-content:center;gap:20px;padding:35px 25px;color:#53605b}.screens{display:flex;align-items:center;justify-content:center;gap:18px}.screens img{width:43%;max-width:196px;height:auto;border:5px solid #29342e;border-radius:21px;box-shadow:0 16px 22px #243a3520}.screens img+img{transform:translateY(14px)}.taqa-art .art-bottom{text-align:center;margin-top:12px;font-size:8px}.robotics{background:#fff}.robot-logo{width:100%;height:180px;object-fit:cover}.houmani{position:relative;background:#24342a;color:white}.company-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.houmani .art-domain,.houmani .art-foot{position:relative;z-index:1;background:#172218bf;padding:4px 8px;align-self:start}.robotics .art-domain,.robotics .art-foot{position:relative;z-index:1}@media(max-width:620px){.taqa-art{padding:32px 20px}.screens{gap:12px}.screens img{width:43%;border-width:4px}.robot-logo{height:150px}}
/* Work-led revision: retain the established ivory, charcoal and blue palette. */
.hero{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:12%;padding-top:64px;padding-bottom:64px}.hero h1{font-size:clamp(76px,8vw,110px)}.hero-context{align-self:center;border-top:1px solid var(--rule);padding-top:22px;max-width:330px}.hero-context dl{margin:25px 0 0}.hero-context dl>div{padding:17px 0;border-bottom:1px solid var(--rule)}.hero-context dt{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-bottom:7px}.hero-context dd{margin:0;font-size:15px;line-height:1.6}.hero-context dd span{font-size:12px;color:var(--muted)}.case-expanded{padding:32px 0 42px;border-bottom:1px solid var(--rule);margin-bottom:46px}.case-facts{margin:0;display:grid;gap:24px}.case-facts dt{font-size:9px;font-weight:600;letter-spacing:1.6px;color:var(--blue);margin-bottom:7px}.case-facts dd{margin:0;font-size:14px;line-height:1.8;color:#52605b}.case-expanded .case-facts{grid-template-columns:1fr 1fr;column-gap:55px}.case-credit{font-size:10px;color:var(--muted);margin:27px 0 0}.website .case-facts{gap:17px;margin:20px 0 24px}.website .case-facts dd{font-size:13px}.system-case{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:70px;padding-top:45px;border-top:1px solid var(--rule)}.case-heading h3{font-family:var(--serif);font-size:49px;line-height:1.12;margin:22px 0}.case-heading .eyebrow{font-size:9px;line-height:1.8}.role-heading{display:grid;grid-template-columns:170px 1fr 220px;gap:25px;align-items:center;padding:27px 0 20px}.role-body{margin-bottom:32px}.role-body>p{font-size:23px}.small-portrait{margin:32px 0 0;width:150px}.small-portrait img{width:150px;height:180px;object-fit:cover;object-position:top;background:#e8e9e3;display:block}.small-portrait figcaption{font-size:10px;color:var(--muted);margin-top:8px}.section-heading>p{max-width:410px}.about-identity h2{font-size:43px}
@media(max-width:900px){.hero{gap:7%}.role-heading{grid-template-columns:125px 1fr 160px;gap:15px}.system-case{gap:35px}.case-heading h3{font-size:41px}.case-expanded .case-facts{column-gap:30px}}
@media(max-width:620px){.hero{grid-template-columns:1fr;gap:30px;padding-block:40px}.hero h1{font-size:80px}.hero-context{max-width:none;width:100%;padding-top:15px}.hero-context dl{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:10px}.hero-context dl>div{padding:8px 0 15px}.hero-context dl>div:last-child{grid-column:1/-1}.hero-context dd{font-size:13px}.hero-context dd span{font-size:11px}.case-expanded .case-facts,.system-case{grid-template-columns:1fr;gap:25px}.case-expanded{padding-top:25px}.system-case{margin-top:45px;padding-top:30px}.case-heading h3{font-size:39px}.role-heading{grid-template-columns:1fr;gap:8px;padding-bottom:17px}.role-body{margin-left:0}.small-portrait{width:110px;margin-top:23px}.small-portrait img{width:110px;height:140px}.case-facts dd{font-size:13px}}
/* Compact portrait and optional dark theme. */
.hero{grid-template-columns:minmax(0,1fr) 230px;gap:65px;align-items:center}.hero-portrait{position:relative;overflow:hidden;width:210px;height:240px;margin:0 0 0 auto;align-self:center;background:#e8e9e3;border-radius:2px}.hero-portrait img{position:absolute;top:0;left:-30%;width:160%;height:auto;max-width:none;display:block}.theme-toggle{display:flex;align-items:center;gap:8px;color:var(--ink);border:0;padding:9px 0;font-size:11px;background:transparent;white-space:nowrap}.theme-toggle:hover{color:var(--blue)}.theme-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.theme-icon .sun{display:none}nav{gap:25px}.theme-toggle[aria-pressed=true] .moon{display:none}.theme-toggle[aria-pressed=true] .sun{display:block}
:root[data-theme=dark]{color-scheme:dark;--paper:#151d24;--ink:#edf0ed;--blue:#9ebfe3;--muted:#afb9c1;--rule:#3b4650}
[data-theme=dark] .hero-portrait{background:#34414a}[data-theme=dark] .button{background:#90b5dc;color:#132435}[data-theme=dark] .button:hover{background:#b1cdec}[data-theme=dark] .experience-section{background:#1d2831}[data-theme=dark] .role,[data-theme=dark] .role:last-child{border-color:var(--rule)}[data-theme=dark] .role-body,[data-theme=dark] .case-facts dd{color:#c1cbd3}[data-theme=dark] .taqa{background:#24333f}[data-theme=dark] .taqa-copy>p:not(.eyebrow):not(.project-intro){color:#c5d0d8}[data-theme=dark] .taqa-art{background:#34413d;color:#d9e1dd}[data-theme=dark] .tags span{border-color:#5b6a75}[data-theme=dark] .store-links a{border-color:#70869b}[data-theme=dark] .text-link{border-color:#657887}[data-theme=dark] .robotics{background:#e4e6e4;color:#29342e}[data-theme=dark] .contact-section{background:#213b50}[data-theme=dark] .contact-section h2 em{color:#bcd4ea}[data-theme=dark] .contact-bottom button{color:#edf0ed}[data-theme=dark] .skip{background:#24333f;color:#edf0ed}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr) 190px;gap:30px}.hero-portrait{width:180px;height:215px}nav{gap:16px}.theme-toggle span{display:none}}
@media(max-width:620px){.hero{grid-template-columns:minmax(0,1fr) 108px;gap:15px;align-items:start;padding-top:35px}.hero h1{font-size:clamp(46px,12vw,72px);letter-spacing:-1.7px}.hero .eyebrow{font-size:8px;letter-spacing:1px;gap:7px}.hero .line{width:16px}.hero-note{font-size:23px}.hero-portrait{width:108px;height:135px;margin-top:38px;align-self:start}.hero .actions{flex-wrap:wrap;gap:15px}.hero .button{padding:11px 14px;gap:15px;font-size:11px}.hero .degree{font-size:11px}.theme-toggle{padding:8px}.theme-icon{width:18px;height:18px}nav{gap:8px}.contact-nav{gap:8px}.wordmark{font-size:20px}}
@media(max-width:370px){.hero{grid-template-columns:minmax(0,1fr) 85px;gap:12px}.hero-portrait{width:85px;height:110px}.hero h1{font-size:45px}.contact-nav{font-size:10px;padding:6px 8px}header .wordmark{font-size:18px}}
/* Bring the portrait into the introduction rather than placing it at the page edge. */
.hero{width:min(960px,88%);grid-template-columns:minmax(0,540px) 210px;justify-content:center;gap:50px;padding-top:45px;padding-bottom:48px}.hero h1{font-size:100px;margin:25px 0 24px}.hero-portrait{margin:0;justify-self:start;align-self:center}.hero .hero-note{margin-bottom:0}.hero .actions{margin-top:27px}.project-title{gap:18px;align-items:start}.project-title h3{line-height:1.15}.project-title>span{flex-shrink:0;padding-top:8px}
@media(max-width:900px){.hero{width:88%;grid-template-columns:minmax(0,480px) 180px;gap:35px}.hero h1{font-size:86px}.hero-portrait{width:180px;height:215px}}
@media(max-width:620px){.hero{grid-template-columns:minmax(0,1fr) 108px;gap:20px;padding-block:32px}.hero h1{font-size:clamp(46px,12vw,72px);margin:21px 0}.hero .eyebrow{font-size:7px;letter-spacing:.8px;line-height:1.6}.hero .line{display:none}.hero-portrait{width:108px;height:135px;margin-top:45px;align-self:start}.hero .hero-note{font-size:21px}.hero .actions{margin-top:23px}}
@media(max-width:370px){.hero{grid-template-columns:minmax(0,1fr) 85px;gap:12px}.hero-portrait{width:85px;height:110px}.hero h1{font-size:45px}}

/* Tighter rhythm with the existing typography and palette. */
header{height:84px}
.hero{grid-template-columns:minmax(0,420px) 210px;gap:40px;padding-block:28px}
.hero h1{margin:18px 0;font-size:94px}
.hero .actions{margin-top:20px}
.focus-strip{padding-block:14px}
.section{padding-block:52px}
.section-heading{margin:22px 0 28px}
.academic-grid,.about-grid{margin-top:28px;gap:42px}
.academic-grid article+article{padding-left:42px}
.case-expanded{padding:25px 0 30px;margin-bottom:30px}
.case-facts{gap:18px}
.system-case{margin-top:40px;padding-top:30px;gap:42px}
.role-heading{padding-top:21px;padding-bottom:15px}
.role-body{margin-bottom:23px}
.education{margin-top:25px;padding-top:20px;scroll-margin-top:28px}
.certifications{margin-top:32px;padding-top:22px}
.contact-section{padding-block:42px}
@media(max-width:900px){nav{gap:14px}.hero{grid-template-columns:minmax(0,380px) 180px;gap:28px}.hero h1{font-size:82px}}
@media(max-width:620px){
header{height:auto;min-height:92px;flex-wrap:wrap;gap:8px;padding-block:14px}
header nav{width:100%;flex-wrap:wrap;gap:8px 17px;font-size:11px}
nav a:not(.contact-nav){display:inline-block}
nav .contact-nav{margin-left:auto;padding:5px 8px}
.theme-toggle{padding:5px 0}
.hero{grid-template-columns:minmax(0,1fr) 108px;gap:18px;padding-block:23px}
.hero h1{font-size:clamp(46px,12vw,72px);margin:16px 0}
.hero-portrait{margin-top:35px}
.hero .actions{margin-top:18px}
.section{padding-block:36px}
.section-heading{margin:19px 0 23px;gap:15px}
.academic-grid,.about-grid{gap:25px;margin-top:24px}
.academic-grid article+article{padding:24px 0 0}
.system-case{margin-top:30px;padding-top:24px;gap:24px}
.certifications{margin-top:26px}
.contact-section{padding-block:32px}
}
@media(max-width:370px){.hero{grid-template-columns:minmax(0,1fr) 85px;gap:12px}.hero h1{font-size:45px}}

/* Larger opening type and an accented current role. */
.hero{width:min(1240px,88%);grid-template-columns:minmax(0,1fr) 180px;gap:32px;padding-block:24px}
.hero h1{font-size:clamp(68px,7.2vw,112px);line-height:1;letter-spacing:-3px;margin:15px 0 20px;white-space:nowrap}
.hero h1 br{display:none}
.hero h1 em:before{content:' '}
.hero .hero-note{font-size:32px;line-height:1.2}
.hero .eyebrow{margin-bottom:0}
.hero-portrait{width:180px;height:215px}
.current-role{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;background:#254e79;color:#f8f6f1;border:0;padding:32px;margin-bottom:22px}
.current-role .role-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;padding:0}
.current-role .role-date{color:#dae7f3;font-size:10px}
.current-role .role-name{font-size:clamp(38px,4.2vw,61px);line-height:1.05}
.current-role .role-name small{color:#dae7f3;font-size:12px;margin-top:12px}
.current-role .role-title{font-size:17px}
.current-role .role-body{margin:0;max-width:none;color:#edf2f8;font-size:14px}
.current-role .role-body>p{color:#fff;font-size:26px;margin-bottom:18px}
.current-role .tags span{border-color:#7695b4;color:#edf2f8}
[data-theme=dark] .current-role{background:#294d70}
[data-theme=dark] .current-role .role-body{color:#edf2f8}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr) 160px;gap:25px}.hero h1{font-size:94px;white-space:normal}.hero h1 br{display:block}.hero h1 em:before{content:none}.hero-portrait{width:160px;height:195px}.current-role{gap:25px;padding:25px}.current-role .role-name{font-size:40px}}
@media(max-width:620px){.hero{grid-template-columns:minmax(0,1fr) 108px;gap:18px;padding-block:20px}.hero h1{font-size:clamp(46px,12vw,72px);letter-spacing:-1.7px;margin:14px 0}.hero .hero-note{font-size:23px}.hero-portrait{width:108px;height:135px;margin-top:35px}.current-role{grid-template-columns:1fr;gap:24px;padding:24px}.current-role .role-name{font-size:43px}.current-role .role-body>p{font-size:24px}}
@media(max-width:370px){.hero{grid-template-columns:minmax(0,1fr) 85px;gap:12px}.hero h1{font-size:45px}.hero-portrait{width:85px;height:110px}}

.experience-section .section-label{margin-bottom:24px}

/* Balanced introduction: restrained name, slightly larger portrait. */
.hero{width:min(1040px,88%);grid-template-columns:minmax(0,1fr) 280px;gap:48px;padding-block:30px;align-items:center}
.hero h1{font-size:64px;line-height:1.08;letter-spacing:-1.8px;margin:20px 0;white-space:normal}
.hero h1 br{display:none}
.hero h1 em:before{content:' '}
.hero .hero-note{font-size:30px;line-height:1.25}
.hero .actions{margin-top:24px}
.hero-portrait{width:280px;height:320px;margin:0;align-self:center;justify-self:end}
.publication-tags{margin:20px 0}
@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr) 230px;gap:32px}.hero h1{font-size:58px}.hero-portrait{width:230px;height:275px}.hero .hero-note{font-size:27px}}
@media(max-width:620px){.hero{grid-template-columns:minmax(0,1fr) 125px;gap:20px;padding-block:24px}.hero h1{font-size:clamp(39px,9.5vw,56px);letter-spacing:-1px;margin:16px 0}.hero h1 br{display:block}.hero h1 em:before{content:none}.hero .hero-note{font-size:22px}.hero-portrait{width:125px;height:155px;align-self:start;margin-top:35px}.hero .actions{margin-top:20px}}
@media(max-width:370px){.hero{grid-template-columns:minmax(0,1fr) 95px;gap:14px}.hero h1{font-size:39px}.hero-portrait{width:95px;height:125px}}

.graduate-assistant{border-top:1px solid var(--rule);margin-top:25px;padding-top:24px}.graduate-assistant h3{font-family:var(--serif);font-size:42px;line-height:1.1;margin:10px 0 23px}.graduate-assistant .status{color:var(--blue);font-size:9px;letter-spacing:1.2px}.graduate-teaching{border-left:3px solid var(--blue);padding-left:20px}.graduate-teaching h4{font-size:21px;color:var(--blue);margin-bottom:5px}.graduate-assistant ul{font-size:13px;color:var(--muted);margin-bottom:0}.graduate-it{margin-top:24px;padding-top:19px;border-top:1px solid var(--rule)}.graduate-it h4{font-size:16px}.graduate-teaching>p{margin-bottom:12px}@media(max-width:620px){.graduate-assistant h3{font-size:36px}}

/* Full-width education columns, without a vacant introductory column. */
.education-section{border-top:1px solid var(--rule)}
.education-columns{display:grid;grid-template-columns:.85fr 1fr 1.45fr;gap:0;margin-top:28px}
.education-columns>article,.education-columns>.graduate-assistant{min-width:0;padding:0 28px;border:0;border-left:1px solid var(--rule);margin:0}
.education-columns>article:first-child{padding-left:0;border-left:0}
.education-columns>.graduate-assistant{padding-right:0}
.education-years{font-family:var(--serif);font-size:clamp(30px,3.3vw,46px);line-height:1.1;letter-spacing:-1px;margin:0 0 22px}
.degree-column h3{font-family:var(--serif);font-size:30px;line-height:1.15;margin:0 0 16px}
.degree-column>p:not(.education-years){font-size:14px;line-height:1.7;margin-bottom:12px}
.degree-focus{color:var(--muted)}
.education-status{display:inline-block;border:1px solid var(--rule);font-size:9px;letter-spacing:1px;padding:3px 8px;margin-top:3px}
.education-columns .graduate-assistant h3{font-size:38px;margin:10px 0 22px}
.education-columns .graduate-assistant .status{line-height:1.6;margin-top:0}
.education-columns .graduate-teaching{padding-left:15px}
.education-columns .graduate-teaching>p{font-size:13px;color:var(--muted)}
.education-columns .graduate-teaching h4{font-size:20px}
.education-columns .graduate-it{margin-top:20px;padding-top:16px}
@media(max-width:900px){.education-columns{grid-template-columns:1fr 1fr}.education-columns>.graduate-assistant{grid-column:1/-1;border-left:0;border-top:1px solid var(--rule);padding:26px 0 0;margin-top:26px}.education-columns>article:nth-child(2){padding-right:0}.education-years{font-size:40px}}
@media(max-width:620px){.education-columns{grid-template-columns:1fr;gap:24px}.education-columns>article,.education-columns>.graduate-assistant{padding:24px 0 0;margin:0;border-left:0;border-top:1px solid var(--rule)}.education-columns>article:first-child{padding:0;border-top:0}.education-years{font-size:38px;margin-bottom:16px}.degree-column h3{font-size:29px}.education-columns .graduate-assistant h3{font-size:36px}}

.education-section .academic-work{border-top:1px solid var(--rule);margin-top:32px;padding-top:28px}.education-section .academic-grid{margin-top:0}

.services-section{border-top:1px solid var(--rule)}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.services-grid article{border-top:1px solid var(--rule);padding-top:18px}.service-number{font-size:10px;color:var(--blue);letter-spacing:1px}.services-grid h3{font-family:var(--serif);font-size:30px;line-height:1.1;margin:16px 0}.services-grid p{font-size:13px;color:var(--muted);margin-bottom:0}.services-contact{margin-top:28px}.publication-link{margin-top:24px}.academic-grid:has(>article:only-child){grid-template-columns:1fr}.academic-grid>article:only-child{display:grid;grid-template-columns:1fr 1fr;column-gap:42px}.academic-grid>article:only-child>.status{grid-column:1/-1}.academic-grid>article:only-child>h2{grid-column:1;grid-row:2/4;margin-bottom:0}.academic-grid>article:only-child>p:not(.status){grid-column:2;margin-top:0}.academic-grid>article:only-child>.tags{grid-column:2;margin-top:0}@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.services-grid{grid-template-columns:1fr;gap:24px}.academic-grid>article:only-child{display:block}.academic-grid>article:only-child>h2{margin-bottom:20px}.academic-grid>article:only-child>.tags{margin-top:20px}}

/* Continuous topics ribbon. */
.focus-strip{gap:24px;overflow:hidden}.focus-strip>span{flex-shrink:0}.focus-marquee{min-width:0;flex:1;overflow:hidden}.focus-track{display:flex;width:max-content;animation:topics-scroll 32s linear infinite}.focus-strip .focus-group{display:flex;align-items:center;flex-shrink:0;white-space:nowrap;font-size:26px;line-height:1.4;margin:0}.focus-group span{display:inline-block}.focus-strip .focus-group i{margin:0 26px}.focus-strip.is-paused .focus-track{animation-play-state:paused}.motion-toggle{flex-shrink:0;border:0;color:var(--muted);font-size:14px;padding:4px 7px;line-height:1.3}.motion-toggle:hover{color:var(--blue)}@keyframes topics-scroll{to{transform:translateX(-50%)}}@media(max-width:620px){.focus-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.focus-strip>span{grid-column:1/-1}.focus-strip .focus-group{font-size:23px}.focus-strip .focus-group i{margin-inline:18px}}@media(prefers-reduced-motion:reduce){.focus-track{animation:none;width:auto}.focus-strip .focus-group{white-space:normal;flex-wrap:wrap;font-size:20px;gap:5px 0}.focus-strip .focus-group[aria-hidden=true]{display:none}.motion-toggle{display:none}}

/* Protect intermediate widths and comfortable mobile controls. */
.hero .intro,.taqa-copy,.case-heading,.case-facts,.role-body,.services-grid article{min-width:0}
.case-facts dd,.role-body,.graduate-assistant,.services-grid p{overflow-wrap:anywhere}
@media(max-width:820px){header{height:auto;min-height:84px;flex-wrap:wrap;gap:8px;padding-block:14px}header nav{width:100%;flex-wrap:wrap;gap:8px 18px}header nav a{display:inline-flex!important;align-items:center;min-height:40px}.theme-toggle,.motion-toggle{min-width:40px;min-height:40px;justify-content:center}.contact-nav{margin-left:auto}}
@media(max-width:620px){header nav{gap:4px 15px}header nav a{min-height:44px}.theme-toggle,.motion-toggle{min-width:44px;min-height:44px}.hero .button,.hero .text-link{min-height:44px;display:inline-flex;align-items:center}.hero .actions{gap:10px}.store-links{flex-wrap:wrap;gap:12px 24px}.store-links a{min-height:44px;display:inline-flex;align-items:center;gap:5px}.contact-bottom>a:first-child{overflow-wrap:anywhere}.contact-bottom button{min-height:44px}.contact-section h2{font-size:clamp(45px,12vw,61px)}.contact-section h2 .arrow-icon{width:36px;height:36px}.education-years{font-size:clamp(30px,9vw,38px)}}

header nav .contact-nav{padding:6px 11px;gap:10px;font-size:12px;line-height:1.4;min-height:0;align-items:center}.contact-nav .arrow-icon{width:13px;height:13px}@media(max-width:820px){header nav .contact-nav{padding:6px 10px;min-height:0}}@media(max-width:620px){header nav .contact-nav{font-size:11px;padding:5px 9px;gap:8px;min-height:0}}
