/* Umbrella Creative image, block contrast, and mobile polish — 2026-07-23 */
:root{
  --polish-ink:#0d0d0d;
  --polish-paper:#f7f4ee;
  --polish-cream:#fffdf8;
  --polish-orange:#ff4d00;
  --polish-orange-dark:#8a2b00;
  --polish-acid:#c6ff00;
  --polish-lilac:#b78bff;
  --polish-copy:#403b35;
  --polish-muted:#5b554e;
  --polish-line:rgba(13,13,13,.18);
  --polish-shadow:0 18px 48px rgba(13,13,13,.11);
}

/* Explicit text color ownership prevents inherited white-on-light failures. */
:where(.card,.service-card,.church-card,.package-card,.grant-card,.av-card,.ad-card,.pricing-card,.price-card,.agenda-day,.contact-panel,.contact-card,.service-panel,.church-panel,.soft-panel,.story-box,.guarantee-box):not(.feature-band *){
  color:var(--polish-ink)!important;
}
:where(.card,.service-card,.church-card,.package-card,.grant-card,.av-card,.ad-card,.pricing-card,.price-card,.agenda-day,.contact-panel,.contact-card,.service-panel,.church-panel,.soft-panel,.story-box,.guarantee-box):not(.feature-band *) :where(h2,h3,h4,strong,label){
  color:var(--polish-ink)!important;
  text-shadow:none!important;
}
:where(.card,.service-card,.church-card,.package-card,.grant-card,.av-card,.ad-card,.pricing-card,.price-card,.agenda-day,.contact-panel,.contact-card,.service-panel,.church-panel,.soft-panel,.story-box,.guarantee-box):not(.feature-band *) :where(p,li,small){
  color:var(--polish-copy)!important;
  text-shadow:none!important;
}

