
:root{
  --bg:#0b0b0b;
  --panel:#121212;
  --panel2:#171512;
  --ink:#f0e8dc;
  --muted:#b9ae9f;
  --bronze:#a9652b;
  --bronze2:#c07a3b;
  --line:#5d3d24;
  --shadow:0 20px 60px rgba(0,0,0,.4);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  line-height:1.6;letter-spacing:.01em;
}
a{color:inherit}
img{max-width:100%;display:block}
.site-shell{min-height:100vh}
.navbar{
  position:sticky;top:0;z-index:50;background:rgba(10,10,10,.93);
  backdrop-filter:blur(12px);border-bottom:1px solid rgba(192,122,59,.25);
}
.nav-inner{
  max-width:1240px;margin:auto;padding:18px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.brand-mini{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-box{
  width:42px;height:42px;border:1px solid var(--bronze2);display:grid;place-items:center;
  color:var(--bronze2);font:29px/1 var(--serif);
}
.brand-word{
  font:22px/1.05 var(--serif);letter-spacing:.22em;text-transform:uppercase;
}
.brand-word small{
  display:block;font:10px/1.6 var(--sans);letter-spacing:.55em;color:var(--bronze2);
  padding-left:.18em;margin-top:5px;
}
.nav-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.nav-links a{
  text-decoration:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#d7cfc4
}
.nav-links a:hover,.nav-links a.active{color:var(--bronze2)}
.mobile-toggle{display:none}

.container{max-width:1180px;margin:0 auto;padding:0 28px}
.section{padding:92px 0}
.section.tight{padding:64px 0}
.eyebrow{
  color:var(--bronze2);text-transform:uppercase;letter-spacing:.24em;font-size:12px;
}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0 0 20px}
h1{font-size:clamp(44px,7vw,90px);line-height:.98;letter-spacing:.04em}
h2{font-size:clamp(34px,4.5vw,58px);line-height:1.08}
h3{font-size:28px}
.lede{font-size:clamp(18px,2.2vw,25px);color:#ddd2c4;max-width:800px}
.copy{max-width:760px;color:#cbbfb1;font-size:17px}
.copy p{margin:0 0 24px}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{
  display:inline-block;padding:13px 20px;border:1px solid var(--bronze2);color:var(--ink);
  text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:12px;
  background:transparent;transition:.2s ease;
}
.btn:hover{background:var(--bronze2);color:#0b0b0b}
.btn.secondary{border-color:#6c6258}
.btn.secondary:hover{background:#eee4d7;color:#111;border-color:#eee4d7}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:55px 0}

.hero{
  min-height:78vh;display:grid;align-items:end;position:relative;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:saturate(.82) brightness(.58);
}
.hero::after{
  content:"";position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(8,8,8,.86) 0%,rgba(8,8,8,.55) 47%,rgba(8,8,8,.18) 100%),
    linear-gradient(0deg,rgba(8,8,8,.75),transparent 52%);
}
.hero-content{position:relative;z-index:2;padding:120px 0 72px}
.hero .lede{max-width:650px}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card-grid.two-up{grid-template-columns:repeat(2,1fr)}
.feature-card{
  min-height:430px;position:relative;overflow:hidden;background:#181818;border:1px solid #241d17
}
.feature-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(.78)}
.feature-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05) 62%)}
.feature-card .label{
  position:absolute;z-index:2;left:24px;bottom:22px;font:24px var(--serif);letter-spacing:.08em
}
.feature-card .label small{
  display:block;font:10px var(--sans);letter-spacing:.2em;color:var(--bronze2);text-transform:uppercase;margin-top:8px
}

.split{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}
.split.reverse{grid-template-columns:.95fr 1.05fr}
.split-media img{width:100%;max-height:620px;object-fit:cover;box-shadow:var(--shadow)}
.quote{
  border-left:1px solid var(--bronze2);padding-left:26px;color:#ddd0c1;font:27px/1.45 var(--serif)
}

.work-intro{padding-bottom:36px}
.work-section{padding:54px 0 80px}
.work-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}
.work-title p{max-width:590px;color:var(--muted);margin:0}
.masonry{
  columns:3 300px;column-gap:18px;
}
.masonry figure{
  break-inside:avoid;margin:0 0 18px;position:relative;background:#141414;overflow:hidden;
}
.masonry img{width:100%;height:auto}
.masonry figcaption{
  padding:11px 3px 2px;color:#a99e91;font-size:12px;letter-spacing:.08em;text-transform:uppercase
}
.photo-protected img{user-select:none;-webkit-user-drag:none}
.art-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.art-grid img{width:100%;height:530px;object-fit:cover}


