@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750;800;850;900&display=swap');
:root{--ink:#080a10;--muted:#344359;--line:#33405466;--blue:#dceafb;--font:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{position:relative;min-height:100svh;margin:0;color:var(--ink);font-family:var(--font);background:#e2edfc;isolation:isolate;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #3c58a4;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}::selection{background:#b4c3f2}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 18px;border-radius:8px;background:#152039;color:white;z-index:20}.skip-link:focus{top:15px}.page-background{position:absolute;inset:0;z-index:-1;overflow:hidden;background:url('assets/precision-background-liquid.png') center top/100% 100% no-repeat;pointer-events:none}.page-background canvas{width:100%;height:100%;display:block}.site-wrap{max-width:1510px;margin:auto;padding:0 4.1%;position:relative}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;height:90px;border-bottom:1px solid #46516280}.brand{font-size:clamp(28px,3.7vw,46px);font-weight:800;letter-spacing:-1.9px;white-space:nowrap}.site-header nav{display:flex;gap:clamp(20px,3vw,42px);align-items:center;font-size:clamp(14px,1.8vw,23px);font-weight:650}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:#3d5380}.hero{padding:41px 0 0}.hero-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#41506a;font-size:9px;font-weight:500;letter-spacing:1.15px;margin-bottom:22px}.motion-toggle{display:inline-flex;gap:10px;align-items:center;font-size:10px;letter-spacing:0;white-space:nowrap;padding:7px 0}.motion-toggle::before{content:'';height:1px;width:24px;background:#5f6f8a;margin-right:4px}h1{font-size:clamp(57px,7.8vw,118px);line-height:.97;letter-spacing:-5px;font-weight:850;max-width:100%;text-wrap:balance}h1 span{font-weight:850}.hero-subtitle{font-size:clamp(18px,2.35vw,33px);line-height:1.35;letter-spacing:-.6px;margin-top:18px;max-width:1000px;font-weight:400}.project-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px;scroll-margin-top:40px}.glass-project{position:relative;isolation:isolate;display:flex;align-items:center;gap:24px;width:100%;text-align:left;border:1px solid #ffffffe6;border-radius:28px;padding:27px 27px 27px 25px;min-height:208px;background:linear-gradient(135deg,#ffffff70,#eaf3ff30 60%,#ffffff7a);backdrop-filter:blur(20px) saturate(1.18);box-shadow:inset 0 0 0 2px #ffffff60,inset 3px 4px 9px #ffffffc9,inset -3px -4px 8px #889abe25,0 14px 30px #4e668013;transition:transform .35s,box-shadow .35s}.glass-project::before{content:'';position:absolute;inset:-2px;z-index:-1;pointer-events:none;border-radius:inherit;padding:2px;background:linear-gradient(128deg,#fff 3%,#a8bee38a 15%,#fff 25%,#d9bce1b3 38%,#ffffff9e 50%,#a9d2e799 65%,#fff 80%,#d6d8ef 90%,#fff);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;opacity:.95}.glass-project::after{content:'';position:absolute;inset:5px;z-index:-1;border-radius:22px;border:1px solid #ffffff80;pointer-events:none}.glass-project:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 2px #ffffff80,inset 3px 4px 12px #fff,inset -3px -4px 9px #9c8ab529,0 20px 36px #4e668023}.project-symbol{width:112px;min-width:90px;display:flex;align-items:center;justify-content:center;align-self:stretch;border-right:1px solid #7184a44d;padding-right:24px}.project-symbol svg{width:100%;max-width:110px;height:auto;filter:drop-shadow(0 7px 9px #6479a315)}.jm-symbol svg{min-width:100px;max-width:130px}.project-info{display:flex;flex-direction:column;gap:12px;flex:1}.project-info strong{font-size:clamp(27px,3.1vw,43px);font-weight:800;line-height:.94;letter-spacing:-1.5px}.project-info>span{font-size:clamp(14px,1.7vw,22px);line-height:1.25;letter-spacing:-.25px;color:#334257;font-weight:400}.project-arrow{font-family:Arial,sans-serif;font-size:38px;font-weight:400;line-height:1;transition:transform .3s;align-self:center}.glass-project:hover .project-arrow{transform:translateX(4px)}.portfolio-section{margin-top:90px;scroll-margin-top:35px}.section-title{display:flex;align-items:center;gap:40px}.section-title h2{font-size:clamp(36px,4.7vw,65px);letter-spacing:-2px;line-height:1.05;font-weight:800;white-space:nowrap}.section-title>span{height:1px;background:#46516280;flex:1;margin-top:9px}.section-subline{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:10px 0 25px}.section-subline>p{font-size:clamp(15px,1.75vw,23px);line-height:1.4;letter-spacing:-.2px}.text-button{padding:0 0 4px;display:inline-flex;gap:20px;align-items:center;font-size:12px;line-height:1.5;text-align:left;white-space:nowrap;border-bottom:1px solid transparent}.text-button:hover{border-color:#223651}.text-button>span{font-size:19px;line-height:1}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.photo-card{display:block;padding:0;min-width:0;width:100%;text-align:left}.photo-frame{overflow:hidden;border-radius:12px;aspect-ratio:1.25;position:relative;background:#d0dfef;border:1px solid #fffffff2;box-shadow:0 8px 25px #273e6012}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-card:hover img{transform:scale(1.04)}.photo-open{position:absolute;bottom:10px;right:10px;border-radius:50%;background:#ffffffd9;color:#1f2e4d;width:28px;height:28px;display:grid;place-items:center;opacity:0;transform:translateY(7px);transition:opacity .3s,transform .3s;font-size:18px}.photo-card:hover .photo-open,.photo-card:focus-visible .photo-open{opacity:1;transform:none}.photo-caption{display:flex;justify-content:space-between;gap:10px;font-size:10px;margin:10px 1px 0;color:#24344e;line-height:1.5}.photo-caption small{display:none}.media-note{font-size:11px;color:#3e506b;line-height:1.6;margin-top:17px}.art-section{margin-top:77px}.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.design-grid figure{margin:0;min-width:0}.design-image{display:block;width:100%;height:330px;position:relative;overflow:hidden;border-radius:12px;padding:0;background:#d9e3f4;border:1px solid #ffffffe6;box-shadow:0 8px 25px #273e6012}.design-image>img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s}.design-image:hover img{transform:scale(1.025)}.design-image>span{position:absolute;bottom:13px;right:13px;border-radius:50%;background:#ffffffdd;width:29px;height:29px;display:grid;place-items:center;font-size:18px}.wordmark-image{background:linear-gradient(140deg,#fff,#e6edfa);padding:27px}.wordmark-image>img{object-fit:contain;object-position:center}.design-grid figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 1px 0;font-size:11px;line-height:1.6}.design-grid figcaption strong{font-weight:650}.design-grid figcaption>span{font-size:10px;color:#42516b}.about-contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:80px;padding-bottom:36px}.about-contact>section{scroll-margin-top:30px}.about-contact>section:first-child{padding-right:40px;border-right:1px solid #46516280}.compact-title h2{font-size:clamp(28px,3.4vw,44px);letter-spacing:-1.5px}.about-contact p{font-size:clamp(15px,1.75vw,22px);line-height:1.3;letter-spacing:-.25px;margin-top:9px;max-width:580px}.about-link{margin-top:17px}.social-links{display:flex;align-items:center;gap:28px;margin-top:22px;font-size:13px}.social-links a{display:flex;align-items:center;gap:15px;padding-bottom:4px;border-bottom:1px solid #42516b55}.social-links a:hover{border-color:#111}.social-links span{font-size:18px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0 25px;border-top:1px solid #4651624d;font-size:9px;color:#41516c}dialog{border:1px solid #fff;padding:0;color:#19233e;background:#f5f7fc;border-radius:20px;box-shadow:0 30px 120px #121e4a44;font-family:var(--font)}dialog::backdrop{background:#26314a8f;backdrop-filter:blur(9px)}.close-button{position:absolute;right:22px;top:22px;z-index:5;width:36px;height:36px;display:grid;place-items:center;background:#ffffffde;border:1px solid #fff;border-radius:50%;font-size:16px;box-shadow:0 3px 15px #344b7910}.project-dialog{max-width:950px;width:90vw;max-height:90svh;overflow-y:auto}.detail-hero{padding:50px 50px 33px;background:linear-gradient(120deg,#e7edf9,#e8e3f5);border-bottom:1px solid white}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;line-height:1.7;color:#5f6f8d}.detail-hero .eyebrow{padding-right:40px}.detail-hero h2{font-size:48px;line-height:1.1;font-weight:750;margin:25px 0 18px;letter-spacing:-2px}.detail-hero>p:last-child{font-size:16px;line-height:1.8;color:#5d6b88;max-width:650px}.detail-grid{display:grid;grid-template-columns:1fr 210px;gap:45px;padding:35px 50px 45px}.detail-main h3{font-size:20px;letter-spacing:-.6px;font-weight:650;margin:27px 0 13px}.detail-main h3:first-child{margin-top:0}.detail-main p,.detail-main li{font-size:14px;line-height:1.85;color:#53627c}.detail-main ul{padding-left:18px;margin:12px 0}.detail-main li{padding-left:4px;margin:7px 0}.detail-sidebar{border-left:1px solid #65779930;padding-left:25px}.detail-sidebar>div{margin-bottom:25px}.small-label{font-size:8px;letter-spacing:1.3px;font-weight:650;color:#626f88;line-height:1.7;display:block}.detail-sidebar strong{display:block;font-size:12px;margin:9px 0;color:#3e4e6d;font-weight:550;line-height:1.8}.inline-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;color:#334e92;padding-bottom:8px;border-bottom:1px solid #788ab94d}.inline-link span{font-size:17px}.detail-sidebar .inline-link{font-size:10px;gap:15px}.detail-note{background:#e8eef7;border:1px solid #fff;border-radius:10px;padding:17px;font-size:12px!important;margin-top:25px!important}.detail-film{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 0;border-bottom:1px solid #65779930;color:#233b69;font-size:14px;font-weight:550;line-height:1.5}.detail-film span{font-size:22px}.lightbox{width:fit-content;max-width:95vw;max-height:95svh;background:#142039;border-color:#ffffff26;color:#fff;overflow:hidden}.lightbox .close-button{background:#ffffffd9;color:#243250}.lightbox-image-wrap{display:flex;align-items:center;justify-content:center;min-width:200px;min-height:200px}.lightbox img{max-width:92vw;max-height:78svh;width:auto;height:auto;object-fit:contain}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;gap:30px}.lightbox-bottom button{background:none;color:white;font-size:24px;width:38px;height:38px}.lightbox-bottom h2{font-size:13px;letter-spacing:0;font-weight:550;line-height:1.5}.lightbox-bottom p{font-size:9px;color:#b1bfd8;margin-top:4px}.lightbox-bottom>div{text-align:center}.lightbox.art-viewer #previous-photo,.lightbox.art-viewer #next-photo{visibility:hidden}
@media(min-width:1600px){.site-wrap{padding-left:40px;padding-right:40px}}@media(max-width:1100px){.site-header{height:74px}.hero{padding-top:35px}.hero-meta{font-size:8px;margin-bottom:18px}h1{letter-spacing:-4px}.project-row{gap:25px;margin-top:35px}.glass-project{gap:22px;padding:22px;min-height:176px;border-radius:25px}.project-symbol{width:91px;min-width:75px;padding-right:22px}.project-arrow{font-size:32px}.project-info{gap:10px}.portfolio-section{margin-top:78px}.section-title{gap:35px}.art-section{margin-top:67px}.design-image{height:285px}.about-contact{margin-top:65px}.section-subline{margin-bottom:22px}.jm-symbol svg{min-width:83px}.photo-caption{font-size:9px}}
@media(max-width:800px){.site-header{gap:20px;height:70px}.brand{font-size:31px;letter-spacing:-1.5px}.site-header nav{gap:21px;font-size:15px}.hero{padding-top:29px}.hero-meta{font-size:7px;letter-spacing:.8px;margin-bottom:18px}.motion-toggle{font-size:8px}.motion-toggle::before{width:17px}.hero-subtitle{font-size:21px}h1{font-size:7.8vw;letter-spacing:-3px}.project-row{gap:20px;margin-top:30px}.glass-project{padding:20px 18px;gap:18px;min-height:162px;border-radius:23px}.project-symbol{width:70px;min-width:55px;padding-right:17px}.jm-symbol svg{min-width:65px}.project-info strong{font-size:29px;letter-spacing:-1px}.project-info>span{font-size:15px}.project-arrow{font-size:27px}.section-title h2{font-size:39px;letter-spacing:-1.6px}.portfolio-section{margin-top:62px}.section-title{gap:27px}.section-subline{gap:15px;margin:8px 0 18px}.section-subline>p{font-size:16px}.text-button{font-size:10px;gap:13px}.media-grid{gap:10px}.photo-frame{border-radius:9px}.media-note{font-size:9px;margin-top:14px}.art-section{margin-top:55px}.design-grid{gap:13px}.design-image{height:230px;border-radius:9px}.wordmark-image{padding:20px}.design-grid figcaption{font-size:10px;display:block;line-height:1.7}.design-grid figcaption>span{font-size:9px;display:block}.about-contact{gap:30px;margin-top:55px}.about-contact>section:first-child{padding-right:30px}.compact-title h2{font-size:32px}.about-contact p{font-size:17px}.social-links{font-size:12px;gap:24px}.detail-hero{padding:40px 30px 25px}.detail-grid{padding:30px;gap:25px;grid-template-columns:1fr 165px}.detail-hero h2{font-size:40px}.detail-sidebar{padding-left:20px}.detail-sidebar strong{font-size:11px}}
@media(max-width:560px){html{scroll-padding-top:20px}.site-wrap{padding:0 5%}.site-header{height:69px;gap:12px;align-items:center}.brand{font-size:25px;letter-spacing:-1.4px}.site-header nav{gap:12px;font-size:11px;white-space:nowrap}.site-header nav a{padding:16px 0}.hero{padding-top:23px}.hero-meta{align-items:center;font-size:6px;letter-spacing:.7px;margin-bottom:22px;gap:14px}.hero-meta>span{max-width:150px;line-height:1.6}.motion-toggle{font-size:8px;gap:6px;padding:8px 0}.motion-toggle::before{display:none}h1{font-size:clamp(36px,9.6vw,54px);line-height:1;letter-spacing:-1.8px;text-wrap:initial;font-weight:850}.hero-subtitle{font-size:17px;line-height:1.35;letter-spacing:-.4px;margin-top:15px;max-width:330px}.project-row{grid-template-columns:1fr;gap:16px;margin-top:26px}.glass-project{min-height:145px;padding:22px;gap:24px;border-radius:23px}.project-symbol{width:80px;min-width:80px;padding-right:23px}.jm-symbol svg{min-width:83px}.project-info strong{font-size:29px;letter-spacing:-1.3px;line-height:.95}.project-info>span{font-size:15px;line-height:1.3}.project-info{gap:10px}.project-arrow{font-size:30px}.portfolio-section{margin-top:47px}.section-title{gap:18px}.section-title h2{font-size:34px;letter-spacing:-1.5px;white-space:normal}.section-title>span{min-width:20px}.section-subline{align-items:flex-start;flex-wrap:wrap;gap:8px;margin:9px 0 17px}.section-subline>p{font-size:14px;line-height:1.45;max-width:320px}.text-button{font-size:10px;gap:12px;line-height:1.5}.section-subline .text-button{margin-left:auto}.media-grid{grid-template-columns:1fr 1fr;gap:15px 10px}.photo-frame{aspect-ratio:1.2;border-radius:8px}.photo-caption{font-size:9px;line-height:1.4;margin-top:7px}.photo-open{width:24px;height:24px;font-size:15px;bottom:7px;right:7px}.media-note{font-size:9px;line-height:1.8;margin-top:15px;max-width:300px}.art-section{margin-top:44px}.design-grid{grid-template-columns:1fr 1fr;gap:16px 11px}.design-grid figure:last-child{grid-column:1/-1}.design-image{height:230px;border-radius:8px}.design-grid figure:last-child .design-image{height:145px}.wordmark-image{padding:28px}.design-grid figcaption{font-size:10px;padding-top:8px;display:flex;align-items:center;gap:8px}.design-grid figcaption>span{font-size:9px}.design-image>span{width:24px;height:24px;font-size:15px;bottom:8px;right:8px}.about-contact{grid-template-columns:1fr;gap:25px;margin-top:45px;padding-bottom:28px}.about-contact>section:first-child{padding:0 0 25px;border-right:0;border-bottom:1px solid #46516266}.compact-title h2{font-size:31px}.about-contact p{font-size:16px;line-height:1.45;margin-top:8px;max-width:330px}.about-link{margin-top:13px}.social-links{font-size:12px;margin-top:17px}.social-links a{padding:5px 0}footer{flex-wrap:wrap;gap:12px;font-size:8px;padding:20px 0 22px}footer>span:nth-child(2){display:none}.project-dialog{width:94vw;max-height:92svh;border-radius:15px}.close-button{right:16px;top:16px;width:32px;height:32px}.detail-hero{padding:40px 24px 25px}.detail-hero h2{font-size:37px;margin:22px 0 17px}.detail-hero>p:last-child{font-size:14px}.detail-hero .eyebrow{font-size:6px;letter-spacing:1px}.detail-grid{grid-template-columns:1fr;padding:28px 24px;gap:25px}.detail-main h3{font-size:18px}.detail-main p,.detail-main li{font-size:13px}.detail-sidebar{padding:22px 0 0;border-left:0;border-top:1px solid #65779930;display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-sidebar>div{margin-bottom:0}.detail-sidebar strong{font-size:11px}.detail-sidebar .inline-link{align-self:end;font-size:10px}.lightbox-bottom{gap:12px;padding:13px 10px}.lightbox-bottom h2{font-size:11px}.lightbox-bottom p{font-size:8px}.lightbox-bottom button{font-size:22px;min-width:30px;padding:0}.lightbox{border-radius:12px}.lightbox img{max-height:74svh}}
@media(max-width:370px){.site-header nav{font-size:10px;gap:10px}.brand{font-size:23px}.glass-project{padding:18px;gap:18px}.project-symbol{width:70px;min-width:65px;padding-right:16px}.project-info strong{font-size:27px}.project-info>span{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:560px){.glass-project{padding:18px;gap:16px}.project-symbol{width:65px;min-width:65px;padding-right:16px}.jm-symbol svg{min-width:72px}.project-info{min-width:0}.project-arrow{font-size:24px}.project-info>span{font-size:14px}}

.project-symbol img{width:110px;max-width:none;height:110px;object-fit:contain}.jm-symbol img{width:120px;height:112px}.media-grid{row-gap:24px}@media(max-width:1100px){.project-symbol img{width:95px;height:100px}.jm-symbol img{width:108px}}@media(max-width:560px){.project-symbol img{width:75px;height:85px}.jm-symbol img{width:85px;height:88px}.media-grid{row-gap:18px}}

/* Photo titles remain available to screen readers, without visible captions. */
.lightbox:not(.art-viewer) #lightbox-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lightbox:not(.art-viewer) #lightbox-description{font-size:11px;margin-top:0}

.artistic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 30px}.artistic-grid .photo-frame{aspect-ratio:1.8}.artistic-grid .photo-frame img{object-fit:contain;background:#080b12}@media(max-width:560px){.artistic-grid{grid-template-columns:1fr;gap:14px;margin-bottom:22px}.artistic-grid .photo-frame{aspect-ratio:1.5}}

.discipline-title{font-size:clamp(48px,6.1vw,88px);line-height:1.01;letter-spacing:-3.2px;text-wrap:initial}.discipline-title>span{display:block}@media(max-width:800px){.discipline-title{font-size:clamp(40px,6.4vw,55px);letter-spacing:-2px}}@media(max-width:560px){.discipline-title{font-size:clamp(30px,8.7vw,46px);letter-spacing:-1.5px;line-height:1.06}}
