:root{--paper:#f4f2ed;--ink:#151515;--line:#ccc8bf}*{box-sizing:border-box}html{direction:ltr;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;text-align:left}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:12px}header{height:86px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.mark{font-size:15px;letter-spacing:.045em;font-weight:700;white-space:nowrap}nav{display:flex;gap:26px;font-size:12px}nav a{padding:8px 0;border-bottom:1px solid transparent}nav a[aria-current=page]{border-color:currentColor}p{direction:ltr;text-align:left;margin:0;line-height:1.6}h1{text-align:left;font-weight:500;letter-spacing:-.065em;margin:0}.hero{position:relative;min-height:600px;height:calc(100svh - 86px);background:#24211e;overflow:hidden}.hero-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 38%;filter:brightness(.72)}.hero-copy{position:absolute;left:4vw;right:4vw;bottom:5vh;color:white}.hero h1{font-weight:700;font-size:clamp(82px,13vw,190px);line-height:.77;letter-spacing:-.07em;margin-bottom:30px}.hero p{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.explore{display:inline-block;font-size:13px;padding:15px 0 6px;border-bottom:1px solid #ffffff88}.project,.about{padding:52px 4vw 46px;min-height:calc(100svh - 155px)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;margin-bottom:14px}.project h1,.about h1{font-size:clamp(56px,8vw,112px);line-height:.98}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin:30px 0 22px;border-bottom:1px solid var(--line)}[role=tablist]{display:flex;gap:24px}[role=tab]{cursor:pointer;border:0;border-bottom:2px solid transparent;background:none;padding:12px 7px 13px;font-size:14px}[role=tab][aria-selected=true]{border-bottom-color:var(--ink);font-weight:700}.page-count{font-size:11px;letter-spacing:.08em}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.photo{padding:0;border:0;display:block;background:transparent;width:100%;cursor:zoom-in}.photo img{width:100%;height:auto;max-height:63vh;object-fit:contain;object-position:top;display:block}.next-project{display:inline-block;font-size:12px;margin-top:36px;padding-bottom:6px;border-bottom:1px solid var(--ink)}.about-copy{max-width:690px;margin-top:38px}.about-copy p{font-size:19px;line-height:1.6;margin-bottom:22px}.contact{padding-top:24px}.contact a{border-bottom:1px solid #777}footer{padding:22px 4vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em}dialog{border:0;padding:52px 20px 20px;background:#111;color:white;width:96vw;max-width:1400px;height:94svh;max-height:94svh}dialog::backdrop{background:#000e}dialog img{width:100%;height:100%;object-fit:contain}.close{position:absolute;right:20px;top:15px;background:none;border:0;padding:6px;cursor:pointer;font-size:14px}.noscript-note{padding:20px 4vw}@media(max-width:700px){header{height:auto;min-height:104px;padding:20px;align-items:flex-start;flex-direction:column;gap:15px}nav{gap:21px;font-size:12px;width:100%}nav a{padding:3px 0 6px}.hero{height:calc(100svh - 104px);min-height:550px}.hero-image{object-position:center 30%}.hero-copy{left:20px;right:20px;bottom:32px}.hero h1{font-size:25vw;margin-bottom:26px}.hero p{max-width:290px;font-size:10px}.project,.about{padding:32px 20px 38px}.project h1,.about h1{font-size:clamp(50px,13vw,78px)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.photo img{max-height:none}.gallery-controls{margin-top:22px}.about-copy p{font-size:17px}footer{padding:20px}.next-project{margin-top:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.gallery{row-gap:40px}.gallery-summary{font-size:12px;padding:0 0 12px}.gallery-controls{justify-content:flex-start}.photo img{height:auto}@media(max-width:700px){.gallery{row-gap:24px}}

.contact-page{padding:52px 4vw 60px;min-height:calc(100svh - 155px)}.contact-heading h1{font-size:clamp(56px,8vw,112px);line-height:.98}.contact-intro{max-width:600px;margin-top:25px;font-size:17px}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:start;margin-top:40px}.contact-photo{margin:0}.contact-photo img{display:block;width:100%;height:auto}.contact-content{padding-top:10px}.contact-details{font-style:normal;font-size:18px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:36px}.contact-details a{border-bottom:1px solid #aaa;overflow-wrap:anywhere}.location{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.form-row{margin:0 0 22px}.form-row label{display:block;font-size:12px;margin-bottom:9px}.form-row input,.form-row textarea{font:inherit;color:var(--ink);width:100%;padding:12px;border:1px solid #aaa;background:transparent;border-radius:0;min-height:44px}.form-row textarea{resize:vertical;line-height:1.5}.form-row input:focus,.form-row textarea:focus{outline:2px solid var(--ink);outline-offset:2px}.send-message{padding:14px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:13px;cursor:pointer}.send-message:disabled{opacity:.6;cursor:wait}#form-status{margin-top:18px;font-size:14px}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){nav{gap:14px;flex-wrap:wrap}.contact-page{padding:32px 20px 40px}.contact-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.contact-content{padding-top:0}.contact-details{font-size:17px}.contact-photo{max-width:500px}.contact-heading h1{font-size:clamp(50px,13vw,78px)}}

/* Shared immersive photography on Home and Contact. */
.immersive{--pan-x:0px;--pan-y:0px;isolation:isolate}
.hero-image{transform:translate(var(--pan-x),var(--pan-y)) scale(1.045);transition:transform 1s ease-out}
.contact-page{position:relative;padding:0;min-height:calc(100svh - 86px);overflow:hidden;background:#23211e}
.contact-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 66%;transform:translate(var(--pan-x),var(--pan-y)) scale(1.32);transition:transform 1s ease-out;z-index:-2}
.contact-page::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0005,transparent 65%)}
.contact-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,410px);gap:7vw;padding:44px 4vw;min-height:calc(100svh - 86px);align-items:start}
.contact-heading{color:#fff4df;text-shadow:0 2px 22px #0008;padding-top:12px}
.contact-heading h1{font-size:clamp(72px,10vw,148px);font-weight:700;line-height:.85;max-width:600px}
.contact-intro{max-width:340px;font-size:15px;margin-top:28px}
.contact-content{background:#eee3ce;color:#24211c;padding:28px;box-shadow:0 10px 50px #0002}
.contact-details{font-size:15px;gap:7px;margin-bottom:24px}.location{font-size:10px;margin-bottom:7px}
.form-row{margin-bottom:16px}.form-row input,.form-row textarea{background:#f8f2e8;border-color:#a49a87;font-size:16px;padding:10px}.form-row textarea{min-height:100px}.form-row label{margin-bottom:6px}.send-message{background:#25231f;color:#f8efdf;width:100%}#form-status:empty{display:none}
@media(max-width:700px){.contact-page{min-height:calc(100svh - 104px)}.contact-stage{display:block;padding:0;min-height:0}.contact-heading{min-height:calc(100svh - 104px);padding:38px 20px;display:flex;flex-direction:column;justify-content:flex-end}.contact-heading h1{font-size:23vw}.contact-intro{font-size:14px}.contact-backdrop{height:calc(100svh - 104px);min-height:500px;object-position:50% 60%;transform:translate(var(--pan-x),var(--pan-y)) scale(1.32)}.contact-heading{min-height:max(500px,calc(100svh - 104px))}.contact-content{position:relative;padding:32px 20px;box-shadow:none}.contact-page::after{height:calc(100svh - 104px);background:linear-gradient(0deg,#0009,transparent 65%)}.contact-details{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hero-image,.contact-backdrop{transition:none;--pan-x:0px!important;--pan-y:0px!important}}
