@import url('print.css');
:root{--paper:#f7f7f2;--ink:#0e172a;--muted:#77777b;--line:#deded7;--brand:#005bff;--brand-soft:#edf3ff;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.65 var(--sans)}body.modal-open{overflow:hidden}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid var(--brand);outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:1280px;padding-inline:54px;margin:auto}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:600;line-height:1.5;margin:0 0 20px}.skip{position:fixed;top:-100px;left:18px;z-index:30;background:var(--ink);color:white;padding:13px}.skip:focus{top:15px}
.site-header{padding:23px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:#f7f7f2f5;backdrop-filter:blur(15px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:20px}.brand>span:first-child{font-size:33px;line-height:1;font-weight:700;letter-spacing:-3px}.brand-star{color:var(--brand);margin-left:3px;font-size:30px;letter-spacing:0}.brand-caption{font-size:7px;letter-spacing:1.1px;line-height:1.6;font-weight:600}.site-header nav{display:flex;gap:29px;font-size:11px}.site-header nav a:hover{color:var(--brand)}.button{border:1px solid var(--ink);border-radius:3px;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 22px;font-size:12px;font-weight:600;line-height:1.3}.button:hover{background:var(--brand-soft)}.button.small{font-size:10px;padding:11px 15px;gap:16px}.button.filled{background:var(--ink);color:white}.button.filled:hover{background:#3b485e}.text-link{display:inline-flex;align-items:center;gap:15px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:6px 0;font-size:12px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding-top:68px;padding-bottom:58px}.hero-copy .eyebrow{display:flex;align-items:center;gap:8px;font-size:9px}.tiny-dot{height:6px;width:6px;border-radius:50%;background:var(--brand);display:inline-block}.hero h1{font-size:clamp(66px,7.3vw,106px);font-weight:500;letter-spacing:-6px;line-height:.99;margin:0 0 24px}.hero h1>span{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-5px;color:var(--brand)}.hero-intro{font-size:13px;line-height:1.9;max-width:360px;color:#5d6065}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:26px}.hero-contact{font-size:12px;border-bottom:1px solid #92959c;padding-bottom:5px}.hero-location{font-size:8px;letter-spacing:1px;color:#77767c;margin:29px 0 0}.hero-location span{margin:0 10px;font-size:5px;color:var(--brand)}.hero-collage{height:510px;position:relative}.collage-main{position:absolute;top:8px;left:0;right:29px;bottom:67px;background:#091e44;overflow:hidden;border-radius:4px;transform:rotate(-4deg)}.collage-main img{width:100%;height:100%;object-fit:cover}.collage-caption{position:absolute;bottom:15px;left:15px;background:#11141bba;color:white;backdrop-filter:blur(8px);padding:5px 9px;font-size:7px;letter-spacing:1px;border-radius:2px}.collage-mini{position:absolute;right:-10px;bottom:30px;width:55%;height:230px;overflow:hidden;border:7px solid var(--paper);border-radius:3px;transform:rotate(8deg);box-shadow:0 18px 35px #13182119;background:#050505}.collage-mini img{width:100%;height:100%;object-fit:cover}.collage-mini>span{position:absolute;bottom:10px;right:10px;color:white;background:#ffffff30;border-radius:50%;width:27px;line-height:26px;text-align:center}.collage-stamp{position:absolute;top:-14px;right:-15px;color:#8da8dc;font-size:105px;line-height:1;text-shadow:1px 1px 0 var(--paper)}.collage-note{font-size:7px;letter-spacing:1.5px;line-height:1.8;position:absolute;bottom:14px;left:15px;transform:rotate(-4deg)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);padding-block:29px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts>div{display:flex;align-items:center;gap:23px;border-left:1px solid var(--line);padding-left:32px}.facts>div:first-child{border-left:0;padding-left:0}.facts strong{font:400 34px/1 var(--serif);letter-spacing:-1px}.facts p{font-size:10px;margin:0;line-height:1.7}.facts p span{color:var(--muted);font-size:9px}.section{padding-top:86px;padding-bottom:86px}h2{font-size:43px;font-weight:400;line-height:1.13;letter-spacing:-1.8px;margin:0}h3{font-weight:500}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:39px}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.9;max-width:340px;margin:0 0 4px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:20px 0 25px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:10px;background:transparent;border:1px solid #d4d4cf;color:#606369;border-radius:30px;padding:8px 15px}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.filters span{font-size:8px;opacity:.65;margin-left:7px}.gallery-result{font-size:9px;color:var(--muted);white-space:nowrap}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:33px 26px}.work-card{grid-column:span 6}.work-card:nth-child(4n+1),.work-card:nth-child(4n+4){grid-column:span 7}.work-card:nth-child(4n+2),.work-card:nth-child(4n+3){grid-column:span 5}.work-image{position:relative;display:block;aspect-ratio:1.28/1;overflow:hidden;border-radius:3px;background:#e9e7e2}.work-image img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.work-card:hover .work-image img{transform:scale(1.025)}.work-index{position:absolute;top:15px;left:16px;font-size:8px;background:#f7f7f2e0;padding:2px 6px;border-radius:2px;color:#32353b}.image-open{position:absolute;bottom:16px;right:16px;background:#ffffffd9;backdrop-filter:blur(8px);border-radius:50%;height:36px;width:36px;line-height:35px;text-align:center;font-size:22px;transition:transform .3s}.work-card:hover .image-open{transform:rotate(45deg)}.work-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:17px}.work-meta .eyebrow{font-size:8px;letter-spacing:1px;color:var(--muted);margin:0 0 5px}.work-meta h3{font-size:19px;margin:0;letter-spacing:-.5px;line-height:1.3}.work-detail{font-size:22px;line-height:1}.amac-image{background:#dee4ef}.amac-image img{object-fit:contain;padding:13px}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:34px}.gallery-bottom>span{font-size:9px;color:var(--muted)}
.video-section{background:#ece9f2;padding:72px 0}.attribution{display:flex;align-items:start;gap:13px;background:#dbe1ebbb;border-left:2px solid #8c9fc1;padding:14px 18px;margin:0 0 33px;max-width:940px}.attribution p{font-size:11px;line-height:1.8;margin:0;color:#525a67}.attribution strong{color:#343c49;font-weight:600}.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:29px 21px}.video-poster{padding:0;display:block;border:0;position:relative;width:100%;aspect-ratio:9/14;background:#1a202a;border-radius:4px;overflow:hidden;text-align:left;color:white}.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.video-poster:hover img{transform:scale(1.045)}.video-shade{position:absolute;inset:0;background:linear-gradient(transparent 55%,#10131ac9)}.play-mark{display:flex;justify-content:center;align-items:center;position:absolute;width:46px;height:46px;left:calc(50% - 23px);top:calc(50% - 23px);border:1px solid #ffffff88;border-radius:50%;background:#ffffff24;backdrop-filter:blur(5px);font-size:14px;padding-left:3px}.video-length{position:absolute;top:12px;right:12px;padding:4px 7px;background:#13161cc9;border-radius:3px;font-size:7px;letter-spacing:1px}.video-watch{position:absolute;bottom:18px;left:16px;font-size:8px;letter-spacing:1.3px}.video-meta>p{font-size:8px;color:#717989;margin:13px 0 5px}.video-meta h3{font-size:13px;line-height:1.5;margin:0 0 8px}.video-meta>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:8px;color:#6a7280}.source-link{text-decoration:underline;text-underline-offset:3px;display:inline-flex;gap:7px;font-size:9px}.video-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:33px}.video-bottom>span{font-size:9px;color:#6a7280}
.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.app-image-link{display:block;overflow:hidden;border-radius:3px}.app-visual{height:315px;position:relative;overflow:hidden;background:#11131a}.app-visual>img:not(.app-icon){height:100%;width:100%;object-fit:cover;object-position:center 61%}.timbrelis-visual>img:not(.app-icon){object-fit:contain!important;padding:25px;object-position:center!important}.timbrelis-visual{background:#0c111b}.app-icon{position:absolute;top:18px;left:18px;height:36px;width:36px;border-radius:7px}.app-label{position:absolute;bottom:14px;left:14px;color:#fff;background:#121720c2;padding:4px 7px;border-radius:2px;font-size:7px;letter-spacing:.8px}.app-copy{padding-top:22px}.app-copy .eyebrow{font-size:8px;color:var(--muted);margin-bottom:8px}.app-copy h3{font-size:25px;line-height:1.2;letter-spacing:-1px;margin:0 0 10px}.app-copy>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 16px;min-height:39px}.app-copy>div{display:flex;justify-content:space-between;align-items:center;gap:15px}.status-dot{font-size:8px;color:#6a7162;display:flex;align-items:center;gap:6px}.status-dot:before{content:'';width:4px;height:4px;border-radius:50%;background:#7c9a62}.app-copy .text-link{font-size:9px}.resi-graphic{height:315px;background:#e5e2d9;position:relative;overflow:hidden}.diagram-label{position:absolute;top:17px;left:18px;font-size:8px;letter-spacing:1px;color:#838177}.resi-paper{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:12px;position:absolute;width:138px;height:196px;left:calc(50% - 69px);top:45px;padding:15px;transform:rotate(-8deg);box-shadow:5px 8px 10px #24251e18}.resi-label{border:1px solid #a2a298;display:flex;flex-direction:column;padding:5px;gap:12px}.resi-label strong{font-size:11px;line-height:1}.resi-label i{display:block;background:repeating-linear-gradient(90deg,#343b31 0,#343b31 1px,transparent 1px,transparent 3px);height:15px}.resi-label>span{display:block;background:repeating-linear-gradient(0deg,#c3c6bc 0,#c3c6bc 2px,transparent 2px,transparent 5px);height:12px}.resi-steps{display:flex;justify-content:center;gap:10px;align-items:center;position:absolute;bottom:25px;left:15px;right:15px;font-size:8px;color:#6e7164}.resi-steps b{font-weight:400;font-size:14px}.dev-note{display:flex;align-items:center;gap:25px;padding:25px 30px;border:1px solid var(--line);margin-top:36px;border-radius:3px}.dev-note>span{font:35px var(--serif);color:var(--brand);white-space:nowrap}.dev-note p{font-size:11px;line-height:1.8;color:var(--muted);margin:0;max-width:950px}
.profile-section{background:#eeeee6;padding:72px 0}.profile-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.profile-intro h1{font-size:38px}.profile-intro>p:not(.eyebrow){font-size:12px;line-height:1.95;color:var(--muted);max-width:390px;margin-top:24px;margin-bottom:23px}.profile-history article{border-top:1px solid #d0d0c8;padding:22px 0}.history-date{font-size:8px;letter-spacing:1px;color:#788192}.profile-history h3{font-size:21px;line-height:1.35;letter-spacing:-.6px;margin:8px 0 5px}.profile-history p{font-size:12px;color:#737278;margin:0}.profile-history small{font-size:10px;color:#737278}.software-header{display:flex;justify-content:space-between;align-items:center;margin-top:45px;border-top:1px solid #d0d0c8;padding:26px 0 15px;gap:20px}.software-header h3{font-size:17px;font-weight:500;letter-spacing:-.3px;margin:0}.software-header p{font-size:9px;color:var(--muted);margin:0}.software-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}.software-row{border-bottom:1px solid #d4d4cd;display:flex;align-items:center;justify-content:space-between;padding:19px 0;gap:17px}.software-row h4{font-size:12px;font-weight:500;margin:0 0 4px}.software-row p{font-size:9px;color:var(--muted);margin:0}.level{font-size:8px;border:1px solid #c1c1b7;border-radius:3px;padding:4px 9px;white-space:nowrap}.level.expert{background:var(--ink);border-color:var(--ink);color:white}.print-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px}.print-row p{font-size:11px;color:var(--muted);margin:0}.print-row button{font-size:11px}
.site-footer{background:var(--ink);color:var(--paper);padding:65px 0 22px}.site-footer .eyebrow{color:#9cb0d5}.footer-top{display:grid;grid-template-columns:1.25fr 1fr;gap:85px;align-items:center}.footer-top h2{font-size:46px;line-height:1.14}.footer-top h2>span{margin-left:18px;color:#9cb1d7}.footer-contact>a{display:block;border-bottom:1px solid #4e545f;padding:9px 0;font-size:13px}.footer-contact>p{font-size:10px;color:#a5aab2;margin:17px 0}.social-links{display:flex;gap:23px}.social-links a{font-size:9px;color:#c5cddd}.footer-bottom{display:flex;justify-content:space-between;margin-top:48px;border-top:1px solid #40454e;padding-top:20px;gap:20px;font-size:8px;letter-spacing:.8px;color:#9aa0ab}.footer-bottom a{color:#bfcadd}
.project-head{padding-top:42px;padding-bottom:40px}.back-link{font-size:10px;display:inline-block;color:var(--muted);margin-bottom:32px}.project-head h1{font-size:clamp(46px,5.5vw,75px);font-weight:400;line-height:1.07;letter-spacing:-3.7px;margin:0 0 17px}.project-head .eyebrow{color:#6d788d;margin-bottom:18px}.project-subtitle{font-size:16px;color:#6f7279;line-height:1.8;margin:0 0 35px}.project-info{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);padding-top:22px}.project-info>div>span{font-size:8px;letter-spacing:1px;color:#7f8795}.project-info p{font-size:12px;margin:7px 0 0}.project-info .text-link{font-size:11px;gap:12px;margin-top:2px}.project-cover img{width:100%;height:auto;border-radius:3px}.amac-cover{max-width:830px}.amac-cover img{max-height:650px;object-fit:contain;background:#e9e2e9}.project-story{display:grid;grid-template-columns:.8fr 1.6fr;gap:75px;padding-top:65px;padding-bottom:65px}.project-story>.eyebrow{padding-top:10px;color:#767f8f}.project-story h2{font-size:36px;letter-spacing:-1px;line-height:1.2;margin-bottom:25px}.project-story>div>p{font-size:13px;color:#6f7279;line-height:1.9;margin:0 0 22px;max-width:680px}.focus-list{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.focus-list span{font-size:9px;background:#eeebf3;border:1px solid #cdd5e4;padding:5px 10px;border-radius:3px;color:#5f697b}.project-story .source-note{font-size:10px;border-left:2px solid #b3bfd5;padding-left:13px;color:#838995}.gallery-section{padding-bottom:60px}.project-gallery{display:grid;grid-template-columns:1fr;gap:32px;max-width:1000px;margin:auto}.project-gallery figure{margin:0}.gallery-image{padding:0;border:0;display:block;width:100%;position:relative;background:#eeede8;border-radius:3px;overflow:hidden}.gallery-image img{width:100%;height:auto;object-fit:contain}.gallery-image>span{position:absolute;bottom:14px;right:14px;background:#fffdf9cf;border-radius:50%;width:30px;height:30px;line-height:29px;font-size:19px}.project-gallery figcaption{font-size:8px;color:#838995;letter-spacing:1px;margin-top:11px}.design-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.design-gallery figure{margin:0}.design-gallery figcaption{display:flex;flex-direction:column;align-items:start;gap:6px;margin-top:16px;font-size:10px;line-height:1.5}.design-gallery figcaption strong{font-weight:500;font-size:13px}.design-gallery time{color:var(--muted);font-size:9px}.app-project-cover{max-width:950px}.app-project-cover video{display:block;max-height:650px;width:100%;background:#08090b;object-fit:contain;border-radius:3px}.app-project-cover .app-visual{height:570px}.app-project-cover .resi-graphic{height:430px}.app-project-cover .resi-paper{width:200px;height:280px;left:calc(50% - 100px);top:65px;padding:20px;gap:17px}.app-project-cover .resi-label{padding:12px;gap:20px}.app-project-cover .resi-label strong{font-size:18px}.app-project-cover .resi-label i{height:23px}.app-project-cover .resi-label>span{height:30px}.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid var(--line);margin-top:27px;padding-top:27px}.case-columns .eyebrow{font-size:8px;color:#767f8f}.case-columns p{font-size:12px;line-height:1.9;color:#6f7279;margin-top:12px}.project-story h3{font-size:16px;letter-spacing:-.3px}.feature-list{font-size:12px;line-height:2;color:#6f7279;padding-left:17px}.next-project{border-top:1px solid var(--line);padding-block:45px 56px}.next-project .eyebrow{font-size:8px;color:#767f8f;display:block}.next-project>a{font-size:34px;letter-spacing:-1px;display:flex;justify-content:space-between;align-items:center;gap:25px;line-height:1.3}.next-project>a>span{color:var(--brand)}.not-found{padding-top:90px;padding-bottom:110px}.not-found h1{font-size:50px;letter-spacing:-2px;font-weight:400}
.print-resume{display:none}dialog{border:1px solid #cfd4de;border-radius:6px;color:var(--ink);background:var(--paper);width:min(490px,calc(100% - 28px));padding:26px;max-height:90vh}dialog::backdrop{background:#0e131dd4;backdrop-filter:blur(8px)}.media-dialog{width:min(1150px,calc(100% - 32px));background:#14171e;color:#f5f1fb;border-color:#4c576a}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-top h2{font-size:15px;line-height:1.5;font-weight:400;letter-spacing:0;margin:0}.modal-close{border:0;border-radius:50%;background:#75839c22;color:inherit;font-size:25px;line-height:1;width:32px;height:32px;padding:0;flex-shrink:0}.lightbox-stage{display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-stage>img{object-fit:contain;max-height:72vh;max-width:calc(100% - 120px);min-width:0}.lightbox-stage>button{border:1px solid #6f7a8e;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:transparent;color:white;font-size:16px}.image-counter{text-align:center;font-size:10px;color:#909bb1;margin-bottom:0}.video-dialog{width:min(590px,calc(100% - 24px));padding:20px;background:var(--paper);color:var(--ink)}#embed-stage{min-height:180px;max-width:540px;margin:auto}#embed-stage iframe{max-width:100%!important;width:100%!important;border:0!important;display:block;margin:0!important}#embed-stage blockquote{padding:25px;margin:0;border:1px solid var(--line);font-size:13px;text-align:center}.embed-status{font-size:10px;line-height:1.7;color:var(--muted);margin:15px 0 6px}.video-source{font-size:10px}#pdf-dialog>p,#pdf-dialog li{font-size:12px;color:var(--muted)}#pdf-dialog ol{padding-left:18px;margin:20px 0 25px}#pdf-dialog .modal-top h2{font-size:21px;letter-spacing:-.4px}
@media(max-width:1050px){.wrap{padding-inline:32px}.site-header{padding-inline:28px;gap:20px}.site-header nav{gap:22px}.brand-caption{display:none}.hero{gap:35px;padding-top:50px}.hero h1{font-size:79px;letter-spacing:-5px}.hero-collage{height:430px}.collage-main{bottom:68px;right:20px}.collage-mini{height:195px;right:0}.collage-stamp{font-size:82px;right:-5px}.hero-actions{gap:18px}.hero-intro{font-size:12px}.facts>div{gap:15px;padding-left:23px}.facts strong{font-size:29px}.facts p{font-size:9px}.facts p span{font-size:8px}h2{font-size:38px}.profile-grid{gap:65px}.footer-top{gap:50px}.footer-top h2{font-size:39px}.app-visual,.resi-graphic{height:285px}.app-copy>div{flex-wrap:wrap;gap:8px}.project-story{gap:45px}.project-info p{font-size:11px}.section-heading>p{font-size:11px}.video-grid{gap:28px 16px}}
@media(max-width:720px){html{scroll-padding-top:88px}.site-header{padding:18px 22px;gap:14px}.brand{margin-right:auto}.brand>span:first-child{font-size:29px}.brand-star{font-size:26px}.menu-toggle{display:block;width:31px;border:0;background:transparent;padding:3px;font-size:19px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--line);gap:25px;flex-wrap:wrap;font-size:13px}.site-header.menu-open nav{display:flex}.button.small{font-size:9px;gap:13px;padding:10px 12px}.wrap{padding-inline:24px}.hero{grid-template-columns:1fr;padding-top:39px;padding-bottom:39px;gap:35px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1{font-size:78px;letter-spacing:-4.5px;line-height:1.02;margin-bottom:22px}.hero h1>span{letter-spacing:-4px}.hero-intro{font-size:12px;max-width:330px;margin-top:18px}.hero-actions{gap:23px;margin-top:23px}.button{padding:14px 17px;font-size:11px;gap:21px}.hero-contact{font-size:11px}.hero-location{font-size:7px;margin-top:23px;letter-spacing:.8px}.hero-collage{height:360px;margin-top:10px;max-width:470px;width:100%}.collage-main{left:5px;right:24px;bottom:42px;top:5px}.collage-mini{height:171px;bottom:18px;width:52%;border-width:5px}.collage-stamp{font-size:75px;right:-4px;top:-12px}.collage-note{font-size:6px;bottom:1px;left:15px}.collage-caption{font-size:6px;left:11px;bottom:11px}.facts{padding-top:24px;padding-bottom:24px;gap:10px}.facts>div{display:block;padding-left:14px}.facts strong{font-size:26px}.facts p{font-size:8px;margin-top:10px;line-height:1.6}.facts p span{display:none}.section{padding-top:52px;padding-bottom:52px}.section-heading{display:block;margin-bottom:29px}.section-heading .eyebrow{font-size:8px;margin-bottom:16px}h2{font-size:34px;letter-spacing:-1.2px}.section-heading>p{font-size:11px;margin-top:20px}.gallery-toolbar{padding-top:17px;padding-bottom:21px;align-items:start}.filters{gap:6px}.filters button{font-size:9px;padding:7px 11px}.filters span{font-size:7px;margin-left:4px}.gallery-result{font-size:8px;padding-top:8px}.work-grid{grid-template-columns:1fr;gap:28px}.work-card:nth-child(n){grid-column:auto}.work-meta{padding-top:14px}.work-meta h3{font-size:18px}.work-meta .eyebrow{font-size:7px}.work-image{aspect-ratio:1.28/1}.gallery-bottom{display:block;padding-top:25px}.gallery-bottom>span{display:block;font-size:8px;margin-top:16px}.gallery-bottom .text-link{font-size:11px}.video-section{padding:47px 0}.attribution{padding:12px 14px;margin-bottom:24px;gap:9px}.attribution p{font-size:9px}.video-grid{grid-template-columns:1fr 1fr;gap:25px 15px}.video-meta>p{font-size:7px;margin-top:11px}.video-meta h3{font-size:11px;min-height:32px;line-height:1.5}.video-meta>div{font-size:7px;gap:7px;flex-wrap:wrap}.source-link{font-size:8px}.play-mark{width:37px;height:37px;left:calc(50% - 18.5px);top:calc(50% - 18.5px);font-size:12px}.video-watch{bottom:13px;left:11px;font-size:7px;letter-spacing:.7px}.video-length{font-size:6px;top:9px;right:9px;padding:3px 5px}.video-bottom{display:block;margin-top:27px}.video-bottom>span{display:block;font-size:8px;margin-bottom:12px}.video-bottom>a{font-size:10px}.app-grid{grid-template-columns:1fr;gap:35px}.app-visual,.resi-graphic{height:340px}.app-copy{padding-top:18px}.app-copy>p:not(.eyebrow){min-height:0;font-size:12px;max-width:350px}.app-copy>div{flex-wrap:nowrap}.app-copy .text-link{font-size:10px}.app-copy h3{font-size:27px}.dev-note{padding:20px;gap:18px;margin-top:30px;align-items:start}.dev-note p{font-size:10px}.dev-note>span{font-size:29px}.profile-section{padding:47px 0}.profile-grid{grid-template-columns:1fr;gap:37px}.profile-intro h1{font-size:32px}.profile-intro>p:not(.eyebrow){font-size:11px;max-width:360px}.profile-history h3{font-size:21px}.software-header{display:block;margin-top:26px;padding-top:23px}.software-header h3{font-size:17px}.software-header>p{margin-top:8px;font-size:9px}.software-grid{grid-template-columns:1fr}.software-row{padding:16px 0}.software-row h4{font-size:12px}.software-row p{font-size:9px}.print-row{align-items:start;margin-top:25px}.print-row p{font-size:9px;max-width:170px}.print-row button{font-size:9px;white-space:nowrap}.site-footer{padding-top:44px}.site-footer .eyebrow{font-size:7px;letter-spacing:1.1px}.footer-top{grid-template-columns:1fr;gap:27px}.footer-top h2{font-size:35px}.footer-top h2>span{margin-left:12px}.footer-contact>a{font-size:12px}.social-links a{font-size:9px}.footer-bottom{font-size:7px;margin-top:34px;letter-spacing:.5px}.project-head{padding-top:27px;padding-bottom:30px}.project-head h1{font-size:43px;letter-spacing:-2px;line-height:1.1}.project-head .eyebrow{font-size:8px}.project-subtitle{font-size:13px;margin-bottom:26px}.back-link{margin-bottom:26px;font-size:9px}.project-info{grid-template-columns:1fr 1fr;gap:18px}.project-info>div:last-child{grid-column:1/-1}.project-info p{font-size:10px}.project-info>div>span{font-size:7px}.project-story{grid-template-columns:1fr;gap:18px;padding-top:37px;padding-bottom:37px}.project-story>.eyebrow{padding-top:0;margin-bottom:0;font-size:8px}.project-story h2{font-size:29px;line-height:1.2;margin-bottom:20px}.project-story>div>p{font-size:12px}.project-story .source-note{font-size:9px}.focus-list span{font-size:8px}.gallery-section{padding-bottom:43px}.project-gallery{gap:22px}.project-gallery figcaption{font-size:7px}.design-gallery{grid-template-columns:1fr;gap:27px}.design-gallery figcaption{margin-top:12px}.case-columns{grid-template-columns:1fr;gap:9px;padding-top:22px;margin-top:22px}.case-columns p{font-size:11px}.app-project-cover .app-visual{height:470px}.app-project-cover video{max-height:550px}.app-project-cover .resi-graphic{height:380px}.app-project-cover .resi-paper{width:175px;height:247px;left:calc(50% - 87px);top:56px;padding:16px}.app-project-cover .resi-label{padding:8px;gap:16px}.next-project{padding-top:33px;padding-bottom:39px}.next-project>a{font-size:26px}.media-dialog{padding:14px;width:calc(100% - 18px)}.modal-top{gap:10px;margin-bottom:14px}.modal-top h2{font-size:12px}.lightbox-stage{gap:8px}.lightbox-stage>img{max-width:calc(100% - 76px);max-height:70vh}.lightbox-stage>button{height:28px;width:28px;font-size:13px}.video-dialog{padding:12px;width:calc(100% - 14px)}.video-source{font-size:9px}.embed-status{font-size:9px}#pdf-dialog{padding:22px}.not-found h1{font-size:37px}}
@media(max-width:370px){.wrap{padding-inline:19px}.hero h1{font-size:70px}.hero-actions{gap:17px}.hero-contact{font-size:10px}.hero-collage{height:318px}.collage-mini{height:148px}.facts>div{padding-left:10px}.video-grid{gap:23px 12px}.gallery-result{display:none}.software-row h4{font-size:11px}.project-head h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.lightbox-stage:has(.image-prev[hidden]){justify-content:center}.lightbox-stage:has(.image-prev[hidden])>img{max-width:100%}
.video-dialog{width:min(480px,calc(100% - 20px))}#embed-stage{min-height:0;display:flex;justify-content:center;align-items:center}#content-video{display:block;width:100%;max-height:65vh;object-fit:contain;background:#06080b;border-radius:3px}
.admin-section{background:#eeede7;padding:72px 0}.admin-duties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 38px}.admin-duties article{border-top:1px solid #d0cec7;padding:23px 0 15px}.duty-number{font:italic 23px/1 var(--serif);color:#7386aa}.admin-duties h3{font-size:18px;letter-spacing:-.4px;margin:15px 0 11px}.admin-duties p{font-size:12px;line-height:1.9;color:#62656b;margin:0;max-width:350px}.admin-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #d0cec7;margin-top:23px;padding-top:21px}.admin-summary>span{font-size:10px;color:#6f757f}.admin-summary>a{font-size:11px}.admin-jobs{padding-top:15px;padding-bottom:60px}
.profile-section{padding-block:78px;background:#eeeee6}.profile-label{margin-bottom:27px;color:#626f85}.profile-grid{grid-template-columns:minmax(250px,.83fr) minmax(0,1.4fr);gap:55px;align-items:start}.profile-portrait{margin:0;min-width:0}.portrait-frame{position:relative;aspect-ratio:3/4;overflow:hidden;border:0;background:transparent}.portrait-frame img{width:100%;height:100%;object-fit:contain;object-position:center;position:relative;z-index:1}.profile-portrait figcaption{display:flex;flex-wrap:wrap;gap:7px 15px;justify-content:space-between;margin-top:15px;font-size:7px;line-height:1.7;letter-spacing:.9px;color:#798395}.profile-copy{min-width:0}.profile-intro h1{font-size:clamp(35px,3.8vw,50px);line-height:1.13;letter-spacing:-2px;margin:0 0 16px}.profile-intro h1>span{color:var(--brand)}.profile-intro>p:not(.eyebrow){font-size:12px;line-height:1.95;color:#6a6e75;max-width:580px;margin:0 0 14px}.profile-intro>p.profile-role{font-size:10px;color:#60708e;line-height:1.7;margin-bottom:23px}.profile-actions{display:flex;align-items:center;gap:25px;margin-top:24px;flex-wrap:wrap}.profile-actions .button{font-size:11px;padding:14px 19px;gap:22px}.profile-actions .text-link{font-size:11px}.profile-history{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:22px;margin-top:36px}.profile-history article{padding:18px 0 0;border-color:#d0cec7;min-width:0}.profile-history .history-date{font-size:7px;letter-spacing:.7px;line-height:1.8;display:block}.profile-history h3{font-size:15px;line-height:1.5;letter-spacing:-.2px;margin:9px 0 8px}.profile-history p{font-size:10px;line-height:1.8;color:#71757c;margin-bottom:8px}.profile-history small{font-size:8px;line-height:1.8;color:#7f8591;display:block}.profile-section .software-header{margin-top:42px}.profile-section .software-grid{gap:0 50px}.profile-section .software-row{padding:20px 0}
@media(max-width:1050px){.profile-grid{grid-template-columns:minmax(230px,.85fr) minmax(0,1.25fr);gap:35px}.profile-intro h1{font-size:37px;letter-spacing:-1.5px}.profile-history{grid-template-columns:1fr;gap:14px;margin-top:26px}.profile-history article{padding-top:15px}.profile-history h3{font-size:15px;margin:6px 0}.profile-history h3 br{display:none}.profile-portrait figcaption{font-size:6px}.profile-actions{gap:17px}.profile-actions .button{font-size:10px}.profile-actions .text-link{font-size:10px}}
@media(max-width:720px){.profile-section{padding-block:47px}.profile-label{font-size:8px;margin-bottom:23px}.profile-grid{grid-template-columns:1fr;gap:27px}.profile-portrait{max-width:410px;width:100%;margin-inline:auto}.portrait-frame{aspect-ratio:3/4}.profile-portrait figcaption{font-size:6px;gap:6px 13px;margin-top:12px}.profile-intro h1{font-size:36px;letter-spacing:-1.4px;margin-bottom:12px}.profile-intro>p.profile-role{font-size:9px;margin-bottom:19px}.profile-intro>p:not(.eyebrow){font-size:12px;line-height:1.95;margin-bottom:13px}.profile-actions{margin-top:21px;gap:23px}.profile-actions .button{font-size:11px;padding:14px 17px}.profile-actions .text-link{font-size:10px}.profile-history{margin-top:28px;gap:17px}.profile-history article{padding-top:17px}.profile-history .history-date{font-size:8px;letter-spacing:.7px}.profile-history h3{font-size:18px;line-height:1.4;margin:8px 0}.profile-history p{font-size:11px;margin-bottom:7px}.profile-history small{font-size:9px}.profile-section .software-header{margin-top:30px}.profile-section .software-grid{gap:0}.profile-section .software-row{padding:17px 0}}
@media(max-width:1050px){.admin-section .section-heading{display:block}.admin-section .section-heading>p{max-width:500px;margin-top:20px}.admin-duties{grid-template-columns:1fr 1fr;gap:20px 30px}}
@media(max-width:720px){.admin-section{padding:47px 0}.admin-duties{grid-template-columns:1fr;gap:0}.admin-duties article{padding:21px 0}.duty-number{font-size:21px}.admin-duties h3{font-size:18px;margin:13px 0 10px}.admin-duties p{font-size:12px;max-width:none}.admin-summary{display:block;margin-top:15px;padding-top:17px}.admin-summary>span{display:block;margin-bottom:10px;font-size:9px}.admin-summary>a{font-size:10px}.admin-jobs{padding-top:8px;padding-bottom:40px}}
@media print{.site-footer,.menu-toggle,.media-dialog{display:none!important}.print-resume{display:block}.print-resume h2{font:700 9pt/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:1.5px}.print-resume h1{font:400 30pt/1.2 Georgia,serif;letter-spacing:-1px}.print-resume h3{font:700 10pt/1.4 Arial,sans-serif;letter-spacing:0}.print-resume a{color:#344d30;text-decoration:none}.print-resume section{break-inside:avoid}}
