/* Randy Weiss Hub v19 — editorial navy / ivory / gold redesign
   Keeps the existing editable content and media while removing card borders,
   glass panels, bubbles, and rounded image containers. */

.rwh-front{
  --rwh-navy:#031d38;
  --rwh-navy-deep:#01162c;
  --rwh-navy-soft:#0a3157;
  --rwh-gold:#c89a43;
  --rwh-gold-light:#ddb76c;
  --rwh-ivory:#f7f4ed;
  --rwh-paper:#fffdf8;
  --rwh-ink:#12263d;
  --rwh-copy:#405266;
  --rwh-max:1420px;
  font-family:"Avenir Next",Avenir,Montserrat,"Helvetica Neue",Arial,sans-serif;
  color:var(--rwh-ink)!important;
  background:var(--rwh-paper);
  width:100vw;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.rwh-front *{box-sizing:border-box}
.rwh-front a{text-decoration:none!important}
.rwh-front img{border-radius:0!important}
.rwh-front .rwh-img-box{border-radius:0!important;border:0!important;box-shadow:none!important}
.rwh-front .rwh-card-soft{border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important}

.rwh-section-wide,
.rwh-section-contained{
  position:relative;
  width:min(calc(100% - 64px),var(--rwh-max));
  margin-left:auto!important;
  margin-right:auto!important;
}
.rwh-section-contained{width:min(calc(100% - 64px),1220px)}

/* Editorial typography */
.rwh-kicker{
  display:block;
  padding:0!important;
  margin:0 0 14px!important;
  color:var(--rwh-gold)!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:.76rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.19em!important;
  text-transform:uppercase;
}
.rwh-kicker:before{display:none!important}
.rwh-front h1,
.rwh-front h2,
.rwh-front h3{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}
.rwh-front h2{
  color:var(--rwh-navy)!important;
  font-size:clamp(2.55rem,4.4vw,4.85rem)!important;
  line-height:.98!important;
  margin:.08em 0 .3em!important;
}
.rwh-rich{
  color:var(--rwh-copy)!important;
  font-size:clamp(1.02rem,1.08vw,1.17rem)!important;
  line-height:1.82!important;
  font-weight:500!important;
}
.rwh-rich p{max-width:72ch;margin-top:0;margin-bottom:1.1em}
.rwh-rich p:last-child{margin-bottom:0}

/* Hero — dark, simple, image blended into the field instead of sitting in a card */
.rwh-hero{
  width:100%!important;
  max-width:none!important;
  min-height:640px;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);
  align-items:stretch;
  gap:0;
  margin:0!important;
  padding:0 max(32px,calc((100vw - var(--rwh-max))/2))!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 66% 24%,rgba(200,154,67,.10),transparent 22%),
    radial-gradient(circle at 44% 46%,rgba(27,74,116,.45),transparent 42%),
    linear-gradient(105deg,var(--rwh-navy-deep) 0%,var(--rwh-navy) 58%,#082c50 100%);
  position:relative;
}
.rwh-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 44%,rgba(255,255,255,.05),transparent 34%),
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.025) 50%,transparent 100%);
  pointer-events:none;
}
.rwh-hero-copy{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:760px;
  padding:74px 38px 56px 0;
}
.rwh-hero h1,
.rwh-video-hero h1{
  color:#fff!important;
  font-size:clamp(4.25rem,7.1vw,8.1rem)!important;
  line-height:.88!important;
  margin:.04em 0 .2em!important;
  letter-spacing:-.055em!important;
  text-shadow:0 12px 34px rgba(0,0,0,.22);
}
.rwh-hero h1:after{
  content:"";
  display:block;
  width:92px;
  height:4px;
  margin-top:24px;
  background:var(--rwh-gold);
}
.rwh-hero p,
.rwh-video-hero p{
  max-width:650px;
  margin:0!important;
  color:rgba(255,255,255,.91)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.2rem,1.55vw,1.62rem)!important;
  line-height:1.48!important;
  font-weight:400!important;
}
.rwh-hero-image{
  position:relative;
  z-index:1;
  min-height:640px!important;
  align-self:stretch;
  background:transparent!important;
  overflow:visible!important;
}
.rwh-hero-image>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--focus,50% 50%)!important;
  transform:scale(var(--zoom,1))!important;
  transform-origin:center!important;
  filter:saturate(.93) contrast(1.02);
}
.rwh-hero-image:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:
    linear-gradient(90deg,var(--rwh-navy) 0%,rgba(3,29,56,.78) 10%,rgba(3,29,56,.12) 42%,transparent 72%),
    linear-gradient(0deg,rgba(1,22,44,.42),transparent 35%);
  pointer-events:none;
}
.rwh-hero-image:after{display:none!important}
.rwh-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.rwh-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:45px;
  padding:11px 18px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:.92rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.rwh-button-primary{background:var(--rwh-gold)!important;color:#fff!important}
.rwh-button-primary:hover{background:var(--rwh-gold-light)!important;transform:translateY(-2px)}
.rwh-button-ghost{background:rgba(255,255,255,.09)!important;color:#fff!important}
.rwh-button-ghost:hover{background:rgba(255,255,255,.16)!important;transform:translateY(-2px)}

/* Quick navigation in the hero: no rounded boxes, just a restrained editorial strip */
.rwh-hero-links{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  width:min(820px,100%);
  margin-top:34px;
  background:rgba(255,255,255,.055);
}
.rwh-hero-links a{
  display:flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(.9rem,1vw,1.05rem);
  text-align:center;
  transition:background .2s ease,color .2s ease;
}
.rwh-hero-links a:hover{background:rgba(200,154,67,.17)!important;color:var(--rwh-gold-light)!important}

/* Work / media strip — imagery stays, but not inside rounded cards */
.rwh-work-wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:72px 0 78px!important;
  background:var(--rwh-ivory)!important;
  color:var(--rwh-ink)!important;
}
.rwh-work-wrap:before{display:none!important}
.rwh-work-wrap>.rwh-section-head,
.rwh-work-grid{
  width:min(calc(100% - 64px),var(--rwh-max));
  margin-left:auto!important;
  margin-right:auto!important;
}
.rwh-section-head{
  max-width:850px;
  margin:0 0 38px!important;
  text-align:left!important;
}
.rwh-section-head h2{margin-bottom:.22em!important}
.rwh-section-head p{
  margin:0!important;
  color:#586575!important;
  max-width:730px;
  font-size:1.08rem!important;
  line-height:1.65!important;
  font-weight:500!important;
}
.rwh-work-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  align-items:stretch;
}
.rwh-work-card{
  display:flex!important;
  flex-direction:column;
  min-height:100%;
  margin:0!important;
  padding:0 clamp(20px,2vw,30px) 4px!important;
  color:var(--rwh-ink)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
  transition:background .22s ease,transform .22s ease;
}
.rwh-work-card:first-child{padding-left:0!important}
.rwh-work-card:last-child{padding-right:0!important}
.rwh-work-card:hover{transform:translateY(-3px)!important;background:rgba(255,255,255,.38)!important}
.rwh-work-img{
  width:100%;
  height:220px!important;
  min-height:220px!important;
  flex:0 0 220px!important;
  background:#dedbd3!important;
  overflow:hidden!important;
}
.rwh-work-img>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:var(--fit,cover)!important;
  object-position:var(--focus,50% 50%)!important;
  transform:scale(var(--zoom,1))!important;
}
.rwh-work-img:after{display:none!important}
.rwh-work-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:0!important;
  padding:24px 0 14px!important;
}
.rwh-work-copy h3{
  min-height:0!important;
  color:var(--rwh-navy)!important;
  font-size:clamp(1.8rem,2.2vw,2.45rem)!important;
  line-height:1!important;
  margin:0 0 10px!important;
}
.rwh-work-copy p{
  margin:0 0 18px!important;
  color:#394a5d!important;
  font-size:.98rem!important;
  line-height:1.58!important;
  font-weight:500!important;
}
.rwh-work-copy b,
.rwh-card-button{
  display:inline-flex!important;
  width:max-content;
  margin-top:auto!important;
  padding:9px 13px!important;
  background:var(--rwh-gold)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:.86rem!important;
  line-height:1.1!important;
  font-weight:800!important;
}
.rwh-music-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}