/* Image cards are images followed by readable editorial captions, never pale overlays. */
.example-image-card{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--polish-line)!important;
  border-radius:18px!important;
  background:var(--polish-cream)!important;
  box-shadow:var(--polish-shadow)!important;
  color:var(--polish-ink)!important;
  transform:none!important;
}
.example-image-card>img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:clamp(260px,38vw,460px)!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.92) contrast(1.03)!important;
}
.example-image-copy{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:22px 22px 20px!important;
  border:0!important;
  border-top:1px solid var(--polish-line)!important;
  border-radius:0!important;
  background:var(--polish-cream)!important;
  color:var(--polish-ink)!important;
  opacity:1!important;
  transform:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
.example-image-copy::before,.example-image-copy::after{display:none!important;content:none!important}
.example-image-copy :where(span,h2,h3,h4,p,strong,a){opacity:1!important;text-shadow:none!important}
.example-image-copy>span{
  display:block!important;
  margin:0 0 9px!important;
  color:var(--polish-orange-dark)!important;
  font-family:'JetBrains Mono',monospace!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  line-height:1.4!important;
  text-transform:uppercase!important;
}
.example-image-copy :where(h2,h3,h4){
  margin:0 0 10px!important;
  color:var(--polish-ink)!important;
  font-family:'Inter Tight',Arial,sans-serif!important;
  font-size:clamp(28px,3vw,42px)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  line-height:1!important;
}
.example-image-copy p{
  margin:0!important;
  color:var(--polish-copy)!important;
  font-size:16px!important;
  line-height:1.55!important;
}
.example-image-copy a{
  color:var(--polish-ink)!important;
  font-size:11px!important;
  line-height:1.5!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.example-image-copy .example-image-credit{display:inline-flex!important;margin-top:14px!important;color:var(--polish-muted)!important}

/* Editorial photography keeps an intentionally dark, high-contrast caption surface. */
.editorial-image,.ucc-editorial-insert figure{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid var(--polish-line)!important;
  border-radius:18px!important;
  background:var(--polish-ink)!important;
  box-shadow:var(--polish-shadow)!important;
}
.editorial-image>img,.ucc-editorial-insert img{
  display:block!important;
  width:100%!important;
  height:clamp(320px,56vw,680px)!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.92) contrast(1.04)!important;
}
.editorial-caption,.ucc-editorial-caption{
  position:absolute!important;
  z-index:2!important;
  right:18px!important;
  bottom:18px!important;
  left:18px!important;
  display:block!important;
  width:auto!important;
  max-width:760px!important;
  margin:0!important;
  padding:20px 22px!important;
  border:1px solid rgba(247,244,238,.24)!important;
  border-radius:14px!important;
  background:rgba(13,13,13,.92)!important;
  color:var(--polish-paper)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.24)!important;
  text-shadow:none!important;
}
.editorial-caption :where(span,strong,p,a),.ucc-editorial-caption :where(span,strong,p,a){color:var(--polish-paper)!important;opacity:1!important;text-shadow:none!important}
.editorial-caption>span,.ucc-editorial-caption>span{
  display:block!important;
  margin-bottom:8px!important;
  color:var(--polish-acid)!important;
  font-family:'JetBrains Mono',monospace!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.editorial-caption strong,.ucc-editorial-caption strong{
  display:block!important;
  color:#fff!important;
  font-family:'Inter Tight',Arial,sans-serif!important;
  font-size:clamp(25px,3.4vw,46px)!important;
  font-weight:760!important;
  letter-spacing:-.045em!important;
  line-height:1.04!important;
}
.editorial-caption .editorial-credit,.ucc-editorial-caption a{
  display:inline-flex!important;
  margin-top:12px!important;
  color:rgba(247,244,238,.82)!important;
  font-size:11px!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

/* AI and other hero-photo captions receive the same readable treatment. */
.ai-image{overflow:hidden!important;background:var(--polish-ink)!important}
.ai-image figcaption{
  position:absolute!important;
  z-index:2!important;
  right:18px!important;
  bottom:18px!important;
  left:18px!important;
  padding:18px 20px!important;
  border:1px solid rgba(247,244,238,.24)!important;
  border-radius:14px!important;
  background:rgba(13,13,13,.9)!important;
  color:#fff!important;
  font-family:'Inter Tight',Arial,sans-serif!important;
  font-size:clamp(24px,3.6vw,46px)!important;
  font-weight:760!important;
  letter-spacing:-.04em!important;
  line-height:1.04!important;
  text-shadow:none!important;
}

/* Church UX mockups: framed screen + an explicit feature caption. */
.ui-shot-figure{
  width:min(100%,390px)!important;
  margin:0!important;
  justify-self:center!important;
  overflow:hidden!important;
  border:1px solid var(--polish-line)!important;
  border-radius:20px!important;
  background:var(--polish-cream)!important;
  box-shadow:var(--polish-shadow)!important;
}
.ui-shot-figure .ui-shot{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.ui-shot-caption{
  display:block!important;
  margin:0!important;
  padding:15px 17px 16px!important;
  border-top:1px solid var(--polish-line)!important;
  background:var(--polish-cream)!important;
  color:var(--polish-copy)!important;
  font-size:14px!important;
  line-height:1.45!important;
  text-align:left!important;
}
.ui-shot-caption strong{display:block!important;margin-bottom:4px!important;color:var(--polish-ink)!important;font-size:15px!important}
.benefit-media-row{align-items:center!important}
.benefit-copy .eyebrow{color:var(--polish-orange-dark)!important}
.benefit-copy h3{color:var(--polish-ink)!important;text-wrap:balance!important}
.benefit-copy p{color:var(--polish-copy)!important}

/* Contextual Unsplash inserts. */
.ucc-editorial-insert{padding-top:36px!important;padding-bottom:clamp(72px,8vw,112px)!important}
.ucc-editorial-insert figure{max-width:1200px!important;margin:0 auto!important}

/* Prevent the mobile sticky recommendation from dominating imagery. */
@media(max-width:720px){
  .example-image-card>img{height:clamp(250px,82vw,390px)!important}
  .example-image-copy{padding:19px 18px 18px!important}
  .example-image-copy :where(h2,h3,h4){font-size:clamp(27px,8vw,38px)!important}
  .editorial-image>img,.ucc-editorial-insert img{height:clamp(280px,78vw,430px)!important}
  .editorial-caption,.ucc-editorial-caption{
    position:relative!important;
    inset:auto!important;
    max-width:none!important;
    padding:18px!important;
    border:0!important;
    border-top:1px solid rgba(247,244,238,.2)!important;
    border-radius:0!important;
    background:var(--polish-ink)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .ai-image figcaption{
    right:12px!important;
    bottom:12px!important;
    left:12px!important;
    padding:15px 16px!important;
    font-size:clamp(22px,7vw,34px)!important;
  }
  .ui-shot-figure{width:min(100%,360px)!important}
  .benefit-media-row,.benefit-media-row.reverse{gap:24px!important}
  .benefit-media-row .benefit-copy,.benefit-media-row.reverse .benefit-copy{order:0!important}
  .benefit-media-row .ui-shot-figure,.benefit-media-row.reverse .ui-shot-figure{order:1!important}
  .ucc-sticky-cta{
    grid-template-columns:minmax(0,1fr) auto 44px!important;
    gap:7px!important;
    width:calc(100% - 16px)!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  .ucc-sticky-copy strong{font-size:14px!important;line-height:1.12!important}
  .ucc-sticky-action{max-width:166px!important;padding:10px 11px!important;font-size:9px!important;white-space:normal!important}
}

@media(max-width:390px){
  .ucc-sticky-cta{grid-template-columns:minmax(0,1fr) 42px!important}
  .ucc-sticky-action{grid-column:1/-1!important;max-width:none!important;width:100%!important}
}

@media(prefers-reduced-motion:reduce){
  .example-image-card,.editorial-image,.ui-shot-figure{transition:none!important;transform:none!important}
}

/* Brand system consolidation — 2026-07-23
   One core palette, two working typefaces, and one restrained editorial accent. */
:root{
  --ink:#0d0d0d;
  --ink-soft:#292622;
  --paper:#f7f4ee;
  --paper-deep:#e9e2d7;
  --cream:#fffdf8;
  --ember:#ff4d00;
  --ember-dark:#8a2b00;
  --ember-soft:#ff8a5c;
  --acid:#ff4d00;
  --lilac:#d8cfc2;
  --muted:#5b554e;
  --focus:#0d0d0d;
  --polish-ink:#0d0d0d;
  --polish-paper:#f7f4ee;
  --polish-cream:#fffdf8;
  --polish-orange:#ff4d00;
  --polish-orange-dark:#8a2b00;
  --polish-acid:#ff8a5c;
  --polish-lilac:#d8cfc2;
  --polish-copy:#403b35;
  --polish-muted:#5b554e;
}

html,body{font-family:'Inter',Arial,sans-serif!important}
body{
  background:
    radial-gradient(circle at 88% 12%,rgba(255,77,0,.055),transparent 30rem),
    var(--paper)!important;
}

:where(
  .hero-title,.section-title,.cta-title,
  .card h3,.service-card h3,.church-card h3,.package-card h3,.grant-card h3,.av-card h3,
  .service-row h3,.benefit-copy h3,.service-panel h2,.church-panel h2,.grant-panel h2,.av-panel h2,
  .example-image-copy h3,.blog-card h3,.faq-item summary,.editorial-caption strong,
  .ucc-editorial-caption strong,.client-quote,.mega-mark
){
  font-family:'Poppins','Inter',Arial,sans-serif!important;
  font-style:normal!important;
}

:where(
  body,p,li,a,button,input,select,textarea,label,
  .logo,.logo sup,.eyebrow,.section-meta,.num,.price,.price strong,
  .btn,.nav-cta,.nav-links a,.menu-toggle,.quote-credit,
  .footer-heading,.footer-bottom,.ucc-sticky-copy strong,.ucc-sticky-action,
  .example-image-copy>span,.example-image-credit,.editorial-credit,.image-credit,
  .ui-shot-caption,.ui-shot-caption strong,.fine-print,.subtle-disclaimer
){
  font-family:'Inter',Arial,sans-serif!important;
}

.hero-title em,.section-title em,.cta-title em,.footer-tagline em{
  color:var(--ember-dark)!important;
  font-family:'Fraunces',Georgia,serif!important;
  font-style:italic!important;
  font-weight:600!important;
  text-decoration-color:var(--ember)!important;
}
.feature-band :where(.hero-title em,.section-title em,.cta-title em),
footer .footer-tagline em{color:var(--ember-soft)!important}

::selection{background:rgba(255,77,0,.28)!important;color:var(--ink)!important}
.skip-link{background:var(--cream)!important;color:var(--ink)!important}
.ucc-offer-strip{
  border-color:var(--ink)!important;
  background:var(--paper-deep)!important;
  color:var(--ink)!important;
  box-shadow:4px 4px 0 var(--ember)!important;
}
.page-hero .hero-meta span:first-child{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ember-dark)!important;
}
.page-hero::before{
  background:
    linear-gradient(90deg,transparent 0 72%,rgba(255,77,0,.9) 72% 100%),
    repeating-linear-gradient(0deg,rgba(13,13,13,.06) 0 1px,transparent 1px 30px),
    repeating-linear-gradient(90deg,rgba(13,13,13,.06) 0 1px,transparent 1px 30px),
    var(--cream)!important;
}

.nav-links a[aria-current='page']{
  background:rgba(255,77,0,.12)!important;
  box-shadow:inset 0 -3px 0 var(--ember)!important;
}
.nav-cta,.btn-primary,.ucc-sticky-action{
  border-color:var(--ember)!important;
  background:var(--ember)!important;
  color:var(--ink)!important;
}
.nav-cta:hover,.btn-primary:hover,.ucc-sticky-action:hover{
  border-color:var(--ink)!important;
  background:#ff6a2a!important;
  color:var(--ink)!important;
}
.btn-ghost:hover{background:var(--paper-deep)!important}

.section-meta::after{border-color:var(--paper-deep)!important}
:where(.cards,.service-grid,.church-grid,.package-grid,.grant-grid,.av-grid)>*{
  box-shadow:var(--surface-shadow)!important;
}
:where(
  .cards,.service-grid,.church-grid,.package-grid,.grant-grid,.av-grid
)>*:is(.dark,.featured){
  border-color:rgba(255,77,0,.38)!important;
  box-shadow:inset 0 4px 0 var(--ember),var(--surface-shadow)!important;
}

.feature-band{
  background:
    radial-gradient(circle at 90% 8%,rgba(255,77,0,.18),transparent 28rem),
    var(--ink)!important;
}
.feature-band :where(
  .card,.service-card,.church-card,.package-card,.grant-card,.av-card,.agenda-day
){
  border-color:rgba(255,253,248,.18)!important;
  background:var(--cream)!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.feature-band :where(
  .card,.service-card,.church-card,.package-card,.grant-card,.av-card,.agenda-day
) :where(h2,h3,h4,strong){
  color:var(--ink)!important;
}
.feature-band :where(
  .card,.service-card,.church-card,.package-card,.grant-card,.av-card,.agenda-day
) :where(p,li){
  color:var(--polish-copy)!important;
}
.feature-band :where(
  .card,.service-card,.church-card,.package-card,.grant-card,.av-card,.agenda-day
) :where(.eyebrow,small,.fine-print){
  color:var(--ember-dark)!important;
}
.feature-band .price strong{color:var(--ember-soft)!important}

.church-leader-brief{
  border-color:rgba(13,13,13,.18)!important;
  background:var(--paper-deep)!important;
  box-shadow:inset 0 4px 0 var(--ember)!important;
}
.church-human-moment{padding-top:24px!important}

.editorial-caption>span,.ucc-editorial-caption>span{color:var(--ember-soft)!important}
.example-image-copy>span,.benefit-copy .eyebrow{color:var(--ember-dark)!important}
.example-image-copy :where(h2,h3,h4){font-family:'Poppins','Inter',Arial,sans-serif!important}

.price strong,.price-number,.price-large,.price-tag{font-family:'Poppins','Inter',Arial,sans-serif!important}
.footer-heading{color:rgba(247,244,238,.78)!important}
footer .footer-col a:hover{background:transparent!important;text-decoration-color:var(--ember-soft)!important}
footer .mega-mark span{color:var(--ember)!important}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline-color:var(--ink)!important;
  box-shadow:0 0 0 3px var(--cream),0 0 0 6px var(--ember)!important;
}
.feature-band :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
footer :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.ucc-sticky-cta :where(a,button):focus-visible{
  outline-color:var(--cream)!important;
  box-shadow:0 0 0 3px var(--ink),0 0 0 6px var(--ember)!important;
}

@media(max-width:720px){
  .hero-title,.section-title,.cta-title{letter-spacing:-.055em!important}
  .ucc-offer-strip{font-family:'Inter',Arial,sans-serif!important}
}

/* Specificity lock: this stylesheet intentionally owns the final type roles. */
body .hero-title,
body .section-title,
body .cta-title,
body .card h3,
body .service-card h3,
body .church-card h3,
body .package-card h3,
body .grant-card h3,
body .av-card h3,
body .service-row h3,
body .benefit-copy h3,
body .service-panel h2,
body .church-panel h2,
body .grant-panel h2,
body .av-panel h2,
body .example-image-copy h3,
body .blog-card h3,
body .faq-item summary,
body .editorial-caption strong,
body .ucc-editorial-caption strong,
body .client-quote,
body .mega-mark{
  font-family:'Poppins','Inter',Arial,sans-serif!important;
  font-style:normal!important;
}

body .hero-title em,
body .section-title em,
body .cta-title em,
body .footer-tagline em{
  font-family:'Fraunces',Georgia,serif!important;
  font-style:italic!important;
}

body .logo,
body .logo sup,
body .eyebrow,
body .section-meta,
body .num,
body .price,
body .price strong,
body .btn,
body .nav-cta,
body .nav-links a,
body .menu-toggle,
body .quote-credit,
body .footer-heading,
body .footer-bottom,
body .ucc-sticky-copy strong,
body .ucc-sticky-action,
body .example-image-copy>span,
body .example-image-credit,
body .editorial-credit,
body .image-credit,
body .ui-shot-caption,
body .ui-shot-caption strong,
body .fine-print,
body .subtle-disclaimer{
  font-family:'Inter',Arial,sans-serif!important;
}

/* Second-pass QA lock — remove the last legacy type roles and contrast leaks. */
body[class] :is(h1,h2,h3,h4,h5,h6){
  font-family:'Poppins','Inter',Arial,sans-serif!important;
  font-style:normal!important;
}

body[class] :is(h1,h2,h3,h4,h5,h6) :is(span,strong),
body[class] strong{
  font-family:inherit!important;
}

body[class] :is(
  p,li,a,button,input,select,textarea,label,figcaption,dt,dd,small,span
){
  font-family:'Inter',Arial,sans-serif!important;
}

body[class] :is(.metric-card,.stat-card) strong,
body[class] :is(.price-number,.price-large,.price-tag){
  font-family:'Poppins','Inter',Arial,sans-serif!important;
}

body .footer-tagline{
  font-family:'Inter',Arial,sans-serif!important;
}

body :is(.hero-title,.section-title,.cta-title,.footer-tagline) em{
  font-family:'Fraunces',Georgia,serif!important;
  font-style:italic!important;
}

body .feature-band :is(
  .card,.agenda-day,.package-card,.example-card,.grant-card,.av-card
) .eyebrow,
body .feature-band .example-card>span{
  color:var(--ember-dark)!important;
}

body .legal-card a:not(.btn){
  color:var(--ember-dark)!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}

body :is(
  .visual-note,.meta-image-caption,.editorial-caption,.ucc-editorial-caption
) :is(.image-credit,.editorial-credit,.example-image-credit){
  color:rgba(247,244,238,.88)!important;
}

body :is(
  .visual-note,.meta-image-caption,.editorial-caption,.ucc-editorial-caption
) :is(.image-credit,.editorial-credit,.example-image-credit):hover,
body :is(
  .visual-note,.meta-image-caption,.editorial-caption,.ucc-editorial-caption
) :is(.image-credit,.editorial-credit,.example-image-credit):focus-visible{
  color:var(--cream)!important;
}
