:root{
  --paper:#f6f5f1;--ink:#191817;--muted:#8f8b84;--faint:#b8b4ac;--line:#e4e1da;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:clamp(1.5rem,3.5vw,2.6rem) clamp(1.4rem,4vw,3rem) 3rem}

/* masthead */
.mast{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap;padding-bottom:clamp(2.4rem,6vw,4rem)}
.mast .brand .name{font-size:1.04rem;font-weight:500;letter-spacing:.01em}
.mast .brand .loc{margin-top:.3rem;font-size:.82rem;color:var(--muted);line-height:1.4}
.mast .nav{display:flex;gap:1.25rem;flex-wrap:wrap;padding-top:.15rem}
.mast .nav a{font-size:.92rem;color:var(--muted);border-bottom:1px solid transparent;padding-bottom:1px;transition:color .2s ease,border-color .2s ease}
.mast .nav a:hover,.mast .nav a.on{color:var(--ink);border-color:var(--ink)}

/* hero — split: statement left, full-height image right */
.home-top .mast{padding:clamp(1.4rem,3.2vw,2.4rem) clamp(1.4rem,4vw,3rem) clamp(1rem,2.5vw,1.6rem)}
.hero{display:grid;grid-template-columns:1fr;margin:0}
.hero-text{padding:clamp(1.6rem,6vw,3rem) clamp(1.4rem,4vw,3rem) clamp(2rem,6vw,3rem)}
.hero-text .statement{font-size:clamp(1.9rem,6.5vw,2.6rem);line-height:1.16;margin:0;letter-spacing:-.015em}
.hero-img{margin:0 0 clamp(.6rem,3vw,1.2rem);height:42svh;overflow:hidden;padding:0 clamp(1.4rem,4vw,3rem)}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(min-width:760px){
  .home-top{min-height:86svh;display:flex;flex-direction:column}
  .hero{flex:1;min-height:0;grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);align-items:center}
  .hero-text{display:flex;flex-direction:column;justify-content:center;padding:2rem clamp(2rem,4vw,3rem) 2rem clamp(1.4rem,4vw,3rem)}
  .hero-text .statement{font-size:clamp(2rem,3.4vw,2.95rem)}
  .hero-img{height:auto;padding:clamp(1rem,3vw,2.4rem) clamp(1.4rem,4vw,3.2rem) clamp(1rem,3vw,2.4rem) 0}
  .hero-img img{height:64svh}
}
.rule{border:0;border-top:1px solid var(--line);margin:clamp(2.2rem,5vw,3.4rem) 0}

/* works — illustrated list (thumbnail + title per row) */
.works-lists{max-width:640px}
.section{margin-bottom:clamp(2.2rem,4.5vw,3.2rem)}
.section-head{font-size:.9rem;font-weight:500;color:var(--muted);letter-spacing:.02em;margin:0 0 1rem}
.subhead{font-size:.82rem;font-style:italic;color:var(--faint);letter-spacing:.01em;margin:1.1rem 0 .5rem;padding-left:.02em}
.subhead:first-of-type{margin-top:.2rem}
.section-head .rn{color:var(--faint);margin-right:.55em;font-style:italic}
.works{list-style:none;margin:0;padding:0}
.works li{margin:0}
.works a{display:flex;align-items:center;gap:1rem;padding:.5rem 0;color:var(--ink);transition:opacity .2s ease}
.works a:hover{opacity:.62}
.works .thumb{width:56px;height:56px;flex:0 0 56px;object-fit:cover;object-position:center;background:#eceae5}
.works .wt{font-size:clamp(1.08rem,1.7vw,1.3rem);line-height:1.3}

.footer{margin-top:clamp(2rem,5vw,3.4rem);padding-top:1.4rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);line-height:1.6}

