:root {
  --paper: #f4f1e9;
  --ink: #11110f;
  --line: rgba(17,17,15,.18);
  --header-h: 84px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}
body.is-modal{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 3vw;mix-blend-mode:difference;color:#fff;pointer-events:none}
.site-header a,.site-header button{pointer-events:auto}
.brand{display:flex;align-items:baseline;gap:.8rem;font-size:.8rem;letter-spacing:.14em}
.brand small{font-size:.62rem;letter-spacing:.08em;text-transform:none}
.primary-nav{display:flex;gap:2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.primary-nav a{position:relative}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s ease}
.primary-nav a:hover:after{right:0}
.menu-toggle{display:none;border:0;background:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;background:#e7e2d8}
.hero-backgrounds,.hero-bg,.hero-wash{position:absolute;inset:0}
.hero-bg{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity .7s ease,transform 1.2s ease;filter:saturate(.95)}
.hero-bg.is-active{opacity:1;transform:scale(1)}
.hero-wash{background:rgba(244,241,233,.84);transition:background .7s ease}
.hero.has-preview .hero-wash{background:rgba(244,241,233,.18)}
.hero-content{position:relative;z-index:2;width:min(1020px,88vw);display:grid;grid-template-columns:1fr 1.1fr;align-items:end;gap:8vw}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;margin:0 0 1.2rem}
.hero h1{font-size:clamp(4rem,12vw,10rem);font-weight:500;letter-spacing:.035em;line-height:.95;margin:0;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:start}
.hero-menu{display:flex;flex-direction:column;border-top:1px solid currentColor}
.hero-menu a{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid currentColor;font-size:clamp(2rem,5vw,4.8rem);line-height:1;letter-spacing:.012em;transition:padding-left .45s ease,color .3s ease,transform .45s ease}
.hero-menu a:hover{padding-left:1.2rem;color:#fff;transform:scale(1.055);transform-origin:left center}
.hero-menu span{font-size:.65rem;letter-spacing:.08em}
.scroll-cue{position:absolute;bottom:2.2rem;left:3vw;z-index:3;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}
.section-pad{padding:12rem 6vw}
.section-intro{max-width:850px;margin-bottom:12rem}
.section-intro h2,.about-copy h2,.contact-section h2{font-size:clamp(2.7rem,6vw,6.5rem);line-height:.95;letter-spacing:-.015em;font-weight:500;margin:0 0 2rem}
.section-intro>p:last-child{max-width:520px;font-size:1.1rem}
.work{width:min(76vw,1100px);margin:0 auto 15rem}
.work--offset{margin-left:18vw;margin-right:auto;width:min(66vw,920px)}
.work-image{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}
.work-image img{width:100%;transition:transform 1.125s cubic-bezier(.2,.7,.2,1)}
.work-image:hover img{transform:scale(1.075)}
.work-meta{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.8rem;margin-top:1rem}
.work-meta h3,.work-meta p{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin:0;font-weight:400}
.split-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;max-width:none;align-items:end}
.texture-section{background:#151513;color:#f3efe5}
.texture-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:22vw;gap:1.3vw}
.tile{margin:0;overflow:hidden}
.tile--wide{grid-column:span 2}
.tile--tall{grid-row:span 2}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}
.tile:hover img{transform:scale(1.10)}
.about-section{display:grid;grid-template-columns:1.15fr 1fr;gap:10vw;align-items:center}
.about-image{height:75vh;overflow:hidden}
.about-image img{width:100%;height:100%;object-fit:cover}
.about-copy .lead{font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.3;max-width:700px}
.about-copy p:last-child{max-width:560px}
.contact-section{min-height:85vh;display:flex;flex-direction:column;justify-content:center}
.contact-link{display:inline-block;width:max-content;font-size:clamp(1.7rem,4vw,4.5rem);letter-spacing:-.04em;border-bottom:1px solid currentColor}
.contact-note{margin-top:2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
footer{display:flex;justify-content:space-between;padding:2rem 3vw;border-top:1px solid var(--line);font-size:.65rem;letter-spacing:.12em}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;padding:0;background:var(--paper);color:var(--ink)}
.lightbox::backdrop{background:rgba(0,0,0,.4)}
.lightbox-close{position:fixed;top:2rem;right:3vw;z-index:2;border:0;background:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;cursor:pointer}
.lightbox-inner{min-height:100%;display:grid;grid-template-columns:1.7fr .8fr;gap:5vw;align-items:center;padding:8vh 6vw}
.lightbox-image{width:100%;max-height:84vh;object-fit:contain}
.lightbox-copy h2{font-size:clamp(2.5rem,5vw,5rem);font-weight:500;letter-spacing:-.015em;margin:0 0 1rem}
.cursor-glow{position:fixed;z-index:100;pointer-events:none;width:18px;height:18px;border:1px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:difference;opacity:0;transition:opacity .2s ease}
@media (pointer:fine){body:hover .cursor-glow{opacity:1}}
@media (max-width:800px){
  :root{--header-h:68px}
  .site-header{padding:0 5vw}
  .primary-nav{position:fixed;inset:0;background:var(--paper);color:var(--ink);mix-blend-mode:normal;display:none;flex-direction:column;justify-content:center;align-items:center;font-size:2.2rem;gap:1rem}
  .primary-nav.is-open{display:flex}
  .menu-toggle{display:block}
  .hero-content{grid-template-columns:1fr;width:88vw;align-content:center;gap:3rem}
  .hero h1{writing-mode:initial;transform:none;font-size:18vw}
  .hero-menu a{font-size:11vw}
  .hero-wash{background:rgba(244,241,233,.62)}
  .section-pad{padding:8rem 5vw}
  .section-intro{margin-bottom:7rem}
  .work,.work--offset{width:100%;margin:0 0 8rem}
  .split-intro{grid-template-columns:1fr;gap:2rem}
  .texture-grid{grid-template-columns:1fr 1fr;grid-auto-rows:48vw;gap:2vw}
  .tile--wide{grid-column:span 2}
  .about-section{grid-template-columns:1fr;gap:4rem}
  .about-image{height:58vh}
  .lightbox-inner{grid-template-columns:1fr;padding:6rem 5vw 3rem}
  .lightbox-copy{order:-1}
  .cursor-glow{display:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v2: calmer, airier typography and more expressive hover zoom */
.hero-menu a{font-weight:400}
.hero h1{font-weight:400}
@media (max-width:800px){
 .hero h1{font-size:clamp(3.4rem,15vw,7rem);letter-spacing:.025em}
 .hero-menu a:hover{transform:none}
}