/* Story */
.rwh-story{
  width:min(calc(100% - 64px),1220px)!important;
  display:grid!important;
  grid-template-columns:minmax(330px,var(--story-img)) minmax(0,1fr)!important;
  gap:clamp(42px,6vw,86px)!important;
  align-items:center!important;
  padding:100px 0!important;
  background:#fff;
}
.rwh-story-image{
  min-height:620px!important;
  background:#e7e4dd!important;
  overflow:hidden!important;
}
.rwh-story-image>img,
.rwh-feature-image>img,
.rwh-family-image>img,
.rwh-mini-gallery .rwh-img-box>img,
.rwh-family-gallery .rwh-img-box>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:var(--fit,cover)!important;
  object-position:var(--focus,50% 50%)!important;
  transform:scale(var(--zoom,1))!important;
}
.rwh-story-copy{
  padding:0!important;
  background:transparent!important;
}
.rwh-story-copy:before,
.rwh-story-copy:after{display:none!important}
.rwh-story-copy .rwh-rich p,
.rwh-feature-copy .rwh-rich p,
.rwh-family-copy .rwh-rich p,
.rwh-timeline-media .rwh-rich p{
  padding:0!important;
  border:0!important;
  background:none!important;
}
.rwh-story-copy .rwh-rich p:first-child{
  padding:0!important;
  margin-bottom:1.1em!important;
  color:var(--rwh-copy)!important;
  background:none!important;
  font-weight:500!important;
}
.rwh-story-copy .rwh-rich p:first-child:first-letter{float:none!important;font-size:inherit!important;padding:0!important;color:inherit!important}

