:root{--paper:#f7f8f4;--white:#fff;--ink:#121613;--soft-ink:#2a302b;--muted:#6e7771;--line:#dce2dc;--accent:#c8f471;--dark:#151b17;--dark-2:#202722;--dark-line:#414943;--font-title:'Space Grotesk',Arial,Helvetica,sans-serif;--font-body:'DM Sans',Arial,Helvetica,sans-serif;--width:1400px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:3px solid #679720;outline-offset:4px}
.container{width:min(calc(100% - 100px),var(--width));margin-inline:auto}
.section{padding:105px 0 118px;scroll-margin-top:70px}
.section-pad{padding-top:58px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:absolute;z-index:1000;top:-80px;left:20px;background:var(--accent);padding:12px 18px;color:var(--ink)}
.skip-link:focus{top:10px}
.site-header{height:84px;position:sticky;top:0;z-index:90;background:rgba(247,248,244,.95);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);transition:box-shadow .2s ease}
.site-header.is-scrolled{box-shadow:0 8px 24px rgba(12,21,12,.05)}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}
.brand-mark{display:flex;align-items:center;justify-content:center;color:var(--paper);background:var(--ink);width:52px;height:49px;font:700 24px/.9 var(--font-title);letter-spacing:-.075em}
.accent-dot{color:#a6d850}
.brand-mark .accent-dot{color:var(--accent)}
.brand-name{font:800 11px/1.22 var(--font-body);letter-spacing:.055em}
.site-nav{display:flex;align-items:center;gap:29px;margin-left:auto}
.nav-link{position:relative;color:#6b756e;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.085em;transition:color .2s}
.nav-link:hover,.nav-link.active{color:var(--ink)}
.nav-link.active::after{content:"";position:absolute;bottom:-31px;left:0;right:0;height:3px;background:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:14px}
.language-button{border:1px solid #b6beb6;background:transparent;padding:9px 12px;min-height:39px;font-size:12px;font-weight:800;letter-spacing:.045em;white-space:nowrap}
.language-button:hover{background:var(--accent);border-color:var(--accent)}
.language-chevron{color:#929c94;margin-left:5px}
.menu-button{display:none;background:none;border:0;width:40px;height:40px;padding:9px;align-items:center;flex-direction:column;justify-content:center;gap:6px}
.menu-button span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .2s}
.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* HERO */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6%;align-items:center;min-height:650px}
.hero-copy{padding:34px 0 24px;z-index:1}
.eyebrow,.small-label,.section-marker,.section-aside,.project-meta,.photo-caption{font-family:var(--font-body);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:31px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#a5d95a;box-shadow:0 0 0 5px rgba(165,217,90,.15)}
.hero-title{font:700 clamp(58px,7.25vw,117px)/.91 var(--font-title);letter-spacing:-.093em;margin:0;white-space:nowrap}
.hero-title>span{display:block}
.hero-title>span:nth-child(2){color:transparent;-webkit-text-stroke:1.65px var(--ink)}
.hero-title .accent-dot{-webkit-text-stroke:0;color:#a3d05a}
.hero-tagline{margin:35px 0 9px;font:600 clamp(20px,2.1vw,29px)/1.3 var(--font-title);letter-spacing:-.038em;max-width:620px}
.hero-description{font-size:15px;color:#56635a;line-height:1.75;max-width:570px;margin:0}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:13px 20px;font-size:12px;font-weight:800;letter-spacing:.025em;transition:background .25s,transform .25s,border-color .25s}
.btn:hover{transform:translateY(-3px)}
.btn span:last-child{font-size:20px;font-weight:400;line-height:1}
.btn-primary{background:var(--ink);color:white;border:1px solid var(--ink)}
.btn-primary:hover{background:#3d5a21;border-color:#3d5a21}
.btn-ghost{border:1px solid #acb7ac;background:transparent;color:var(--ink)}
.btn-ghost:hover{background:white;border-color:var(--ink)}
.hero-bottom-note{display:flex;gap:16px;align-items:center;margin-top:65px;color:#7e8980;font-size:10px;letter-spacing:.15em;font-weight:800}
.thin-line{width:54px;height:1px;background:#9aa59b}
.hero-art{padding:0 12px 25px 0;position:relative;isolation:isolate}
.hero-image-wrap{height:620px;position:relative;overflow:hidden;background:#e5e7e1;z-index:1}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 41%;filter:grayscale(100%) contrast(1.02)}
.hero-photo-shade{position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(9,17,9,.62),transparent)}
.hero-photo-index{position:absolute;bottom:22px;left:24px;color:#fff;font-size:10px;letter-spacing:.18em;font-weight:800}
.hero-gridlines{position:absolute;right:-22px;top:-23px;width:64%;height:45%;z-index:-1;background-image:linear-gradient(#c4cbc44f 1px,transparent 1px),linear-gradient(90deg,#c4cbc44f 1px,transparent 1px);background-size:25px 25px}
.hero-floating-label{position:absolute;right:-17px;top:33%;z-index:2;transform:rotate(90deg) translateX(50%);transform-origin:right center;background:var(--accent);padding:12px 19px;font:800 10px var(--font-body);letter-spacing:.12em;white-space:nowrap;display:flex;align-items:center;gap:12px}
.little-cross{font-size:14px}
.hero-stats{border-top:1px solid var(--ink);margin-top:26px;padding:33px 0 30px;display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:40px}
.stat{display:flex;flex-direction:column;gap:2px}
.stat strong{font:700 clamp(33px,4vw,55px)/1 var(--font-title);letter-spacing:-.055em}
.stat>span{font-size:10px;letter-spacing:.095em;font-weight:800;color:#7b857d}
.stats-footnote{font-size:10px;color:#8a948d;max-width:120px;line-height:1.45}
.marquee-ribbon{background:#dcebc8;white-space:nowrap;overflow:hidden;border-block:1px solid #d0e2b4}
.marquee-track{width:max-content;display:flex;align-items:center;gap:28px;padding:14px 0;font:700 12px var(--font-title);letter-spacing:.2em;animation:marquee 38s linear infinite}
.marquee-track span{color:#739c31;font-size:14px}
@keyframes marquee{to{transform:translateX(-50%)}}
/* SHARED SECTIONS */
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #b9c2b9;padding-bottom:17px;margin-bottom:70px}
.section-aside{color:#8a968c;font-size:10px;text-align:right}
.section-title{font:700 clamp(44px,5.6vw,82px)/1.035 var(--font-title);letter-spacing:-.082em;margin:0}
.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}
.section-intro>p{max-width:345px;margin:0 0 6px;color:#68746b;font-size:15px;line-height:1.85}
/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr .92fr;gap:9%;align-items:start}
.about-left .section-title{margin-bottom:33px}
.about-photo-frame{position:relative;max-width:520px;aspect-ratio:1.05/1;background:#e0e4e0;overflow:hidden}
.about-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:grayscale(100%)}
.photo-caption{position:absolute;bottom:0;left:0;background:var(--accent);color:var(--ink);padding:13px 18px;font-size:10px}
.about-right{padding-top:80px}
.timeline-item{display:grid;grid-template-columns:48px 1fr;gap:20px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.timeline-item:last-of-type{margin-bottom:20px}
.timeline-number{font:700 17px var(--font-title);color:#8b9b89}
.timeline-item h3{margin:0 0 11px;font:700 24px/1.16 var(--font-title);letter-spacing:-.045em}
.timeline-item p{margin:0;color:#667268;font-size:14px;line-height:1.82}
.strength-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:15px 0}
.strength-grid>div{display:flex;flex-direction:column;gap:12px}
.small-label{color:#8b968e;font-size:10px}
.strength-grid strong{font:700 15px/1.5 var(--font-title)}
.values-band{margin-top:95px;padding:34px 40px;background:var(--ink);color:var(--white);display:grid;grid-template-columns:185px minmax(0,1fr) 65px;align-items:center;gap:35px}
.values-label{font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--accent);display:flex;gap:12px;align-items:center}
.values-band p{margin:0;font:500 clamp(19px,2.6vw,34px)/1.28 var(--font-title);letter-spacing:-.045em}
.values-asterisk{text-align:right;font-size:47px;line-height:1;color:var(--accent)}
/* EXPERTISE */
.expertise-section{background:#ecf0e9}
.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.expertise-card{min-height:304px;background:#f8f9f6;border:1px solid #dae1d8;padding:26px;position:relative;display:flex;flex-direction:column;transition:transform .25s ease,background .25s ease}
.expertise-card:hover{transform:translateY(-5px);background:#fff}
.expertise-index{font:800 11px var(--font-body);letter-spacing:.1em;color:#929f93}
.expertise-symbol{margin:19px 0 14px;font:400 58px/1 var(--font-title);color:#849b7a}
.expertise-card h3{font:700 22px/1.2 var(--font-title);letter-spacing:-.045em;margin:0 0 10px}
.expertise-card p{font-size:13px;color:#667268;line-height:1.75;max-width:320px;margin:0 0 22px}
.expertise-arrow{font-size:22px;position:absolute;right:25px;top:21px;color:#9aa99a}
.expertise-feature{position:relative;min-height:304px;overflow:hidden;background:#111}
.expertise-feature-image{position:absolute;inset:0}
.expertise-feature-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.82)}
.expertise-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 79%)}
.expertise-feature-copy{position:absolute;z-index:1;bottom:27px;left:27px;color:#fff;display:flex;flex-direction:column;gap:13px}
.expertise-feature-copy span{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--accent)}
.expertise-feature-copy strong{font:700 25px/1.1 var(--font-title);letter-spacing:-.045em}
.workflow{margin-top:45px;display:flex;gap:40px;align-items:center;justify-content:space-between;padding:28px 0;border-block:1px solid #cbd5c7}
.workflow-steps{display:flex;flex-wrap:wrap;align-items:center;gap:19px;font:700 14px var(--font-title)}
.workflow-sep{color:#91a47d;font-size:22px;font-weight:400}
/* PROJECTS */
.projects-section{background:var(--dark);color:var(--paper)}
.light-heading{border-color:var(--dark-line)}
.light-heading .section-marker{color:var(--accent)}
.light-heading .section-aside{color:#859389}
.projects-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:53px}
.projects-top>p{max-width:335px;color:#abb7ad;margin:0 0 6px;font-size:14px;line-height:1.8}
.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 22px}
.project-card{min-width:0}
.project-card-button{width:100%;display:block;color:inherit;text-align:left;padding:0;background:none;border:0}
.project-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.48;background:#404941}
.project-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.18),transparent 45%);pointer-events:none}
.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.3,1),filter .4s;filter:saturate(.83)}
.project-card-button:hover .project-image img,.project-card-button:focus-visible .project-image img{transform:scale(1.055);filter:saturate(1.05)}
.image-count{position:absolute;top:18px;left:18px;z-index:2;font:800 11px var(--font-body);letter-spacing:.13em;background:#f7f8f4;padding:7px 10px;color:#161c17}
.project-view{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;background:var(--accent);width:54px;height:54px;color:var(--ink);z-index:2;font:400 26px var(--font-title);transition:transform .25s}
.project-card-button:hover .project-view{transform:rotate(45deg)}
.project-info{display:flex;flex-direction:column;padding-top:24px}
.project-meta{color:#9ba99c;font-size:10px;margin-bottom:16px}
.project-meta span{color:#5d715f;margin:0 6px}
.project-info>strong{font:700 clamp(27px,3.15vw,43px)/1.05 var(--font-title);letter-spacing:-.065em}
.project-desc{font-size:14px;color:#b5c0b7;line-height:1.65;margin-top:11px}
.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.project-tags>span{border:1px solid #515e54;padding:7px 10px;font-size:10px;letter-spacing:.065em;color:#c3d1c5;font-weight:700}
.project-help{font-size:12px;color:#8d9a91;text-align:right;margin:51px 0 0}
.project-help span{color:var(--accent)}
/* EXPERIENCE */
.experience-section{background:var(--paper)}
.experience-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}
.search-wrap{display:flex;align-items:center;flex:1;border:1px solid #c5cec6;background:#fff;max-width:610px;height:55px;padding:0 15px}
.search-icon{font-size:29px;color:#7b8b7b;line-height:1;padding-right:10px}
.search-wrap input{height:100%;width:100%;background:none;border:0;outline:0;color:var(--ink);font-size:13px}
.search-wrap:focus-within{outline:2px solid #8aab59;outline-offset:1px}
.search-wrap input::placeholder{color:#8c9a8d}
.year-filters{display:flex;gap:5px}
.filter-btn{background:transparent;border:1px solid #b9c7ba;padding:15px 19px;color:#657267;font-size:12px;font-weight:800;white-space:nowrap;min-height:49px}
.filter-btn:hover,.filter-btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.discipline-filters{display:flex;flex-wrap:wrap;gap:9px;margin:19px 0 41px}
.discipline-btn{font-size:11px;color:#667568;background:none;border:0;border-bottom:2px solid transparent;padding:9px 7px;font-weight:800}
.discipline-btn.is-active{color:var(--ink);border-bottom-color:var(--ink)}
.discipline-btn:hover{color:#2b6c20}
.experience-result-head{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:2px solid var(--ink);font-size:11px;font-weight:800;letter-spacing:.12em}
.experience-result-head span:last-child{color:#849088}
.experience-year{display:flex;align-items:center;gap:20px;margin:37px 0 13px}
.experience-year strong{font:700 31px var(--font-title);letter-spacing:-.05em}
.experience-year span{font-size:10px;letter-spacing:.08em;color:#778479;font-weight:800}
.experience-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(145px,.4fr) 85px;align-items:center;gap:20px;border-bottom:1px solid #d5ddd6;padding:19px 5px;transition:background .25s}
.experience-row:hover{background:#edf1eb}
.experience-number{font:800 11px var(--font-body);color:#8b998b}
.experience-name{font:700 16px/1.45 var(--font-title);letter-spacing:-.025em}
.experience-location{font-size:12px;color:#718074;line-height:1.5}
.experience-discipline{font-size:10px;color:#647567;text-align:right;font-weight:800;letter-spacing:.035em}
.experience-empty{padding:44px 0;color:var(--muted);font-size:15px}
.experience-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:27px;font-size:12px;color:#78857b}
.experience-bottom a{color:var(--ink);font-weight:800;border-bottom:1px solid var(--ink);white-space:nowrap}
/* CONTACT */
.contact-section{background:#ddeac8;padding-bottom:0}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;padding-bottom:85px}
.contact-title{font:700 clamp(50px,6.4vw,100px)/.95 var(--font-title);letter-spacing:-.086em;margin:34px 0 0}
.contact-title em{font-style:normal;color:#678744}
.contact-right{padding-top:55px}
.contact-rule{width:100%;height:1px;background:#aabfa2;margin-bottom:27px}
.contact-right>p:first-of-type{max-width:390px;margin:0 0 28px;color:#47594a;font-size:17px;line-height:1.7}
.contact-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:21px}
.contact-link{padding:13px 16px;border:1px solid #8fa886;background:#edf6e2;font-size:12px;font-weight:800}
.contact-link:hover{background:#fff}
.btn-light{background:var(--ink);color:#fff;min-height:58px}
.btn-light:hover{background:#3c5f26}
.contact-note{font-size:11px;color:#728a6a;margin:21px 0 0;max-width:310px}
.footer-container{border-top:1px solid #b1c5a5}
.site-footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:22px;min-height:120px}
.footer-brand{display:flex;align-items:center;gap:19px}
.footer-brand>span:first-child{font:700 39px var(--font-title);letter-spacing:-.09em}
.footer-brand>span:last-child{font-size:10px;font-weight:800;letter-spacing:.07em;max-width:140px;line-height:1.4}
.footer-center{font-size:11px;color:#657e62;text-align:center}
.back-top{font-size:11px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.back-top:hover{color:#497c2c}
/* MODAL */
.project-dialog{width:min(1110px,calc(100vw - 40px));max-height:min(91vh,1100px);max-height:min(91dvh,1100px);border:none;padding:0;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 25px 90px rgba(0,0,0,.42)}
.project-dialog::backdrop{background:rgba(5,10,5,.78);backdrop-filter:blur(5px)}
.dialog-close{position:sticky;top:0;float:right;z-index:10;display:grid;place-items:center;width:53px;height:53px;border:0;background:var(--accent);color:var(--ink);font-size:19px;margin-bottom:-53px}
.dialog-close:hover{background:#b2de59}
.dialog-inner{padding:40px}
.dialog-kicker{font-size:10px;color:#5f8061;font-weight:800;letter-spacing:.15em;display:block;margin-bottom:12px}
.dialog-heading{font:700 clamp(33px,4.6vw,64px)/1.05 var(--font-title);letter-spacing:-.075em;margin:0 62px 12px 0}
.dialog-subtitle{font-size:15px;color:#748076;margin:0 0 28px}
.dialog-gallery-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;margin-top:27px}
.dialog-main-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1.45;background:#e6ebe3;overflow:hidden;position:relative}
.dialog-main-photo img{width:100%;height:100%;object-fit:contain}
.dialog-thumbs{display:flex;gap:9px;margin-top:11px;overflow:auto;padding:3px}
.dialog-thumb{flex:0 0 85px;width:85px;height:65px;border:2px solid transparent;background:#e8eee7;padding:0;overflow:hidden}
.dialog-thumb.active{border-color:#668b32}
.dialog-thumb img{width:100%;height:100%;object-fit:cover}
.dialog-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 21px}
.dialog-stats span{background:#e6eddd;padding:9px 12px;font:800 11px var(--font-body)}
.dialog-block{border-top:1px solid #cfdacf;padding-top:16px;margin-top:17px}
.dialog-block h3{font:700 17px var(--font-title);letter-spacing:-.03em;margin:0 0 8px}
.dialog-block p{font-size:13px;line-height:1.77;color:#677368;margin:0}
.dialog-more{background:var(--dark);color:white;margin-top:30px;padding:23px 25px}
.dialog-more h3{font:700 16px var(--font-title);margin:0 0 13px}
.dialog-deliverables{display:flex;flex-wrap:wrap;gap:9px}
.dialog-deliverables span{border:1px solid #5c6a5f;padding:7px 10px;font-size:11px;color:#dfe7dd}
/* INTERSECTION ANIMATIONS; fallback is visible if JS is disabled */
.has-js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s cubic-bezier(.18,.7,.25,1)}
.has-js [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1220px){.container{width:min(calc(100% - 72px),var(--width))}.site-nav{gap:18px}.nav-link{font-size:11px}.hero-grid{gap:4%}.hero-title{font-size:clamp(56px,7.1vw,92px)}.hero-image-wrap{height:570px}.section-title{font-size:clamp(42px,5.7vw,70px)}}
@media(max-width:1050px){.site-nav{position:absolute;top:83px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:25px 36px 34px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 14px 30px rgba(12,22,12,.08)}.site-nav.is-open{display:flex}.nav-link{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.nav-link.active::after{display:none}.menu-button{display:flex}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4%;min-height:580px}.hero-title{font-size:clamp(50px,6.9vw,78px)}.hero-image-wrap{height:515px}.hero-description{font-size:13px}.hero-floating-label{right:-8px}.hero-bottom-note{margin-top:40px}.about-grid{gap:5%}.about-right{padding-top:50px}.experience-row{grid-template-columns:30px minmax(0,1fr) minmax(135px,.4fr)}.experience-discipline{display:none}}
@media(max-width:760px){.container{width:calc(100% - 38px)}.site-header{height:72px}.site-nav{top:71px}.brand-mark{width:45px;height:45px;font-size:22px}.brand-name{font-size:10px}.hero{padding-top:35px}.hero-grid{grid-template-columns:1fr;gap:25px;min-height:unset}.hero-copy{padding:19px 0 0}.hero-eyebrow{margin-bottom:23px}.hero-title{font-size:clamp(50px,12.4vw,88px);letter-spacing:-.093em}.hero-tagline{margin-top:28px;font-size:24px}.hero-description{font-size:14px;max-width:530px}.hero-cta{margin-top:25px;gap:9px}.hero-bottom-note{display:none}.hero-art{padding:0 10px 20px 0;max-width:570px}.hero-image-wrap{height:auto;aspect-ratio:1.03/1;max-height:525px}.hero-photo{object-position:center 40%}.hero-floating-label{top:42%}.hero-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px;padding:24px 0 23px}.stat strong{font-size:36px}.stat>span{font-size:9px;line-height:1.6}.stats-footnote{grid-column:1/-1;max-width:none;font-size:10px}.section{padding:75px 0 83px}.section-heading{margin-bottom:44px}.section-aside{max-width:145px;font-size:9px}.section-title{font-size:clamp(41px,8.7vw,65px)}.about-grid{grid-template-columns:1fr;gap:27px}.about-photo-frame{max-width:100%}.about-right{padding-top:0}.timeline-item{grid-template-columns:38px 1fr;gap:14px}.strength-grid{gap:15px}.values-band{margin-top:44px;padding:24px;grid-template-columns:1fr auto;gap:15px}.values-label{grid-column:1/-1}.values-band p{font-size:24px}.values-asterisk{font-size:32px}.section-intro,.projects-top{align-items:start;flex-direction:column;gap:18px}.section-intro>p,.projects-top>p{max-width:600px}.expertise-grid{grid-template-columns:1fr 1fr}.expertise-card{min-height:270px;padding:20px}.expertise-symbol{font-size:45px;margin:14px 0}.expertise-card h3{font-size:20px}.expertise-card p{font-size:12px}.workflow{align-items:start;flex-direction:column;gap:15px}.workflow-steps{gap:12px;font-size:12px}.projects-grid{gap:34px 15px}.project-info>strong{font-size:clamp(22px,4.2vw,33px)}.project-image{aspect-ratio:1.16}.project-meta{font-size:9px}.project-desc{font-size:12px}.project-tags{gap:5px}.project-tags>span{font-size:9px;padding:6px}.project-view{width:43px;height:43px;font-size:23px}.experience-toolbar{flex-direction:column;align-items:stretch}.search-wrap{max-width:none}.year-filters{align-self:flex-start}.experience-row{grid-template-columns:24px minmax(0,1fr) 125px;gap:10px}.experience-name{font-size:14px}.experience-location{font-size:11px}.contact-grid{grid-template-columns:1fr;gap:12px;padding-bottom:55px}.contact-right{padding-top:15px}.contact-title{font-size:clamp(58px,11vw,85px)}.contact-right>p:first-of-type{max-width:540px}.site-footer{min-height:130px;grid-template-columns:1fr auto}.footer-center{display:none}.dialog-inner{padding:24px}.dialog-gallery-layout{grid-template-columns:1fr;gap:20px}.dialog-heading{font-size:42px}.dialog-stats{margin-bottom:15px}}
@media(max-width:480px){.container{width:calc(100% - 30px)}.brand-name{display:none}.nav-inner{gap:12px}.hero-title{font-size:clamp(46px,12.2vw,64px)}.hero-tagline{font-size:21px}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{justify-content:space-between}.hero-image-wrap{aspect-ratio:1/1}.hero-floating-label{font-size:8px;padding:9px}.section-marker{font-size:10px}.section-aside{font-size:8px}.section-title{font-size:clamp(39px,10vw,55px)}.strength-grid strong{font-size:12px}.expertise-grid,.projects-grid{grid-template-columns:1fr}.expertise-card{min-height:258px}.expertise-feature{min-height:250px}.projects-top{margin-bottom:35px}.project-image{aspect-ratio:1.45}.project-info>strong{font-size:32px}.project-desc{font-size:13px}.experience-row{grid-template-columns:19px minmax(0,1fr);row-gap:5px;padding:16px 4px}.experience-location{grid-column:2;font-size:11px}.experience-bottom{flex-direction:column}.contact-title{font-size:clamp(54px,12vw,72px)}.footer-brand{gap:9px}.footer-brand>span:last-child{font-size:8px}.footer-brand>span:first-child{font-size:32px}.back-top{font-size:9px}.dialog-inner{padding:20px}.dialog-heading{font-size:34px}.dialog-main-photo{aspect-ratio:1.3}.dialog-thumb{flex-basis:72px;width:72px;height:60px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.has-js [data-reveal]{opacity:1;transform:none}}
@media print{.site-header,.marquee-ribbon,.hero-cta,.project-help,.contact-links,.dialog-close,.experience-toolbar,.discipline-filters{display:none!important}.section,.hero{padding:25px 0!important;break-inside:avoid}.projects-section{background:#fff;color:#111}.project-card{break-inside:avoid}.hero-grid{min-height:unset}.hero-image-wrap{height:350px}.container{width:92%}.has-js [data-reveal]{opacity:1!important;transform:none!important}}
