:root{--cream:#f8f5f0;--ink:#242421;--red:#b40913;--muted:#6b6661;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #d74646;outline-offset:6px}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(36px,4.5vw,64px);font-weight:400;letter-spacing:-.04em;line-height:1.1;text-wrap:balance}.small-label{font-size:11px;letter-spacing:.12em;font-weight:600}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:15px}.header{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;height:110px;color:white;border-bottom:1px solid #ffffff30}.logo img{width:77px;height:64px;object-fit:contain}.header nav{display:flex;align-items:center;gap:38px;font-size:13px}.header nav a{padding:10px 0}.nav-contact{border-bottom:1px solid #ffffff80}.nav-contact span{margin-left:18px}.menu-toggle{display:none}.hero{min-height:760px;height:100svh;max-height:1100px;position:relative;color:white;overflow:hidden;background:#292821}.hero-image{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 52%;animation:hero-settle 2s var(--ease)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0006 0%,#0002 30%,#0009 85%,#000a 100%)}.hero-top{position:absolute;left:5%;right:5%;top:145px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em}.hero-copy{position:absolute;left:8%;right:8%;bottom:100px}h1{font-size:clamp(56px,7.5vw,96px);font-weight:400;line-height:1.08;letter-spacing:-.04em;animation:copy-enter 1.2s var(--ease)}h1 em{color:#f3efe8}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:40px}.hero-bottom p{font-size:14px;line-height:1.7;color:#e3ded6}.round-link{display:flex;align-items:center;gap:25px;font-size:12px}.round-link b{font-size:23px;font-weight:400;border:1px solid #ffffff70;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;transition:background .25s}.round-link:hover b{background:var(--red)}.image-note{position:absolute;bottom:23px;left:5%;font-size:9px;letter-spacing:.08em;color:#e7e2dc}.hero-line{position:absolute;bottom:0;left:5%;right:5%;height:1px;background:#fff4}.intro{padding:110px 8% 45px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.intro-heading h2{margin-top:28px}.intro-right{padding-top:40px}.intro-right p{max-width:420px;line-height:1.8;color:var(--muted);font-size:15px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.filters button{background:none;border:1px solid #d1ccc6;border-radius:30px;padding:10px 16px;font-size:12px;transition:background .2s,color .2s}.filters button:hover{border-color:var(--red)}.filters .active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.gallery-note{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.6}.project{position:relative;height:78vh;min-height:480px;max-height:900px;color:white;overflow:hidden;background:#252520}.project[hidden]{display:none}.project>img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease)}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#000a)}.project:hover>img{transform:scale(1.035)}.project-copy{position:absolute;bottom:80px;left:8%;z-index:1}.project-copy h2{margin:18px 0;font-size:clamp(42px,5.2vw,72px)}.project-copy p{font-size:14px;color:#e7e2dc;line-height:1.6}.project .image-note{z-index:1;left:8%}.expand{position:absolute;right:8%;bottom:90px;z-index:2;border:1px solid #ffffff80;background:transparent;color:white;border-radius:50%;width:64px;height:64px;font-size:28px;transition:background .2s}.expand:hover{background:var(--red)}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding:130px 8%;align-items:center}.about-art{height:470px;background:#e6e0d8;position:relative;display:grid;place-items:center;overflow:hidden}.about-art>span:first-child{font:italic 370px Georgia;color:var(--red);transform:translateY(-20px)}.art-small{position:absolute;bottom:35px;left:35px;font-size:10px;letter-spacing:.1em;line-height:1.6}.art-frame{position:absolute;inset:25px;border:1px solid #b4091340}.about-copy h2{font-size:clamp(36px,3.6vw,51px);margin:25px 0 30px}.about-copy p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:18px;max-width:470px}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid var(--red);padding:15px 0;font-size:13px}.about-copy .text-link{margin-top:12px}.services{padding:100px 8%;background:#e9e4dd}.services-head{display:grid;grid-template-columns:1.5fr 1fr;gap:25px}.services-head>.small-label{grid-column:1/-1}.services-head p{align-self:end;font-size:14px;line-height:1.8;color:var(--muted);max-width:320px;padding-bottom:8px}.service-list{margin-top:65px}.service{display:grid;grid-template-columns:65px 1fr auto;gap:25px;padding:34px 0;border-top:1px solid #c6bfb7;align-items:center}.service:last-child{border-bottom:1px solid #c6bfb7}.service-index{font:italic 21px Georgia;color:var(--red)}.service h3{font-size:26px;font-weight:400;letter-spacing:-.02em}.service p{font-size:13px;color:var(--muted);line-height:1.7;max-width:480px;margin-top:10px}.service a{font-size:12px;padding:16px 0;white-space:nowrap}.service a>span:first-child{margin-left:30px;color:var(--red);font-size:22px}.contact{padding:100px 8%;background:var(--red);color:var(--cream)}.contact h2{font-size:clamp(50px,7vw,96px);margin-top:35px;letter-spacing:-.04em}.contact h2 em{margin-left:10px}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:55px}.contact-bottom p{font-size:14px;line-height:1.8}.contact-pending{border-top:1px solid #ffffff70;padding:15px 0}.contact-button{display:block;background:var(--cream);color:var(--red);padding:20px 26px;font-size:14px}.contact .text-link{border-color:var(--cream)}footer{padding:42px 5%;background:#1e1e1b;color:#e9e4dd;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px}footer small{color:#aaa69f}.footer-brand{font:bold 26px Georgia;color:#e9e4dd}.footer-brand i{font-size:20px;font-weight:400}.reveal{transition:clip-path 1.2s var(--ease),opacity .8s var(--ease),translate 1s var(--ease)}.reveal:not(.visible){opacity:.35;translate:0 24px}.project.reveal:not(.visible){clip-path:inset(6% 0 6% 0);opacity:.6}.project.visible{clip-path:inset(0)}dialog{border:0;padding:0;background:#191917;color:white;width:min(1100px,94vw);max-height:92svh}dialog::backdrop{background:#000d}dialog>img{width:100%;max-height:70svh;object-fit:contain}.close-viewer{position:absolute;top:15px;right:15px;background:#171715;color:white;border:1px solid #ffffff70;padding:12px 20px;z-index:1}.viewer-caption{padding:22px 30px}.viewer-caption h2{font-size:28px}.viewer-caption p{font-size:12px;line-height:1.7;color:#c8c2b9;margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes hero-settle{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes copy-enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-copy,.intro,.about,.services,.contact{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}.hero-copy{padding:0;left:12%;right:12%}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:86px;padding:12px 6%}.logo img{width:63px;height:52px}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;border:0;color:white;font-size:13px;min-height:44px}.menu-toggle span{font-size:23px}.header nav{display:none;position:absolute;top:85px;left:0;right:0;background:#242421;padding:25px 6%;flex-direction:column;align-items:stretch;gap:10px}.menu-open nav{display:flex}.menu-open{background:#242421}.hero{height:92svh;min-height:650px;max-height:950px}.hero-image{object-position:58% center}.hero-top{top:115px;left:6%;right:6%}.hero-top span:last-child{display:none}.hero-copy{left:6%;right:6%;bottom:95px}h1{font-size:clamp(45px,9.8vw,72px);line-height:1.13}.hero-bottom{align-items:start;gap:25px;margin-top:30px;flex-direction:column}.hero-bottom p{font-size:13px}.round-link{gap:18px}.round-link b{width:44px;height:44px}.image-note{left:6%;font-size:8px;max-width:85%}.intro{padding:70px 6% 30px;grid-template-columns:1fr;gap:22px}.intro h2{margin-top:20px}.intro-right{padding-top:0}.intro-right p{font-size:14px}.filters{gap:6px;margin-top:24px}.filters button{padding:11px 13px;font-size:11px;min-height:44px}.gallery-note{font-size:10px}.project{height:70svh;min-height:460px}.project-copy{left:6%;right:17%;bottom:80px}.project-copy h2{font-size:42px}.project-copy p{font-size:12px;max-width:270px}.project .image-note{left:6%}.expand{width:46px;height:46px;right:6%;bottom:35px;font-size:24px}.about{padding:75px 6%;grid-template-columns:1fr;gap:40px}.about-art{height:280px}.about-art>span:first-child{font-size:250px;transform:translateY(-5px)}.about-copy h2{font-size:38px}.services{padding:70px 6%}.services-head{grid-template-columns:1fr;gap:23px}.services-head p{max-width:350px}.service-list{margin-top:35px}.service{grid-template-columns:25px 1fr;gap:15px;padding:27px 0}.service h3{font-size:23px}.service a{grid-column:2;padding:0;justify-self:start;min-height:44px;display:flex;align-items:center}.service-index{align-self:start;padding-top:4px}.contact{padding:75px 6%}.contact h2{font-size:clamp(48px,11vw,75px)}.contact-bottom{align-items:start;flex-direction:column;margin-top:35px;gap:28px}footer{padding:35px 6%;display:grid;grid-template-columns:1fr 1fr;font-size:10px}footer>span{grid-column:1/-1;grid-row:2}footer>a:nth-of-type(2){justify-self:end}footer small{grid-column:1/-1}.viewer-caption{padding:20px}.viewer-caption h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal:not(.visible){opacity:1;translate:none;clip-path:none}.project:hover>img{transform:none}}

.project-service-link{display:inline-block;margin-top:22px;padding-bottom:8px;border-bottom:1px solid #ffffff80;font-size:13px}.contact-button:hover{background:white}
