
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Libre+Caslon+Display&display=swap');
*{box-sizing:border-box}
:root{--bg:#f2f0ea;--ink:#111;--line:rgba(17,17,17,.24);--pad:24px}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300}
a{color:inherit;text-decoration:none} img{display:block;width:100%} button,input,textarea{font:inherit}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px var(--pad);mix-blend-mode:difference;color:white;pointer-events:none}
.site-header>*{pointer-events:auto}.brand{font-family:"Libre Caslon Display",serif;font-size:34px;letter-spacing:.08em;word-spacing: 10px}
.menu-button,.view-artwork,.drawer-close{border:0;background:none;padding:0;cursor:pointer;font-size:16px;letter-spacing:.14em}.menu-button{justify-self:start}.view-artwork{justify-self:end}
.drawer{position:fixed;inset:0 auto 0 0;width:min(460px,92vw);background:#111;color:#f5f3ed;z-index:90;padding:22px 24px 36px;transform:translateX(-101%);transition:transform .45s cubic-bezier(.76,0,.24,1)}
.drawer.open{transform:translateX(0)}.drawer-close{color:inherit}.drawer-links{display:flex;flex-direction:column;gap:10px;margin-top:14vh}
.drawer-links>a,
.submenu-toggle {
  font-family: "Libre Caslon Display", serif;
  font-size: 30px;
  line-height: 1.04;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border: 0;
  background: none;
  color: inherit;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.submenu{max-height:0;overflow:hidden;opacity:0;display:flex;flex-direction:column;gap:4px;padding-left:18px;transition:.3s ease}
.menu-group.open .submenu{max-height:320px;opacity:1;margin:10px 0 14px}.submenu-mark{font-family:"DM Sans";font-size:18px}.menu-group.open .submenu-mark{transform:rotate(45deg)}
.drawer-links .submenu a,.drawer-links .instagram{font-family:"DM Sans";font-size:15px;line-height:1.5;opacity:.82}.drawer-links .instagram{margin-top:24px}
/* Landing page */
.hero {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background: var(--bg);
  padding-top: 70px;
}
/* Landing page artwork */
.hero-image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}
.signup-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(4px);
}
.signup-card {
  position: relative;
  width: min(470px, calc(100vw - 48px));
  background: #f2f0ea;
  padding: 38px 32px 30px;
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.28);
}
.signup-close {
  position: absolute;
  top: 12px;
  right: 16px;
  border: 0;
  background: transparent;
  color: #111;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.eyebrow,.section-label{margin:0 0 18px;font-size:16px;letter-spacing:.16em;text-transform:uppercase}
.signup-card h1{margin:0 0 28px;font:400 clamp(34px,4.2vw,52px)/1.04 "Libre Caslon Display",serif}
.email-form{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid}.email-form input{border:0;background:transparent;padding:12px 0;outline:none}.email-form button{border:0;background:transparent;cursor:pointer;font-size:11px;letter-spacing:.14em}.form-note{font-size:10px;opacity:.65}
/* Main section spacing */
.intro,
.press,
.contact {
  padding: 70px var(--pad);
}
/* Landing artwork to BIO */
.intro {
  padding-top: 100px;
}
/* MEDIA & PRESS */
.media-section-page {
  padding-top: 70px;
}
.statement {
  margin: 0;
  width: 100%;
  max-width: none;
  font-family: "Libre Caslon Display", serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  text-align: justify;
}
.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 24px;padding:60px var(--pad) 130px}
.grid-art {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.grid-art img {
  width: 100%;
  height: 350px;
  max-width: 100%;
  object-fit: contain;
  object-position: center bottom;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.grid-art:hover img {
  box-shadow: 0 0 0 10px rgba(120, 120, 120, 0.35);
  transform: scale(1.01);
}
.grid-art span {
  width: 100%;
  text-align: center;
}
.grid-art span {
  display: block;
  width: 100%;
  margin-top: 12px;
  font-size: 14px;
  letter-spacing: .05em;
  text-align: center;
}
.media-section {
  margin-top: 100px;
}
.press-list {
  border-top: 1px solid var(--line);
}
.press-list a,
.press-list .press-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.press-list a > span:first-child,
.press-list .press-item > span:first-child {
  font-size: 15px;
  line-height: 1.5;
}
.press-list a > span:last-child,
.press-list .press-item > span:last-child {
  font-size: 12px;
  white-space: nowrap;
  text-align: right;
}
.press-list strong {
  font-weight: 400;
}

.contact > a {
  font-family: "Libre Caslon Display", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
}
.artwork-page{padding:140px var(--pad) 90px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px;border-bottom:1px solid var(--line);padding-bottom:20px}
/*.page-heading h1{margin:0;font:400 clamp(64px,12vw,160px)/.82 "Libre Caslon Display",serif}*/
.page-heading h1 {
  margin: 0;
  font-family: "Libre Caslon Display", serif;
  font-size: 60px;
  font-weight: 400;
  line-height: .82;
}
.artwork-heading-copy{display:flex;align-items:baseline;gap:20px;margin-left: auto}.active-theme-label{font-size:18px;letter-spacing:.12em;text-transform:uppercase}
.grid-art.is-hidden{display:none}
.artwork-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  row-gap: 80px;       /* Vertical spacing */
  column-gap: 80px;    /* Horizontal spacing */
}

/* Detail page */
.detail-body{overflow-x:hidden}.detail-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.85fr)}
.detail-image-panel{min-height:100vh;background:#dedbd3;display:flex;align-items:center;justify-content:center;padding:90px 36px 36px}
.detail-image-panel img{max-width:100%;max-height:calc(100vh - 126px);width:auto;height:auto;object-fit:contain}
.detail-side{min-height:100vh;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:100px 34px 34px;background:var(--bg)}
.detail-info h1 {
  font-family: "Libre Caslon Display", serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.05;
  margin: 0 0 28px;
}
.detail-info dl{margin:0 0 26px}.detail-info dl div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:9px 0;border-top:1px solid var(--line);font-size:12px}
.detail-info dt{opacity:.55}.detail-info dd{margin:0}
#detail-description{max-width:520px;font-size:14px;line-height:1.6}
.inquiry-form{margin-top:70px;border-top:1px solid var(--line);padding-top:20px}.inquiry-form label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:15px}
.inquiry-form input,.inquiry-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0;outline:none;text-transform:none;letter-spacing:0;font-size:14px;resize:vertical}
.inquiry-form textarea{border:1px solid var(--line);padding:10px;margin-top:7px}.inquiry-form button{width:100%;border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:13px;cursor:pointer;font-size:11px;letter-spacing:.13em}
.inquiry-status{font-size:11px;min-height:16px}.detail-header{mix-blend-mode:difference}

