/* =========================================================
   Airbrush Some Stuff V57 — Readability + whole-word headline polish
   Research-informed pass: preserve word boundaries, establish clear
   hierarchy, and guarantee high contrast on dark/light surfaces.
   ========================================================= */
:root{
  --v57-ink:#111714;
  --v57-dark:#07141a;
  --v57-dark-2:#0b2028;
  --v57-paper:#fffdf8;
  --v57-paper-2:#f7f4ec;
  --v57-cyan:#00a9d6;
  --v57-cyan-bright:#00cfee;
  --v57-orange:#f36b18;
  --v57-light:#f7fbfc;
  --v57-copy-light:#c7d5da;
  --v57-copy:#46565d;
}

/* ---------------------------------------------------------
   1. HERO HEADLINES — never break inside a word
   --------------------------------------------------------- */
body.theme-v38 main h1,
body.theme-v38 main h1 *,
body.theme-v38 main h2,
body.theme-v38 main h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.theme-v38 main h1:not(.v38-home-title){
  letter-spacing:-.012em!important;
  word-spacing:.16em!important;
  line-height:.94!important;
  text-wrap:pretty!important;
  max-width:12.5ch!important;
}
body.theme-v38 main h1.v57-word-safe{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline;
  column-gap:.16em!important;
  row-gap:0!important;
  word-spacing:normal!important;
  max-width:12.8ch!important;
}
body.theme-v38 main h1.v57-word-safe .v57-word{
  display:inline-block!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  letter-spacing:inherit!important;
}
body.theme-v38 main h1.v57-word-safe .v38-serif-accent{
  margin-left:0!important;
  word-spacing:normal!important;
}
/* Search has room for a more natural two-line statement. */
body.theme-v38 .search-page h1.v57-word-safe{max-width:15ch!important}
body.theme-v38 .learn-hero h1.v57-word-safe{max-width:13.5ch!important}
body.theme-v38 .pc-hero h1.v57-word-safe{max-width:13ch!important}
body.theme-v38 :is(.group-hero,.fundraiser-hero,.school-hero,.event-guide-hero,.design-hero,.file-prep-hero,.production-hero,.pricing-center-hero,.deadline-hero) h1.v57-word-safe{max-width:13.5ch!important}
/* Explicitly structured heroes (Shop, About, Events, etc.) keep their lines,
   but words themselves must stay intact. */
body.theme-v38 :is(.shop-rack-hero,.studio-story-hero,.services-atelier-hero,.event-poster-hero,.contact-router-hero,.video-theater-hero,.editorial-blog-hero) h1{
  max-width:12ch!important;
  letter-spacing:-.012em!important;
  word-spacing:.15em!important;
  line-height:.93!important;
}
body.theme-v38 :is(.shop-rack-hero,.studio-story-hero,.services-atelier-hero,.event-poster-hero,.contact-router-hero,.video-theater-hero,.editorial-blog-hero) h1 em{
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}

/* ---------------------------------------------------------
   2. PROJECT COMBINATION CARDS — dark surface = light hierarchy
   --------------------------------------------------------- */
body.theme-v38 .bundle-grid article{
  background:linear-gradient(145deg,#0b2028,#07141a)!important;
  border:1px solid rgba(0,169,214,.22)!important;
  box-shadow:0 14px 30px rgba(17,23,20,.10)!important;
  min-height:270px;
  padding:28px!important;
}
body.theme-v38 .bundle-grid small{
  color:var(--v57-cyan-bright)!important;
  -webkit-text-fill-color:var(--v57-cyan-bright)!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.15em!important;
}
body.theme-v38 .bundle-grid h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:var(--v38-condensed)!important;
  font-size:clamp(24px,1.8vw,30px)!important;
  line-height:1.03!important;
  letter-spacing:-.02em!important;
  margin:14px 0 16px!important;
}
body.theme-v38 .bundle-grid p{
  color:var(--v57-copy-light)!important;
  -webkit-text-fill-color:var(--v57-copy-light)!important;
  font-size:14px!important;
  line-height:1.6!important;
  margin:0 0 20px!important;
}
body.theme-v38 .bundle-grid a{
  color:var(--v57-cyan-bright)!important;
  -webkit-text-fill-color:var(--v57-cyan-bright)!important;
  font-size:13px!important;
  font-weight:900!important;
  margin-top:auto;
}

