:root{--paper:#f4f2ed;--ink:#353431;--muted:#69675f;--olive:#696d59;--line:#d3d0c7;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b59d69;outline-offset:5px}img{display:block;width:100%}.header{height:94px;padding:0 5%;background:#353535;color:#eeeee6;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.brand{width:205px;height:90px;overflow:hidden;display:flex;align-items:center}.brand img{height:137px;width:244px;max-width:none;object-fit:cover}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a{transition:opacity .2s}nav a:hover{opacity:.65}.nav-contact{padding:12px 0 12px 24px;border-left:1px solid #6a6a61}.nav-contact span{margin-left:23px}.menu{display:none}.hero{height:min(820px,calc(100svh - 94px));min-height:620px;position:relative;color:white}.hero-image{height:100%;object-fit:cover;object-position:center 57%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,16,.7),rgba(15,17,16,.08)),linear-gradient(0deg,rgba(15,17,16,.55),transparent 50%)}.hero-content{position:absolute;left:7%;right:7%;top:20%}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:400;margin:0 0 30px}.hero h1{font-family:var(--serif);font-size:clamp(52px,6.8vw,105px);font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:0}em{font-weight:400}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:38px;max-width:850px}.hero-bottom p{font-size:17px;line-height:1.65;color:#eeeee9}.round-link{display:flex;align-items:center;gap:24px;font-size:14px}.round-link b{font-size:24px;font-weight:400;width:60px;height:60px;border:1px solid #aaa;display:grid;place-items:center;border-radius:50%;transition:background .2s}.round-link:hover b{background:#ffffff25}.hero-footer{position:absolute;bottom:27px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em}.section{padding:110px 7%}.section-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:35px;margin-bottom:65px}.section-heading .eyebrow{padding-top:13px}.section-heading h2,.about h2,.contact h2{font-family:var(--serif);font-weight:400;font-size:clamp(35px,4vw,62px);line-height:1.15;letter-spacing:-.035em;margin:0}.section-heading h2 em,.about h2 em{color:var(--olive)}.section-heading p:not(.eyebrow){color:var(--muted);margin-top:25px}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px 45px;align-items:start}.project{margin:0}.project-image{border:0;padding:0;width:100%;display:block;position:relative;overflow:hidden;background:#dfddd6;text-align:left}.wide .project-image{aspect-ratio:1.43}.portrait .project-image{aspect-ratio:.89}.portrait{padding-top:100px}.portrait.second{padding-top:0}.project:nth-child(4){padding-top:100px}.project:nth-child(5){align-self:center}.project-image img{height:100%;object-fit:cover;transition:transform .6s}.project-image:hover img{transform:scale(1.025)}.view{position:absolute;right:18px;bottom:18px;background:#f4f2edeb;padding:10px 16px;font-size:12px;opacity:0;transform:translateY(5px);transition:.2s}.project-image:hover .view,.project-image:focus-visible .view{opacity:1;transform:none}figcaption{padding-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}figcaption h3{font-size:18px;font-weight:400;margin:0}figcaption>span{font-size:10px;letter-spacing:.1em;align-self:center;color:var(--muted)}.portfolio-note{font-size:13px;color:var(--muted);margin:45px 0 0}.services{background:#e8e6de}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-left:32%}.service-grid article{border-top:1px solid #b9b7ac;padding-top:25px}.service-number{font-family:var(--serif);font-style:italic;color:var(--olive);font-size:24px}.service-grid h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.2;margin:25px 0}.service-grid p{color:var(--muted)}.text-link{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #aaa99c;padding:20px 0 12px;font-size:14px}.text-link:hover{color:var(--olive)}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.profile{max-width:510px}.profile img{aspect-ratio:.81;object-fit:cover}.about-copy .role{font-size:12px;letter-spacing:.15em;margin:22px 0 32px}.about-copy>p:not(.eyebrow):not(.role){color:var(--muted);max-width:490px}.about .text-link{margin-top:28px}.contact{background:#373a31;color:#f4f2e9}.contact .eyebrow{color:#c4c7b5}.contact-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:clamp(40px,4.5vw,70px)}.contact-button{flex-shrink:0;display:flex;gap:60px;align-items:center;background:#e6e5d9;color:#353a30;padding:21px 28px;font-size:16px}.contact-button:hover{background:white}.contact-details{display:grid;grid-template-columns:1.25fr .8fr 1.25fr 1fr;gap:25px;margin-top:70px;border-top:1px solid #65685a;padding-top:30px}.contact-details p{font-size:14px;color:#ced0c3;margin:0}.contact-details div{display:flex;flex-direction:column;gap:13px}.contact-details div>span{font-size:10px;letter-spacing:.16em;color:#bec2ad}.contact-details a{font-size:14px;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}footer{padding:26px 7%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}dialog{border:0;background:#242520;color:var(--paper);padding:55px 25px 22px;max-width:95vw;width:1100px;max-height:95svh}dialog::backdrop{background:#000c}dialog img{width:100%;height:70svh;object-fit:contain}dialog p{margin:15px 0 0}dialog>span{font-size:12px;color:#ccc}.close{position:absolute;right:22px;top:13px;background:none;color:white;border:0;font-size:15px}
@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:1000px){.service-grid{margin-left:0}.contact-details{grid-template-columns:1fr 1fr;gap:30px}.section-heading{grid-template-columns:1fr 2.5fr}.about{gap:7%}.contact-button{gap:20px}}@media(max-width:650px){html{scroll-padding-top:77px}.header{height:77px;padding:0 6%}.brand{width:173px;height:75px}.brand img{width:207px;height:116px}.menu{display:flex;gap:14px;border:0;color:inherit;background:none;padding:10px;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:77px;background:#353535;padding:20px 7% 30px;align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav a{padding:14px 0}.nav-contact{border:0;border-top:1px solid #65655e}.hero{min-height:610px;height:calc(92svh - 77px);max-height:800px}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#151714b0,#15171430),linear-gradient(0deg,#15171488,transparent)}.hero-content{top:18%;left:7%;right:7%}.hero h1{font-size:clamp(44px,10.5vw,67px)}.hero .eyebrow{font-size:10px;letter-spacing:.12em;max-width:260px}.hero-bottom{display:block;margin-top:28px}.hero-bottom p{font-size:16px}.round-link{margin-top:30px;gap:20px}.round-link b{width:44px;height:44px}.hero-footer{font-size:9px}.hero-footer span:last-child{display:none}.section{padding:70px 7%}.section-heading{display:block;margin-bottom:36px}.eyebrow{margin-bottom:24px}.section-heading h2,.about h2{font-size:37px}.section-heading p:not(.eyebrow){font-size:15px}.desktop{display:none}.project-grid{grid-template-columns:1fr;gap:35px}.portrait,.project:nth-child(4){padding-top:0}.portrait .project-image{aspect-ratio:1.05}.wide .project-image{aspect-ratio:1.25}.view{opacity:1;font-size:11px;padding:7px 10px;right:12px;bottom:12px;transform:none}figcaption h3{font-size:17px}figcaption>span{font-size:9px}.portfolio-note{margin-top:30px}.service-grid{grid-template-columns:1fr;gap:40px}.service-grid h3{font-size:29px;margin:18px 0}.about{grid-template-columns:1fr;gap:40px}.profile img{max-height:550px;object-position:50% 40%}.contact-main{display:block}.contact h2{font-size:40px}.contact-button{margin-top:30px;justify-content:space-between}.contact-details{grid-template-columns:1fr;margin-top:40px;gap:28px}footer{flex-direction:column;gap:10px;padding:26px 7%}dialog{padding:50px 12px 20px}dialog img{height:65svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
