/* ARTICLE HERO — left aligned */
.art-hero{padding-bottom:150px;}
.art-hero-inner{max-width:1280px;margin:0 auto;padding:0 40px;text-align:left;}
.art-hero-inner > *{max-width:800px;}
.art-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;justify-content:flex-start;}
.art-tag{font-size:11px;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;color:var(--orange);background:var(--orange-pale);padding:7px 14px;border-radius:999px;}
.art-tag.navy{color:var(--navy);background:var(--navy-pale);}
h1.art-title{font-family:var(--display);font-weight:700;font-size:clamp(30px,4.4vw,50px);line-height:1.14;letter-spacing:-0.01em;color:var(--navy);text-align:left;}
.art-dek{font-size:17px;line-height:1.7;color:var(--muted);max-width:70ch;margin-top:18px;text-align:left;}
.art-meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-start;margin-top:28px;font-size:13px;color:var(--muted);font-weight:600;}
.art-meta .who{display:flex;align-items:center;gap:10px;}
.art-meta .avatar{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:14px;flex-shrink:0;}
.art-meta .who .name{color:var(--navy);font-weight:700;font-size:13.5px;}
.art-meta .stat{display:flex;align-items:center;gap:6px;}
.art-meta .stat svg{width:15px;height:15px;stroke:var(--muted);}
.art-meta .dot-sep{width:4px;height:4px;border-radius:50%;background:var(--line-strong);}

/* COVER IMAGE — sits below the text; only a slight overlap accent bites into the patterned hero */
.art-cover{max-width:1280px;margin:0 auto;padding:0 40px;margin-top:-130px;}
.art-cover-img{border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/8;position:relative;z-index:2;}
.art-cover-img img{width:100%;height:100%;object-fit:cover;}
@media (max-width:900px){.art-hero{padding-bottom:160px;}.art-cover{margin-top:-80px;}}
@media (max-width:640px){
  .art-hero{padding-bottom:40px;}
  .art-cover{margin-top:-46px;padding:0 8px;}
  .art-hero-inner{padding:0 8px;}
}

/* CONTENT GRID */
.art-layout{max-width:1280px;margin:0 auto;padding:64px 40px 0;display:grid;grid-template-columns:1fr 320px;gap:70px;align-items:start;}
@media (max-width:980px){.art-layout{grid-template-columns:1fr;gap:52px;padding:52px 24px 0;}}
@media (max-width:640px){.art-layout{padding:40px 8px 0;}}

/* Sidebar sticks below the fixed header while scrolling through the
   article, and naturally stops once it reaches the end of this column
   (grid + align-items:start above is what makes sticky work here). */
.art-layout > aside{position:sticky;top:calc(var(--header-offset, 105px) + 24px);}
@media (max-width:980px){.art-layout > aside{position:static;}}

.art-body{max-width:720px;}
.art-body p{font-size:16.5px;line-height:1.85;color:#2b3646;margin-bottom:22px;}
.art-body h3{font-family:var(--display);font-weight:700;font-size:24px;color:var(--navy);margin:38px 0 16px;line-height:1.3;}
.art-body h3::before{content:"";display:inline-block;width:22px;height:3px;background:var(--orange);border-radius:2px;margin-right:12px;vertical-align:middle;margin-bottom:3px;}
.art-body ul{margin:0 0 24px;padding:0;list-style:none !important;}
.art-body ul li{position:relative;padding-left:26px;font-size:16px;line-height:1.75;color:#2b3646;margin-bottom:10px;list-style-type:none !important;}
.art-body ul li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--orange);}
.art-body strong{color:var(--navy);}

