
:root{--paper:#f8f6f2;--paper2:#f1eee8;--ink:#292825;--muted:#79756e;--accent:#a68f78;--accent-dark:#856c54;--line:#ddd7cd;--dark:#282722;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.container{width:min(1360px,calc(100% - 100px));margin:auto}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:#fff;z-index:500}.skip:focus{top:10px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--accent-dark);margin:0 0 22px}.line-dot{display:inline-block;width:3px;height:3px;background:var(--accent);border-radius:100%;vertical-align:middle;margin:0 10px}.site-header{position:relative;z-index:50;border-bottom:1px solid var(--line);background:rgba(248,246,242,.96)}.header-inner{height:99px;display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{font-family:var(--serif);font-size:25px;letter-spacing:-.05em;line-height:1;color:#272622;white-space:nowrap}.wordmark span{font-weight:400}.wordmark small{display:block;margin-top:8px;letter-spacing:.18em;font:700 8.5px var(--sans);color:var(--accent-dark)}.top-nav{display:flex;align-items:center;gap:35px;font-size:12px;letter-spacing:.025em}.top-nav a:not(.nav-pdf):hover,.text-link:hover{color:var(--accent-dark)}.nav-pdf{border:1px solid var(--ink);padding:13px 17px;display:inline-flex;gap:18px;transition:background .2s,color .2s}.nav-pdf:hover{background:var(--ink);color:#fff}.menu-toggle,.mobile-nav{display:none}.hero{display:grid;grid-template-columns:.91fr 1.09fr;gap:34px;min-height:690px;padding-top:65px;padding-bottom:70px;align-items:stretch}.hero-copy{display:flex;flex-direction:column;padding:46px 0 2px}.hero-copy h1,.section-heading h2,.about-title h2,.contact-grid h2{font-family:var(--serif);font-weight:400;letter-spacing:-.066em;line-height:1.045}.hero h1{font-size:clamp(58px,5.65vw,91px);margin:16px 0 35px}.hero h1 em,.section-heading h2 em,.about-title h2 em,.contact-grid h2 em,.portfolio-banner h3 em{font-weight:400;color:var(--accent-dark)}.hero-sub{font-size:17px;line-height:1.8;color:#625f59;max-width:435px;margin:0 0 34px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button-primary,.button-light{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:52px;padding:14px 22px;background:var(--dark);color:var(--white);font-size:12px;font-weight:600;letter-spacing:.035em;transition:transform .2s,background .2s}.button-primary:hover{background:#51493e;transform:translateY(-2px)}.text-link{font-size:12px;border-bottom:1px solid #a68f78;padding:10px 0}.hero-bottom{display:flex;justify-content:space-between;max-width:480px;margin-top:auto;padding-top:55px;color:#938e83;font-size:10px;letter-spacing:.105em}.hero-visual{display:grid;grid-template-columns:1.47fr .82fr;gap:11px;position:relative;padding-right:15px;min-height:590px}.hero-main,.hero-secondary img{overflow:hidden;background:#e5e0d8}.hero-main img{object-position:center}.hero-secondary{display:grid;grid-template-rows:1fr 1fr;gap:11px;min-height:0}.hero-secondary img{height:100%}.hero-vertical{position:absolute;right:-5px;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;color:var(--accent-dark);letter-spacing:.13em}.running-bar{background:#eae6df;border-top:1px solid #dfd8cf;border-bottom:1px solid #dfd8cf}.running-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:60px;white-space:nowrap;color:#82786c;font-size:10px;font-weight:700;letter-spacing:.1em}.running-inner .sep{font-size:13px;color:var(--accent)}.work-section{padding:115px 0 118px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:36px}.section-heading h2,.about-title h2,.contact-grid h2{font-size:clamp(48px,5.3vw,77px);margin:0}.section-note{max-width:380px;margin:0 0 5px;font-size:14px;line-height:1.85;color:var(--muted)}.filters{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:32px;flex-wrap:wrap}.filter{border:0;background:transparent;color:#857e75;font-size:12px;letter-spacing:.025em;padding:17px 0 16px;cursor:pointer;border-bottom:2px solid transparent;transform:translateY(1px)}.filter:hover{color:var(--ink)}.filter.active{border-color:var(--accent-dark);color:var(--ink);font-weight:700}.filter span{font-size:10px;vertical-align:top;margin-left:5px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:51px}.project-card{display:block;min-width:0;cursor:pointer}.project-card[hidden]{display:none}.card-image-wrap{display:block;aspect-ratio:1.6;background:#e4e0d8;overflow:hidden;position:relative}.card-image-wrap img{transition:transform .55s ease;object-position:center}.project-card:hover .card-image-wrap img,.project-card:focus-visible .card-image-wrap img{transform:scale(1.035)}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.22));opacity:.8}.view-marker{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(248,246,242,.96);font-size:10px;letter-spacing:.09em;font-weight:700;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.view-marker span{font-size:17px}.project-card:hover .view-marker,.project-card:focus-visible .view-marker{opacity:1;transform:translateY(0)}.card-info{display:block;padding:20px 2px 0}.card-topline{display:flex;justify-content:space-between;gap:15px;color:var(--accent-dark);font-size:10px;font-weight:700;letter-spacing:.105em}.card-title{display:block;font-family:var(--serif);font-size:clamp(25px,2.25vw,34px);letter-spacing:-.04em;line-height:1.2;margin:10px 0}.card-description{display:block;color:#67635c;font-size:13px;line-height:1.75;max-width:565px;margin-bottom:12px}.card-location{display:block;color:#908a7d;font-size:11px}.portfolio-banner{margin-top:95px;background:var(--dark);color:var(--paper);padding:60px 65px;display:flex;gap:30px;justify-content:space-between;align-items:center}.portfolio-banner .eyebrow{color:#b9a38b;margin-bottom:12px}.portfolio-banner h3{font:400 clamp(35px,3.7vw,55px) var(--serif);letter-spacing:-.05em;margin:0 0 14px}.portfolio-banner h3 em{color:#c1ab92}.portfolio-banner p:not(.eyebrow){color:#c4bfb6;font-size:13px;line-height:1.75;max-width:580px;margin:0}.button-light{background:#e6e0d7;color:var(--dark);flex-shrink:0}.button-light:hover{background:#fff}.about-section{background:#efebe5;padding:115px 0 130px;border-top:1px solid #ded8ce}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about-title h2{margin-top:24px}.about-copy{padding-top:48px;color:#68635d;font-size:14px;line-height:1.9}.about-copy .about-lead{font:400 26px/1.45 var(--serif);color:var(--ink);letter-spacing:-.025em;margin:0 0 20px}.about-copy p:not(.about-lead){margin:0 0 34px}.about-tags{display:flex;flex-wrap:wrap;gap:8px}.about-tags span{border:1px solid #d6cec1;color:#817363;padding:10px 11px;font-size:10px;letter-spacing:.025em}.contact-section{background:var(--paper);padding:130px 0 136px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:11vw}.contact-grid h2{margin-top:12px;margin-bottom:23px}.contact-grid p:not(.eyebrow){color:var(--muted);max-width:420px;line-height:1.85;font-size:14px}.contact-details{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:18px}.contact-details>span{font-size:11px;letter-spacing:.14em;color:var(--accent-dark);font-weight:700;margin-bottom:9px}.contact-details a{border-bottom:1px solid var(--line);padding:0 0 13px;width:100%;font-size:16px;display:flex;justify-content:space-between;gap:10px}.contact-details a:hover{color:var(--accent-dark)}.contact-details a.email{font:400 clamp(19px,2.15vw,30px) var(--serif);letter-spacing:-.04em}.footer{background:var(--dark);color:#b3aa9d}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:83px;font-size:10px;letter-spacing:.08em}.footer a{color:#e1dacf}.viewer{position:fixed;inset:0;z-index:100;background:#171715;color:#fff;display:flex;flex-direction:column}.viewer[hidden]{display:none}.viewer-top{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #393834;padding:12px 35px}.viewer-details{display:flex;flex-direction:column;gap:5px}.viewer-label{font-size:9px;letter-spacing:.15em;color:#b6a591}.viewer-details strong{font:400 21px var(--serif)}.viewer-controls{display:flex;align-items:center;gap:27px;font-size:11px}.viewer-controls>a{border-bottom:1px solid #a89782;padding:9px 0}.viewer-close{width:40px;height:40px;border:1px solid #66635e;background:transparent;color:white;cursor:pointer;font-size:18px}.viewer-close:hover{background:#3e3b36}.viewer-main{min-height:0;flex:1;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:10px;padding:20px 22px}.viewer-image-frame{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;height:100%;position:relative}.viewer-image-frame img{object-fit:contain;max-height:100%;max-width:100%;width:auto;height:auto;box-shadow:0 8px 26px #0007}.viewer-arrow{width:48px;height:48px;background:#2d2c29;color:white;border:1px solid #5c5851;cursor:pointer;font-size:24px}.viewer-arrow:hover:not(:disabled){background:#4d493f}.viewer-arrow:disabled{opacity:.3;cursor:not-allowed}.viewer-bottom{padding:0 40px 24px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em;color:#aba69f}.viewer-loading{display:none}.viewer-image-frame img.loading{opacity:.4}.project-card:focus-visible,.filter:focus-visible,.top-nav a:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
@media (max-width:1050px){.container{width:min(100% - 56px,1360px)}.top-nav{gap:20px}.hero{grid-template-columns:1fr 1fr;min-height:610px}.hero-visual{min-height:490px}.hero h1{font-size:clamp(50px,6vw,75px)}.running-inner{font-size:9px;gap:12px}.portfolio-banner{padding:45px}.portfolio-banner h3{font-size:42px}}
@media (max-width:740px){.container{width:calc(100% - 38px)}.site-header .header-inner{height:79px}.wordmark{font-size:23px}.top-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:38px;height:38px;border:0;background:transparent}.menu-toggle span{display:block;height:1px;width:26px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 21px 24px;background:var(--paper);border-top:1px solid var(--line);gap:0}.mobile-nav a{font-size:14px;padding:14px 4px;border-bottom:1px solid var(--line)}.hero{display:flex;flex-direction:column;gap:33px;min-height:0;padding-top:44px;padding-bottom:40px}.hero-copy{padding:0}.hero h1{font-size:clamp(56px,11.5vw,77px);margin:4px 0 22px}.hero-sub{font-size:15px;line-height:1.7;margin-bottom:22px}.hero-bottom{padding-top:32px;font-size:8px}.hero-visual{min-height:340px;height:46vh;max-height:490px;padding-right:12px}.hero-secondary{gap:7px}.hero-visual{gap:7px}.hero-vertical{font-size:8px}.running-inner{min-height:50px;justify-content:center;gap:15px;overflow:hidden}.running-inner span:nth-last-child(-n+2){display:none}.work-section{padding:70px 0 75px}.section-heading{display:block;margin-bottom:30px}.section-heading h2,.about-title h2,.contact-grid h2{font-size:50px}.section-note{margin-top:19px;font-size:13px}.filters{gap:18px;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;padding-bottom:0;margin-right:-19px;padding-right:19px}.filter{flex-shrink:0;font-size:11px}.projects-grid{grid-template-columns:1fr;row-gap:36px}.card-image-wrap{aspect-ratio:1.45}.card-info{padding-top:17px}.card-title{font-size:30px}.portfolio-banner{margin-top:62px;padding:35px 26px;display:block}.portfolio-banner h3{font-size:40px}.portfolio-banner p:not(.eyebrow){margin:0 0 30px}.about-section{padding:70px 0 80px}.about-grid{grid-template-columns:1fr;gap:10px}.about-copy{padding:15px 0 0}.contact-section{padding:78px 0 90px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-details a.email{font-size:25px}.footer-inner{min-height:110px;flex-wrap:wrap;gap:6px;font-size:9px;justify-content:space-between;padding:20px 0}.footer-inner span:nth-child(2){display:none}.viewer-top{min-height:76px;padding:10px 15px}.viewer-details strong{font-size:15px}.viewer-label{font-size:8px}.viewer-controls{gap:13px}.viewer-main{grid-template-columns:40px minmax(0,1fr) 40px;gap:0;padding:18px 5px}.viewer-arrow{width:36px;height:42px;font-size:20px}.viewer-bottom{padding:0 15px 24px;font-size:9px}.viewer-bottom span:first-child{display:none}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