/* Timeline — dark editorial field with a clean scroll column */
.rwh-timeline-wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:92px 0 96px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 84% 28%,rgba(200,154,67,.09),transparent 24%),
    linear-gradient(115deg,var(--rwh-navy-deep),var(--rwh-navy))!important;
}
.rwh-timeline-wrap:before{display:none!important}
.rwh-timeline-wrap>.rwh-section-head,
.rwh-timeline-layout{
  width:min(calc(100% - 64px),var(--rwh-max));
  margin-left:auto!important;
  margin-right:auto!important;
}
.rwh-timeline-wrap .rwh-section-head{max-width:900px;margin-bottom:44px!important}
.rwh-timeline-wrap .rwh-section-head h2{color:#fff!important}
.rwh-timeline-wrap .rwh-section-head p{color:rgba(255,255,255,.72)!important}
.rwh-timeline-layout{
  display:grid!important;
  grid-template-columns:minmax(340px,var(--timeline-left)) minmax(0,1fr)!important;
  gap:clamp(44px,6vw,88px)!important;
  align-items:start!important;
}
.rwh-timeline-media{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.rwh-timeline-media .rwh-rich{
  padding:0!important;
  color:rgba(255,255,255,.84)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.rwh-timeline-media .rwh-rich p{color:rgba(255,255,255,.84)!important}
.rwh-mini-gallery{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:28px!important;
}
.rwh-mini-gallery figure,
.rwh-family-gallery figure{margin:0!important;position:relative!important;overflow:hidden!important}
.rwh-mini-gallery .rwh-img-box{min-height:190px!important;background:#102e4e!important}
.rwh-mini-gallery figure:first-child{grid-column:1/-1}
.rwh-mini-gallery figure:first-child .rwh-img-box{min-height:280px!important}
.rwh-mini-gallery figcaption,
.rwh-family-gallery figcaption{
  margin:7px 0 0!important;
  padding:0!important;
  color:rgba(255,255,255,.7)!important;
  background:none!important;
  border-radius:0!important;
  font-size:.84rem!important;
}
.rwh-timeline-scroll{
  height:var(--timeline-height);
  overflow-y:auto;
  padding:0 20px 0 0!important;
  scrollbar-width:thin;
  scrollbar-color:var(--rwh-gold) rgba(255,255,255,.08);
}
.rwh-timeline-scroll::-webkit-scrollbar{width:7px}
.rwh-timeline-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.08)}
.rwh-timeline-scroll::-webkit-scrollbar-thumb{background:var(--rwh-gold)}
.rwh-time-card{
  position:relative;
  min-height:0!important;
  margin:0 0 34px!important;
  padding:0 0 0 26px!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.rwh-time-card:before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:5px;
  height:48px;
  background:var(--rwh-gold);
}
.rwh-time-card strong{
  color:var(--rwh-gold-light)!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
}
.rwh-time-card h3{
  margin:8px 0 8px!important;
  color:#fff!important;
  font-size:clamp(1.65rem,2vw,2.25rem)!important;
  line-height:1.06!important;
}
.rwh-time-card p{
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:1rem!important;
  line-height:1.62!important;
  font-weight:500!important;
}

/* Current ministry */
.rwh-feature{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(420px,var(--feature-img))!important;
  gap:0!important;
  align-items:stretch!important;
  background:var(--rwh-ivory)!important;
}
.rwh-feature-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:600px;
  padding:84px max(48px,calc((100vw - 1220px)/2)) 84px max(32px,calc((100vw - 1220px)/2))!important;
  background:transparent!important;
}
.rwh-feature-image{
  min-height:600px!important;
  background:#dedbd3!important;
  overflow:hidden!important;
}

/* Family / legacy */
.rwh-family{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
.rwh-family-card{
  width:min(calc(100% - 64px),1220px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(420px,48%)!important;
  gap:clamp(42px,6vw,80px)!important;
  align-items:center!important;
  padding:96px 0!important;
  background:transparent!important;
}
.rwh-family-copy{padding:0!important;background:transparent!important}
.rwh-family-image{min-height:540px!important;background:#e7e4dd!important;overflow:hidden!important}
.rwh-family-gallery{
  width:min(calc(100% - 64px),1220px)!important;
  margin:-50px auto 90px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.rwh-family-gallery .rwh-img-box{min-height:240px!important;background:#e7e4dd!important}
.rwh-family-gallery figcaption{color:#667180!important}

/* Standalone music video shortcode — same visual language */
.rwh-videos-page{background:var(--rwh-paper)!important}
.rwh-video-hero{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:92px max(32px,calc((100vw - 1220px)/2)) 80px!important;
  color:#fff!important;
  background:linear-gradient(110deg,var(--rwh-navy-deep),var(--rwh-navy))!important;
}
.rwh-video-hero .rwh-kicker{color:var(--rwh-gold)!important}
.rwh-video-list{padding:72px 0 96px!important}
.rwh-video-card,
.rwh-video-item{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.rwh-video-thumb,
.rwh-video-frame,
.rwh-video-card iframe,
.rwh-video-item iframe{border-radius:0!important}

/* Image engine */
.rwh-img-box{position:relative;overflow:hidden;background:#e7e4dd!important}
.rwh-img-box>img{z-index:0}
.rwh-img-box>*:not(img){position:relative;z-index:2}
.rwh-img-box:before,.rwh-img-box:after{z-index:1}

/* Responsive */
@media (max-width:1180px){
  .rwh-hero{grid-template-columns:1.02fr .98fr;padding-left:32px!important;padding-right:0!important}
  .rwh-hero-copy{padding-right:26px}
  .rwh-hero-links{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rwh-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:52px}
  .rwh-work-card{padding-left:22px!important;padding-right:22px!important}
  .rwh-work-card:nth-child(odd){padding-left:0!important}
  .rwh-work-card:nth-child(even){padding-right:0!important}
  .rwh-timeline-layout{grid-template-columns:minmax(300px,42%) minmax(0,1fr)!important}
}

@media (max-width:900px){
  .rwh-section-wide,.rwh-section-contained,
  .rwh-work-wrap>.rwh-section-head,.rwh-work-grid,
  .rwh-timeline-wrap>.rwh-section-head,.rwh-timeline-layout,
  .rwh-family-card,.rwh-family-gallery{width:min(calc(100% - 40px),720px)!important}
  .rwh-hero{
    min-height:auto;
    grid-template-columns:1fr;
    padding:0!important;
  }
  .rwh-hero-copy{order:2;padding:44px 20px 54px!important;max-width:none}
  .rwh-hero-image{order:1;min-height:520px!important;height:520px!important}
  .rwh-hero-image:before{background:linear-gradient(0deg,var(--rwh-navy) 0%,rgba(3,29,56,.56) 28%,transparent 58%)}
  .rwh-hero h1{font-size:clamp(3.5rem,14vw,6.2rem)!important}
  .rwh-hero-links{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .rwh-story{width:min(calc(100% - 40px),720px)!important;grid-template-columns:1fr!important;padding:72px 0!important}
  .rwh-story-image{min-height:500px!important}
  .rwh-timeline-layout{grid-template-columns:1fr!important}
  .rwh-timeline-scroll{height:auto!important;max-height:620px}
  .rwh-feature{grid-template-columns:1fr!important}
  .rwh-feature-copy{min-height:0;padding:72px 20px!important}
  .rwh-feature-image{min-height:500px!important;grid-row:1}
  .rwh-family-card{grid-template-columns:1fr!important;padding:72px 0!important}
  .rwh-family-image{min-height:500px!important;grid-row:1}
}

@media (max-width:640px){
  .rwh-section-wide,.rwh-section-contained,
  .rwh-work-wrap>.rwh-section-head,.rwh-work-grid,
  .rwh-timeline-wrap>.rwh-section-head,.rwh-timeline-layout,
  .rwh-family-card,.rwh-family-gallery,
  .rwh-story{width:calc(100% - 32px)!important}
  .rwh-hero-image{min-height:430px!important;height:430px!important}
  .rwh-hero-copy{padding:36px 16px 44px!important}
  .rwh-hero h1{font-size:clamp(3.15rem,17vw,5rem)!important}
  .rwh-hero p{font-size:1.12rem!important}
  .rwh-actions{width:100%}
  .rwh-button{flex:1 1 46%}
  .rwh-hero-links{grid-template-columns:1fr 1fr;margin-top:26px}
  .rwh-hero-links a{min-height:48px;font-size:.92rem}
  .rwh-work-wrap{padding:58px 0 64px!important}
  .rwh-work-grid{grid-template-columns:1fr!important;row-gap:44px}
  .rwh-work-card,.rwh-work-card:nth-child(odd),.rwh-work-card:nth-child(even){padding:0!important}
  .rwh-work-img{height:230px!important;min-height:230px!important;flex-basis:230px!important}
  .rwh-story{gap:34px!important;padding:58px 0!important}
  .rwh-story-image{min-height:430px!important}
  .rwh-timeline-wrap{padding:64px 0 68px!important}
  .rwh-mini-gallery{grid-template-columns:1fr!important}
  .rwh-mini-gallery figure:first-child{grid-column:auto}
  .rwh-mini-gallery .rwh-img-box,.rwh-mini-gallery figure:first-child .rwh-img-box{min-height:220px!important}
  .rwh-feature-copy{padding:58px 16px!important}
  .rwh-feature-image,.rwh-family-image{min-height:430px!important}
  .rwh-family-card{padding:58px 0!important}
  .rwh-family-gallery{grid-template-columns:1fr!important;margin:-25px auto 60px!important}
  .rwh-family-gallery .rwh-img-box{min-height:250px!important}
}

/* ==========================================================
   v20 — CrossTalk brand-blue hero + mobile-first phone layout
   ========================================================== */
.rwh-front{
  --rwh-brand-blue:#0b72c6;
  --rwh-brand-blue-dark:#075a9d;
  --rwh-navy:#102f5d;
  --rwh-navy-deep:#082544;
  --rwh-gold:#d3a23e;
  --rwh-gold-light:#efc96d;
  overflow-x:clip!important;
}

/* Hero now uses the transparent Randy cutout directly over the CrossTalk blue. */
.rwh-hero{
  min-height:620px;
  overflow:hidden!important;
  grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr);
  background:
    radial-gradient(circle at 77% 32%,rgba(255,255,255,.15),transparent 26%),
    radial-gradient(circle at 64% 82%,rgba(11,114,198,.38),transparent 30%),
    linear-gradient(108deg,#102f5d 0%,#0d538b 48%,#0b72c6 100%)!important;
}
.rwh-hero:before{
  background:
    radial-gradient(circle at 72% 45%,rgba(255,255,255,.08),transparent 32%),
    linear-gradient(90deg,rgba(16,47,93,.22),transparent 58%)!important;
}
.rwh-hero-copy{padding-top:70px!important;padding-bottom:62px!important}
.rwh-hero h1{max-width:760px}
.rwh-hero-image{
  min-height:620px!important;
  height:auto!important;
  align-self:stretch;
  overflow:visible!important;
  background:transparent!important;
}
.rwh-hero-image:before,
.rwh-hero-image:after{display:none!important}
.rwh-hero-image>img{
  position:absolute!important;
  top:auto!important;
  right:-2%!important;
  bottom:-1%!important;
  left:auto!important;
  width:108%!important;
  height:96%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:bottom center!important;
  transform:none!important;
  filter:drop-shadow(0 18px 24px rgba(3,34,63,.18))!important;
}

/* The old boxed menu is gone. This is a separate, quiet editorial jump rail. */
.rwh-jump-nav{
  width:100%;
  margin:0!important;
  padding:0!important;
  background:#fff;
}
.rwh-jump-nav-inner{
  width:min(calc(100% - 64px),1220px);
  min-height:66px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(22px,3.2vw,48px);
  padding:10px 0;
}
.rwh-jump-label{
  color:var(--rwh-gold)!important;
  font-size:.71rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap;
}
.rwh-jump-nav a{
  position:relative;
  color:var(--rwh-navy)!important;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
  transition:color .18s ease;
}
.rwh-jump-nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-7px;
  height:2px;
  background:var(--rwh-gold);
  transition:right .18s ease;
}
.rwh-jump-nav a:hover{color:var(--rwh-brand-blue)!important}
.rwh-jump-nav a:hover:after{right:0}

/* Keep imagery rectangular and unframed everywhere. */
.rwh-front .rwh-img-box,
.rwh-front .rwh-work-img,
.rwh-front .rwh-story-image,
.rwh-front .rwh-feature-image,
.rwh-front .rwh-family-image{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

@media (max-width:900px){
  /* Phone/tablet hero is one composed scene, not an image block followed by text. */
  .rwh-hero{
    display:block!important;
    min-height:760px!important;
    position:relative;
    padding:0!important;
    background:
      radial-gradient(circle at 72% 63%,rgba(255,255,255,.13),transparent 25%),
      linear-gradient(150deg,#102f5d 0%,#0a5796 56%,#0b72c6 100%)!important;
  }
  .rwh-hero-copy{
    position:relative;
    z-index:3;
    max-width:none!important;
    padding:46px 32px 420px!important;
    justify-content:flex-start!important;
  }
  .rwh-hero-image{
    position:absolute!important;
    z-index:1;
    inset:auto 0 0 0!important;
    width:100%!important;
    height:470px!important;
    min-height:0!important;
  }
  .rwh-hero-image>img{
    top:auto!important;
    right:-7%!important;
    bottom:-2%!important;
    left:auto!important;
    width:92%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
  }
  .rwh-jump-nav{display:none!important}

  /* Work area becomes a compact, thumb-friendly app launcher. */
  .rwh-work-wrap{padding:50px 0 54px!important}
  .rwh-work-wrap>.rwh-section-head,
  .rwh-work-grid{width:min(calc(100% - 40px),720px)!important}
  .rwh-work-wrap>.rwh-section-head{margin-bottom:26px!important}
  .rwh-work-grid{grid-template-columns:1fr!important;row-gap:8px!important}
  .rwh-work-card,
  .rwh-work-card:nth-child(odd),
  .rwh-work-card:nth-child(even){
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:18px!important;
    min-height:122px!important;
    padding:10px 0!important;
    background:transparent!important;
  }
  .rwh-work-card:hover{transform:none!important;background:transparent!important}
  .rwh-work-img{
    width:112px!important;
    height:112px!important;
    min-width:112px!important;
    min-height:112px!important;
    flex:0 0 112px!important;
    background:transparent!important;
  }
  .rwh-work-img>img{
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    padding:2px!important;
  }
  .rwh-work-copy{padding:0!important;justify-content:center!important}
  .rwh-work-copy h3{font-size:1.55rem!important;margin:0 0 5px!important}
  .rwh-work-copy p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0 0 8px!important;
    font-size:.9rem!important;
    line-height:1.42!important;
  }
  .rwh-work-copy b,
  .rwh-card-button{
    margin-top:0!important;
    padding:0!important;
    background:transparent!important;
    color:var(--rwh-brand-blue)!important;
    font-size:.82rem!important;
    line-height:1.25!important;
  }
  .rwh-music-buttons{margin-top:0!important}

  /* Images no longer consume an entire phone screen. */
  .rwh-story{gap:30px!important;padding:58px 0!important}
  .rwh-story-copy{order:1!important}
  .rwh-story-image{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3!important;
  }
  .rwh-story-image>img{object-fit:var(--fit,cover)!important;transform:scale(var(--zoom,1))!important}

  .rwh-timeline-wrap{padding:58px 0 62px!important}
  .rwh-timeline-wrap .rwh-section-head{margin-bottom:30px!important}
  .rwh-timeline-wrap .rwh-section-head p{display:none!important}
  .rwh-timeline-layout{grid-template-columns:1fr!important;gap:34px!important}
  .rwh-timeline-scroll{
    order:1!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
  }
  .rwh-timeline-media{order:2!important}
  .rwh-time-card{margin-bottom:28px!important;padding-left:21px!important}
  .rwh-time-card:before{width:4px;height:40px}
  .rwh-time-card h3{font-size:1.48rem!important}
  .rwh-time-card p{font-size:.96rem!important;line-height:1.55!important}
  .rwh-mini-gallery{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    padding:0 16px 10px 0!important;
    margin-top:24px!important;
    scrollbar-width:none;
  }
  .rwh-mini-gallery::-webkit-scrollbar{display:none}
  .rwh-mini-gallery figure,
  .rwh-mini-gallery figure:first-child{
    flex:0 0 82%!important;
    grid-column:auto!important;
    scroll-snap-align:start;
  }
  .rwh-mini-gallery .rwh-img-box,
  .rwh-mini-gallery figure:first-child .rwh-img-box{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3!important;
  }

  .rwh-feature{display:flex!important;flex-direction:column!important}
  .rwh-feature-copy{order:1!important;min-height:0!important;padding:58px 32px!important}
  .rwh-feature-image{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/10!important;
  }

  .rwh-family-card{display:flex!important;flex-direction:column!important;gap:30px!important;padding:58px 0 42px!important}
  .rwh-family-copy{order:1!important}
  .rwh-family-image{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3!important;
  }
  .rwh-family-gallery{
    display:flex!important;
    gap:14px!important;
    width:calc(100% - 40px)!important;
    margin:0 auto 58px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    padding:0 18% 8px 0!important;
    scrollbar-width:none;
  }
  .rwh-family-gallery::-webkit-scrollbar{display:none}
  .rwh-family-gallery figure{flex:0 0 82%!important;scroll-snap-align:start}
  .rwh-family-gallery .rwh-img-box{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/3!important;
  }
}

@media (max-width:640px){
  .rwh-section-wide,.rwh-section-contained,
  .rwh-work-wrap>.rwh-section-head,.rwh-work-grid,
  .rwh-timeline-wrap>.rwh-section-head,.rwh-timeline-layout,
  .rwh-family-card,.rwh-story{width:calc(100% - 36px)!important}

  .rwh-hero{min-height:720px!important}
  .rwh-hero-copy{padding:34px 20px 372px!important}
  .rwh-hero .rwh-kicker{font-size:.66rem!important;letter-spacing:.16em!important;margin-bottom:11px!important}
  .rwh-hero h1{
    max-width:360px;
    font-size:clamp(3.35rem,14.7vw,4.05rem)!important;
    line-height:.88!important;
    letter-spacing:-.05em!important;
    margin-bottom:.2em!important;
  }
  .rwh-hero h1:after{width:62px;height:3px;margin-top:18px}
  .rwh-hero p{
    max-width:370px!important;
    font-family:"Avenir Next",Avenir,Montserrat,"Helvetica Neue",Arial,sans-serif!important;
    font-size:1rem!important;
    line-height:1.48!important;
    font-weight:500!important;
  }
  .rwh-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;margin-top:22px!important}
  .rwh-button{
    width:100%!important;
    min-height:48px!important;
    padding:11px 10px!important;
    font-size:.82rem!important;
  }
  .rwh-hero-image{height:385px!important}
  .rwh-hero-image>img{
    right:-16%!important;
    bottom:-1%!important;
    width:118%!important;
    height:100%!important;
    object-position:right bottom!important;
  }

  .rwh-front h2{font-size:clamp(2.25rem,10.7vw,2.95rem)!important;line-height:1.02!important}
  .rwh-rich{font-size:1rem!important;line-height:1.68!important}
  .rwh-section-head p{font-size:.98rem!important;line-height:1.55!important}

  .rwh-work-wrap{padding:42px 0 48px!important}
  .rwh-work-wrap>.rwh-section-head{margin-bottom:18px!important}
  .rwh-work-card,
  .rwh-work-card:nth-child(odd),
  .rwh-work-card:nth-child(even){gap:14px!important;min-height:108px!important;padding:8px 0!important}
  .rwh-work-img{
    width:96px!important;height:96px!important;min-width:96px!important;min-height:96px!important;flex-basis:96px!important;
  }
  .rwh-work-copy h3{font-size:1.38rem!important}
  .rwh-work-copy p{font-size:.84rem!important;margin-bottom:6px!important}

  .rwh-story{padding:48px 0!important;gap:26px!important}
  .rwh-timeline-wrap{padding:50px 0 54px!important}
  .rwh-timeline-layout{gap:28px!important}
  .rwh-feature-copy{padding:50px 18px!important}
  .rwh-family-card{padding:50px 0 34px!important}

  .rwh-story-image{aspect-ratio:5/4!important}
  .rwh-feature-image{aspect-ratio:16/11!important}
  .rwh-family-image{aspect-ratio:5/4!important}
}

@media (max-width:390px){
  .rwh-hero{min-height:700px!important}
  .rwh-hero-copy{padding-left:16px!important;padding-right:16px!important;padding-bottom:350px!important}
  .rwh-hero h1{font-size:3.2rem!important}
  .rwh-actions{grid-template-columns:1fr!important}
  .rwh-hero-image{height:355px!important}
  .rwh-work-img{width:86px!important;height:86px!important;min-width:86px!important;min-height:86px!important;flex-basis:86px!important}
}

/* ==========================================================
   v21 — hero baseline, repaired lower layouts, richer mobile UI
   ========================================================== */

/* The small work-card kicker is reserved for the phone launcher. */
.rwh-work-kicker{display:none}

/* Let Randy's transparent cutout visually land on the white jump rail. */
.rwh-hero{
  position:relative!important;
  z-index:3;
  overflow:visible!important;
}
.rwh-hero-image{
  z-index:4!important;
  pointer-events:none;
}
.rwh-hero-image>img{
  bottom:-28px!important;
  height:100%!important;
  width:110%!important;
}
.rwh-jump-nav{
  position:relative;
  z-index:2;
  min-height:74px;
  box-shadow:0 12px 34px rgba(16,47,93,.06);
}
.rwh-jump-nav-inner{
  min-height:74px;
  padding-top:14px;
  padding-bottom:10px;
}
.rwh-work-wrap{position:relative;z-index:1}

/* Repair the lower 'Where He Is Now' split on wide desktop screens.
   The previous viewport-based padding could squeeze the copy into a sliver. */
.rwh-feature{
  width:min(calc(100% - 64px),1420px)!important;
  max-width:1420px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-shadow:0 0 0 100vmax var(--rwh-ivory)!important;
  clip-path:inset(0 -100vmax);
}
.rwh-feature-copy{
  min-width:0!important;
  min-height:560px!important;
  padding:76px clamp(36px,5vw,86px)!important;
}
.rwh-feature-copy>.rwh-kicker,
.rwh-feature-copy>h2,
.rwh-feature-copy>.rwh-rich{max-width:620px}
.rwh-feature-image{min-height:560px!important}

/* Family portraits should show the entire group instead of cropping heads/edges. */
.rwh-family-card{grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr)!important}
.rwh-family-image{
  min-height:0!important;
  height:auto!important;
  background:transparent!important;
  overflow:visible!important;
}
.rwh-family-image>img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.rwh-family-gallery .rwh-img-box>img{object-fit:contain!important;background:#fff}

@media (max-width:900px){
  /* On this theme the mobile content wrapper is left-aligned with a right gutter.
     Do not use the centered full-bleed calculation here; it creates the white strip. */
  .rwh-front{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    overflow-x:hidden!important;
  }

  /* More compact phone hero so the visitor gets Randy + the next section sooner.
     His Bible/books physically overlap the white section below by a small amount. */
  .rwh-hero{
    min-height:680px!important;
    overflow:visible!important;
  }
  .rwh-hero-copy{
    padding:34px 24px 315px!important;
  }
  .rwh-hero-image{
    inset:auto 0 -30px 0!important;
    height:350px!important;
    min-height:0!important;
    z-index:4!important;
  }
  .rwh-hero-image>img{
    right:-7%!important;
    bottom:0!important;
    width:108%!important;
    height:100%!important;
    object-position:right bottom!important;
  }

  /* Preserve the visual personality of the desktop media area on phones.
     This is a 2x2 image-first launcher rather than a plain text list. */
  .rwh-work-wrap{
    padding:66px 0 56px!important;
    background:
      radial-gradient(circle at 92% 4%,rgba(11,114,198,.08),transparent 24%),
      linear-gradient(180deg,#f7f4ed 0%,#fffdf8 100%)!important;
  }
  .rwh-work-wrap>.rwh-section-head,
  .rwh-work-grid{width:min(calc(100% - 36px),720px)!important}
  .rwh-work-wrap>.rwh-section-head{margin-bottom:24px!important}
  .rwh-work-wrap>.rwh-section-head:after{
    content:"";
    display:block;
    width:52px;
    height:3px;
    margin-top:18px;
    background:var(--rwh-gold);
  }
  .rwh-work-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .rwh-work-card,
  .rwh-work-card:nth-child(odd),
  .rwh-work-card:nth-child(even){
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0 0 16px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 10px 28px rgba(16,47,93,.09)!important;
  }
  .rwh-work-card:before{
    content:"";
    position:absolute;
    z-index:4;
    top:0;
    left:0;
    width:46px;
    height:3px;
    background:var(--rwh-gold);
  }
  .rwh-work-card:hover{transform:none!important;background:#fff!important}
  .rwh-work-img{
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    flex:0 0 auto!important;
    aspect-ratio:4/3!important;
    background:#e9eef3!important;
  }
  .rwh-work-img>img{
    width:100%!important;
    height:100%!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:var(--focus,50% 50%)!important;
    transform:scale(var(--zoom,1))!important;
  }
  .rwh-work-books .rwh-work-img{background:#f1eee7!important}
  .rwh-work-books .rwh-work-img>img{
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    padding:8px!important;
  }
  .rwh-work-copy{
    flex:1!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    padding:13px 13px 0!important;
  }
  .rwh-work-kicker{
    display:block!important;
    margin:0 0 5px!important;
    color:var(--rwh-gold)!important;
    font-size:.62rem!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.15em!important;
    text-transform:uppercase;
  }
  .rwh-work-copy h3{
    font-size:1.42rem!important;
    line-height:1!important;
    margin:0 0 7px!important;
  }
  .rwh-work-copy p{
    display:-webkit-box!important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0 0 10px!important;
    color:#46586b!important;
    font-size:.82rem!important;
    line-height:1.38!important;
  }
  .rwh-work-copy b,
  .rwh-card-button{
    margin-top:auto!important;
    padding:0!important;
    background:transparent!important;
    color:var(--rwh-brand-blue)!important;
    font-size:.78rem!important;
    line-height:1.25!important;
    font-weight:900!important;
  }
  .rwh-music-buttons{gap:6px!important;margin-top:auto!important}

  /* Restore sane proportions in the two lower sections. */
  .rwh-feature{
    width:100%!important;
    max-width:none!important;
    clip-path:none!important;
    box-shadow:none!important;
  }
  .rwh-feature-copy{
    padding:52px 22px 38px!important;
    min-height:0!important;
  }
  .rwh-feature-image{
    min-height:0!important;
    aspect-ratio:16/10!important;
  }
  .rwh-family-card{
    grid-template-columns:1fr!important;
    width:min(calc(100% - 36px),720px)!important;
    gap:26px!important;
    padding:52px 0 36px!important;
  }
  .rwh-family-image{
    order:2!important;
    width:100%!important;
    aspect-ratio:auto!important;
  }
  .rwh-family-gallery .rwh-img-box>img{
    object-fit:contain!important;
    transform:none!important;
  }
}

@media (max-width:640px){
  .rwh-hero{min-height:650px!important}
  .rwh-hero-copy{padding:30px 18px 292px!important}
  .rwh-hero .rwh-kicker{font-size:.64rem!important}
  .rwh-hero h1{
    max-width:330px!important;
    font-size:clamp(3.1rem,14vw,3.75rem)!important;
  }
  .rwh-hero p{
    max-width:355px!important;
    font-size:.96rem!important;
    line-height:1.43!important;
  }
  .rwh-actions{margin-top:18px!important;gap:9px!important}
  .rwh-button{min-height:45px!important;font-size:.78rem!important}
  .rwh-hero-image{
    height:320px!important;
    bottom:-28px!important;
  }
  .rwh-hero-image>img{
    right:-8%!important;
    width:108%!important;
  }

  .rwh-work-wrap{padding-top:60px!important}
  .rwh-work-grid{gap:12px!important}
  .rwh-work-card,
  .rwh-work-card:nth-child(odd),
  .rwh-work-card:nth-child(even){padding-bottom:14px!important}
  .rwh-work-copy{padding:11px 11px 0!important}
  .rwh-work-copy h3{font-size:1.27rem!important}
  .rwh-work-copy p{font-size:.76rem!important;line-height:1.35!important}
  .rwh-work-copy b,.rwh-card-button{font-size:.74rem!important}

  .rwh-feature-copy{padding:48px 18px 34px!important}
  .rwh-family-card{padding:46px 0 30px!important}
}

@media (max-width:390px){
  .rwh-hero{min-height:640px!important}
  .rwh-hero-copy{padding:28px 16px 282px!important}
  .rwh-hero h1{font-size:3rem!important}
  .rwh-hero p{font-size:.92rem!important}
  .rwh-actions{grid-template-columns:1fr 1fr!important}
  .rwh-hero-image{height:305px!important}
  .rwh-work-grid{gap:10px!important}
  .rwh-work-copy h3{font-size:1.18rem!important}
  .rwh-work-copy p{-webkit-line-clamp:2;font-size:.72rem!important}
}

/* ==========================================================
   v22 — mobile viewport edge fix
   Prevent the active theme/content wrapper from leaving a
   narrow white gutter at the right edge on iPhone/Safari.
   ========================================================== */
@media (max-width:900px){
  .rwh-front{
    position:relative!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/* ==========================================================
   v23 — remove the mobile host gutter at its source
   The white stripe was not inside the Randy design. It came from a
   contained WordPress/theme wrapper that stayed narrower than the viewport
   and clipped the full-bleed shortcode. Make the host full width first,
   then let the Randy layout size itself normally inside it.
   ========================================================== */
@media (max-width:900px){
  body.rwh-page-active #primary,
  body.rwh-page-active #primary.ct-main-contained,
  body.rwh-page-active #primary.ct-main-narrow,
  body.rwh-page-active #primary.ct-main-full{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:visible!important;
  }

  body.rwh-page-active #primary > .ct-page-content,
  body.rwh-page-active #primary > .entry-content,
  body.rwh-page-active .ct-page-content.rwh-fullbleed-host,
  body.rwh-page-active .ct-standard-content.rwh-fullbleed-host,
  body.rwh-page-active .rwh-fullbleed-host{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:visible!important;
    box-sizing:border-box!important;
  }

  /* Modern Safari/Chrome can fix the CrossTalk wrapper before JS runs. */
  body.rwh-page-active #primary > .ct-page-content:has(.rwh-front),
  body.rwh-page-active #primary > .entry-content:has(.rwh-front){
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-inline:0!important;
    overflow-x:visible!important;
  }

  .rwh-front{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:none!important;
  }
}