/* ---------------------------------------------------------
   3. PROJECT WIZARD CHOICES — readable labels + clear selected state
   --------------------------------------------------------- */
body.theme-v38 .wizard-choice-grid{gap:14px!important}
body.theme-v38 .wizard-choice-grid span{
  position:relative;
  min-height:94px!important;
  padding:22px 22px 22px 52px!important;
  background:linear-gradient(145deg,#101c22,#07141a)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid rgba(0,169,214,.24)!important;
  border-radius:18px!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:850!important;
  box-shadow:0 5px 0 rgba(17,23,20,.28)!important;
}
body.theme-v38 .wizard-choice-grid span:before{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:12px!important;
  height:12px!important;
  border-radius:50%!important;
  background:#40515a!important;
  border:2px solid #80919a!important;
  box-shadow:none!important;
}
body.theme-v38 .wizard-choice-grid input:focus-visible+span{
  outline:3px solid rgba(0,207,238,.42)!important;
  outline-offset:3px!important;
}
body.theme-v38 .wizard-choice-grid input:checked+span{
  background:var(--v57-cyan)!important;
  color:var(--v57-ink)!important;
  -webkit-text-fill-color:var(--v57-ink)!important;
  border-color:var(--v57-cyan)!important;
  box-shadow:0 5px 0 #087b9d,0 0 0 4px rgba(0,169,214,.15)!important;
}
body.theme-v38 .wizard-choice-grid input:checked+span:before{
  background:var(--v57-orange)!important;
  border-color:var(--v57-ink)!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.45)!important;
}

/* ---------------------------------------------------------
   4. PROJECT PATH IMAGE CARDS — text stays readable over artwork
   --------------------------------------------------------- */
body.theme-v38 .pc-path-card{border-color:rgba(17,23,20,.14)!important;box-shadow:0 16px 34px rgba(17,23,20,.12)}
body.theme-v38 .pc-path-card>img{opacity:.88!important;filter:saturate(.9) contrast(.95)!important}
body.theme-v38 .pc-path-card:after{
  background:linear-gradient(180deg,rgba(4,12,17,.04) 4%,rgba(4,12,17,.28) 36%,rgba(4,12,17,.90) 68%,rgba(4,12,17,.98) 100%)!important;
}
body.theme-v38 .pc-path-card>div{inset:auto 26px 24px!important}
body.theme-v38 .pc-path-card small{
  color:var(--v57-cyan-bright)!important;
  -webkit-text-fill-color:var(--v57-cyan-bright)!important;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
body.theme-v38 .pc-path-card h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:var(--v38-condensed)!important;
  font-size:clamp(24px,2vw,31px)!important;
  line-height:1.03!important;
  letter-spacing:-.02em!important;
  margin:9px 0 16px!important;
  text-shadow:0 2px 12px rgba(0,0,0,.66)!important;
}
body.theme-v38 .pc-path-card button{
  color:var(--v57-cyan-bright)!important;
  -webkit-text-fill-color:var(--v57-cyan-bright)!important;
  font-size:15px!important;
  font-weight:900!important;
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}

/* ---------------------------------------------------------
   5. ALL OTHER DARK PROJECT-CENTER PANELS — safe contrast
   --------------------------------------------------------- */
body.theme-v38 :is(.process-roadmap-grid article,.calculator-card,.school-checklist,.design-proof-card,.what-next-box) :is(h2,h3,strong,b),
body.theme-v38 .process-roadmap>h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.theme-v38 :is(.process-roadmap-grid article,.calculator-card,.school-checklist,.design-proof-card,.what-next-box) p,
body.theme-v38 .what-next-box span{
  color:var(--v57-copy-light)!important;
  -webkit-text-fill-color:var(--v57-copy-light)!important;
}
body.theme-v38 .process-roadmap-grid span,
body.theme-v38 .what-next-box strong{color:var(--v57-cyan-bright)!important;-webkit-text-fill-color:var(--v57-cyan-bright)!important}

