
/* RCH News & Careers additions. Existing website styling remains unchanged. */
.dynamic-content-section { overflow: hidden; }
.public-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.public-post-card { background:#fff; border:1px solid rgba(16,36,71,.10); border-radius:18px; overflow:hidden; box-shadow:0 14px 35px rgba(12,29,55,.08); display:flex; flex-direction:column; min-height:100%; transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease; animation:contentCardIn .55s cubic-bezier(.2,.75,.2,1) both; animation-delay:var(--card-delay,0ms); }
.public-post-card:hover { transform:translateY(-7px); box-shadow:0 22px 46px rgba(12,29,55,.14); border-color:rgba(197,139,22,.42); }
.public-post-image { aspect-ratio:16/9; background:linear-gradient(135deg,#102447,#263f70); overflow:hidden; position:relative; }
.public-post-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.public-post-card:hover .public-post-image img { transform:scale(1.045); }
.public-post-placeholder { height:100%; display:grid; place-items:center; color:#fff; font-size:46px; background:radial-gradient(circle at 75% 20%,rgba(197,139,22,.35),transparent 32%),linear-gradient(135deg,#102447,#263f70); }
.public-post-body { padding:22px; display:flex; flex-direction:column; flex:1; }
.public-post-meta { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:.78rem; color:#687187; margin-bottom:11px; }
.public-post-badge { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; background:#f6ead0; color:#805b0d; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.public-post-card h3 { color:#102447; margin:0 0 10px; font-size:1.25rem; line-height:1.3; }
.public-post-card p { color:#5e6678; margin:0 0 18px; line-height:1.65; }
.public-post-link { margin-top:auto; color:#102447; font-weight:800; display:inline-flex; gap:8px; align-items:center; }
.public-post-link::after { content:'→'; transition:transform .22s ease; }
.public-post-card:hover .public-post-link::after { transform:translateX(5px); }
.content-empty,.content-loading,.content-error { grid-column:1/-1; padding:42px 24px; text-align:center; border-radius:18px; background:#fff; border:1px dashed rgba(16,36,71,.20); color:#5e6678; }
.content-empty strong { display:block; color:#102447; font-size:1.2rem; margin-bottom:8px; }
.careers-preview-section { background:linear-gradient(135deg,#0f2345 0%,#182e57 65%,#213963 100%); color:#fff; position:relative; }
.careers-preview-section::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 10% 10%,rgba(197,139,22,.20),transparent 28%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.08),transparent 30%); }
.careers-preview-shell { position:relative; display:grid; grid-template-columns:.85fr 1.15fr; gap:42px; align-items:center; }
.careers-preview-copy h2,.careers-preview-copy p { color:#fff; }
.careers-preview-copy .section-label { color:#efc05a; }
.career-slider { min-height:305px; position:relative; }
.career-slide { background:#fff; color:#102447; border-radius:20px; padding:30px; box-shadow:0 22px 55px rgba(0,0,0,.22); position:absolute; inset:0; opacity:0; transform:translateX(55px) scale(.96); pointer-events:none; transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.2,1); display:flex; flex-direction:column; }
.career-slide.active { opacity:1; transform:none; pointer-events:auto; }
.career-slide .career-closing { color:#9d6500; font-weight:800; margin-bottom:12px; }
.career-slide h3 { font-size:1.55rem; margin:0 0 12px; }
.career-slide p { color:#5e6678; line-height:1.65; }
.career-slider-dots { position:absolute; left:30px; bottom:20px; display:flex; gap:8px; z-index:4; }
.career-slider-dot { width:9px; height:9px; border:0; border-radius:50%; background:#bdc4d0; padding:0; cursor:pointer; }
.career-slider-dot.active { width:27px; border-radius:999px; background:#c58b16; }
.content-page-hero { padding:92px 0; color:#fff; text-align:center; background:linear-gradient(135deg,rgba(9,27,56,.96),rgba(25,56,100,.90)); position:relative; overflow:hidden; }
.content-page-hero::after { content:''; position:absolute; width:380px; height:380px; border:1px solid rgba(255,255,255,.15); border-radius:50%; right:-110px; top:-170px; box-shadow:0 0 0 50px rgba(255,255,255,.03),0 0 0 100px rgba(255,255,255,.025); }
.content-page-hero h1 { font-size:clamp(2.5rem,6vw,4.7rem); margin:10px 0 12px; color:#fff; }
.content-page-hero p { max-width:720px; margin:auto; color:rgba(255,255,255,.84); font-size:1.08rem; }
.content-page-hero .section-label { color:#efc05a; }
.public-listing-section { background:#f6f8fb; }
.content-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 0 28px; }
.content-toolbar input { width:min(480px,100%); padding:14px 18px; border:1px solid #d8deea; border-radius:12px; background:#fff; font:inherit; box-shadow:0 7px 22px rgba(12,29,55,.05); }
.content-toolbar span { color:#697287; font-weight:700; }
.post-detail-section { background:#f5f7fa; }
.post-detail-card { max-width:930px; margin:auto; background:#fff; padding:clamp(24px,5vw,58px); border-radius:22px; box-shadow:0 22px 55px rgba(12,29,55,.10); }
.post-detail-cover { width:100%; max-height:520px; object-fit:contain; border-radius:15px; background:#edf1f6; margin-bottom:28px; }
.post-detail-meta { display:flex; gap:10px 22px; flex-wrap:wrap; color:#71798b; margin-bottom:24px; }
.post-detail-card h2 { color:#102447; font-size:clamp(2rem,5vw,3.2rem); line-height:1.15; margin:0 0 18px; }
.post-detail-content p { color:#40485a; font-size:1.05rem; line-height:1.85; margin:0 0 20px; }
.post-download { display:inline-flex; align-items:center; gap:10px; padding:13px 18px; background:#102447; color:#fff; border-radius:9px; font-weight:800; margin-top:12px; }
@keyframes contentCardIn { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
@media(max-width:900px){.public-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.careers-preview-shell{grid-template-columns:1fr}.career-slider{min-height:330px}}
@media(max-width:640px){.public-post-grid{grid-template-columns:1fr}.content-toolbar{align-items:stretch;flex-direction:column}.career-slider{min-height:390px}.career-slide{padding:24px}.careers-preview-shell{gap:28px}}
@media(prefers-reduced-motion:reduce){.public-post-card,.career-slide{animation:none!important;transition:none!important}}


/* V60: full-size News and Career image viewer */
.rch-post-carousel-slide[data-rch-full-image]{cursor:zoom-in;position:absolute;border:0;background:transparent;padding:0;text-decoration:none}
.rch-post-carousel-slide[data-rch-full-image]::after{content:'View full image';position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(8,27,62,.86);color:#fff;font-size:.76rem;font-weight:850;letter-spacing:.02em;box-shadow:0 8px 24px rgba(0,0,0,.24);opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.rch-post-carousel:hover .rch-post-carousel-slide.is-active[data-rch-full-image]::after,.rch-post-carousel-slide[data-rch-full-image]:focus-visible::after{opacity:1;transform:none}
.rch-post-carousel-slide[data-rch-full-image]:focus-visible{outline:3px solid #e6a63d;outline-offset:-4px}
html.rch-lightbox-open,body.rch-lightbox-open{overflow:hidden!important}
.rch-post-lightbox{z-index:1000000!important;backdrop-filter:blur(8px)}
.rch-post-lightbox .gallery-lightbox-inner{width:min(1180px,94vw);display:flex;flex-direction:column;align-items:center}
.rch-post-lightbox .gallery-lightbox-inner>img{display:block;width:auto;height:auto;max-width:100%;max-height:82vh;object-fit:contain;background:#fff}
.rch-post-lightbox .gallery-lightbox-footer{width:100%;color:#fff;background:rgba(8,27,62,.88);border-radius:0 0 14px 14px;padding:12px 16px;display:flex;justify-content:space-between;gap:14px}
.rch-post-lightbox .gallery-lightbox-title,.rch-post-lightbox .gallery-lightbox-counter{color:#fff!important}
@media(max-width:700px){
 .rch-post-carousel-slide[data-rch-full-image]::after{opacity:1;transform:none;right:10px;bottom:10px;font-size:.68rem;padding:7px 10px}
 .rch-post-lightbox{padding:14px 10px 82px!important}
 .rch-post-lightbox .gallery-lightbox-inner>img{max-height:74vh}
 .rch-post-lightbox .gallery-lightbox-footer{align-items:flex-start;flex-direction:column;gap:3px}
}
