:root{--bg:#b9b0a4;--ink:#292923;--line:#29292340;--muted:#625e55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header{height:110px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:34px;letter-spacing:-3px;line-height:1}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:10px}.nav{font-size:11px;letter-spacing:2px}.nav span{margin-left:35px;font-size:22px}.intro{padding:65px 10% 45px 5%;position:relative}.eyebrow{font-size:10px;letter-spacing:2.5px}h1{font-weight:400;font-size:clamp(65px,8.6vw,146px);line-height:.98;letter-spacing:-6px;margin:38px 0}i{font-family:Georgia,serif;font-weight:400}h1 i{padding-left:13vw}.intro-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:45px}.intro-bottom p{font-size:14px;line-height:1.65;margin:0}.intro-bottom a,.text-link{font-size:10px;letter-spacing:1.5px}.intro-bottom a span{margin-left:45px;font-size:24px}.vertical{position:absolute;right:5%;top:80px;writing-mode:vertical-rl;font-size:9px;letter-spacing:2px}.feature{margin:0 5% 110px}.feature-image{width:100%;height:64vw;max-height:760px;position:relative;padding:0;border:0;background:#777;display:block;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.feature-image:hover img{transform:scale(1.025)}.image-label{position:absolute;left:28px;top:28px;color:#fff;font-size:9px;letter-spacing:2px;background:#29292380;padding:12px}.round{position:absolute;bottom:30px;right:30px;background:#c9c0b1;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;font-size:30px}.feature-caption{display:flex;justify-content:space-between;align-items:start;padding-top:25px}.feature-caption>span{font-size:10px;letter-spacing:2px;padding-top:8px}.feature-caption h2{font-size:40px;line-height:1.1;font-weight:400;margin:0 auto 0 18%}.text-link{background:none;border:0;border-bottom:1px solid var(--ink);padding:10px 0}.projects{margin:0 5% 100px}.section-top{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:45px}.section-top h2{font-size:clamp(42px,5vw,80px);font-weight:400;letter-spacing:-3px;margin:24px 0}.count{font-size:12px;letter-spacing:3px;margin-bottom:35px}.filters{display:flex;gap:24px;padding:15px 0 35px;flex-wrap:wrap}.filters button{border:0;background:none;font-size:11px;padding:8px 0;color:var(--muted)}.filters button.active{color:var(--ink);border-bottom:1px solid var(--ink)}#grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px}.card{background:none;border:0;text-align:left;padding:0}.card:nth-child(4n+2){padding-top:100px}.card:nth-child(4n+3){padding-right:12%}.photo{overflow:hidden;background:#9c958a;aspect-ratio:16/10}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.card:hover img{transform:scale(1.045)}.card-info{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line);margin-top:12px}.card h3{font-weight:400;font-size:22px;margin:0 0 10px}.card small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.card-info>b{font-size:23px;font-weight:400}footer{border-top:1px solid var(--line);margin:0 5%;padding:35px 0;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px}dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#292923;color:#e5dfd5;padding:25px 4%;position:fixed}dialog::backdrop{background:#292923}.gallery-head{display:flex;justify-content:space-between;align-items:center}.gallery-head span{font-size:9px;letter-spacing:2px}.gallery-head h2{font:28px Georgia,serif;margin:10px 0 20px}.gallery-head button{background:none;border:1px solid #ffffff60;border-radius:50%;width:44px;height:44px;color:inherit}.stage{display:flex;align-items:center;gap:15px;height:65vh}.stage img{width:calc(100% - 100px);height:100%;object-fit:contain}.stage button{background:none;border:0;color:inherit;font-size:30px;width:35px}.gallery-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;padding:15px 50px}#thumbs{display:flex;gap:8px;overflow:auto;padding:10px 50px}#thumbs button{padding:0;flex-shrink:0;width:80px;height:50px;border:1px solid transparent;opacity:.5;background:none}#thumbs button.active{opacity:1;border-color:#fff}#thumbs img{width:100%;height:100%;object-fit:cover}body.lock{overflow:hidden}a:focus-visible,button:focus-visible{outline:2px solid #825c39;outline-offset:6px}@media(max-width:700px){header{height:90px}.intro{padding-top:45px}h1{letter-spacing:-3px;margin:30px 0}h1 i{padding-left:4vw}.intro-bottom{margin-top:35px}.intro-bottom p{font-size:12px}.vertical{display:none}.feature{margin-bottom:65px}.feature-image{height:62vh}.feature-caption{flex-wrap:wrap;gap:20px}.feature-caption h2{font-size:29px;margin:0}.feature-caption .text-link{margin-left:auto}.feature-caption>span{width:100%}.round{width:48px;height:48px;right:18px;bottom:18px}.section-top h2{letter-spacing:-2px}.eyebrow{font-size:8px}#grid{gap:35px;grid-template-columns:1fr}.card:nth-child(n){padding:0}.card h3{font-size:21px}.filters{gap:18px}footer{gap:20px}footer span:nth-child(2){display:none}.gallery-head h2{font-size:21px}.stage{height:60vh;gap:5px}.stage img{width:calc(100% - 60px)}.stage button{width:25px}.gallery-bottom,#thumbs{padding-left:0;padding-right:0}.gallery-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}
.application-photo{padding:0;border:0;background:#9c958a;aspect-ratio:1;overflow:hidden}
.application-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.application-photo:hover img{transform:scale(1.035)}
@media(max-width:700px){#application-grid{grid-template-columns:repeat(2,1fr);gap:10px}header{gap:15px}.nav{font-size:9px;letter-spacing:1px}}

.brand img{display:block;width:100px;height:90px;object-fit:contain;mix-blend-mode:multiply}
h1.slogan{font-size:clamp(44px,6.4vw,105px);line-height:1.12;letter-spacing:-3px}
h1.slogan i{padding-left:7vw}.slogan-star{display:inline-block;font:22px Arial;vertical-align:middle;margin-left:16px}
.about-section{margin:0 5% 100px;border-top:1px solid var(--line);padding-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.portrait{max-width:440px}.portrait img{display:block;width:100%;border-radius:50%;mix-blend-mode:multiply}
.about-copy h2{font-size:clamp(45px,6vw,85px);font-weight:400;line-height:1.05;letter-spacing:-2px;margin:28px 0}
@media(max-width:700px){.brand img{width:70px;height:70px}h1.slogan{letter-spacing:-1.5px}h1.slogan i{padding-left:0}.slogan-star{font-size:16px;margin-left:8px}.about-section{gap:25px;grid-template-columns:1fr}.portrait{max-width:300px}.about-copy h2{margin:20px 0}}

.about-bio{margin-top:30px;max-width:650px;font-size:15px;line-height:1.85;color:#45433d}.about-bio p{margin:0 0 18px}.about-section{align-items:start}.portrait{position:sticky;top:35px}@media(max-width:700px){.portrait{position:static}.about-bio{font-size:14px}}

html{scroll-padding-top:115px}
.site-header{position:absolute;z-index:5;top:22px;left:3%;right:3%;margin:0;height:90px;padding:12px 24px;border:1px solid #ffffff35;border-radius:10px;background:#26251f63;backdrop-filter:blur(12px);color:#fff;gap:28px}
.site-header .brand{display:flex;align-items:center;gap:18px;flex-shrink:0}
.site-header .brand img{width:65px;height:65px;mix-blend-mode:normal;border-radius:3px}
.site-header .brand-name{font:12px Arial,sans-serif;letter-spacing:2px;margin:0}
.site-header nav{display:flex;gap:28px;align-items:center}
.site-header nav a{font-size:12px;letter-spacing:1px;padding:12px 0;border-bottom:1px solid transparent}
.site-header nav a:hover{border-bottom-color:#d4bb91;color:#e4cfad}
.intro.immersive{position:relative;padding:0;height:100svh;min-height:720px;max-height:1200px;color:#fff;overflow:hidden}
.hero-backdrop,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{background:linear-gradient(90deg,#24221ddd 0%,#24221d70 58%,#24221d30),linear-gradient(0deg,#24221d88,transparent 60%)}
.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding:155px 5% 100px}
.hero-content>.eyebrow{color:#d7c9b3;font-size:10px}
.hero-content h1.slogan{font-family:Georgia,serif;font-size:clamp(45px,5.7vw,92px);font-weight:400;line-height:1.15;letter-spacing:-2px;margin:60px 0 40px}
.hero-content h1.slogan i{padding:0;color:#efe5d6}
.hero-lower{display:flex;justify-content:space-between;gap:30px;align-items:end;border-top:1px solid #ffffff35;padding-top:30px}
.hero-lower p{font-size:15px;line-height:1.8;color:#e5dfd5;margin:0}
.hero-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}
.hero-actions a{padding:18px 22px;border:1px solid #ffffff70;font-size:10px;letter-spacing:1.5px}
.hero-actions .primary-action{background:#d8cdbb;color:#292923;border-color:#d8cdbb}
.hero-scroll,.hero-project{position:absolute;bottom:32px;z-index:2;font-size:9px;letter-spacing:2px}.hero-scroll{left:5%}.hero-project{right:5%;color:#d7c9b3}
.feature{margin-top:65px}.contact-section{margin:0 5% 90px;border-top:1px solid var(--line);padding-top:50px}.contact-section h2{font-size:clamp(40px,5vw,75px);font-weight:400;letter-spacing:-2px}.contact-section p{font-size:13px}
@media(max-width:900px){.site-header{padding:10px 16px;gap:15px}.site-header nav{gap:16px}.site-header .brand-name{display:none}.hero-lower{display:block}.hero-actions{margin-top:24px}.hero-content h1.slogan{font-size:clamp(42px,7vw,68px)}}
@media(max-width:600px){html{scroll-padding-top:25px}.site-header{top:12px;height:auto;min-height:110px;flex-wrap:wrap;justify-content:center;padding:10px}.site-header .brand img{width:45px;height:45px}.site-header .brand-name{display:block;font-size:10px}.site-header nav{width:100%;justify-content:center;gap:17px}.site-header nav a{font-size:10px;letter-spacing:0;padding:5px 0}.intro.immersive{min-height:760px}.hero-content{padding:170px 6% 85px}.hero-content h1.slogan{font-size:43px;letter-spacing:-1px;margin:35px 0}.hero-content>.eyebrow{font-size:8px;line-height:1.8}.hero-lower p{font-size:13px}.hero-actions a{padding:15px 12px;font-size:9px}.hero-project{font-size:7px}.hero-scroll{font-size:8px}.slogan-star{font-size:16px}}

.site-header .brand img{filter:invert(1);mix-blend-mode:screen;border-radius:0}
.about-copy h2{white-space:nowrap;font-size:clamp(27px,3.4vw,54px);letter-spacing:-1.5px}
.projects#projects{margin-top:75px}
@media(max-width:700px){.about-copy h2{font-size:clamp(24px,7vw,42px);letter-spacing:-1px}.site-header .brand-name{letter-spacing:1.5px}}

.site-header .brand img{mix-blend-mode:normal;filter:invert(1);background:transparent}.portrait img{mix-blend-mode:normal;border-radius:0;background:transparent}

/* Keep the portrait and biography together; size only the header logo. */
.about-section{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:7%;align-items:start}
.about-section .portrait{grid-column:1;grid-row:1;width:100%;max-width:440px}
.about-section .about-copy{grid-column:2;grid-row:1;min-width:0}
.site-header .brand img{width:80px;height:80px;object-fit:contain}
@media(max-width:700px){.about-section{grid-template-columns:minmax(0,0.7fr) minmax(0,1.3fr);gap:5%}.about-section .about-copy h2{font-size:clamp(18px,4vw,28px);letter-spacing:-.7px}.about-bio{font-size:13px}}
@media(max-width:600px){.site-header .brand img{width:58px;height:58px}}

.process-section{margin:0 5% 100px;border-top:1px solid var(--line);padding-top:50px}
.process-section>h2{font:clamp(45px,5vw,75px) Georgia,serif;letter-spacing:-2px;margin:24px 0}
.process-intro{font-size:17px;color:var(--muted);line-height:1.7}
.process-steps{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.process-steps li{position:relative;text-align:center;padding:0 14px}
.process-steps li:not(:last-child):after{content:"";position:absolute;top:30px;left:calc(50% + 31px);width:calc(100% - 62px);height:1px;background:#8b70534d}
.step-number{width:62px;height:62px;margin:0 auto 30px;display:grid;place-items:center;border:1px solid #8b705370;border-radius:50%;font:16px Georgia,serif;color:#725a3e}
.process-steps h3{font:25px Georgia,serif;margin:0 0 20px;min-height:58px;display:flex;align-items:center;justify-content:center}
.process-steps p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.site-header nav{gap:22px}
@media(max-width:1000px){.process-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:42px}.process-steps li:nth-child(3):after{display:none}.site-header nav{gap:16px}}
@media(max-width:600px){.site-header nav{gap:13px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:35px}.process-steps li:nth-child(3):after{display:block}.process-steps li:nth-child(2n):after{display:none}.process-steps h3{font-size:22px;min-height:50px;margin-bottom:12px}.process-steps li{padding:0 10px}.process-intro{font-size:15px}.step-number{margin-bottom:20px}}

.contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:40px}
.contact-links a{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 35px 25px 0;display:flex;flex-direction:column;gap:12px;transition:color .2s}
.contact-label{font:28px Georgia,serif}.contact-detail{font-size:12px;letter-spacing:.5px;color:var(--muted)}.contact-arrow{position:absolute;right:0;top:28px;font-size:25px}.contact-links a:hover{color:#765738}
@media(max-width:600px){.contact-links{grid-template-columns:1fr;gap:0}.contact-links a{border-bottom:0}.contact-links a:last-child{border-bottom:1px solid var(--line)}}

.contact-label{display:flex;align-items:center;gap:12px}.social-icon{width:24px;height:24px;flex-shrink:0}

/* Compact project selection and application photos in the same section. */
#grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
#grid .card:nth-child(n){padding:0;min-width:0}
#grid .photo{aspect-ratio:16/10}
#grid .card h3{font-size:20px}
#grid .card-info{padding-top:13px;margin-top:9px}
.project-applications{margin-top:65px;scroll-margin-top:25px}
.project-applications .section-top{padding-top:35px}
.project-applications .section-top h2{font-size:clamp(32px,3.5vw,48px);letter-spacing:-1.5px}
#application-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:950px){#grid{grid-template-columns:repeat(2,minmax(0,1fr))}#application-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}#grid .card h3{font-size:16px;line-height:1.3}#grid .card small{font-size:8px;letter-spacing:.5px}#grid .card-info{gap:6px}#application-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* Four compact project covers; applications share the same gallery card. */
#grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}
#grid .card:nth-child(n){padding:0}
#grid .photo{aspect-ratio:16/10}
#grid .card h3{font-size:18px;line-height:1.3}
#grid .card small{font-size:8px;letter-spacing:.8px}
@media(max-width:950px){#grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 18px}}
@media(max-width:600px){#grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}#grid .card h3{font-size:15px}#grid .card small{font-size:8px;letter-spacing:.2px}}

/* Shared, left-aligned section heading system. */
#projects .section-title,#about .section-title,#process .section-title,#contact .section-title{font-family:Arial,sans-serif;font-size:clamp(32px,4vw,56px);font-weight:400;line-height:1.15;letter-spacing:-1.5px;text-align:left;margin:0 0 32px;text-transform:uppercase}
#projects .section-top{align-items:start}
#projects .section-top .count{margin:12px 0 0}
#about{row-gap:24px}
#about>.section-title{grid-column:1/-1;grid-row:1;margin-bottom:8px}
#about .portrait{grid-column:1;grid-row:2}
#about .about-copy{grid-column:2;grid-row:2}
.about-name{white-space:nowrap;font-size:clamp(27px,3.4vw,54px);font-weight:400;line-height:1.05;letter-spacing:-1.5px;margin:0 0 28px}
.contact-invite{font-size:clamp(32px,4vw,58px);font-weight:400;letter-spacing:-1.5px;line-height:1.2;margin:10px 0 30px}
#grid .card h3{text-transform:uppercase}
@media(max-width:700px){.about-name{font-size:clamp(18px,4vw,28px);letter-spacing:-.7px}#about{row-gap:20px}}

/* Extend the warm brown menu tone across the remaining sections. */
:root{--bg:#49453d;--ink:#f1ebe2;--line:#e5d8c12e;--muted:#d0c5b6}
body{background:var(--bg);color:var(--ink)}
.about-bio{color:var(--muted)}
.step-number{color:#dfc49d;border-color:#dfc49d70}
.process-steps li:not(:last-child):after{background:#dfc49d45}
.contact-links a:hover{color:#e7cda5}
.photo,.application-photo{background:#5b554b}
a:focus-visible,button:focus-visible{outline-color:#e7cda5}
dialog{background:var(--bg);color:var(--ink)}
dialog::backdrop{background:var(--bg)}

.project-location{display:flex;align-items:center;gap:6px;color:var(--muted);font:10px/1.5 Arial,sans-serif;letter-spacing:.45px;margin:7px 0 9px}.project-location svg{width:13px;height:15px;flex-shrink:0}.project-location[hidden]{display:none}#glocation{font-size:12px;margin:10px 0 0}#glocation svg{width:15px;height:17px}@media(max-width:600px){#grid .project-location{font-size:9px;letter-spacing:0;gap:4px}}

#grid{align-items:start}#grid .card{align-self:start}
.site-header{padding-top:4px;padding-bottom:4px}
.site-header .brand .logo-frame{display:block;position:relative;width:106px;height:80px;overflow:hidden;flex-shrink:0;margin:0;letter-spacing:normal}
.site-header .brand .logo-frame img{position:absolute;width:154px;height:154px;max-width:none;left:-20px;top:-42px;object-fit:contain}
.contact-links{grid-template-columns:repeat(4,minmax(0,1fr))}.contact-detail{overflow-wrap:anywhere}
@media(max-width:1000px){.contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.site-header .brand .logo-frame{width:90px;height:68px}.site-header .brand .logo-frame img{width:130px;height:130px;left:-17px;top:-35px}.contact-links{grid-template-columns:1fr}}