/* Photography is presented as an editorial spread, not a thumbnail gallery.
   Images retain their native aspect ratios and are never cropped. */
.photography-section{padding-top:78px}
.photography-title{margin-bottom:46px}
.photo-editorial{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:52px 24px;
  align-items:start;
}
.photo-editorial figure{margin:0;min-width:0}
.photo-editorial img{display:block;width:100%;height:auto;object-fit:contain}
.photo-wide{grid-column:1 / span 7}
.photo-tall{grid-column:9 / span 4;grid-row:1 / span 2}
.photo-medium{grid-column:2 / span 5}
.photo-small{grid-column:7 / span 4;margin-top:72px!important}
.photo-offset{grid-column:1 / span 6;margin-top:28px!important}
.photo-final{grid-column:8 / span 5;margin-top:110px!important}

.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.info-card{
  background:linear-gradient(180deg,#151310,#101010);border:1px solid #2b2119;padding:30px
}
.info-card .num{font:34px var(--serif);color:var(--bronze2);margin-bottom:18px}

.shop-placeholder{
  min-height:70vh;display:grid;place-items:center;text-align:center;padding:80px 20px;
  background:
    radial-gradient(circle at 30% 20%,rgba(169,101,43,.13),transparent 30%),
    radial-gradient(circle at 80% 70%,rgba(169,101,43,.08),transparent 35%);
}
.shop-placeholder .brand-box{margin:0 auto 26px;width:72px;height:72px;font-size:46px}
.shop-placeholder p{max-width:620px;margin:0 auto 12px;color:var(--muted)}
.shop-joke{font:clamp(34px,5vw,64px)/1.05 var(--serif);margin:0 0 18px}

.contact-panel{
  display:grid;grid-template-columns:1.15fr .85fr;gap:55px;padding:48px;
  border:1px solid #2a211b;background:linear-gradient(140deg,#14110f,#0e0e0e);
}
.contact-email{font:clamp(24px,4vw,48px)/1.2 var(--serif);color:var(--bronze2);word-break:break-word}

.footer{border-top:1px solid #251e18;padding:32px 0 42px;color:#978c80}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.footer nav{display:flex;gap:16px;flex-wrap:wrap}
.footer a{text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.footer a:hover{color:var(--bronze2)}

.entry{
  min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;background:#090909;
}
.entry-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.44) saturate(.8)}
.entry::after{
  content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.2),rgba(0,0,0,.65)),
  radial-gradient(circle at center,transparent 18%,rgba(0,0,0,.42) 100%);
}
.entry-logo{
  position:relative;z-index:2;text-align:center;padding:34px 28px;max-width:800px;
}
.entry-mark{
  width:104px;height:104px;border:1px solid var(--bronze2);margin:0 auto 28px;
  display:grid;place-items:center;font:68px/1 var(--serif);color:var(--bronze2);
}
.entry-name{
  font:clamp(46px,7vw,88px)/1 var(--serif);letter-spacing:.16em;text-transform:uppercase;
}
.entry-studios{
  color:var(--bronze2);letter-spacing:.55em;text-transform:uppercase;font-size:16px;margin:17px 0 20px;
}
.entry-tag{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#e3d8ca}
.entry-established{margin-top:20px;color:var(--bronze2);letter-spacing:.2em;font-size:12px}
.enter-btn{margin-top:34px;padding:14px 34px;min-width:150px}

.subhero{padding:100px 0 54px;background:
  radial-gradient(circle at 70% 10%,rgba(169,101,43,.13),transparent 25%),
  linear-gradient(#0c0c0c,#0b0b0b)}
.subhero .lede{max-width:720px}

@media (max-width:900px){
  .photo-editorial{grid-template-columns:1fr;gap:34px}
  .photo-editorial figure{grid-column:1!important;grid-row:auto!important;margin:0!important}
  .photo-editorial figure:nth-child(even){width:84%;margin-left:auto!important}
  .photo-editorial figure:nth-child(3n){width:90%}

  .nav-links{display:none}
  .nav-inner{padding:14px 18px}
  .container{padding:0 18px}
  .split,.split.reverse,.contact-panel{grid-template-columns:1fr}
  .card-grid,.card-grid.two-up,.info-grid{grid-template-columns:1fr}
  .feature-card{min-height:320px}
  .art-grid{grid-template-columns:1fr}
  .art-grid img{height:auto}
  .section{padding:70px 0}
  .hero{min-height:72vh}
  .hero::after{background:linear-gradient(0deg,rgba(8,8,8,.84),rgba(8,8,8,.22))}
  .entry-name{letter-spacing:.09em}
}