@media(max-width:760px){
  :root{--pad:14px}.site-header{padding-top:14px}.brand{font-size:14px}.view-artwork{font-size:8px}.featured-grid{grid-template-columns:1fr}.art-card.tall{margin-top:0}.art-card.wide{grid-column:auto;width:100%}
  .artwork-heading-copy {
    gap: 8px;
  }
  .artwork-heading-copy .active-theme-label {
    font-size: 10px;
    letter-spacing: .08em;
  }
  .artwork-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    row-gap: 40px;       /* Vertical spacing */
    column-gap: 40px;    /* Horizontal spacing */    
  }
  .page-heading h1 {
  font-size: 32px;
  }
  .grid-art img {
    height: 220px;
  }
  .detail-layout{grid-template-columns:1fr}.detail-image-panel{min-height:auto;height:72vh;padding:72px 14px 14px}.detail-image-panel img{max-height:100%;}.detail-side{min-height:auto;border-left:0;border-top:1px solid var(--line);padding:50px 18px 28px}.inquiry-form{margin-top:60px}
    .statement {
    font-size: 28px;
    line-height: 1.25;
    text-align: left;
  }
  .press-list a,
  .press-list .press-item {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .press-list a > span:last-child,
  .press-list .press-item > span:last-child {
    text-align: left;
  }
  .media-section {
    margin-top: 70px;
  }
}