/* detail */
.back{display:inline-block;font-size:.9rem;font-style:italic;color:var(--muted);margin-bottom:1.8rem;border-bottom:1px solid transparent;padding-bottom:1px;transition:color .2s ease,border-color .2s ease}
.back:hover{color:var(--ink);border-color:var(--ink)}
.detail{max-width:900px}
.work-fig{margin:0}
.work-fig img{width:100%;height:auto;max-height:74vh;object-fit:contain;object-position:left top}
/* gallery: main image + detail thumbnails */
.thumbs{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.thumb-btn{padding:0;border:1px solid var(--line);background:#eceae5;cursor:pointer;line-height:0;transition:border-color .2s ease,opacity .2s ease}
.thumb-btn img{width:68px;height:68px;object-fit:cover;object-position:center;display:block}
.thumb-btn:hover{border-color:var(--faint)}
.thumb-btn.is-active{border-color:var(--ink)}
@media(prefers-reduced-motion:no-preference){.work-fig img{transition:opacity .25s ease}}
.work-cap{margin-top:1.6rem;max-width:44ch}
.work-cap h1{font-weight:400;font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.15;margin:0 0 .5rem;letter-spacing:-.005em}
.work-cap .spec{font-size:.86rem;color:var(--muted);letter-spacing:.015em;margin-bottom:1.1rem}
.work-cap .desc{font-style:italic;font-size:clamp(1.06rem,1.7vw,1.16rem);line-height:1.62;color:#2c2a28}
.work-cap .status{margin-top:1.4rem;font-size:.9rem}
.work-cap .status .na{color:var(--faint)}
.work-cap .status .ex{color:var(--muted);font-style:italic}
.enquire{border-bottom:1px solid var(--line);padding-bottom:1px;transition:border-color .2s ease}
.enquire:hover{border-color:var(--ink)}

/* collectibles — coming soon */
.soon{max-width:42ch}
.soon h1{font-weight:400;font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 1.3rem;letter-spacing:-.005em}
.soon .lead{font-size:clamp(1.05rem,1.7vw,1.18rem);line-height:1.6;margin:0 0 1rem}
.soon .note{font-style:italic;color:var(--muted);font-size:1rem;line-height:1.6}
.soon .note a{border-bottom:1px solid var(--line);padding-bottom:1px;transition:border-color .2s ease}
.soon .note a:hover{border-color:var(--ink)}

/* about */
.about-fig{margin:0 0 1.8rem}
.about-fig img{width:min(320px,60%);height:auto}
.about-body{max-width:60ch}
.about-body p{font-size:clamp(1.04rem,1.6vw,1.14rem);line-height:1.65;margin:0 0 1.1rem}
.downloads{margin:1.6rem 0 2.8rem;display:flex;gap:1.6rem;flex-wrap:wrap}
.downloads a{font-size:.92rem;font-style:italic;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .2s ease,border-color .2s ease}
.downloads a:hover{color:var(--ink);border-color:var(--ink)}
.rec{max-width:64ch;margin-bottom:2.4rem}
.rec h2{font-weight:500;font-size:.82rem;letter-spacing:.04em;color:var(--muted);margin:0 0 .9rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.rec-row{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;padding:.55rem 0;font-size:.98rem;line-height:1.4;border-bottom:1px solid var(--line)}
.rec-row:last-child{border-bottom:0}
.rec-row .when{color:var(--muted);font-size:.86rem;padding-top:.12em}
.rec-row .what b{font-weight:500}
.rec-row .what i{color:var(--muted)}

/* contact */
.contact h1{font-weight:400;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:0 0 1.6rem;max-width:22ch}
.contact .ln{font-size:clamp(1.06rem,1.8vw,1.2rem);margin:.4rem 0}
.contact .ln a{border-bottom:1px solid var(--line);padding-bottom:1px;transition:border-color .2s ease}
.contact .ln a:hover{border-color:var(--ink)}
.contact .place{margin-top:2rem;font-style:italic;color:var(--muted);font-size:.95rem}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- The Seam (essay/statement page) ---- */
.essay{max-width:720px;margin:0 auto}
.essay .lead-title{font-weight:400;font-size:clamp(2rem,4.5vw,3rem);line-height:1.1;letter-spacing:-.015em;margin:0 0 .6rem}
.essay .lead-sub{font-style:italic;color:var(--muted);font-size:clamp(1rem,1.7vw,1.15rem);margin:0 0 clamp(2.2rem,5vw,3.4rem)}
.essay .blk{margin:0 0 clamp(2.4rem,5vw,3.6rem)}
.essay p.para{font-size:clamp(1.08rem,1.7vw,1.22rem);line-height:1.7;max-width:60ch;margin:0 0 1.4rem;color:#2c2a28}
.essay p.para em{font-style:italic}
.essay figure{margin:0}
.essay figure img{width:100%;height:auto;max-height:76vh;object-fit:contain;object-position:center;background:#eceae5}
.essay .two{display:grid;grid-template-columns:1fr;gap:.9rem}
@media(min-width:640px){.essay .two{grid-template-columns:1fr 1fr}}
.essay figcaption{margin-top:.6rem;font-size:.82rem;font-style:italic;color:var(--muted);letter-spacing:.01em}
.essay .closing{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.5;font-style:italic;color:var(--ink);max-width:40ch;margin:clamp(1.5rem,4vw,2.4rem) 0 0}
