/* Balaka Prakash • dark-silver frames and a cohesive editorial finish. */
:root{--frame:#656c74;--silver-line:#dce0e4;--silver-soft:#f4f5f6;--charcoal:#191c20}
/* Apply only border colour: retain each photograph's existing crop and placement. */
.news-card img,.lead-story img,.gh-card img,.opinion-card img,.media-image,#national .news-card img,#national .lead-story img{border-color:var(--frame)!important}
.gallery-card,.video-card{border-color:var(--frame)}
.news-card img{border-radius:4px}
.news-card a:hover img{transform:translateY(-3px);box-shadow:0 6px 0 -3px var(--red);filter:none}
.news-card.mini:not(.mini-blue) a{grid-template-columns:104px minmax(0,1fr)}
.news-card.mini:not(.mini-blue) img{width:100%}
.news-card h3{overflow-wrap:break-word}
/* Section headings: the red logo signature, a fine silver rule and a short red end. */
.section-heading{gap:16px;margin-bottom:24px;min-width:0;align-items:center}
.section-heading h2,#national>.section-heading h2{font-size:clamp(26px,2.3vw,34px);line-height:1.45;gap:11px;min-width:0;flex-shrink:1}
.section-heading h2::before,#national>.section-heading h2::before{width:15px;height:20px;transform:none;border-radius:1px;margin-right:0;clip-path:var(--notch)}
.section-heading>span{height:1px;min-width:22px;background:linear-gradient(90deg,#9ba1a8,#e1e4e7)}
.section-heading>span::after{height:3px;width:34px;top:-1px;border-radius:3px}
.section-heading h2 a{transition:color .2s}
.tint.triple-section{background:#f4f5f6;border-top:1px solid #d9dde1;border-bottom:1px solid #d9dde1;padding:38px 0}
.triple-section .col-md-4,.triple-section .col-lg-4,#education-tech-interviews .col-md-4{min-width:0}
.video-section .section-heading>span{background:#555b62}
/* Opinion: compact editorial cards, with the existing story photographs. */
.opinion{border:1px solid var(--silver-line);border-top:4px solid var(--red);padding:24px!important;border-radius:10px;background:linear-gradient(145deg,#f7f8f9,#eceef0);align-self:start;display:block}
.opinion .section-heading{margin-bottom:4px}
.opinion-intro{font-size:14px;color:#6b7078;margin:0 0 22px;padding-left:26px}
.opinion-card{position:relative;padding:0;margin:0 0 14px;border:1px solid #e1e4e7;border-radius:8px;background:#fff;box-shadow:0 5px 16px #1c232906;overflow:hidden;transition:transform .2s,border-color .2s}
.opinion-card:last-child{margin-bottom:0}
.opinion-card::before{content:'“';position:absolute;right:14px;top:3px;font:60px/1 Georgia,serif;color:#e9ebee;pointer-events:none}
.opinion-card a,.opinion-card:first-of-type a{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;align-items:start;border:0;padding:20px 16px}
.opinion-card img{width:84px;height:84px;aspect-ratio:1;object-fit:cover;border:2px solid var(--frame);border-radius:8px;margin:0;filter:saturate(.8)}
.opinion-card h3{font-size:19px;line-height:1.5;margin:0 0 8px;font-weight:700;position:relative}
.opinion-card p{font-size:14px;line-height:1.7;color:#737982;margin:0 0 10px}
.opinion-card span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#b91821}
.opinion-card span::before{content:'';width:13px;height:2px;background:var(--red)}
.opinion-card:hover{transform:translateY(-2px);border-color:#adb3ba}
/* Photo essays: one lead image and four supporting frames on a charcoal stage. */
#gallery{background:var(--charcoal);border:1px solid #3f444b;border-radius:12px;padding:28px;margin-top:54px;margin-bottom:48px;position:relative;overflow:hidden}
#gallery::before{content:'';position:absolute;left:28px;top:0;width:72px;height:4px;background:var(--red)}
#gallery .section-heading{margin-bottom:4px}
#gallery .section-heading h2,#gallery .section-heading h2 a{color:#fff}
#gallery .section-heading>span{background:#484d54}
.gallery-description{color:#c1c6cd;font-size:15px;margin:0 0 24px;padding-left:26px}
#gallery .gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,205px);grid-auto-rows:205px;gap:15px}
#gallery .gallery-card{border:1px solid var(--frame);border-radius:8px;background:#252a30;margin:0;padding:0;isolation:isolate;box-shadow:none;text-align:left}
#gallery .gallery-card:first-child{grid-column:span 2;grid-row:span 2}
#gallery .gallery-card img{border:0!important;border-radius:0;position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transform:none;filter:none;transition:transform .5s}
#gallery .gallery-card::after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(9,12,16,.92));z-index:1;pointer-events:none}
#gallery .gallery-card:hover img{transform:scale(1.045);box-shadow:none}
#gallery .gallery-card:hover{border-color:#abb2ba}
#gallery .gallery-caption{z-index:2;position:absolute;left:0;right:0;bottom:0;background:transparent;border:0;padding:22px 17px 18px;font-size:17px;line-height:1.6;color:white;text-align:left}
#gallery .gallery-card:first-child .gallery-caption{font-size:27px;padding:32px 26px 25px;line-height:1.5}
#gallery .gallery-caption::before{content:'';display:block;width:26px;height:3px;background:var(--red);margin-bottom:10px}
#gallery .camera{top:12px;right:12px;width:33px;height:33px;padding:7px;display:grid;place-items:center;border:1px solid #ffffff50;border-radius:50%;background:#171b20b3;backdrop-filter:blur(6px);z-index:2}
#gallery .camera svg{width:17px;height:17px}
.gallery-number{position:absolute;left:14px;top:13px;color:#fff;font:500 12px/1.5 Arial,sans-serif;letter-spacing:2px;z-index:2;text-shadow:0 1px 3px #000}
/* Footer: compact brand column, useful section links, clear final credit. */
footer.balaka-footer{position:relative;margin-top:54px;padding:48px 0 0;background:linear-gradient(115deg,#111316,#20242a);border-top:1px solid #555c65;color:#d4d7dc;overflow:hidden}
.balaka-footer::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--red) 0 22%,#535a62 22% 100%)}
.footer-grid{display:grid;grid-template-columns:1.1fr 1.4fr .65fr;gap:56px;padding-bottom:38px}
.footer-brand img{width:280px;max-width:100%;height:auto;display:block}
.footer-brand p{font-size:19px;color:#c9cdd3;margin:22px 0 16px}
.footer-brand-mark{display:block;width:44px;height:4px;background:var(--red)}
.footer-group h2{font-size:18px;color:#fff;font-weight:600;margin:0 0 18px;display:flex;align-items:center;gap:10px}
.footer-group h2::before{content:'';width:5px;height:14px;border-radius:2px;background:var(--red)}
.balaka-footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;padding:0}
.balaka-footer .footer-links a,.footer-quicklinks a{font-size:16px;line-height:1.7;font-weight:500;border:0;padding:0;color:#c1c6ce;background:transparent;transition:color .2s}
.balaka-footer .footer-links a:hover,.footer-quicklinks a:hover{color:white;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:6px}
.footer-quicklinks{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.balaka-footer .back-top{display:inline-flex;align-items:center;gap:14px;padding:10px 15px;margin-top:10px;border:1px solid #59616b;border-radius:5px;background:#ffffff08;color:#fff;font-size:14px;font-weight:600}
.balaka-footer .back-top:hover{border-color:var(--red);background:#ffffff12}
.balaka-footer .footer-bottom{padding:20px 0 24px;border-top:1px solid #3a4048;font-size:13px;color:#9da4af;gap:10px 28px;align-items:center}
.balaka-footer .footer-bottom p{line-height:1.8}
@media(max-width:1199.98px){.opinion{padding:18px!important}.opinion-card a,.opinion-card:first-of-type a{grid-template-columns:65px minmax(0,1fr);gap:12px;padding:16px 12px}.opinion-card img{width:65px;height:72px}.opinion-card h3{font-size:18px}.footer-grid{gap:30px}}
@media(max-width:991.98px){
 .opinion{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .opinion .section-heading,.opinion-intro{grid-column:1/-1;margin-bottom:0}
 .opinion-card{margin:0}
 .opinion-card a,.opinion-card:first-of-type a{display:block;padding:18px 14px}
 .opinion-card img{width:74px;height:74px;margin-bottom:16px}
 .opinion-card h3{font-size:18px}
 #gallery .gallery-grid{grid-template-rows:repeat(2,175px);grid-auto-rows:175px;gap:12px}
 #gallery .gallery-caption{font-size:15px;padding:18px 12px 14px}
 #gallery .gallery-card:first-child .gallery-caption{font-size:23px;padding:22px}
 .footer-grid{grid-template-columns:1fr 1.4fr;gap:30px}
 .footer-group:last-child{grid-column:1/-1}
 .footer-quicklinks{flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}
 .balaka-footer .back-top{margin:0 0 0 auto}
}
@media(max-width:767.98px){
 .section-heading{gap:12px;margin-bottom:20px}
 .section-heading h2,#national>.section-heading h2{font-size:27px}
 .section-heading>span::after{width:24px}
 .opinion{display:block;margin-top:20px;padding:20px!important}
 .opinion-intro{margin-bottom:20px;font-size:13px}
 .opinion-card{margin-bottom:12px}
 .opinion-card a,.opinion-card:first-of-type a{display:grid;grid-template-columns:76px minmax(0,1fr);padding:16px 12px;gap:14px}
 .opinion-card img{width:76px;height:80px;margin:0}
 .opinion-card h3{font-size:18px}
 #gallery{padding:22px 16px;border-radius:9px;margin-top:38px}
 #gallery::before{left:16px}
 .gallery-description{font-size:13px;padding-left:0;margin-bottom:20px}
 #gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:260px 205px 205px;gap:12px}
 #gallery .gallery-card:first-child{grid-column:1/-1;grid-row:auto}
 #gallery .gallery-card:first-child .gallery-caption{font-size:24px;padding:22px 18px}
 #gallery .gallery-caption{font-size:16px;padding:16px 12px;line-height:1.5}
 #gallery .camera{width:29px;height:29px;right:9px;top:9px;padding:6px}
 .gallery-number{left:10px;top:13px;font-size:10px}
 footer.balaka-footer{padding-top:34px;margin-top:36px}
 .footer-grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px}
 .footer-brand img{width:245px}
 .footer-brand p{font-size:18px;margin:18px 0 14px}
 .footer-group h2{margin-bottom:14px}
 .footer-group:last-child{grid-column:auto}
 .balaka-footer .footer-links{gap:12px 16px}
 .balaka-footer .footer-links a,.footer-quicklinks a{font-size:15px}
 .footer-quicklinks{gap:16px}
 .balaka-footer .back-top{margin:0}
 .balaka-footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;font-size:12px;padding:20px 0}
}
@media(prefers-reduced-motion:reduce){.opinion-card,.gallery-card img,.news-card img{transition:none!important}}
/* Reset the original gallery icon's left anchor. */
#gallery .camera{left:auto}
.balaka-footer .footer-links{border:0}