/* ---------------------------------------------------------
   6. MURAL COST EXPLANATION — light cards = dark typography
   --------------------------------------------------------- */
body.theme-v38.page-murals .mural-cost-info{
  background:var(--v57-paper-2)!important;
  color:var(--v57-ink)!important;
}
body.theme-v38.page-murals .mural-cost-info>div:first-child h2{
  color:var(--v57-ink)!important;
  -webkit-text-fill-color:var(--v57-ink)!important;
  font-size:clamp(46px,5vw,76px)!important;
  line-height:.95!important;
}
body.theme-v38.page-murals .cost-info-grid article{
  background:#fff!important;
  border:1px solid rgba(17,23,20,.15)!important;
  box-shadow:0 10px 24px rgba(17,23,20,.06)!important;
  padding:26px!important;
}
body.theme-v38.page-murals .cost-info-grid b{
  display:block;
  color:var(--v57-ink)!important;
  -webkit-text-fill-color:var(--v57-ink)!important;
  font-family:var(--v38-condensed)!important;
  font-size:clamp(22px,2vw,28px)!important;
  line-height:1!important;
  margin-bottom:13px!important;
}
body.theme-v38.page-murals .cost-info-grid p{
  color:var(--v57-copy)!important;
  -webkit-text-fill-color:var(--v57-copy)!important;
  font-size:16px!important;
  line-height:1.62!important;
  margin:0!important;
}

/* ---------------------------------------------------------
   7. KNOWLEDGE + SEARCH + SHOP HERO readability
   --------------------------------------------------------- */
body.theme-v38 .learn-hero>div:first-child,
body.theme-v38 .shop-rack-copy,
body.theme-v38 .search-page{
  min-width:0;
}
body.theme-v38 .learn-hero h1,
body.theme-v38 .shop-rack-hero h1,
body.theme-v38 .search-page h1{
  overflow:visible!important;
}
body.theme-v38 .learn-hero p,
body.theme-v38 .shop-rack-copy p,
body.theme-v38 .search-page p{
  font-size:clamp(16px,1.3vw,19px)!important;
  line-height:1.65!important;
}

/* Ensure small text in cards is not over-compressed. */
body.theme-v38 :is(.bundle-grid,.pc-path-grid,.wizard-choice-grid,.cost-info-grid) :is(p,a,button,span){letter-spacing:normal}

/* ---------------------------------------------------------
   RESPONSIVE — keep whole words and readable hierarchy
   --------------------------------------------------------- */
@media(max-width:1100px){
  body.theme-v38 main h1.v57-word-safe{max-width:14ch!important}
  body.theme-v38 .bundle-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.theme-v38 .bundle-grid article{min-height:240px}
}
@media(max-width:760px){
  body.theme-v38 main h1:not(.v38-home-title){
    font-size:clamp(44px,13vw,70px)!important;
    line-height:.96!important;
    letter-spacing:-.006em!important;
    word-spacing:.12em!important;
    max-width:100%!important;
  }
  body.theme-v38 main h1.v57-word-safe{
    max-width:100%!important;
    column-gap:.12em!important;
  }
  body.theme-v38 :is(.shop-rack-hero,.studio-story-hero,.services-atelier-hero,.event-poster-hero,.contact-router-hero,.video-theater-hero,.editorial-blog-hero) h1{max-width:100%!important}
  body.theme-v38 .bundle-grid{grid-template-columns:1fr!important}
  body.theme-v38 .bundle-grid article{min-height:0;padding:24px 22px!important}
  body.theme-v38 .wizard-choice-grid{grid-template-columns:1fr!important}
  body.theme-v38 .wizard-choice-grid span{min-height:76px!important}
  body.theme-v38 .pc-path-card{min-height:330px!important}
  body.theme-v38.page-murals .cost-info-grid p{font-size:15px!important}
}

@media(prefers-contrast:more){
  body.theme-v38 .bundle-grid h3,
  body.theme-v38 .pc-path-card h2,
  body.theme-v38 .wizard-choice-grid span{color:#fff!important;-webkit-text-fill-color:#fff!important}
  body.theme-v38.page-murals .cost-info-grid p{color:#27363c!important;-webkit-text-fill-color:#27363c!important}
}
