.steam-hero {
  position: relative;
  min-height: 760px;
  padding: calc(var(--header-height) + 105px) 0 92px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(2,166,221,.24), transparent 34%),
    radial-gradient(circle at 10% 92%, rgba(114,75,165,.2), transparent 30%),
    linear-gradient(135deg, #020a15 0%, #061b34 55%, #073b63 100%);
}
.steam-hero-pattern { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(90deg,#000,transparent 75%); }
.steam-orbit { position:absolute; border:1px solid rgba(101,217,255,.18); border-radius:50%; pointer-events:none; }
.steam-orbit::after { content:""; position:absolute; width:12px; height:12px; border-radius:50%; background:#65d9ff; box-shadow:0 0 22px #65d9ff; }
.steam-orbit-one { width:540px; height:540px; right:-155px; top:80px; transform:rotate(22deg); }
.steam-orbit-one::after { left:42px; top:90px; }
.steam-orbit-two { width:280px; height:280px; left:-120px; bottom:-80px; }
.steam-orbit-two::after { right:35px; top:22px; background:#ef7e23; box-shadow:0 0 20px #ef7e23; }
.steam-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:72px; }
.steam-hero-copy h1 { margin-top:20px; max-width:790px; color:#fff; font-size:clamp(3.2rem,6.4vw,6.6rem); }
.steam-hero-copy h1 em { color:#65d9ff; font-style:normal; }
.steam-hero-copy > p { max-width:690px; margin-top:24px; color:#b6cad9; font-size:1rem; }
.event-status { display:inline-flex; align-items:center; gap:10px; color:#d7f4ff; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.event-status span { width:10px; height:10px; border-radius:50%; background:#ef7e23; box-shadow:0 0 18px rgba(239,126,35,.9); }
.hero-action-grid { margin-top:34px; display:flex; flex-wrap:wrap; gap:10px; }
.button-ended { cursor:not-allowed; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.07); color:#a8bac7; box-shadow:none; }
.button-ended:hover { transform:none; }
.button-ended b { padding:4px 7px; border-radius:999px; background:rgba(239,126,35,.15); color:#ffc090; font-size:.57rem; text-transform:uppercase; letter-spacing:.08em; }
.button-community { background:#18b867; color:#fff; box-shadow:0 14px 34px rgba(24,184,103,.28); }
.steam-hero-visual { position:relative; min-height:510px; display:grid; place-items:center; }
.competition-logo-card { position:relative; width:min(100%,550px); padding:48px; border:1px solid rgba(255,255,255,.18); border-radius:36px; background:#fff; box-shadow:0 36px 100px rgba(0,0,0,.35); transform:rotate(1.5deg); }
.competition-logo-card::before { content:""; position:absolute; inset:14px; border:1px solid #dce7f0; border-radius:25px; pointer-events:none; }
.competition-logo-card img { width:100%; height:auto; object-fit:contain; }
.hero-fact { position:absolute; min-width:185px; padding:15px 18px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:rgba(2,18,36,.82); box-shadow:0 20px 48px rgba(0,0,0,.25); backdrop-filter:blur(12px); }
.hero-fact strong,.hero-fact span { display:block; }
.hero-fact strong { color:#fff; font-family:var(--font-heading); font-size:.85rem; }
.hero-fact span { margin-top:2px; color:#8ea8bb; font-size:.62rem; }
.hero-fact-one { left:-25px; top:82px; }
.hero-fact-two { right:-10px; bottom:52px; }

.event-anchor-nav { position:sticky; z-index:1500; top:76px; border-bottom:1px solid rgba(10,50,80,.09); background:rgba(255,255,255,.96); box-shadow:0 12px 30px rgba(8,39,62,.07); backdrop-filter:blur(14px); }
.event-anchor-inner { min-height:62px; display:flex; align-items:center; gap:7px; overflow-x:auto; scrollbar-width:none; }
.event-anchor-inner::-webkit-scrollbar { display:none; }
.event-anchor-inner > span { margin-right:8px; color:#6f8595; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap; }
.event-anchor-inner a { padding:7px 12px; border:1px solid #dce7f0; border-radius:999px; color:#244b66; font-size:.66rem; font-weight:800; white-space:nowrap; transition:.2s; }
.event-anchor-inner a:hover { border-color:#02a6dd; background:#eaf8fd; color:#0373bb; }

.overview-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:78px; align-items:start; }
.overview-main h2,.shortlist-copy h2,.recap-header h2 { margin-top:14px; font-size:clamp(2.2rem,4.4vw,4.5rem); }
.overview-main > p { max-width:720px; margin-top:24px; font-size:.92rem; }
.eligibility-card { margin-top:34px; padding:30px; border:1px solid #dce7f0; border-radius:24px; background:#f7fbfd; }
.eligibility-card h3 { font-size:1.25rem; }
.check-list { margin:20px 0 0; padding:0; list-style:none; display:grid; gap:13px; }
.check-list li { position:relative; padding-left:31px; color:#385970; font-size:.82rem; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:1px; width:21px; height:21px; display:grid; place-items:center; border-radius:50%; background:#dff7eb; color:#13965a; font-weight:900; }
.objective-panel { padding:38px; border-radius:30px; background:linear-gradient(145deg,#06162b,#0a3f69); box-shadow:0 28px 70px rgba(8,41,66,.2); }
.panel-label { color:#65d9ff; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.objective-list { margin:25px 0 0; padding:0; list-style:none; }
.objective-list li { padding:17px 0; display:grid; grid-template-columns:48px 1fr; align-items:center; gap:14px; border-top:1px solid rgba(255,255,255,.1); }
.objective-list li:first-child { border-top:0; }
.objective-list span { color:#65d9ff; font-family:var(--font-heading); font-size:.7rem; font-weight:800; }
.objective-list p { color:#fff; font-family:var(--font-heading); font-size:.88rem; font-weight:700; }

.phases-section { background:linear-gradient(180deg,#06162b,#030d1a); }
.timeline { position:relative; display:grid; gap:14px; }
.timeline::before { content:""; position:absolute; left:169px; top:24px; bottom:24px; width:1px; background:linear-gradient(#65d9ff,rgba(101,217,255,.12)); }
.timeline-item { position:relative; display:grid; grid-template-columns:145px 1fr; gap:48px; align-items:center; }
.timeline-item::before { content:""; position:absolute; left:163px; width:13px; height:13px; border:3px solid #06162b; border-radius:50%; background:#65d9ff; box-shadow:0 0 20px rgba(101,217,255,.6); }
.timeline-date { color:#65d9ff; font-size:.7rem; font-weight:800; text-align:right; }
.timeline-item > div { padding:25px 28px; border:1px solid rgba(255,255,255,.1); border-radius:20px; background:rgba(255,255,255,.045); }
.timeline-item small { color:#6e8ba0; font-size:.58rem; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.timeline-item h3 { margin-top:5px; font-size:1.18rem; }
.timeline-item p { margin-top:8px; color:#94abba; font-size:.78rem; }

.guidelines-section { background:#f4f9fc; }
.guideline-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.guideline-card { min-height:260px; padding:26px 22px; border:1px solid rgba(10,70,108,.1); border-radius:22px; background:#fff; box-shadow:0 16px 42px rgba(18,61,91,.06); }
.guideline-card > span { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:#e8f7fc; color:#0373bb; font-family:var(--font-heading); font-size:.66rem; font-weight:800; }
.guideline-card h3 { margin-top:22px; font-size:1rem; }
.guideline-card p { margin-top:11px; color:#657e90; font-size:.72rem; }
.must-include { margin-top:38px; padding:38px; border-radius:30px; background:linear-gradient(135deg,#0b2545,#1258a6); box-shadow:0 24px 70px rgba(10,49,83,.18); }
.must-include-heading span { color:#65d9ff; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.must-include-heading h3 { max-width:720px; margin-top:9px; color:#fff; font-size:1.65rem; }
.must-include-grid { margin-top:28px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.must-include-grid article { padding:20px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.06); }
.must-include-grid strong { display:block; color:#fff; font-family:var(--font-heading); font-size:.78rem; }
.must-include-grid p { margin-top:8px; color:#adc2d1; font-size:.69rem; }

.results-section { background:#fff; }
.winner-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.winner-card { padding:30px; border:1px solid #dce7f0; border-radius:24px; background:linear-gradient(180deg,#fff,#f5fafc); box-shadow:0 16px 44px rgba(11,58,88,.07); }
.winner-award { color:#0878c4; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.winner-card h3 { margin-top:13px; font-size:1.55rem; }
.winner-card p { margin-top:10px; color:#6b8394; font-size:.75rem; }
.winner-card a { margin-top:20px; display:inline-flex; gap:8px; color:#0b2545; font-size:.7rem; font-weight:800; }
.winner-card a span { color:#02a6dd; }
.results-gallery { margin-top:38px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.result-figure { margin:0; overflow:hidden; border:1px solid #dce7f0; border-radius:22px; background:#fff; box-shadow:0 18px 46px rgba(12,55,84,.08); }
.result-image-button { width:100%; padding:0; border:0; background:#f4f7f9; cursor:zoom-in; }
.result-figure img { width:100%; aspect-ratio:4/5; object-fit:contain; background:#fff; }
.result-figure[data-type="shortlist"] { grid-column:span 2; }
.result-figure[data-type="shortlist"] img { aspect-ratio:16/11; }
.result-figure figcaption { padding:16px 18px; color:#244b66; font-size:.7rem; font-weight:800; }
.gallery-loading,.gallery-empty,.noscript-note { grid-column:1/-1; padding:24px; border:1px dashed #bad0dc; border-radius:16px; color:#60798b; text-align:center; font-size:.78rem; }
.result-lightbox { position:fixed; z-index:5000; inset:0; padding:28px; display:grid; place-items:center; background:rgba(0,7,16,.92); opacity:0; visibility:hidden; transition:.22s; }
.result-lightbox.open { opacity:1; visibility:visible; }
.result-lightbox-inner { position:relative; max-width:min(94vw,1100px); max-height:90vh; }
.result-lightbox img { max-width:100%; max-height:80vh; object-fit:contain; border-radius:14px; background:#fff; }
.result-lightbox-inner > p { max-width:900px; margin:10px auto 0; color:#d9e7ef; font-size:.72rem; text-align:center; }
.result-lightbox button { position:absolute; right:-12px; top:-12px; width:42px; height:42px; border:0; border-radius:50%; background:#fff; color:#06162b; font-weight:900; box-shadow:0 10px 30px rgba(0,0,0,.3); }

.awards-section { background:linear-gradient(180deg,#04101f,#071c34); }
.award-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.award-card { min-height:300px; padding:28px; border:1px solid rgba(255,255,255,.1); border-radius:23px; background:rgba(255,255,255,.045); }
.award-card > span { display:inline-grid; place-items:center; width:43px; height:43px; border:1px solid rgba(101,217,255,.25); border-radius:50%; color:#65d9ff; font-family:var(--font-heading); font-size:.65rem; font-weight:800; }
.award-card h3 { margin-top:24px; font-size:1.2rem; }
.award-card p { margin-top:14px; color:#a0b5c3; font-size:.76rem; }
.award-card small { display:block; margin-top:20px; color:#65d9ff; font-size:.62rem; font-weight:800; }
.additional-prizes { margin-top:28px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.additional-prizes article { padding:25px; border-radius:20px; background:#fff; color:#536f83; }
.additional-prizes span { color:#0878c4; font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.additional-prizes h3 { margin-top:8px; font-size:1rem; }
.additional-prizes ul { margin:14px 0 0; padding-left:18px; font-size:.72rem; }
.additional-prizes li + li { margin-top:8px; }

.shortlist-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:72px; align-items:center; }
.shortlist-poster { padding:18px; border:1px solid #dce7f0; border-radius:28px; background:#fff; box-shadow:0 24px 70px rgba(10,57,87,.12); }
.shortlist-poster img { width:100%; height:auto; border-radius:18px; }
.shortlist-copy > p { margin-top:20px; color:#627b8e; font-size:.84rem; }
.shortlist-names { margin-top:28px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 20px; }
.shortlist-names span { padding:8px 10px; border-bottom:1px solid #e3edf2; color:#284e68; font-size:.69rem; font-weight:700; }

.sponsor-section { background:#f4f9fc; }
.event-sponsor-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.event-sponsor-card { margin:0; overflow:hidden; border:1px solid rgba(10,70,108,.1); border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(18,61,91,.06); }
.event-sponsor-card img { width:100%; aspect-ratio:5/3; object-fit:contain; background:#fff; }
.event-sponsor-card figcaption { padding:11px 15px 14px; border-top:1px solid #edf2f5; color:#49667a; font-size:.66rem; font-weight:800; text-align:center; }

.ceremony-recap { font-family:"Cairo",Arial,sans-serif; background:#fff; }
.recap-shell { max-width:1040px; }
.recap-header { padding-bottom:38px; border-bottom:1px solid #dce7f0; }
.recap-header .section-kicker { font-family:"Cairo",Arial,sans-serif; }
.recap-header h2 { max-width:970px; margin-left:auto; letter-spacing:-.02em; line-height:1.32; }
.recap-header > p:not(.recap-date) { margin-top:25px; color:#4e687b; font-size:.93rem; line-height:2; }
.recap-date { margin-top:18px; color:#0878c4; font-weight:800; }
.recap-content { margin-top:40px; display:grid; gap:22px; }
.recap-block { padding:34px; border:1px solid #dce7f0; border-radius:24px; background:#f9fcfd; }
.recap-block > span { color:#0878c4; font-size:.72rem; font-weight:800; }
.recap-block h3 { margin-top:8px; font-family:"Cairo",Arial,sans-serif; font-size:1.55rem; letter-spacing:0; }
.recap-block p { margin-top:14px; color:#4f6879; font-size:.85rem; line-height:2; }
.recap-block blockquote { margin:22px 0 0; padding:20px 24px; border-right:4px solid #02a6dd; border-radius:14px; background:#eaf7fc; color:#0b3c5d; font-weight:700; line-height:1.9; }
.recap-partners ul { columns:2; margin:20px 0 0; padding-right:20px; }
.recap-partners li { break-inside:avoid; margin-bottom:9px; color:#526d80; font-size:.78rem; }
.recap-hero-photo,.recap-feature-photo,.recap-photo-pair figure { margin:0; overflow:hidden; border-radius:26px; background:#eef4f7; box-shadow:0 22px 60px rgba(9,48,75,.13); }
.recap-hero-photo { margin-top:38px; }
.recap-hero-photo img,.recap-feature-photo img,.recap-photo-pair img { width:100%; height:auto; display:block; }
.recap-hero-photo figcaption { padding:14px 18px; color:#526c7d; font-size:.72rem; text-align:center; }
.ceremony-image-button { width:100%; padding:0; border:0; display:block; background:transparent; cursor:zoom-in; }
.recap-feature-photo img { aspect-ratio:3/2; object-fit:contain; background:#f3f6f8; }
.recap-two-column { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.recap-two-column .recap-block { height:100%; }
.recap-photo-pair { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.recap-photo-pair img { aspect-ratio:3/2; object-fit:contain; background:#f3f6f8; }
.ceremony-gallery-section { padding:36px; border:1px solid #dce7f0; border-radius:26px; background:#f5fafc; }
.ceremony-gallery-heading > span { color:#0878c4; font-size:.72rem; font-weight:800; }
.ceremony-gallery-heading h3 { margin-top:7px; font-family:"Cairo",Arial,sans-serif; font-size:1.65rem; }
.ceremony-gallery-heading p { margin-top:12px; color:#587184; font-size:.78rem; line-height:1.9; }
.ceremony-gallery { margin-top:26px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; direction:ltr; }
.ceremony-gallery-item { margin:0; overflow:hidden; border:1px solid #dce7f0; border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(12,55,84,.08); direction:rtl; }
.ceremony-gallery-item img { width:100%; aspect-ratio:3/2; object-fit:contain; display:block; background:#eef2f4; }
.ceremony-gallery-item figcaption { min-height:58px; padding:12px 14px; color:#4f6879; font-size:.65rem; line-height:1.65; }
.recap-next { border-color:#bcddea; background:linear-gradient(135deg,#eef9fd,#fff); }
.recap-next .button { margin-top:20px; }

.event-final-cta { background:#020a15; }
.event-final-shell { padding:46px; display:flex; align-items:center; justify-content:space-between; gap:38px; border:1px solid rgba(255,255,255,.11); border-radius:30px; background:linear-gradient(135deg,#06162b,#0a4774); }
.event-final-shell h2 { max-width:720px; margin-top:12px; font-size:clamp(2rem,4vw,3.7rem); }

@media (max-width:1100px) {
  .steam-hero-grid,.overview-layout,.shortlist-layout { gap:48px; }
  .guideline-grid { grid-template-columns:repeat(3,1fr); }
  .must-include-grid,.event-sponsor-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:980px) {
  .steam-hero { padding-top:calc(var(--header-height) + 80px); }
  .steam-hero-grid,.overview-layout,.shortlist-layout { grid-template-columns:1fr; }
  .steam-hero-copy { text-align:center; }
  .steam-hero-copy > p { margin-inline:auto; }
  .event-status,.hero-action-grid { justify-content:center; }
  .steam-hero-visual { min-height:450px; }
  .winner-grid,.award-grid,.additional-prizes { grid-template-columns:repeat(2,1fr); }
  .results-gallery { grid-template-columns:repeat(2,1fr); }
  .result-figure[data-type="shortlist"] { grid-column:1/-1; }
  .shortlist-poster { max-width:620px; margin-inline:auto; }
  .event-final-shell { align-items:flex-start; flex-direction:column; }
  .ceremony-gallery { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px) {
  .steam-hero { min-height:auto; padding-top:calc(var(--header-height) + 55px); }
  .steam-hero-copy h1 { font-size:clamp(2.65rem,13vw,4.5rem); }
  .hero-action-grid .button { width:100%; }
  .steam-hero-visual { min-height:360px; }
  .competition-logo-card { padding:30px; border-radius:25px; }
  .hero-fact { min-width:145px; padding:12px 14px; }
  .hero-fact-one { left:-2px; top:28px; }
  .hero-fact-two { right:-2px; bottom:20px; }
  .event-anchor-nav { top:0; }
  .overview-main h2,.shortlist-copy h2,.recap-header h2 { font-size:clamp(1.95rem,9.8vw,3rem); }
  .objective-panel,.eligibility-card,.must-include { padding:25px; }
  .timeline::before { left:8px; }
  .timeline-item { grid-template-columns:1fr; gap:8px; padding-left:28px; }
  .timeline-item::before { left:2px; top:31px; }
  .timeline-date { text-align:left; }
  .guideline-grid,.winner-grid,.award-grid,.additional-prizes,.results-gallery,.must-include-grid,.event-sponsor-grid { grid-template-columns:1fr; }
  .guideline-card { min-height:0; }
  .result-figure[data-type="shortlist"] { grid-column:auto; }
  .result-figure[data-type="shortlist"] img { aspect-ratio:4/5; }
  .shortlist-names { grid-template-columns:1fr; }
  .recap-block { padding:24px; }
  .recap-partners ul { columns:1; }
  .recap-two-column,.recap-photo-pair,.ceremony-gallery { grid-template-columns:1fr; }
  .ceremony-gallery-section { padding:24px; }
  .event-final-shell { padding:30px 22px; }
  .event-final-shell .button { width:100%; }
}


/* Dedicated ceremony article and landing-page teaser */
.ceremony-teaser-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:64px; }
.ceremony-teaser-image { overflow:hidden; border-radius:var(--radius-lg); box-shadow:var(--shadow-light); }
.ceremony-teaser-image img { width:100%; height:auto; }
.ceremony-teaser-copy h2 { margin:14px 0 20px; }
.ceremony-teaser-copy p { margin-bottom:28px; }
.article-hero { position:relative; min-height:620px; padding:calc(var(--header-height) + 90px) 0 90px; display:flex; align-items:flex-end; overflow:hidden; background:var(--navy-900); }
.article-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,10,23,.97),rgba(1,10,23,.82) 55%,rgba(1,10,23,.44)),url("../../assets/events/steam-stars-2025/ceremony/ceremony-02-award-winners-group.webp") center/cover no-repeat; }
.article-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(18,88,166,.28),transparent 55%); }
.article-hero-content { position:relative; z-index:2; max-width:980px; }
.article-hero .article-breadcrumb { margin-bottom:26px; display:flex; flex-wrap:wrap; gap:10px; color:#8edfff; font-size:.72rem; font-weight:700; }
.article-hero h1 { max-width:1020px; color:#fff; font-size:clamp(2.4rem,5vw,5rem); line-height:1.18; letter-spacing:-.035em; }
.article-hero-meta { margin-top:24px; display:flex; flex-wrap:wrap; gap:14px 24px; color:#bdd1df; font-size:.82rem; }
.article-page { padding:90px 0 110px; background:#fff; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:68px; }
.article-main { min-width:0; }
.article-lead { margin-bottom:36px; padding:28px 32px; border-right:4px solid var(--cyan-500); border-radius:18px; background:#f2f9fd; color:#294b64; font-size:1.08rem; line-height:2; }
.article-main h2 { margin:56px 0 18px; font-size:clamp(1.7rem,3vw,2.8rem); }
.article-main h3 { margin:38px 0 14px; }
.article-main p { margin-bottom:20px; line-height:2; }
.article-main blockquote { margin:30px 0; padding:26px 30px; border:0; border-radius:20px; background:var(--navy-900); color:#fff; font-size:1.12rem; line-height:2; }
.article-photo { margin:38px 0; }
.article-photo button { width:100%; padding:0; overflow:hidden; border:0; border-radius:24px; background:#eef5f9; box-shadow:var(--shadow-light); }
.article-photo img { width:100%; height:auto; }
.article-photo figcaption { margin-top:10px; color:#728899; font-size:.76rem; text-align:center; }
.article-partner-list { columns:2; gap:40px; padding:0; list-style:none; }
.article-partner-list li { break-inside:avoid; margin-bottom:10px; padding:12px 15px; border:1px solid #dce7f0; border-radius:12px; background:#f8fbfd; }
.article-sidebar { position:sticky; top:104px; }
.sidebar-card { margin-bottom:24px; padding:26px; border:1px solid #dce7f0; border-radius:22px; background:#f8fbfd; }
.sidebar-card h2 { margin-bottom:18px; font-size:1.35rem; }
.sidebar-card a { display:block; padding:13px 0; border-bottom:1px solid #dce7f0; color:#17466a; font-size:.82rem; font-weight:700; }
.sidebar-card a:last-child { border-bottom:0; }
.sidebar-card time { display:block; margin-top:5px; color:#7d91a1; font-size:.68rem; font-weight:500; }
.article-next-edition { margin-top:54px; padding:34px; border-radius:26px; background:linear-gradient(135deg,#0b2545,#0373bb); color:#d9effb; }
.article-next-edition h2 { margin:0 0 15px; color:#fff; }
.article-next-edition .button { margin-top:8px; }
.post-navigation { margin-top:60px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.post-navigation a { padding:24px; border:1px solid #dce7f0; border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(15,52,82,.08); }
.post-navigation span { display:block; margin-bottom:8px; color:#718697; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.post-navigation strong { color:#123b5d; }
.article-gallery-wrap { margin-top:62px; padding:34px; border-radius:28px; background:#f2f8fc; }
.article-gallery-wrap h2 { margin:0 0 10px; }
.article-gallery-wrap > p { margin-bottom:24px; }
@media (max-width:980px) { .ceremony-teaser-grid,.article-layout { grid-template-columns:1fr; } .article-sidebar { position:static; } .article-partner-list { columns:1; } }
@media (max-width:680px) { .article-hero { min-height:540px; padding-top:calc(var(--header-height) + 60px); } .article-page { padding:64px 0 80px; } .article-lead,.article-gallery-wrap { padding:22px; } .post-navigation { grid-template-columns:1fr; } }

.arabic-article .article-main,.arabic-article .article-hero-content { font-family:"Noto Kufi Arabic",Arial,sans-serif; }
.arabic-article [data-site-header],.arabic-article .site-footer { direction:ltr; }
.arabic-article .article-sidebar { direction:rtl; }
