
    :root{color-scheme:dark;--bg:#111;--panel:#191919;--line:#343434;--text:#f7f5ef;--muted:#bdb7af;--accent:#f36b3d;--paper:#f1eee8;--ink:#171615;--max:1180px}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.topline{height:5px;background:linear-gradient(90deg,var(--accent) 0 34%,#873b28 34% 39%,#262626 39%)}
    header{position:sticky;top:0;z-index:10;background:rgba(17,17,17,.94);backdrop-filter:blur(12px);border-bottom:1px solid #292929}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:1rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;text-decoration:none}.brand span{color:var(--accent)}nav{display:flex;align-items:center;gap:24px}nav a{text-decoration:none;color:#d5d4cf;font-size:.9rem;font-weight:650}nav a:hover{color:var(--accent)}.nav-cta{padding:10px 15px;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
    .hero{position:relative;min-height:680px;display:grid;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:#171615 url("/images/home-performance-poster.jpg") center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 35%,rgba(243,107,61,.18),transparent 32%);pointer-events:none}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.72;pointer-events:none}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111 5%,rgba(17,17,17,.94) 39%,rgba(17,17,17,.25) 100%),repeating-linear-gradient(135deg,transparent 0 58px,rgba(255,255,255,.022) 59px 60px);pointer-events:none}.hero-inner{position:relative;z-index:1;padding:92px 0 100px;max-width:790px}.eyebrow{color:var(--accent);font-weight:850;letter-spacing:.19em;text-transform:uppercase;font-size:.8rem}.hero h1{font-size:clamp(3.3rem,8vw,7.2rem);line-height:.92;letter-spacing:-.065em;margin:22px 0 28px;text-transform:uppercase;max-width:810px}.hero h1 em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;color:var(--accent);text-transform:none;letter-spacing:-.04em}.hero p{max-width:640px;color:#d0cfca;font-size:clamp(1.05rem,1.8vw,1.25rem);margin:0 0 32px}.actions{display:flex;flex-wrap:wrap;gap:14px}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 20px;text-decoration:none;font-weight:850;letter-spacing:.06em;text-transform:uppercase;font-size:.84rem}.button.primary{background:var(--accent);color:#111}.button.secondary{border:1px solid #777;color:#fff}.button:hover{transform:translateY(-2px)}
    .ticker{border-bottom:1px solid var(--line);padding:17px 0;background:#151515;color:#e7e1d9}.ticker .wrap{padding-inline:0}.credential-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 22px;list-style:none;padding:0;margin:0}.credential-list li{position:relative;display:flex;align-items:center;gap:9px;min-height:30px;padding-left:16px;font-size:.69rem;letter-spacing:.13em;font-weight:800;line-height:1.35;text-transform:uppercase}.credential-list li:before{content:"";position:absolute;left:0;width:7px;height:7px;border:1px solid var(--accent);transform:rotate(45deg)}.credential-record strong{color:var(--accent);font-size:1.1rem;letter-spacing:.04em;white-space:nowrap}.credential-record span{font-size:.66rem;color:#c8c1b9}.credential-list li.credential-record:before{background:var(--accent)}@media(max-width:850px){.credential-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}}@media(max-width:480px){.credential-list{gap:9px 12px}.credential-list li{font-size:.59rem;letter-spacing:.08em;padding-left:12px}.credential-list li:before{width:6px;height:6px}.credential-record{flex-wrap:wrap;gap:4px}.credential-record strong{font-size:.94rem}.credential-record span{font-size:.55rem}}
    section{padding:100px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:42px}.kicker{color:var(--accent);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:850}.section-head h2{margin:9px 0 0;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.98;letter-spacing:-.055em;text-transform:uppercase}.section-head p{max-width:440px;margin:0;color:var(--muted);font-size:1.02rem}
    .story{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:start}.story-mark{font-size:clamp(4rem,11vw,9.5rem);line-height:.78;font-weight:950;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px #6b6b64;text-transform:uppercase}.story-copy p{font-size:1.12rem;color:#d1d0ca;margin:0 0 20px}.story-copy strong{color:#fff}.story-copy .pull{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;line-height:1.2;letter-spacing:-.025em;color:var(--accent);font-style:italic;font-weight:500;margin:30px 0}
    .stories-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.story-card{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:330px;overflow:hidden;border:1px solid var(--line);background:#191919}.story-card>img{width:100%;height:100%;min-height:330px;object-fit:cover}.story-card-copy{padding:27px;display:flex;flex-direction:column;justify-content:center}.story-card-copy h3{font-size:clamp(1.5rem,2.7vw,2.25rem);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase;margin:12px 0}.story-card-copy p{color:var(--muted);font-size:.96rem;margin:0 0 18px}.story-card .story-cover{position:absolute;left:0;bottom:0;width:30%;height:80px;min-height:0;object-fit:cover;border:4px solid #191919}.story-pair{position:absolute;left:0;bottom:0;width:50%;height:84px;display:flex;gap:3px;border-top:3px solid #191919}.story-pair img{width:50%;height:100%;object-fit:cover}.story-card:nth-child(2) .story-card-copy{padding-bottom:102px}.story-card:nth-child(1) .story-card-copy{padding-bottom:82px}.story-card.text-only{display:flex;flex-direction:column;justify-content:center;padding:32px;background:#171615;color:#f1eee8}.story-card.text-only .story-card-copy{padding:0}.story-card.text-only .story-card-copy p{color:#c8c1b8}.record{font-size:clamp(4rem,8vw,7rem);line-height:.82;font-weight:900;letter-spacing:-.08em;color:var(--accent);margin:8px 0 14px}.style-note{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-style:italic;color:var(--accent);margin-top:14px}
    #stories,#services,#contact{background:var(--paper);color:var(--ink)}#stories .section-head p{color:#59534d}.story-card{background:#fff;border-color:#d7d0c6}.story-card-copy p{color:#514c47}.story-card .story-cover{border-color:#fff}.story-pair{border-top-color:#fff}.story-card.text-only{border-color:#171615}#services .section-head p,#contact p{color:#514c47}#services .service h3{color:#171615}#stories .story-card-copy .kicker{color:#b74624}
    .services{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service{border:1px solid #d3ccc2;padding:34px;background:#fff}.service h3{font-size:1.55rem;text-transform:uppercase;letter-spacing:-.03em;margin:0 0 15px}.service p{color:#514c47;margin:0 0 24px}.text-link{color:#b74624;font-weight:850;text-transform:uppercase;letter-spacing:.07em;font-size:.82rem;text-decoration:none;border-bottom:1px solid #b74624;padding-bottom:4px}
    .impact{background:#f36b3d;color:#111;padding:34px;display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:center}.impact h2{font-size:clamp(2rem,4vw,3.5rem);line-height:.95;margin:0;text-transform:uppercase;letter-spacing:-.05em}.impact p{font-size:1.02rem;margin:0}.impact a{color:#111;font-weight:900}
    .media-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.media-intro p{color:var(--muted);max-width:620px;margin:0;font-size:1.02rem}.media-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.media-card{min-height:245px;background:#1b1b1b;border:1px solid #383838;padding:22px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.media-card:first-child{min-height:330px;background:linear-gradient(145deg,#29251e,#181818 60%)}.media-card:before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(243,107,61,.18);border-radius:50%;right:-85px;top:-95px;box-shadow:0 0 0 25px rgba(243,107,61,.035),0 0 0 55px rgba(243,107,61,.02)}.media-card>*{position:relative}.media-type{font-size:.73rem;letter-spacing:.16em;color:var(--accent);font-weight:850;text-transform:uppercase}.media-card h3{font-size:1.38rem;line-height:1.08;text-transform:uppercase;max-width:280px;margin:22px 0 8px}.media-card p{color:var(--muted);margin:0;font-size:.95rem}.media-card a{align-self:flex-start;margin-top:20px}
    .contact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:34px}.contact h2{font-size:clamp(2.8rem,7vw,6rem);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;margin:10px 0 18px}.contact p{font-size:1.05rem;color:var(--muted);max-width:590px;margin:0}.contact .actions{justify-content:flex-end}footer{padding:28px 0;color:#aaa;font-size:.88rem}.foot{display:flex;justify-content:space-between;gap:20px;align-items:center}.socials{display:flex;gap:18px}.socials a{color:#ddd;text-decoration:none}.socials a:hover{color:var(--accent)}
    @media(max-width:850px){nav{gap:13px}nav a{font-size:.82rem}.stories-grid{grid-template-columns:1fr}.story-card{min-height:290px}.story-card>img{min-height:290px}.story{gap:38px}.impact{grid-template-columns:1fr 1.5fr}.media-grid{grid-template-columns:1fr 1fr}.media-card:first-child{grid-column:span 2;min-height:260px}}
    @media(max-width:620px){.wrap{width:min(var(--max),calc(100% - 32px))}.nav{min-height:68px;flex-wrap:wrap;gap:0;padding:15px 0}.brand{font-size:.9rem}nav{order:3;width:100%;overflow:auto;padding-top:12px;gap:20px}nav a{white-space:nowrap}.nav-cta{margin-left:auto}.hero{min-height:620px}.hero-inner{padding:72px 0}.hero:before{inset:0;background-position:center 24%;background-size:auto 100%;opacity:.55;mask-image:linear-gradient(90deg,rgba(0,0,0,.15),#000 40%)}.hero:after{background:linear-gradient(90deg,rgba(17,17,17,.94),rgba(17,17,17,.68)),repeating-linear-gradient(135deg,transparent 0 58px,rgba(255,255,255,.02) 59px 60px)}.hero h1{font-size:clamp(3.2rem,17vw,5.6rem)}section{padding:70px 0}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:18px}.story{grid-template-columns:1fr;gap:30px}.story-mark{font-size:4.7rem}.story-card{grid-template-columns:1fr;min-height:0}.story-card>img{height:230px;min-height:0}.story-card-copy{padding:24px}.story-card .story-cover{width:35%;height:70px}.story-card:nth-child(1) .story-card-copy{padding-bottom:86px}.story-card:nth-child(2) .story-card-copy{padding-bottom:110px}.story-pair{height:86px;width:100%}.services{grid-template-columns:1fr}.service{padding:26px}.impact{grid-template-columns:1fr;padding:27px}.media-intro{display:block}.media-intro .text-link{display:inline-block;margin-top:18px}.media-grid{grid-template-columns:1fr}.media-card,.media-card:first-child{grid-column:auto;min-height:245px}.contact{grid-template-columns:1fr}.contact .actions{justify-content:flex-start}.foot{display:block}.socials{margin-top:14px;flex-wrap:wrap}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
  
    :root{--accent:#f36b3d;--paper:#f1eee8;--ink:#171615}
    .hero{background:radial-gradient(ellipse at 80% 35%,rgba(243,107,61,.24),transparent 32%),linear-gradient(112deg,#111 0%,#151515 56%,#20201c 100%)}
    .hero:after{background:linear-gradient(90deg,#111 5%,rgba(17,17,17,.94) 39%,rgba(17,17,17,.25) 100%),repeating-linear-gradient(135deg,transparent 0 58px,rgba(255,255,255,.022) 59px 60px)}
    .hero h1 em,.story-copy .pull{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;color:var(--accent)}
    .page-intro{background:#111;color:var(--text);padding:78px 0 68px;border-bottom:1px solid var(--line)}
    .page-intro h1{font-size:clamp(3rem,7vw,6rem);line-height:.92;letter-spacing:-.065em;text-transform:uppercase;margin:14px 0 22px;max-width:900px}
    .page-intro h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:500;text-transform:none;font-style:italic;color:var(--accent);letter-spacing:-.03em}
    .lede{max-width:760px;font-size:1.18rem;color:#d0ccc5;margin:0}
    .subnav{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:30px}
    .subnav a{font-size:.82rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--paper);text-decoration:none;border-bottom:1px solid #615b55;padding-bottom:5px}
    .subnav a:hover{color:var(--accent);border-color:var(--accent)}
    .paper-section{background:var(--paper);color:var(--ink)}
    .paper-section .section-head p{color:#58514b}
    .editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
    .editorial-card{background:#fff;border:1px solid #d9d1c6;padding:28px}
    .editorial-card h2,.editorial-card h3{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase;margin:12px 0}
    .editorial-card p{color:#514c47;margin:0 0 18px}
    .editorial-card .kicker{color:#b74624}
    .story-band{display:grid;grid-template-columns:1fr 1fr;min-height:360px;background:#fff;border:1px solid #d9d1c6}
    .story-band img{width:100%;height:100%;min-height:360px;object-fit:cover}
    .story-band-copy{padding:clamp(26px,5vw,52px);display:flex;flex-direction:column;justify-content:center}
    .story-band-copy p{color:#514c47}
    .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
    .photo-grid figure{margin:0;min-height:240px;background:#ddd8d0;overflow:hidden}
    .photo-grid img{width:100%;height:100%;min-height:240px;object-fit:cover}
    .photo-grid .wide{grid-column:span 2}
    .offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .offer{padding:24px;background:#fff;border:1px solid #d9d1c6}
    .offer h3{font-size:1.2rem;text-transform:uppercase;margin:12px 0 8px}
    .offer p{margin:0;color:#514c47}
    .industry-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
    .industry-list span{border:1px solid #b8ada1;padding:9px 13px;font-weight:700;font-size:.9rem;color:#282420;background:rgba(255,255,255,.55)}
    .statement{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(1.7rem,3.2vw,2.8rem);line-height:1.14;color:#a83f21;max-width:820px}
    .sound-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:center;background:#171615;color:var(--paper);padding:clamp(24px,5vw,52px)}
    .sound-panel img{width:100%;max-width:460px;display:block}
    .sound-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
    .sound-panel .sound-gallery img{width:100%;max-width:none;aspect-ratio:4/5;object-fit:cover;object-position:center;display:block}
    .sound-panel p{color:#cbc5bc}
    .video-panel{background:#171615;color:var(--paper);padding:clamp(28px,5vw,54px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
    .video-panel p{color:#cbc5bc;margin:8px 0 0;max-width:640px}
    .video-panel h2{margin:0;text-transform:uppercase;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.05em;line-height:.98}
    .accent-block{background:var(--accent);color:#171615;padding:clamp(26px,5vw,48px)}
    .accent-block h2{font-size:clamp(2rem,4vw,3.5rem);line-height:.96;letter-spacing:-.05em;text-transform:uppercase;margin:0 0 14px}
    .accent-block p{max-width:760px;margin:0}
    .site-footer{background:#111;border-top:1px solid #343434}
    #services,#stories,#contact{background:var(--paper);color:var(--ink)}
    #stories .section-head p,#services .section-head p,#contact p{color:#514c47}
    #stories .story-card{background:#fff;border-color:#d7d0c6}
    #stories .story-card-copy p{color:#514c47}
    #stories .story-card .story-cover,#stories .story-pair{border-color:#fff}
    #stories .story-card-copy .kicker{color:#b74624}
    #services .service h3{color:#171615}
    .impact{background:var(--accent);color:#171615}
    .impact a{color:#171615}
    .media-card:before{border-color:rgba(243,107,61,.18);box-shadow:0 0 0 25px rgba(243,107,61,.035),0 0 0 55px rgba(243,107,61,.02)}
    .text-link{color:#b74624;border-color:#b74624}
    @media(max-width:850px){.editorial-grid,.offer-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.story-band{min-height:300px}.story-band img{min-height:300px}}
    @media(max-width:620px){.page-intro{padding:62px 0 54px}.editorial-grid,.offer-grid,.story-band,.sound-panel,.video-panel{grid-template-columns:1fr}.story-band img{min-height:260px;height:260px}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid figure,.photo-grid img{min-height:180px}.photo-grid .wide{grid-column:span 2}.video-panel{align-items:start}.site-footer .foot{display:block}.site-footer .socials{margin-top:14px}}

/* Family page: make the people and portraits feel warm, clear, and intentional. */
.family-page .page-intro{background:radial-gradient(ellipse at 90% 15%,rgba(243,107,61,.20),transparent 34%),linear-gradient(112deg,#111 0%,#181513 60%,#221a16 100%)}
.family-people{background:#f3eee6}
.family-people .section-head p{color:#514a43}
.family-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.family-person-card{display:flex;align-items:center;gap:22px;min-height:168px;padding:18px;background:#fff;border:1px solid #d9d0c4;border-top:4px solid var(--accent);box-shadow:0 8px 24px rgba(46,31,21,.06)}
.family-person-card img{display:block;flex:0 0 104px;width:104px;height:132px;object-fit:contain;object-position:center;background:#e8e0d5}
.family-person-card .kicker{margin-bottom:7px}
.family-person-card h3{font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 8px;text-transform:uppercase}
.family-person-card p{color:#514c47;margin:0}
.family-moment-section{background:#171615;color:var(--paper);padding:82px 0;border-bottom:1px solid #343434}
.family-moment{grid-template-columns:minmax(250px,.9fr) 1.1fr;min-height:0;align-items:stretch;background:#211e1b;border-color:#403a34}
.family-moment>img{display:block;width:100%;height:100%;min-height:390px;object-fit:contain;object-position:center;background:#171615;padding:10px}
.family-moment .story-band-copy p{color:#d2cbc2}
.family-moment .statement{color:#ff9975}
.family-story-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.family-story-grid .editorial-card{display:flex;flex-direction:column;align-items:flex-start}
.family-story-grid .family-story-photo{display:block;width:100%;height:260px;object-fit:contain;object-position:center;background:#e8e1d8;margin:0 0 22px}
.family-story-grid .editorial-card p{flex:1}
.family-story-grid .family-friend-card{background:#f0e5d6;border-color:#d4bda7;border-top:4px solid var(--accent);justify-content:center}
.friend-section{background:#f3eee6}
@media(max-width:950px){.family-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-story-grid .family-friend-card{min-height:240px}}
@media(max-width:620px){
  .family-people .section-head{margin-bottom:24px}
  .family-roster{grid-template-columns:1fr;gap:11px}
  .family-person-card{min-height:142px;padding:12px;gap:16px}
  .family-person-card img{flex-basis:88px;width:88px;height:116px}
  .family-moment-section{padding:56px 0}
  .family-moment{grid-template-columns:1fr}
  .family-moment>img{height:auto;min-height:0;max-height:470px;aspect-ratio:4/5}
  .family-story-grid{grid-template-columns:1fr}
  .family-story-grid .family-story-photo{height:290px}
}

/* Support the mission: a warm, direct giving experience that stays on brand. */
.support-nav-link{padding:7px 11px;border:1px solid rgba(243,107,61,.72);color:#ff8a62!important;font-size:.76rem!important;font-weight:850!important;letter-spacing:.08em;text-transform:uppercase}
.support-nav-link:hover{background:var(--accent);color:#171615!important}
.support-page .page-intro{background:radial-gradient(ellipse at 82% 18%,rgba(243,107,61,.24),transparent 34%),linear-gradient(112deg,#111 0%,#181513 58%,#241a16 100%)}
.support-page .page-intro .lede{max-width:800px}
.giving-section{background:#f3eee6;color:#171615}
.giving-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:28px;align-items:end;margin-bottom:34px}
.giving-intro h2{margin:10px 0 0;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.94;letter-spacing:-.055em;text-transform:uppercase}
.giving-intro p{margin:0;color:#514c47;font-size:1.02rem}
.giving-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px;align-items:stretch}
.giving-card{display:flex;flex-direction:column;min-width:0;padding:clamp(22px,3.2vw,34px);background:#fff;border:1px solid #d9d0c4;border-top:4px solid var(--accent);box-shadow:0 10px 28px rgba(46,31,21,.06)}
.giving-card h3{margin:12px 0 10px;font-size:clamp(1.45rem,2.7vw,2.05rem);line-height:1;text-transform:uppercase;letter-spacing:-.035em}
.giving-card p{margin:0 0 20px;color:#514c47}
.giving-card .button{margin-top:auto;align-self:flex-start;border:0;cursor:pointer}
.giving-card-zelle{background:#171615;color:#f3eee6;border-color:#393632}
.giving-card-zelle p{color:#c9c1b9}
.giving-card-zelle .kicker{color:#ff8a62}
.zelle-qr{display:block;width:min(100%,300px);height:auto;margin:5px auto 24px;border-radius:6px;background:#fff}
.copy-status{min-height:1.4em;margin-top:12px!important;color:#ff9b78!important;font-size:.84rem}
.giving-symbol{display:grid;place-items:center;width:54px;height:54px;margin-bottom:30px;border:1px solid #d1c7bc;color:#a83f21;font:italic 700 1.55rem Georgia,"Times New Roman",serif}
.giving-note{margin-top:28px;padding:24px;border-left:4px solid var(--accent);background:#fff;color:#514c47}
.giving-note strong{color:#171615}
.support-accountability{background:#171615;color:#f3eee6}
.support-accountability-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:start}
.support-accountability h2{margin:10px 0 18px;font-size:clamp(2.3rem,4.7vw,4.5rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}
.support-accountability p{max-width:740px;color:#c9c1b9}
.nonprofit-details{padding:26px;border:1px solid #3a3733;border-top:4px solid var(--accent);background:#211f1c}
.nonprofit-details dl{display:grid;gap:18px;margin:0}
.nonprofit-details div{display:grid;gap:4px;padding-bottom:15px;border-bottom:1px solid #3a3733}
.nonprofit-details div:last-child{padding-bottom:0;border-bottom:0}
.nonprofit-details dt{color:#a9a29a;font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.nonprofit-details dd{margin:0;color:#f3eee6;font-weight:750}
@media(max-width:920px){.giving-grid{grid-template-columns:1fr 1fr}.giving-card-zelle{grid-row:span 2}.support-accountability-grid{grid-template-columns:1fr}}
@media(max-width:620px){.support-nav-link{padding:6px 9px}.giving-intro,.giving-grid{grid-template-columns:1fr}.giving-card-zelle{grid-row:auto}.zelle-qr{width:min(100%,270px)}.giving-symbol{margin-bottom:22px}.giving-note{padding:20px}.nonprofit-details{padding:22px}}

/* Home banner: bring Justin's portrait forward while keeping the copy readable. */
.hero:before{inset:0 0 0 32%;background-position:58% 22%;background-size:auto 108%;opacity:1;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.82) 8%,#000 34%)}
.hero:after{background:linear-gradient(90deg,#111 0%,rgba(17,17,17,.94) 26%,rgba(17,17,17,.58) 51%,rgba(17,17,17,.08) 88%),repeating-linear-gradient(135deg,transparent 0 58px,rgba(255,255,255,.022) 59px 60px)}
.speaking-page .page-intro{background:radial-gradient(ellipse at 88% 18%,rgba(243,107,61,.20),transparent 34%),linear-gradient(112deg,#111 0%,#181513 62%,#221a16 100%)}
.speaking-approach{background:#f3eee6}
.speaking-approach .section-head p{color:#514a43}
.speaking-band{grid-template-columns:1fr;min-height:0;align-items:stretch;background:#211e1b;border-color:#403a34;color:var(--paper)}
.speaking-band>img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:2/1;object-fit:cover;object-position:center}
.speaking-band .story-band-copy{padding-top:32px;padding-bottom:38px}
.speaking-band .story-band-copy p{color:#d2cbc2}
.speaking-moments-section{background:#211e1b;color:var(--paper)}
.speaking-moments-section .section-head{margin-bottom:28px}
.speaking-moments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.speaking-moments-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;background:#171615}
.speaking-topics-section{background:#171615;color:var(--paper)}
.speaking-topics-section .section-head p{color:#c7c0b8}
.speaking-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.speaking-topic{min-height:210px;padding:28px;background:#211e1b;border:1px solid #403a34;border-top:4px solid var(--accent)}
.speaking-topic h3{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.04;letter-spacing:-.035em;text-transform:uppercase;margin:14px 0 10px}
.speaking-topic p{max-width:480px;margin:0;color:#c7c0b8}
.speaking-invite-section{background:#f3eee6}
.speaking-invite{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:clamp(28px,5vw,54px);background:var(--accent);color:#171615}
.speaking-invite h2{font-size:clamp(2.5rem,5.5vw,4.8rem);line-height:.94;letter-spacing:-.06em;text-transform:uppercase;margin:12px 0 16px}
.speaking-invite p{max-width:670px;margin:0;color:#33211b}
.speaking-invite .button{background:#171615;color:#f3eee6;border:1px solid #171615;white-space:nowrap}
.speaking-page .socials{flex-wrap:wrap}
@media(max-width:850px){.hero:before{inset:0 0 0 28%;background-position:60% 22%}}
@media(max-width:620px){
  .hero:before{inset:0;background-position:72% 23%;background-size:auto 100%;opacity:.7;mask-image:linear-gradient(90deg,rgba(0,0,0,.25),#000 45%)}
  .hero:after{background:linear-gradient(90deg,rgba(17,17,17,.91),rgba(17,17,17,.55)),repeating-linear-gradient(135deg,transparent 0 58px,rgba(255,255,255,.02) 59px 60px)}
  .speaking-band{grid-template-columns:1fr}
  .speaking-band>img{height:auto;min-height:0;aspect-ratio:4/3}
  .speaking-moments-grid{grid-template-columns:1fr;gap:14px}
  .speaking-moments-grid img{aspect-ratio:4/5}
  .speaking-topics{grid-template-columns:1fr}
  .speaking-topic{min-height:0;padding:24px}
  .speaking-invite{grid-template-columns:1fr;gap:22px}
  .speaking-invite .button{justify-self:start}
}

/* Rhythmos brand lockup for the Consulting introduction. */
.consulting-brand-mark{display:block;width:min(100%,390px);height:auto;margin:16px 0 22px}
/* Message overviews give event hosts a quick, readable sense of the material. */
.message-library-section{background:#f3eee6}
.message-library-section .section-head p{color:#514a43}
.message-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.message-card{min-height:235px;padding:26px;background:#fff;border:1px solid #d9d0c4;border-top:4px solid var(--accent);box-shadow:0 8px 24px rgba(46,31,21,.045)}
.message-card h3{font-size:clamp(1.3rem,2.15vw,1.8rem);line-height:1.04;letter-spacing:-.035em;text-transform:uppercase;margin:14px 0 12px}
.message-card p{margin:0;color:#514c47}
@media(max-width:950px){.message-library{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.consulting-brand-mark{width:min(100%,330px);margin:14px 0 18px}.message-library{grid-template-columns:1fr}.message-card{min-height:0;padding:23px}}

.connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.connection-grid figure{margin:0;min-width:0;background:#171615;border:1px solid #393632}
.connection-grid img,.connection-grid video{display:block;width:100%;height:300px;object-fit:contain;background:#171615}
.connection-grid figcaption{position:relative;display:grid;gap:5px;padding:14px 16px 16px 19px;color:#f1ede6;background:#171615;border-top:1px solid #393632}.connection-grid figcaption:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:2px;background:var(--accent)}.connection-name{font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:#f3eee6}.connection-detail{font-size:.73rem;line-height:1.45;letter-spacing:.025em;color:#bdb7af}.connection-detail em{color:#ddd5cb}
@media(max-width:850px){.connection-grid img,.connection-grid video{height:260px}}
@media(max-width:620px){.connection-grid{gap:11px}.connection-grid img,.connection-grid video{height:220px}.connection-grid figcaption{padding:11px 10px 13px 14px}.connection-name{font-size:1rem}.connection-detail{font-size:.64rem}}

.home-family-section{background:#f1eee8;color:#171615}.home-family-section .section-head p{color:#514c47}.home-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-family-grid .family-person-card{min-width:0}.home-family-grid .family-person-card img{object-fit:contain}
@media(max-width:620px){.home-family-grid{grid-template-columns:1fr}.home-family-grid .family-person-card{min-height:126px;padding:10px;gap:12px}.home-family-grid .family-person-card img{flex-basis:78px;width:78px;height:104px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* Primary identity and reliable performance banner layers. */
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{display:block;width:40px;height:40px;object-fit:contain;flex:none}.hero-poster{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#171615}.hero-video{z-index:1;opacity:.88;object-position:center center}.hero:before,.hero:after{z-index:2}.hero-inner{z-index:3}
@media(max-width:620px){.brand-mark{width:34px;height:34px}.hero-video,.hero-poster{object-position:center center}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

.brand-mark-only{gap:0}.brand-mark-only .brand-mark{width:46px;height:46px}
@media(max-width:620px){.brand-mark-only .brand-mark{width:40px;height:40px}}

/* Keep family nicknames visually connected to each name without competing with it. */
.family-person-card .family-name-heading{display:inline-flex;flex-direction:column;align-items:center;text-align:center}
.family-person-card .family-nickname{display:block;margin-top:4px;font:inherit;font-size:calc(1em - 5px);line-height:1.08;letter-spacing:inherit;text-transform:inherit}


/* Layered worship collage for the homepage closing story. */
.home-story-band{grid-template-columns:1fr 1fr;align-items:stretch;background:#171615;border-color:#34312d}
.home-story-collage{position:relative;isolation:isolate;min-height:540px;overflow:hidden;background:radial-gradient(ellipse at 72% 42%,rgba(41,107,214,.38),transparent 42%),#111;}
.home-story-collage:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(243,107,61,.14),transparent 44%);z-index:-1}
.home-story-collage .collage-photo-main{position:absolute;top:4%;left:7%;width:54%;height:91%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center 42%;border:7px solid #f1eee8;box-shadow:0 20px 48px rgba(0,0,0,.5);transform:rotate(-3deg);z-index:1}
.home-story-collage .collage-photo-inset{position:absolute;top:20%;right:5%;width:48%;height:37%;min-height:0;object-fit:cover;object-position:center 38%;border:7px solid #f1eee8;box-shadow:0 18px 40px rgba(0,0,0,.55);transform:rotate(3deg);z-index:2}
.home-collage-type{position:absolute;left:8%;bottom:10%;z-index:3;display:flex;flex-direction:column;gap:3px;color:#f1eee8;text-shadow:0 3px 16px rgba(0,0,0,.65);transform:rotate(-4deg)}
.home-collage-type span{font-size:clamp(1.2rem,2.5vw,2.1rem);font-weight:900;letter-spacing:.13em;line-height:1}
.home-collage-type strong{font-size:clamp(2.6rem,5.8vw,4.8rem);font-weight:950;letter-spacing:-.07em;line-height:.83;color:#f36b3d}
.home-collage-tag{position:absolute;right:6%;bottom:8%;z-index:3;padding:8px 11px;background:#f36b3d;color:#171615;font-size:.62rem;font-weight:850;letter-spacing:.15em;transform:rotate(2deg)}
.home-story-band .story-band-copy{background:#171615;color:#f1eee8}
.home-story-band .story-band-copy p:not(.statement){color:#c7c0b8}
@media(max-width:850px){.home-story-collage{min-height:470px}}
@media(max-width:620px){.home-story-collage{min-height:460px}.home-story-collage .collage-photo-main{top:5%;left:5%;width:57%;height:87%;border-width:5px}.home-story-collage .collage-photo-inset{top:22%;right:3%;width:49%;height:34%;border-width:5px}.home-collage-type{left:6%;bottom:12%}.home-collage-type span{font-size:1rem}.home-collage-type strong{font-size:2.8rem}.home-collage-tag{right:4%;bottom:8%;padding:7px;font-size:.5rem;letter-spacing:.1em}}

/* Church experience: make two decades of work easy to scan. */
.experience-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.church-experience{grid-column:1/-1;border-left:3px solid var(--accent);padding:clamp(24px,4vw,40px)}
.church-experience h3{font-size:clamp(1.4rem,2.5vw,2rem);max-width:760px}
.church-experience-intro{max-width:860px}
.church-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}
.church-experience-grid>div{border-top:1px solid #d9d1c6;padding-top:16px}
.church-experience-grid h4{margin:0 0 8px;font-size:1rem;line-height:1.25;text-transform:uppercase;letter-spacing:.04em}
.church-experience-grid p{font-size:.96rem;line-height:1.55}
.church-experience-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid #d9d1c6}
.church-experience-stats>div{display:flex;align-items:baseline;gap:9px;padding:9px 14px;background:#f1eee8}
.church-experience-stats strong{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;color:#a83f21;white-space:nowrap}
.church-experience-stats span{font-size:.88rem;color:#514c47}
@media(max-width:850px){.experience-offer-grid{grid-template-columns:1fr 1fr}.church-experience-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.experience-offer-grid,.church-experience-grid{grid-template-columns:1fr}.church-experience{padding:23px}.church-experience-stats{display:grid;grid-template-columns:1fr}}

/* Health-care coaching moved from consulting to its own coaching-page feature. */
.health-coaching-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.health-coaching-grid article{padding:clamp(22px,3vw,32px);background:#fff;border:1px solid #d9d1c6;border-top:3px solid var(--accent)}
.health-coaching-grid h3{margin:0 0 12px;font-size:1.15rem;line-height:1.2;text-transform:uppercase}
.health-coaching-grid p{margin:0;color:#514c47}
@media(max-width:620px){.health-coaching-grid{grid-template-columns:1fr}}

/* Mind, body, and soul coaching grounded in lived experience. */
.transformation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.transformation-grid article{padding:26px;background:#171615;color:#f3eee6;border:1px solid #393632;border-top:3px solid var(--accent)}
.transformation-grid article h3{margin:12px 0 10px;font-size:1.15rem;line-height:1.18;text-transform:uppercase}
.transformation-grid article p{margin:0;color:#c7c0b8;line-height:1.55}
@media(max-width:850px){.transformation-grid{grid-template-columns:1fr 1fr}.transformation-grid article:last-child{grid-column:1/-1}}
@media(max-width:620px){.transformation-grid{grid-template-columns:1fr}.transformation-grid article:last-child{grid-column:auto}}

/* Editorial photo collage for Justin’s personal health journey. */
.transformation-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(82px,9.5vw,132px);gap:10px;margin:30px 0 26px}
.transformation-photo{position:relative;grid-column:span 3;grid-row:span 2;min-width:0;overflow:hidden;background:#171615}
.transformation-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.transformation-photo:hover img{transform:scale(1.035)}
.transformation-photo-feature{grid-column:span 6;grid-row:span 4}
.transformation-photo-feature img{object-position:center 44%}
.transformation-photo-tall{grid-row:span 3}
.transformation-photo figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:24px 18px 15px;background:linear-gradient(transparent,rgba(10,10,10,.82));color:#fff}
.transformation-photo figcaption span:first-child{font:500 1.35rem Georgia,serif}
.transformation-photo figcaption span:last-child{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:760px){.transformation-gallery{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(90px,19vw,135px);gap:8px}.transformation-photo{grid-column:span 2;grid-row:span 2}.transformation-photo-feature{grid-column:span 4;grid-row:span 4}.transformation-photo-tall{grid-row:span 3}}
@media(max-width:480px){.transformation-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:78px;gap:7px}.transformation-photo{grid-column:span 2;grid-row:span 2}.transformation-photo-feature{grid-column:span 4;grid-row:span 4}.transformation-photo-tall{grid-row:span 3}.transformation-photo figcaption{padding:22px 12px 11px}.transformation-photo figcaption span:first-child{font-size:1.1rem}.transformation-photo figcaption span:last-child{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.transformation-photo img{transition:none}}
.transformation-photo-beach{grid-column:span 6;grid-row:span 2}
@media(max-width:760px){.transformation-photo-beach{grid-column:span 4;grid-row:span 2}}
@media(max-width:480px){.transformation-photo-beach{grid-column:span 4;grid-row:span 2}}
/* Keep the portrait beach shot vertical so Justin’s face stays in the frame. */
.transformation-photo-beach{grid-column:span 3;grid-row:span 4}
.transformation-photo-beach img{object-position:center 18%}
@media(max-width:760px){.transformation-photo-beach{grid-column:span 3;grid-row:span 4}}
@media(max-width:480px){.transformation-photo-beach{grid-column:span 2;grid-row:span 4}}


/* Prison ministry gallery: documentary imagery in a calm, editorial grid. */
.prison-experience{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.prison-copy{max-width:850px}
.prison-copy h3{font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.1}
.prison-gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding-top:18px;border-top:1px solid #393632}
.prison-gallery-note{font-size:.9rem;color:#c7c0b8;letter-spacing:.04em}
.prison-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(130px,17vw,230px);gap:12px}
.prison-gallery figure{margin:0;min-width:0;overflow:hidden;background:#111;border:1px solid #393632}
.prison-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.prison-gallery figure:hover img{transform:scale(1.035)}
.prison-gallery .prison-gallery-feature{grid-column:span 2;grid-row:span 2}
@media(max-width:850px){.prison-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(145px,25vw,220px)}}
@media(max-width:620px){.prison-experience{padding:23px}.prison-gallery-heading{display:grid;gap:7px}.prison-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(135px,42vw,210px);gap:9px}.prison-gallery .prison-gallery-feature{grid-column:span 2;grid-row:span 2}}

/* Non-home feature headings: preserve the orange kicker, give the main line clear contrast. */
.story-band:not(.speaking-band):not(.family-moment):not(.home-story-band) .story-band-copy h2{font-weight:650;background:linear-gradient(180deg,rgba(56,53,49,.96) 0%,rgba(102,72,58,.86) 58%,rgba(171,77,47,.76) 100%);color:transparent;-webkit-background-clip:text;background-clip:text}


/* Consulting identity line: a concise accent for the rhythm-and-sound framework. */
.rhythm-tagline{margin:16px 0 18px!important;color:#a83f21!important;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.22rem,2vw,1.55rem);font-weight:700;line-height:1.2;letter-spacing:-.02em}

/* Flexible ways to engage across music, coaching, and consulting. */
.work-pathways .section-head{align-items:end}
.pathway-list{display:grid;gap:12px}
.pathway-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:116px;padding:22px 26px;background:#fff;border:1px solid #d9d1c6;border-left:4px solid var(--accent);color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pathway-bar:hover{transform:translateX(5px);border-color:#b74624;box-shadow:0 10px 28px rgba(42,31,24,.08)}
.pathway-copy{display:grid;grid-template-columns:minmax(190px,.58fr) minmax(220px,.82fr) minmax(260px,1.25fr);align-items:center;gap:22px;min-width:0}
.pathway-bar .kicker{color:#b74624}
.pathway-title{display:block;font-size:clamp(1.12rem,2vw,1.52rem);line-height:1.08;letter-spacing:-.025em;text-transform:uppercase}
.pathway-description{display:block;color:#5a544e;font-size:.96rem;line-height:1.5}
.pathway-end{display:flex;align-items:center;gap:16px}
.pathway-index{font:italic 2.2rem/1 Georgia,"Times New Roman",serif;color:#bdb4aa}
.pathway-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid #baafa4;color:#a94728;font-size:1.35rem;transition:background .18s ease,color .18s ease}
.pathway-bar:hover .pathway-arrow{background:var(--accent);border-color:var(--accent);color:#171615}
@media(max-width:850px){.pathway-copy{grid-template-columns:minmax(145px,.65fr) minmax(190px,1fr)}.pathway-description{grid-column:1/-1}}
@media(max-width:620px){.pathway-bar{min-height:0;padding:19px 18px;gap:14px}.pathway-copy{display:block}.pathway-bar .kicker{display:block;padding-right:6px;margin-bottom:6px}.pathway-title{padding-right:4px}.pathway-description{margin-top:8px;font-size:.9rem;line-height:1.42}.pathway-end{align-self:start;gap:9px}.pathway-index{font-size:1.65rem}.pathway-arrow{width:34px;height:34px;font-size:1.1rem}}

/* Coaching and consulting offer titles: readable gray-to-charcoal fade. */
.coaching-page .offer h3,
.consulting-page .offer:not(.prison-experience) h3,
 .coaching-page .pathway-title,
.consulting-page .pathway-title{font-weight:650;background:linear-gradient(180deg,rgba(56,53,49,.96) 0%,rgba(102,72,58,.86) 58%,rgba(171,77,47,.76) 100%);color:transparent;-webkit-background-clip:text;background-clip:text}

/* Direct listening destinations for Justin's current single. */
.streaming-block{margin:20px 0 18px;padding-top:18px;border-top:1px solid #d9d1c6}
.streaming-label{margin-bottom:11px;color:#5b544d;font-size:.76rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.streaming-actions{display:flex;flex-wrap:wrap;gap:9px}
.streaming-button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:46px;padding:0 15px;border:1px solid #5f5852;background:#fff;color:#171615;text-decoration:none;font-size:.76rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;transition:transform .18s ease,background .18s ease,color .18s ease}
.streaming-button-primary{border-color:#171615;background:#171615;color:#f3eee6}
.streaming-button:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:#171615}
.music-follow-link{align-self:flex-start}
@media(max-width:620px){.streaming-actions{display:grid;grid-template-columns:1fr}.streaming-button{width:100%}}

/* Featured release film — a full editorial moment for In the Middle. */
.in-middle-feature{position:relative;overflow:hidden;padding:clamp(68px,9vw,126px) 0;background:#111;color:#f4efe7;border-top:1px solid #272522;border-bottom:1px solid #272522}
.in-middle-feature:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 73% 26%,rgba(243,107,61,.19),transparent 27%),repeating-linear-gradient(135deg,transparent 0 74px,rgba(255,255,255,.018) 75px 76px);pointer-events:none}
.in-middle-layout{position:relative;display:grid;grid-template-columns:minmax(290px,.82fr) minmax(360px,1.18fr);gap:clamp(42px,8vw,112px);align-items:center}
.in-middle-video-wrap{position:relative;justify-self:center;width:min(100%,500px);padding:14px;background:#1a1918;border:1px solid #403b36;box-shadow:26px 26px 0 rgba(243,107,61,.13)}
.in-middle-video{display:block;width:100%;height:auto;aspect-ratio:512/910;background:#080808;object-fit:contain}
.in-middle-number{position:absolute;z-index:2;top:-40px;left:-46px;color:rgba(243,107,61,.88);font-size:clamp(4rem,9vw,8rem);font-weight:950;line-height:1;letter-spacing:-.08em;pointer-events:none}
.in-middle-copy{position:relative;z-index:1;max-width:650px}
.in-middle-copy h2{margin:16px 0 26px;font-size:clamp(4rem,8vw,7.4rem);line-height:.82;letter-spacing:-.075em;text-transform:uppercase}
.in-middle-copy h2 em{display:inline-block;color:var(--accent);font-family:Georgia,"Times New Roman",serif;font-weight:500;font-style:italic;text-transform:none;letter-spacing:-.045em}
.in-middle-copy p{max-width:590px;color:#c9c4bc;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.72}
.in-middle-prompt{margin:28px 0 13px!important;color:#f4efe7!important;font-size:.76rem!important;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.in-middle-streams{border-top:1px solid #4a4540}
.in-middle-streams a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:57px;border-bottom:1px solid #4a4540;color:#f4efe7;text-decoration:none;font-weight:850;letter-spacing:.065em;text-transform:uppercase;transition:padding .2s ease,color .2s ease}
.in-middle-streams a:hover{padding-left:12px;color:var(--accent)}
@media(max-width:760px){.in-middle-layout{grid-template-columns:1fr;gap:58px}.in-middle-video-wrap{width:min(78vw,430px)}.in-middle-copy{max-width:none}.in-middle-number{top:-32px;left:-24px}.in-middle-copy h2{font-size:clamp(3.8rem,17vw,6rem)}}
@media(max-width:420px){.in-middle-video-wrap{width:86vw;padding:9px;box-shadow:14px 14px 0 rgba(243,107,61,.13)}.in-middle-number{left:-14px}.in-middle-copy h2{font-size:3.65rem}}

/* Give the consulting destination its full Rhythmos identity in the main bar. */
nav[aria-label="Main navigation"] a[href="/consulting/"]{display:inline-grid;place-items:center;min-width:74px;font-size:0;line-height:1;text-align:center}
nav[aria-label="Main navigation"] a[href="/consulting/"]::before{content:"Rhythmos\A Consulting";white-space:pre;font-size:.72rem;font-weight:800;line-height:1.08;letter-spacing:.045em;text-transform:uppercase}
@media(max-width:620px){nav[aria-label="Main navigation"] a[href="/consulting/"]{min-width:68px}nav[aria-label="Main navigation"] a[href="/consulting/"]::before{font-size:.66rem}}

/* Photo-safe layouts: preserve complete faces and bodies at every breakpoint. */
.story-band:not(.speaking-band):not(.family-moment):not(.home-story-band) > img{
  object-fit:contain;
  object-position:center;
  background:#171615;
}
.sound-panel .sound-gallery img{
  object-fit:contain;
  background:#0f0f0f;
}
.speaking-moments-grid img{
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}

/* Connection portraits keep their natural proportions instead of sharing one crop. */
.connection-grid{display:block;columns:2;column-gap:18px}
.connection-grid figure{display:inline-block;width:100%;margin:0 0 18px;break-inside:avoid;overflow:hidden}
.connection-grid img{
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
}
.connection-grid video{
  height:auto;
  aspect-ratio:4/5;
  object-fit:contain;
  object-position:center;
}

/* Natural-ratio masonry keeps the transformation story editorial without cropping it. */
.transformation-gallery{
  display:block;
  columns:4;
  column-gap:10px;
}
.transformation-photo,
.transformation-photo-feature,
.transformation-photo-tall,
.transformation-photo-beach{
  display:inline-block;
  width:100%;
  margin:0 0 10px;
  break-inside:avoid;
  overflow:hidden;
}
.transformation-photo img,
.transformation-photo-feature img,
.transformation-photo-beach img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}
.transformation-photo:hover img{transform:none}

/* Documentary prison photos also retain the full original frame. */
.prison-gallery{
  display:block;
  columns:4;
  column-gap:12px;
}
.prison-gallery figure,
.prison-gallery .prison-gallery-feature{
  display:inline-block;
  width:100%;
  margin:0 0 12px;
  break-inside:avoid;
}
.prison-gallery img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}
.prison-gallery figure:hover img{transform:none}

@media(max-width:850px){
  .connection-grid img{height:auto}
  .connection-grid video{height:auto}
  .transformation-gallery,.prison-gallery{columns:3}
}
@media(max-width:620px){
  .story-band:not(.speaking-band):not(.family-moment):not(.home-story-band) > img{
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
  }
  .sound-panel .sound-gallery img{height:auto;aspect-ratio:auto}
  .connection-grid{columns:1}
  .connection-grid figure{margin-bottom:14px}
  .connection-grid img{height:auto;max-height:none}
  .connection-grid video{height:auto;aspect-ratio:4/5;max-height:620px}
  .transformation-gallery,.prison-gallery{columns:2;column-gap:8px}
  .transformation-photo,
  .transformation-photo-feature,
  .transformation-photo-tall,
  .transformation-photo-beach{margin-bottom:8px}
  .prison-gallery figure,
  .prison-gallery .prison-gallery-feature{margin-bottom:8px}
}
