/* OGA GOLD RC1 V4.37 — clean structural hero components.
   These selectors are new component contracts, not patches over legacy hero classes. */
:root{
  --oga437-ink:#171513;
  --oga437-accent:#a55245;
  --oga437-paper:#f6f1ec;
  --oga437-container:1640px;
  --oga437-gutter:clamp(18px,3vw,42px);
}

/* CONTACT — independent full-bleed component */
body.oga-build-45 .oga-contact-hero-clean{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  height:clamp(280px,23vw,390px);
  margin:0 0 38px;
  padding:0;
  overflow:hidden;
  background:#eee8df;
}
body.oga-build-45 .oga-contact-hero-clean__media,
body.oga-build-45 .oga-contact-hero-clean__media img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
}
body.oga-build-45 .oga-contact-hero-clean__media img{
  object-fit:cover;
  object-position:center 56%;
}
body.oga-build-45 .oga-contact-hero-clean::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.12) 40%,rgba(255,255,255,0) 68%);
  pointer-events:none;
}
body.oga-build-45 .oga-contact-hero-clean__inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  width:min(100%,var(--oga437-container));
  height:100%;
  margin:0 auto;
  padding:0 var(--oga437-gutter);
  box-sizing:border-box;
}
body.oga-build-45 .oga-contact-hero-clean__inner h1{
  width:min(560px,48%);
  margin:0;
  color:var(--oga437-ink);
  font-size:clamp(27px,2.3vw,38px);
  font-weight:500;
  line-height:1.08;
  text-shadow:none;
}

/* LEGAL — one reusable full-width component */
body.oga-build-45 .oga-legal-hero-clean{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  height:190px;
  margin:0 0 28px;
  padding:0;
  overflow:hidden;
  border:0;
  background:#e7e1da url('../images/oga109/legal-hero-v427.webp') center/cover no-repeat;
  box-shadow:none;
}
body.oga-build-45 .oga-legal-hero-clean::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.62),rgba(255,255,255,.28) 58%,rgba(255,255,255,.08));
  pointer-events:none;
}
body.oga-build-45 .oga-legal-hero-clean__inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
}
body.oga-build-45 .oga-legal-hero-clean__copy{
  width:min(760px,calc(100% - 36px));
  margin:0;
  padding-left:clamp(96px,8.6vw,144px);
  box-sizing:border-box;
}
body.oga-build-45 .oga-legal-hero-clean__copy span{
  display:block;
  margin:0 0 6px;
  color:var(--oga437-accent);
  font-size:11px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body.oga-build-45 .oga-legal-hero-clean__copy h1{
  margin:0;
  color:var(--oga437-ink);
  font-size:clamp(25px,1.9vw,31px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.02em;
  text-shadow:none;
}

/* ARTIST-FILTERED CATALOG — independent full-bleed portfolio hero */
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  min-height:310px;
  margin:0 0 34px;
  padding:0;
  overflow:hidden;
  background:#d8d0c9;
  isolation:isolate;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--oga-portfolio-cover);
  background-size:cover;
  background-position:center 42%;
  background-repeat:no-repeat;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(20,17,15,.16),rgba(20,17,15,.06) 45%,rgba(20,17,15,.22));
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:min(100%,var(--oga437-container));
  min-height:310px;
  margin:0 auto;
  padding:32px var(--oga437-gutter);
  box-sizing:border-box;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__identity{
  display:flex;
  align-items:center;
  gap:24px;
  min-width:0;
  max-width:920px;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__portrait{
  width:132px;
  height:132px;
  flex:0 0 132px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid rgba(255,255,255,.92);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__copy{
  min-width:0;
  padding:18px 22px;
  background:rgba(24,21,19,.44);
  backdrop-filter:blur(2px);
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__copy span{
  color:#fff;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__copy h1{
  margin:5px 0 7px;
  color:#fff;
  font-size:clamp(28px,2.6vw,42px);
  line-height:1.03;
  font-weight:600;
  text-shadow:none;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__copy blockquote{
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.45;
  font-style:italic;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 17px;
  border:1px solid rgba(255,255,255,.78);
  background:rgba(20,17,15,.34);
  color:#fff;
  text-decoration:none;
  font-weight:600;
}
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__cta:hover,
body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__cta:focus-visible{
  background:var(--oga437-accent);
  border-color:var(--oga437-accent);
  color:#fff;
}

@media(max-width:1024px){
  body.oga-build-45 .oga-contact-hero-clean{height:290px}
  body.oga-build-45 .oga-contact-hero-clean__inner h1{width:min(520px,60%)}
  body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean,
  body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__inner{min-height:280px}
}
@media(max-width:700px){
  body.oga-build-45 .oga-contact-hero-clean{height:245px;margin-bottom:26px}
  body.oga-build-45 .oga-contact-hero-clean__media img{object-position:58% center}
  body.oga-build-45 .oga-contact-hero-clean__inner{padding:0 18px}
  body.oga-build-45 .oga-contact-hero-clean__inner h1{width:72%;font-size:28px}
  body.oga-build-45 .oga-legal-hero-clean{height:150px}
  body.oga-build-45 .oga-legal-hero-clean__copy{width:100%;padding-left:18px;padding-right:18px}
  body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__inner{display:block;min-height:0;padding:24px 18px}
  body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__identity{display:block;max-width:none}
  body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__portrait{width:92px;height:92px;display:block;margin:0 0 12px}
  body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__copy{padding:14px 16px}
  body.oga-build-45.oga-artist-portfolio-page .oga-portfolio-hero-clean__cta{margin-top:14px}
}

/* Full-bleed page shell: hero is viewport-width by structure; body content returns to the site grid. */
body.oga-build-45 .oga-page--fullbleed,
body.oga-build-45 .oga-page-fullbleed{width:100%;max-width:none;margin:0;padding:0}
body.oga-build-45 .oga-page--fullbleed .oga-contact-body,
body.oga-build-45 .oga-page--fullbleed .oga-legal-summary,
body.oga-build-45 .oga-page--fullbleed .oga-legal-layout,
body.oga-build-45 .oga-page--fullbleed .oga991-certificate-page-image{
  width:min(calc(100% - (2 * var(--oga437-gutter))),var(--oga437-container));
  max-width:var(--oga437-container);
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
body.oga-build-45 .oga-page--fullbleed .oga-contact-map{width:100%;max-width:none;margin-left:0;margin-right:0}

/* Artist portfolio catalog body remains aligned to the normal grid below the rebuilt hero. */
body.oga-build-45 .oga-archive-artist-filter .oga-catalog-body{width:min(calc(100% - (2 * var(--oga437-gutter))),var(--oga437-container));max-width:var(--oga437-container);margin-left:auto;margin-right:auto}

@media(max-width:700px){
  body.oga-build-45 .oga-page--fullbleed .oga-contact-body,
  body.oga-build-45 .oga-page--fullbleed .oga-legal-summary,
  body.oga-build-45 .oga-page--fullbleed .oga-legal-layout,
  body.oga-build-45 .oga-page--fullbleed .oga991-certificate-page-image,
  body.oga-build-45 .oga-archive-artist-filter .oga-catalog-body{width:calc(100% - 36px)}
}