/* Persistent top-left navigation icon */
.menu-button {
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0;
}

/* v5: keep the top-left hamburger permanently visible */
.site-header {
  mix-blend-mode: normal;
}

.menu-button {
  color: #111111;
  background: rgba(242, 240, 234, 0.88);
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0;
  position: relative;
  z-index: 60;
}

.brand,
.view-artwork {
  color: #111111;
  text-shadow: 0 0 10px rgba(242, 240, 234, 0.7);
}

.site-footer {
  padding: 30px var(--pad);
  border-top: 1px solid var(--line);
  font-size: 12px;
  letter-spacing: .05em;
  text-align: center;
}

.site-footer p {
  margin: 0;
}


/* Bio and exhibition content */
.bio-content{max-width:1100px}.bio-section{margin-bottom:58px}.bio-section:last-child{margin-bottom:0}.bio-section h2,.exhibition-group h2{margin:0 0 20px;font:400 26px/1.1 "Libre Caslon Display",serif}.bio-section p,.past-columns p{margin:0;font-size:16px;line-height:1.75}.bio-section p+p{margin-top:20px}.exhibition-group+.exhibition-group{margin-top:90px}.past-columns{display:grid;grid-template-columns:1fr;gap:42px}.past-columns h3{margin:0 0 16px;font:400 26px/1.1 "Libre Caslon Display",serif}
@media(max-width:760px){.drawer-links>a,.submenu-toggle{font-size:24px}
  .drawer-close {
    font-size: 13px;
  }
  .drawer-links .submenu a,
  .drawer-links .instagram {
    font-size: 13px;
  }.bio-section h2,.exhibition-group h2{font-size:22px}.bio-section p,.past-columns p{font-size:15px}.past-columns{grid-template-columns:1fr;gap:36px}.exhibition-group+.exhibition-group{margin-top:65px}}

/* Bio About: full-width justified layout */
#bio .bio-content {
  width: 100%;
  max-width: 100%;
}

#bio .bio-section:first-child {
  width: 100%;
  max-width: 100%;
}

#bio .bio-section:first-child p {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  text-align: justify;
  text-align-last: left;
}

@media (max-width: 760px) {
  #bio .bio-section:first-child p {
    text-align: left;
  }
}

/* v6: slightly larger drawer button and smaller Artwork heading */
.menu-button {
  width: 48px;
  height: 48px;
  font-size: 30px;
}

.page-heading h1 {
  font-size: 50px;
}

@media (max-width: 760px) {
  .menu-button {
    width: 36px;
    height: 36px;
    font-size: 19px;
  }

  .page-heading h1 {
    font-size: 28px;
  }
}


/* Smalls Collection */
.smalls-page{padding:140px var(--pad) 100px}.smalls-section{margin-bottom:100px}.smalls-section h1{margin:0 0 34px;padding-bottom:18px;border-bottom:1px solid var(--line);font:400 50px/.95 "Libre Caslon Display",serif}
.smalls-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  row-gap: 80px;       /* Vertical spacing */
  column-gap: 80px;    /* Horizontal spacing */
  align-items:start
}
.smalls-row-goods{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:calc(40% + 10px)}
  .small-item{display:flex;flex-direction:column;align-items:center}.small-item img{width:100%;
  height:280px;
  object-fit:contain;object-position:center bottom;
  transition:box-shadow .25s ease,transform .25s ease}.small-item:hover img{box-shadow:0 0 0 10px rgba(120,120,120,.35);transform:scale(1.01)}.small-item span{display:block;width:100%;margin-top:12px;font-size:14px;letter-spacing:.05em;text-align:center}.smalls-description{border-top:1px solid var(--line);padding-top:10px}.smalls-description p{margin:0;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}.smalls-detail-info .section-label{margin-bottom:18px}