.pull-card{background:var(--navy);background:radial-gradient(ellipse 500px 220px at 90% 0%, rgba(255,154,69,0.18), transparent 60%), linear-gradient(150deg, var(--navy) 0%, #001830 100%);border-radius:22px;padding:36px 38px;margin:38px 0;color:#fff;position:relative;overflow:hidden;}
.pull-card::before{content:"\201C";position:absolute;top:-6px;left:20px;font-family:var(--display);font-size:110px;color:rgba(255,255,255,0.08);line-height:1;}
.pull-card p{position:relative;font-family:var(--display);font-style:italic;font-weight:500;font-size:20px;line-height:1.55;color:#fff;margin:0;}
.pull-card .cite{position:relative;margin-top:16px;font-family:var(--body);font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--orange-light);}

/* GALLERY */
.art-gallery{margin:40px 0;}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gallery-item{border-radius:16px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm);cursor:zoom-in;position:relative;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-cap{text-align:center;margin-top:18px;}
.gallery-album-btn{margin:0 auto;}
.gallery-album-btn svg{width:16px;height:16px;stroke:currentColor;flex-shrink:0;}

/* GALLERY LIGHTBOX */
.gl-lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;}
.gl-lightbox[hidden]{display:none;}
.gl-backdrop{position:absolute;inset:0;background:rgba(8,14,26,0.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.gl-stage{position:relative;z-index:1;max-width:88vw;max-height:76vh;overflow:auto;display:flex;align-items:center;justify-content:center;}
.gl-stage::-webkit-scrollbar{display:none;}
.gl-image{max-width:88vw;max-height:76vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,0.5);transition:transform .25s ease;user-select:none;-webkit-user-select:none;}
.gl-btn{position:absolute;z-index:2;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,0.1);border:1.5px solid rgba(255,255,255,0.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;}
.gl-btn:hover:not(:disabled){background:var(--orange);border-color:var(--orange);}
.gl-btn:disabled{opacity:.3;cursor:default;}
.gl-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;}
.gl-close{top:24px;right:24px;}
.gl-nav{top:50%;transform:translateY(-50%);}
.gl-prev{left:24px;}
.gl-next{right:24px;}
.gl-bar{position:absolute;left:0;right:0;bottom:22px;z-index:2;display:flex;align-items:center;justify-content:center;gap:22px;color:#fff;}
.gl-counter{font-size:13px;font-weight:700;letter-spacing:.03em;color:rgba(255,255,255,0.85);}
.gl-zoom-group{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);border-radius:999px;padding:6px 10px;}
.gl-zoom-group .gl-btn{position:static;width:32px;height:32px;}
.gl-zoom-group .gl-btn svg{width:16px;height:16px;}
.gl-zoom-level{font-size:12px;font-weight:700;min-width:38px;text-align:center;}
@media (max-width:640px){
  .gl-nav{width:40px;height:40px;}
  .gl-prev{left:10px;}
  .gl-next{right:10px;}
  .gl-close{top:14px;right:14px;width:40px;height:40px;}
  .gl-bar{bottom:14px;gap:14px;}
}

/* TAGS + SHARE ROW */
.art-footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px;}
.foot-tags{display:flex;gap:8px;flex-wrap:wrap;}
.foot-tag{font-size:12px;font-weight:700;color:var(--navy);background:var(--paper-2);border:1px solid var(--line);padding:8px 14px;border-radius:999px;transition:all .2s ease;}
.foot-tag:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.share-row{display:flex;align-items:center;gap:10px;}
.share-row span{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;margin-right:4px;}
.share-ic{width:38px;height:38px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:all .2s ease;}
.share-ic:hover{background:var(--orange);border-color:var(--orange);}
.share-ic svg{width:16px;height:16px;stroke:var(--navy);transition:stroke .2s ease;}
.share-ic:hover svg{stroke:#fff;}

/* LIKE STRIP */
.like-strip{display:flex;align-items:center;gap:16px;padding:32px 0;flex-wrap:wrap;}
.like-btn{display:flex;align-items:center;gap:10px;background:var(--orange-pale);border:1.5px solid var(--orange);color:var(--orange);font-weight:700;font-size:14px;padding:12px 22px;border-radius:999px;cursor:pointer;transition:all .2s ease;}
.like-btn:hover{background:var(--orange);color:#fff;}
.like-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;}
.like-strip .note{font-size:13px;color:var(--muted);}

/* PREV / NEXT */
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:14px;}
.pn-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;transition:all .25s ease;}
.pn-card:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:var(--shadow-md);}
.pn-card .dir{font-size:11px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--orange);display:flex;align-items:center;gap:6px;margin-bottom:10px;}
.pn-card.next .dir{justify-content:flex-end;}
.pn-card h4{font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--navy);line-height:1.4;}
.pn-card.next{text-align:right;}
.pn-card .pn-date{font-size:11.5px;color:var(--muted);margin-top:8px;}
@media (max-width:640px){.prevnext{grid-template-columns:1fr;}.pn-card.next{text-align:left;}.pn-card.next .dir{justify-content:flex-start;}}

/* SIDEBAR */
.side-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;margin-bottom:24px;}
.side-card h4{font-family:var(--display);font-weight:700;font-size:17px;color:var(--navy);margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--orange-pale);}
.side-news-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);}
.side-news-item:last-child{border-bottom:none;padding-bottom:0;}
.side-news-item:first-child{padding-top:0;}
.side-thumb{width:64px;height:64px;border-radius:12px;overflow:hidden;flex-shrink:0;background:var(--navy-pale);}
.side-thumb img{width:100%;height:100%;object-fit:cover;}
.side-news-item h5{font-family:var(--display);font-weight:700;font-size:13.5px;color:var(--navy);line-height:1.4;margin-bottom:6px;}
.side-news-item:hover h5{color:var(--orange);}
.side-news-item .side-date{font-size:11px;color:var(--muted);font-weight:600;}

