:root{--default-font:"Segoe UI",Arial,sans-serif;--heading-font:"Segoe UI",Arial,sans-serif;--nav-font:"Segoe UI",Arial,sans-serif;--accent-color:#2463a6;--heading-color:#112b50;--default-color:#455970}
body{line-height:1.75}.dark-background{--background-color:#101f3d}.light-background{--background-color:#f3f7fc}.header{padding:36px 24px 24px;width:280px}.header .profile-img img{height:120px;object-fit:cover;object-position:50% 31%;border:4px solid #345277}.header .logo .sitename{font-size:26px;font-weight:700;color:#fff}.sidebar-role{text-align:center;color:#b5c9e3;font-size:14px;margin:0 0 35px}.navmenu{padding:0}.navmenu a{font-size:15px;padding:17px 12px}.navmenu a .navicon{color:#839fbe}.navmenu a.active .navicon,.navmenu a:hover .navicon{color:#a9d3ff}.sidebar-note{margin-top:auto;padding:32px 8px 0;font-size:11px;color:#b5c9e3;letter-spacing:.3px}.status-dot{display:inline-block;width:6px;height:6px;background:#a9d3ff;border-radius:50%;margin-right:8px}.header .header-toggle{border:0;background:#2463a6}.personal-hero{padding:0;display:grid;grid-template-columns:1.08fr 1fr;min-height:100svh;background:#112b50;color:#fff;overflow:hidden}.hero-copy{padding:clamp(36px,5vw,90px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;color:#2463a6;margin-bottom:23px}.hero-copy .eyebrow{color:#a9d3ff}.hero-copy h1{font-size:clamp(58px,6.2vw,100px);font-weight:750;letter-spacing:-5px;line-height:1.03;color:#fff;margin:0 0 24px}.hero-copy h1 span{color:#a9d3ff}.hero-role{font-size:23px;color:#fff;margin-bottom:18px}.hero-intro{font-size:16px;color:#c4d5ea;max-width:370px}.primary-link{display:inline-flex;gap:30px;align-items:center;background:#a9d3ff;color:#112b50;padding:13px 22px;margin-top:18px;font-weight:700;border-radius:3px}.primary-link:hover{color:#112b50;background:#cee6ff}.hero-caption{border-top:1px solid #3d5b80;margin-top:55px;padding-top:23px;font-size:12px;color:#b6cce6;width:100%}.hero-caption span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}.hero-caption strong{color:#fff;font-size:14px;font-weight:600}.hero-caption p{margin:5px 0 0}.hero-photo{position:relative;min-width:0}.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.hero-photo:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#101f3db8)}.photo-label{position:absolute;bottom:32px;left:28px;right:28px;color:#fff;font-size:11px;letter-spacing:.6px;z-index:1}.section{padding:88px 5%}.section-title{padding-bottom:36px}.section-title h2{font-size:36px;line-height:1.25;letter-spacing:-1.1px;margin-bottom:24px;padding-bottom:22px}.section-title h2:after{width:45px;height:3px}.section-title .eyebrow{margin-bottom:18px}.lead{font-size:21px;line-height:1.6;color:#183b68}.about-note{padding:28px;background:#f3f7fc;border-left:3px solid #9bc5ef}.about-note>i{font-size:28px;color:#2463a6}.about-note h3{font-size:20px;margin:18px 0 12px}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list span{font-size:11px;border:1px solid #cbdcf0;padding:4px 9px;border-radius:3px;color:#315782}.teaching-section{background:#eaf2fc}.teaching-section h2{font-size:37px;letter-spacing:-1px;line-height:1.3}.teaching-section h3{font-size:24px;margin:18px 0}.date-pill{font-size:11px;letter-spacing:1px;color:#285c94;border:1px solid #aac8e9;padding:6px 10px;border-radius:3px}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.expertise{position:relative;padding:25px 0 30px;border-top:1px solid #d9e3ef}.expertise>i{font-size:27px;color:#2463a6}.expertise-number{float:right;font-size:12px;color:#6e8bab}.expertise h3{font-size:21px;margin:17px 0 12px}.expertise p{font-size:14px;max-width:350px}.course-note{display:flex;gap:18px;align-items:center;border-top:1px solid #d9e3ef;padding-top:25px;margin-top:18px}.course-note>i{font-size:34px;color:#2463a6}.course-note p{margin:2px 0 0;font-size:13px}.resume .resume-title{font-size:23px;margin-bottom:30px}.resume .resume-item h4{font-size:16px;line-height:1.5;text-transform:none}.resume .resume-item h5{font-size:12px;background:#e3edf9;padding:5px 10px}.resume .resume-item p{font-size:14px}.resume .resume-item{padding-right:22px}.learning-note{margin-top:35px;display:flex;gap:20px;color:#41668c;max-width:350px}.learning-note i{font-size:28px}.footer{border-top:1px solid #d9e3ef;font-size:12px}.footer p{margin:0}.footer .credits{font-size:10px}.scroll-top{background:#2463a6}.skip-link{position:fixed;left:10px;top:-70px;z-index:2000;background:white;padding:12px;color:#112b50}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible{outline:3px solid #e4b45b;outline-offset:5px}
@media(min-width:1200px){.header~main,.header~#footer{margin-left:280px}}
@media(max-width:1199px){.header{padding-top:28px}.personal-hero{min-height:850px}.hero-copy{padding:50px 7vw}}
@media(max-width:767px){.personal-hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:85px 28px 40px}.hero-copy h1{font-size:68px;letter-spacing:-3px}.hero-role{font-size:21px}.hero-intro{max-width:430px}.hero-caption{margin-top:35px}.hero-photo{height:520px}.hero-photo img{object-position:50% 42%}.section{padding:60px 16px}.section-title h2,.teaching-section h2{font-size:29px}.expertise-grid{grid-template-columns:1fr}.lead{font-size:19px}.section-title{padding-bottom:25px}.photo-label{left:28px}.resume .resume-item{padding-right:0}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Language selection remains visible on both desktop and mobile. */
.language-switch{position:fixed;right:25px;top:20px;z-index:996;display:flex;gap:3px;padding:4px;background:#101f3d;border:1px solid #5275a1;border-radius:7px;box-shadow:0 3px 14px #0002}
.language-switch a{color:#e1edfc;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:38px;font-size:12px;font-weight:700;border-radius:4px;letter-spacing:1px}
.language-switch a[aria-current=page]{background:#a9d3ff;color:#112b50}.language-switch a:hover{background:#315783;color:#fff}
.subjects-section{padding-top:45px;padding-bottom:50px;background:#eaf2fc;border-top:1px solid #cbdcf0}.subjects-section h2{font-size:25px}.subjects-intro{font-size:14px}.subject-list{list-style:none;padding:0;margin:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.subject-list li{padding:15px 0;border-top:1px solid #bdd0e8;color:#173d6d;font-weight:600}.subject-list span{font-size:11px;margin-right:16px;color:#466e9b}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.contact-grid>div{border-top:1px solid #d9e3ef;padding-top:25px}.contact-grid i{font-size:26px;color:#2463a6}.contact-grid h3{font-size:18px;margin:14px 0 8px}.contact-grid p{font-size:20px;overflow-wrap:anywhere;margin-bottom:6px}.example-label{font-size:11px;color:#4a6a91}.hero-role{font-size:21px}
@media(max-width:1199px){.language-switch{right:73px;top:16px}.language-switch a{min-height:32px}}
@media(max-width:767px){.subject-list,.contact-grid{grid-template-columns:1fr}.hero-role{font-size:19px}.subject-list li{font-size:14px}.subjects-section{padding-top:32px;padding-bottom:35px}}

.teaching-philosophy{padding:45px 5%;background:#eaf2fc;border-top:1px solid #cbdcf0}.teaching-philosophy h2{font-size:28px;max-width:760px;line-height:1.35;margin-bottom:20px}.teaching-philosophy .container>p:last-child{max-width:820px;font-size:17px;line-height:1.85;margin:0}.teaching-philosophy .eyebrow{margin-bottom:14px}
.interests-section{background:#f3f7fc}.interest-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:35px}.interest-grid article{border-top:2px solid #b9d4f2;padding-top:24px}.interest-grid i{font-size:30px;color:#2463a6}.interest-grid h3{font-size:21px;margin:20px 0 15px}.interest-grid p{font-size:15px}.driving-note{display:flex;gap:20px;align-items:center;border-top:1px solid #cbdcf0;margin-top:30px;padding-top:24px}.driving-note>i{font-size:30px;color:#2463a6}.driving-note p{margin:3px 0 0;font-size:14px}.hero-cv{display:inline-flex;gap:10px;color:#c4d5ea;font-size:13px;margin-top:19px}.hero-cv:hover{color:white}.hero-caption{margin-top:35px}.contact-grid .download-description{font-size:15px}.cv-link{display:inline-flex;gap:15px;align-items:center;font-size:15px;font-weight:600;margin-top:12px}.cv-link span{font-size:10px;background:#e3edf9;padding:3px 6px}.cv-link i{font-size:18px}.sidebar-role{margin-bottom:20px}.navmenu a{padding-top:14px;padding-bottom:14px}
@media(max-width:900px){.interest-grid{grid-template-columns:1fr}.interest-grid article{padding-top:20px}.teaching-philosophy{padding:35px 16px}.teaching-philosophy h2{font-size:25px}}

.smart-home{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:center;padding-top:36px;margin-top:30px;border-top:1px solid #cbdcf0}.smart-home h3{font-size:26px;margin-bottom:18px}.smart-home .eyebrow{margin-bottom:12px}.smart-home p{font-size:15px}.smart-home figure{margin:0;min-width:0}.smart-home img{display:block;width:100%;height:auto;border:1px solid #b9cce4;border-radius:8px;box-shadow:0 8px 22px #112b5015}.smart-home figcaption{font-size:12px;line-height:1.7;color:#4a6a91;margin-top:12px}.smart-home figcaption a{display:inline-block}@media(max-width:900px){.smart-home{grid-template-columns:1fr}.smart-home h3{font-size:23px}}

.automation-examples{list-style:none;margin:20px 0 0;padding:0}.automation-examples li{display:flex;gap:10px;padding:6px 0;font-size:14px}.automation-examples i{color:#2463a6}