/*@media(max-width:760px){
  .smalls-page{padding:110px var(--pad) 70px}
  .smalls-section{margin-bottom:70px}
  .smalls-section h1{font-size:32px;margin-bottom:25px}
  .smalls-row,.smalls-row-goods{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:30px 14px}.small-item img{height:210px}
}*/
@media (max-width: 760px) {
  .smalls-page {
    padding: 110px var(--pad) 70px;
  }
  .smalls-section {
    margin-bottom: 70px;
  }
  .smalls-section h1 {
    font-size: 32px;
    margin-bottom: 25px;
  }
  .smalls-row,
  .smalls-row-goods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
    row-gap: 24px;
    column-gap: 32px;
  }
  .small-item img {
    height: 210px;
  }
}


/* Subscribe popup behavior */
.signup-overlay[hidden]{display:none}
.subscribe-link{display:block;margin-top:18px;border:0;background:none;padding:0;cursor:pointer;font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:.14em;text-decoration:underline;text-underline-offset:4px}


/* Smalls Collection detail description bullets */
.smalls-description ul {
  margin: 0;
  padding-left: 20px;
}

.smalls-description li {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.6;
}

.smalls-description li:last-child {
  margin-bottom: 0;
}


/* v9: Contact links on separate lines */
.contact > a,
.contact > .subscribe-link {
  display: block;
  width: fit-content;
}

.contact > .contact-instagram {
  margin-top: 8px;
}

#detail-availability {
  margin-top: 24px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
#detail-availability[hidden] {
  display: none;
}


/* Stripe purchase panel: Print Goods only */
.smalls-purchase{margin-top:36px;border-top:1px solid var(--line);padding-top:20px}
.smalls-purchase[hidden]{display:none}
.smalls-buy-now{display:block;width:100%;padding:13px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);text-align:center;font-size:11px;letter-spacing:.13em;transition:opacity .2s ease}
.smalls-buy-now:hover,.smalls-buy-now:focus-visible{opacity:.75}
.smalls-shipping-note,.smalls-international-note,.smalls-test-note{font-size:12px;line-height:1.6;margin:12px 0 0}
.smalls-international-note{color:#555}
.smalls-test-note{font-size:11px;letter-spacing:.04em;color:#8a4c30}
.smalls-purchase + .inquiry-form{margin-top:34px}
@media(max-width:760px){.smalls-purchase{margin-top:30px}.smalls-purchase + .inquiry-form{margin-top:34px}}

@media (max-width: 760px) {
  .intro,
  .press,
  .contact {
    padding: 45px var(--pad);
  }
  .intro {
    padding-top: 65px;
  }
  .media-section-page {
    padding-top: 45px;
  }

}

/* Shipping & Returns acknowledgment — Smalls Collection */
.smalls-policy-summary{font-size:12px;line-height:1.7;margin:14px 0 16px;color:#444}
.smalls-policy-acknowledgment{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px;font-size:12px;line-height:1.65;cursor:pointer}
.smalls-policy-acknowledgment input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:var(--ink);cursor:pointer}
.smalls-policy-acknowledgment a{text-decoration:underline;text-underline-offset:3px}
.smalls-buy-now.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.smalls-buy-now.is-disabled:hover{opacity:.35}
/* Policy page */
.policy-page{max-width:850px;margin:0 auto;padding:155px var(--pad) 95px}
.policy-page h1{font:400 clamp(38px,6vw,62px)/1.05 "Libre Caslon Display",serif;margin:0 0 46px}
.policy-page h2{font:400 26px/1.2 "Libre Caslon Display",serif;margin:35px 0 13px}
.policy-page p{font-size:15px;line-height:1.85;margin:0 0 15px}
.policy-page a{text-decoration:underline;text-underline-offset:3px}
.policy-page .policy-note{font-size:13px;color:#555}
@media(max-width:760px){.policy-page{padding:115px 18px 65px}.policy-page h2{font-size:23px}.policy-page p{font-size:14px}}
