:root{--ink:#111c1c;--paper:#f3f3ed;--orange:#dd622e;--muted:#65706a;--line:#c9d0c7;--night:#142322}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:1440px;margin:auto;padding-left:7%;padding-right:7%}.top{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 7%;border-bottom:1px solid var(--line);max-width:1600px;margin:auto}.brand{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.07em}.brand small{font-size:10px;color:#858d85}.mark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:25px;letter-spacing:-.1em}.mark span,.period{color:var(--orange)}nav{display:flex;align-items:center;gap:36px;font-size:12px;font-weight:600}nav a:hover,.text-link:hover{color:var(--orange)}.nav-contact{border:1px solid #aab5aa;padding:13px 17px}.nav-contact span{margin-left:20px}.hero{min-height:660px;display:grid;grid-template-columns:1.06fr .94fr;gap:6%;align-items:center;padding-top:55px;padding-bottom:65px}.hero-main{padding:30px 0 0}.eyebrow,.section-index,.project-meta,.hero-foot,.hero-art-label,.art-bottom,.image-label,.image-caption,.tags,.outcome span,.skills span,footer{font-size:10px;font-weight:700;letter-spacing:.14em}.eyebrow{color:#687a6b}.dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:8px}.hero h1,h2,h3{font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:-.055em}.hero h1{font-size:clamp(53px,6.3vw,93px);line-height:1.01;margin:34px 0 28px;font-weight:600}.hero em,.section-heading em,.about em,.contact em{font-style:normal;color:var(--orange)}.hero-copy{font-size:17px;line-height:1.7;color:#59655d;max-width:480px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px;font-size:13px;font-weight:700}.button{background:var(--ink);color:white;padding:17px 20px;display:inline-flex;gap:36px;align-items:center}.button:hover{background:var(--orange)}.hero-foot{display:flex;gap:36px;margin-top:85px;color:#8a958a;font-size:9px}.hero-art{position:relative;height:530px;background:#dfe4d8;overflow:hidden;border:1px solid #d3d9d0}.hero-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#a3b2a622 1px,transparent 1px),linear-gradient(90deg,#a3b2a622 1px,transparent 1px);background-size:42px 42px}.hero-art-label{position:absolute;top:25px;left:28px;color:#758678}.hero-art-label span{color:var(--orange)}.orbit{position:absolute;width:85%;aspect-ratio:1;left:7%;top:11%;border:1px solid #a4b5a6;border-radius:50%}.orbit-two{width:65%;left:17%;top:21%;border-style:dashed}.planet{width:50%;aspect-ratio:1;position:absolute;left:25%;top:26%;border-radius:50%;background:repeating-linear-gradient(137deg,#75897b 0 2px,transparent 2px 9px),radial-gradient(circle at 34% 27%,#f8f8ee,#a2b2a4);box-shadow:20px 24px 60px #7d948266}.planet-core{position:absolute;inset:20%;border:1px solid #e4eae0;border-radius:50%}.cross{position:absolute;color:var(--orange);font-size:23px}.cross-one{top:22%;left:16%}.cross-two{right:16%;bottom:23%}.art-bottom{position:absolute;bottom:27px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;color:#53685a;line-height:1.6}.intro{display:grid;grid-template-columns:.65fr 1.5fr 1fr;gap:45px;padding-top:115px;padding-bottom:120px}.section-index{color:#879088;padding-top:9px}.intro h2,.about h2{font-size:clamp(38px,4vw,59px);line-height:1.07;margin:0 0 22px;font-weight:500}.intro h2 span{color:#8a9a8b}.intro>div:nth-child(2)>p,.about-main>p{font-size:15px;color:#647169;line-height:1.8;max-width:520px}.intro-notes>div{border-top:1px solid var(--line);padding:17px 0 13px;display:grid;grid-template-columns:35px 1fr}.intro-notes span{font-size:10px;color:var(--orange)}.intro-notes strong{font-size:11px;letter-spacing:.1em}.intro-notes p{grid-column:2;margin:7px 0 0;font-size:13px;color:#7b877d}.work-section{background:var(--night);color:#eef2e9;padding:105px 0 115px}.light{color:#9daf9f}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.section-heading h2,.contact h2{font-size:clamp(48px,5.4vw,78px);line-height:1.02;font-weight:500;margin:25px 0 0}.section-heading p{color:#a9b7aa;max-width:315px;line-height:1.7;font-size:14px}.featured{display:grid;grid-template-columns:1.12fr .88fr;background:#e6e9df;color:var(--ink)}.featured-image{background:#d3dbd1;position:relative;min-height:400px;display:flex;align-items:center;overflow:hidden}.featured-image img{width:100%;mix-blend-mode:multiply}.image-label{position:absolute;top:23px;left:25px;right:25px;display:flex;justify-content:space-between;color:#6d7e70;z-index:1}.image-caption{position:absolute;bottom:24px;left:25px;color:#6d7e70}.featured-content{padding:62px 12%;display:flex;flex-direction:column;justify-content:center}.project-meta{color:var(--orange);line-height:1.5}.project-meta span{color:#89998a}.featured h3,.project h3,.lab-row h3{font-size:clamp(27px,3.2vw,43px);line-height:1.08;font-weight:500;margin:22px 0}.featured p,.project p,.lab-row p{color:#68766a;font-size:14px;line-height:1.75}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;font-size:9px}.tags span{border:1px solid #bdc9bb;padding:8px}.outcome{border-top:1px solid #b8c5b8;margin-top:30px;padding-top:22px;display:flex;flex-direction:column;gap:9px}.outcome span{color:#8a9b8b}.outcome strong{font-family:'Space Grotesk';font-size:16px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.project{background:#20332f}.project-img{height:295px;position:relative;overflow:hidden;background:#b3c0b2}.project-img img{width:100%;height:100%;object-fit:cover}.project-img.graph{background:#dfe4dc;padding:18px}.project-img.graph img{object-fit:contain}.project-img>span{position:absolute;top:18px;left:20px;background:#e9eee6;color:#31473a;padding:9px 10px;font-size:9px;letter-spacing:.1em;font-weight:700}.project-body{padding:34px 36px 40px}.project h3{font-size:31px;margin:15px 0}.project p{color:#b2beb3;max-width:490px}.project .tags span{border-color:#51675a;color:#b7c4b5}.lab-row{margin-top:24px;border:1px solid #43584d;padding:30px 35px;display:flex;align-items:center;justify-content:space-between;gap:30px}.lab-row>div{display:flex;gap:25px;align-items:center}.number{font-family:'Space Grotesk';font-size:46px;color:#d36c3c}.lab-row h3{font-size:26px;margin:8px 0}.lab-row p{color:#a7b5a8;max-width:600px}.about{display:grid;grid-template-columns:.65fr 1.5fr 1fr;gap:45px;padding-top:120px;padding-bottom:120px}.about-main>p{max-width:570px}.skills{border-top:1px solid var(--line);margin-top:35px;padding-top:24px}.skills>div{display:grid;grid-template-columns:110px 1fr;gap:10px;margin-bottom:15px}.skills span{color:#98a398}.skills p{margin:0;font-size:13px;line-height:1.6}.about-aside{align-self:center;background:#dfe5d9;min-height:260px;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.aside-number{font-family:'Space Grotesk';font-size:100px;letter-spacing:-.1em;color:#8fa596}.aside-number span{font-size:25px;color:var(--orange);vertical-align:top;margin-left:14px}.about-aside p{font-size:10px;line-height:1.5;letter-spacing:.15em;color:#6d7e70;font-weight:700}.contact{background:#d1dbcd;padding:90px 0}.contact .section-index{color:#718376}.contact-inner{display:flex;justify-content:space-between;align-items:center}.contact h2{color:var(--ink)}.contact p{color:#5d7160;line-height:1.7;max-width:440px}.contact-mail{display:inline-block;margin-top:22px;border-bottom:1px solid #536f5c;padding-bottom:9px;font-size:15px;font-weight:700}.contact-mail span{margin-left:28px;color:var(--orange)}.contact-mark{font-family:'Space Grotesk';font-size:clamp(130px,18vw,250px);font-weight:700;letter-spacing:-.13em;color:#bdcdbb}.contact-mark span{color:var(--orange)}footer{padding-top:26px;padding-bottom:26px;display:flex;justify-content:space-between;color:#7b897d;font-size:9px}footer a{color:#31483a}@media(max-width:850px){.top{height:72px}.brand small{display:none}nav{gap:16px}nav a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:40px}.hero-art{height:390px}.hero-foot{margin-top:45px}.intro,.about{grid-template-columns:1fr;gap:28px;padding-top:75px;padding-bottom:75px}.intro-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.featured{grid-template-columns:1fr}.featured-content{padding:40px}.featured-image{min-height:300px}.section-heading{display:block}.projects{grid-template-columns:1fr}.lab-row{display:block}.about-aside{min-height:180px}.contact-mark{display:none}}@media(max-width:500px){.hero h1{font-size:49px}.hero-art{height:320px}.hero-foot{gap:18px;font-size:8px}.intro-notes{grid-template-columns:1fr}.intro-notes>div{padding:12px 0}.work-section{padding:75px 0}.featured-content,.project-body{padding:27px}.project-img{height:230px}.featured-image{min-height:230px}.lab-row{padding:25px}.contact{padding:70px 0}footer{gap:12px;flex-wrap:wrap}}
.catalog-section,.content-layout{display:grid;grid-template-columns:.42fr 2.3fr;gap:45px}.catalog-section{padding-top:100px;padding-bottom:105px}.section-content{min-width:0}.section-content>h2{font-size:clamp(38px,4vw,58px);line-height:1.1;margin:0 0 18px;font-weight:500}.section-content>p{color:#647169;line-height:1.7;max-width:700px}.cad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px}.cad-card{background:#e1e7dd;overflow:hidden}.cad-card img{width:100%;height:245px;object-fit:contain;background:#d3dbd1}.cad-card:nth-child(2) img{object-fit:cover}.cad-card>div{padding:24px}.cad-card span{font-size:10px;color:#aa562d;letter-spacing:.09em;font-weight:700}.cad-card h3{font-size:25px;font-weight:500;margin:12px 0}.cad-card p{font-size:14px;line-height:1.7;color:#627065;margin:0}.cad-text{min-height:190px;display:flex;align-items:center}.report-section{background:#1c302b;color:#eef2e9;padding:100px 0}.report-section .section-content>p{color:#a8b8a9}.report-list{margin-top:35px;border-top:1px solid #4b6052}.report-list>div{display:grid;grid-template-columns:32px 1fr 1fr auto;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid #4b6052}.report-list span,.report-list em{font-size:10px;font-style:normal;color:#acbcae;letter-spacing:.04em}.report-list strong{font-size:14px}.report-list small{font-size:12px;color:#a9b9ab;line-height:1.5}.course-toolbar{display:flex;align-items:center;gap:12px;margin:30px 0 15px;font-size:12px}.course-toolbar label{font-weight:700}.course-toolbar select{font:inherit;background:transparent;border:1px solid #b9c4b9;padding:10px 34px 10px 10px;color:var(--ink)}#course-count{margin-left:auto;color:#7d8b7d}.course-list{border-top:1px solid var(--line)}.course-item{border-bottom:1px solid var(--line)}.course-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:145px 1fr 20px;gap:16px;align-items:center;padding:18px 2px}.course-item summary::-webkit-details-marker{display:none}.course-item summary:hover strong{color:var(--orange)}.course-item summary:focus-visible,.course-toolbar select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.course-code{font-size:11px;letter-spacing:.04em;color:#7c8c7e;font-weight:700}.course-item strong{font-size:15px;font-weight:600}.course-plus{font-size:22px;color:var(--orange);text-align:center}.course-item[open] .course-plus{transform:rotate(45deg)}.course-body{padding:0 35px 20px 163px;color:#5f6f64;font-size:14px;line-height:1.7}.course-body p{margin:0 0 10px}.course-body a{color:#a65028;text-decoration:underline;font-size:12px}.course-note{font-size:12px!important;line-height:1.6!important;margin-top:24px;color:#7d8a80!important}@media(max-width:850px){.catalog-section,.content-layout{grid-template-columns:1fr;gap:25px}.catalog-section,.report-section{padding-top:75px;padding-bottom:75px}.report-list>div{grid-template-columns:25px 1fr auto}.report-list small{grid-column:2}.report-list em{grid-column:3;grid-row:1}.top nav a:not(.nav-contact){display:none}}@media(max-width:500px){.cad-grid{grid-template-columns:1fr}.course-item summary{grid-template-columns:100px 1fr 16px;gap:8px}.course-code{font-size:10px}.course-item strong{font-size:14px}.course-body{padding-left:108px}.report-list>div{grid-template-columns:22px 1fr}.report-list em{grid-column:2;grid-row:auto}.report-list small{grid-column:2}.report-list>div{gap:6px}}
.ecvt-visual{background:#c9d7ca}.ecvt-art{position:absolute;inset:0;overflow:hidden;background:linear-gradient(0deg,transparent 49%,#81968755 50%,transparent 51%),linear-gradient(90deg,transparent 49%,#81968755 50%,transparent 51%);background-size:32px 32px}.gear{position:absolute;border:2px solid #6e8978;border-radius:50%}.gear:before{content:'';position:absolute;inset:16%;border:1px dashed #7a9382;border-radius:50%}.gear:after{content:'';position:absolute;inset:38%;border:2px solid #6e8978;border-radius:50%}.gear-one{width:190px;height:190px;left:26%;top:20%}.gear-two{width:115px;height:115px;left:54%;top:47%}.ecvt-line{position:absolute;left:45%;top:53%;width:28%;height:1px;background:#d46b3e;transform:rotate(25deg)}.ecvt-label{position:absolute;right:20px;bottom:20px;color:#6f8475;font-size:9px;letter-spacing:.14em;font-weight:700}.personal-sections{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:25px;padding-bottom:105px}.personal-sections article{border-top:1px solid var(--line);padding-top:25px}.personal-sections h2{font-size:43px;font-weight:500;margin:25px 0}.award-entry{display:flex;align-items:flex-start;gap:24px}.award-year{color:var(--orange);font-family:'Space Grotesk';font-size:20px}.award-entry h3{font-size:23px;font-weight:500;margin:0 0 10px}.award-entry p,.hobby-note{font-size:14px;color:#69776c;line-height:1.7}.hero-foot{line-height:1.75}.course-body p:first-child:before{content:'Course description: ';font-weight:700;color:#304137}@media(max-width:850px){.personal-sections{gap:35px;padding-bottom:75px}}@media(max-width:500px){.personal-sections{grid-template-columns:1fr}.gear-one{left:20%}.gear-two{left:55%}.hero-foot{flex-direction:column;gap:9px}}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 35px;margin-top:34px;max-width:650px}.contact-details>div{display:flex;flex-direction:column;gap:7px;min-width:0}.contact-details a,.contact-details address{font-size:14px;color:#243a2b;font-style:normal;line-height:1.55;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.contact-label{font-size:10px;letter-spacing:.12em;font-weight:700;color:#617766}@media(max-width:500px){.contact-details{grid-template-columns:1fr;gap:18px}}
.solar-gallery{margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.solar-gallery summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600}.solar-gallery summary::-webkit-details-marker,.report-group summary::-webkit-details-marker{display:none}.solar-gallery summary span{font-size:25px;color:var(--orange)}.solar-gallery[open] summary span{transform:rotate(45deg)}.solar-gallery>p{font-size:13px;color:#647169}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.gallery-grid figure{margin:0;background:#e1e7dd}.gallery-grid a{display:block;background:white}.gallery-grid img{width:100%;height:185px;object-fit:contain}.gallery-grid figcaption{padding:12px;font-size:11px;color:#526557;line-height:1.4}.gallery-note{font-size:12px!important;padding-bottom:15px}.drawing-link{display:inline-block;margin-top:18px;font-size:12px;color:#9e4925;text-decoration:underline}.report-group{border-bottom:1px solid #4b6052}.report-group summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:32px 1fr 1fr auto;gap:15px;align-items:center;padding:20px 0}.report-group summary:hover strong{color:#efac83}.report-group summary span,.report-group summary em{font-size:10px;font-style:normal;color:#acbcae;letter-spacing:.04em}.report-group summary strong{font-size:14px}.report-group summary small{font-size:12px;color:#a9b9ab}.report-group ul{margin:0 0 17px 47px;padding:0;list-style:none}.report-group li a{display:flex;justify-content:space-between;gap:20px;color:#d8e3d8;font-size:13px;line-height:1.45;padding:10px 0;border-top:1px solid #3f5449}.report-group li a:hover{text-decoration:underline}.report-group li a span{white-space:nowrap;color:#dd9a70;font-size:11px}.solar-gallery summary:focus-visible,.report-group summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(max-width:850px){.report-group summary{grid-template-columns:25px 1fr auto}.report-group summary small{grid-column:2}.report-group summary em{grid-column:3;grid-row:1}.report-group ul{margin-left:40px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:230px}.report-group summary{grid-template-columns:22px 1fr;gap:6px}.report-group summary small,.report-group summary em{grid-column:2;grid-row:auto}.report-group ul{margin-left:28px}}

.portrait-art{overflow:hidden;position:relative;background:#b4c0be}.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center 43%;display:block}.portrait-caption{position:absolute;bottom:0;left:0;right:0;padding:15px 20px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;font-size:10px;letter-spacing:.12em}.portrait-caption span{opacity:.75}.award-photo{width:100%;max-height:230px;object-fit:cover;object-position:center 45%;margin-top:24px}.hobby-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.hobby-tags span{border:1px solid #b9bdb6;padding:7px 10px;font-size:12px}.hobby-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.hobby-gallery figure{margin:0}.hobby-gallery img{width:100%;height:155px;object-fit:cover;display:block}.hobby-gallery figcaption{font-size:11px;margin-top:5px}.personal-gallery{margin-top:16px}.personal-gallery summary{cursor:pointer;font-weight:600}.hero-actions{flex-wrap:wrap;gap:18px}.cad-card h3 small{font-size:12px;font-weight:500}@media(max-width:650px){.hobby-gallery img{height:125px}.portrait-art{min-height:380px}}