.side-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;}
.side-tag{font-size:11.5px;font-weight:700;color:var(--navy);background:var(--paper-2);border:1px solid var(--line);padding:7px 13px;border-radius:999px;}
.side-tag:hover{background:var(--navy);color:#fff;}

.side-cta{background:radial-gradient(ellipse 380px 200px at 90% 0%, rgba(255,154,69,0.16), transparent 60%), linear-gradient(150deg, var(--navy) 0%, #001830 100%);border-radius:20px;padding:30px 26px;color:#fff;text-align:center;}
.side-cta .ic{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.side-cta .ic svg{width:22px;height:22px;stroke:var(--orange-light);}
.side-cta h4{font-family:var(--display);font-weight:700;font-size:17px;border:none;padding:0;margin-bottom:8px;color:#fff;}
.side-cta p{font-size:12.5px;color:rgba(255,255,255,0.68);line-height:1.6;margin-bottom:18px;}

@media (max-width:980px){.side-card, .side-cta{margin-bottom:20px;}}

section.related-block{padding:100px 0 118px;background:var(--paper-2);margin-top:80px;}
.section-head{max-width:720px;margin:0 auto 48px;text-align:center;}
.section-head h2{font-family:var(--display);font-weight:700;font-size:clamp(26px,3.2vw,38px);margin-top:12px;color:var(--navy);line-height:1.18;}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media (max-width:980px){.related-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.related-grid{grid-template-columns:1fr;}section.related-block{padding:70px 0 80px;}}
.rel-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:all .3s ease;}
.rel-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.rel-img{aspect-ratio:16/10;overflow:hidden;background:var(--navy-pale);}
.rel-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.rel-card:hover .rel-img img{transform:scale(1.06);}
.rel-body{padding:20px 22px 24px;}
.rel-tag{font-size:10.5px;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;color:var(--orange);}
.rel-body h3{font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--navy);margin:10px 0;line-height:1.4;}
.rel-body .rel-date{font-size:11.5px;color:var(--muted);font-weight:600;}

/* ===== DARK MODE SELECTOR OVERRIDES ===== */
html[data-theme="dark"] .btn.outline{border-color:var(--line-strong);color:var(--ink);}
html[data-theme="dark"] .btn.outline:hover{background:var(--ink);color:var(--paper);}
html[data-theme="dark"] .logo .word{color:var(--ink);}
html[data-theme="dark"] nav.links{color:var(--ink);}
html[data-theme="dark"] .hamburger span{background:var(--ink);}
html[data-theme="dark"] #mobileMenu{background:var(--paper-2);border-left:1px solid var(--line);}
html[data-theme="dark"] #mobileMenu a{color:var(--ink);}
html[data-theme="dark"] #mobileBackdrop{background:rgba(0,0,0,0.6);}
html[data-theme="dark"] .hero-zone{background-image:
    radial-gradient(circle, rgba(255,255,255,0.08) 1.6px, transparent 1.6px),
    linear-gradient(115deg, rgba(255,255,255,0.045) 1px, transparent 1px);}
html[data-theme="dark"] .hero-zone::before{background:radial-gradient(circle,rgba(255,143,69,0.22),transparent 70%);}
html[data-theme="dark"] .hero-zone::after{background:radial-gradient(circle,rgba(58,120,200,0.22),transparent 70%);}
html[data-theme="dark"] .art-tag.navy{color:#bcd4f0;background:var(--navy-pale);}
html[data-theme="dark"] h1.art-title{color:var(--ink);}
html[data-theme="dark"] .art-meta .who .name{color:var(--ink);}
html[data-theme="dark"] .art-body p{color:#ccd4e2;}
html[data-theme="dark"] .art-body h3{color:var(--ink);}
html[data-theme="dark"] .art-body ul li{color:#ccd4e2;}
html[data-theme="dark"] .art-body strong{color:#ffffff;}
html[data-theme="dark"] .foot-tag{color:var(--ink);background:var(--navy-pale);}
html[data-theme="dark"] .share-ic svg{stroke:var(--ink);}
html[data-theme="dark"] .pn-card{background:var(--paper-2);}
html[data-theme="dark"] .pn-card h4{color:var(--ink);}
html[data-theme="dark"] .side-card{background:var(--paper-2);}
html[data-theme="dark"] .side-card h4{color:var(--ink);}
html[data-theme="dark"] .side-news-item h5{color:var(--ink);}
html[data-theme="dark"] .side-tag{color:var(--ink);background:var(--navy-pale);}
html[data-theme="dark"] .section-head h2{color:var(--ink);}
html[data-theme="dark"] .rel-card{background:var(--paper-2);}
html[data-theme="dark"] .rel-body h3{color:var(--ink);}