/*
Theme Name: Dr. Osama Shabash
Author: Dr. Osama Shabash
Description: Bilingual (English/Arabic, RTL-aware) one-page theme for a family physician's personal site. Every section is editable from Appearance → Customize, and Articles/Videos are managed as regular WordPress content types.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dr-shabash
*/

/* ---------- Tokens ---------- */
:root{
  --bg:#f6f4ee; --surface:#ffffff; --surface-2:#eef1ee;
  --ink:#1c2b30; --muted:#5c6e70; --line:#dfe2dc;
  --shadow:rgba(19,38,42,.10); --shadow-strong:rgba(19,38,42,.18);
  --navy:#0f2233; --navy-2:#153048; --on-navy:#eef4f2; --on-navy-muted:#b9c9cd;
  --teal:#1f6f63; --teal-ink:#164f47; --teal-tint:#e4efec; --teal-bright:#38a893;
  --gold:#a97a34;
  --nav-bg:rgba(251,250,247,.92); --nav-ink:#1c2b30; --nav-muted:#5c6e70; --nav-line:#dfe2dc; --nav-hover-bg:#eef1ee;
  --radius:2px;
  --heading:"Manrope","Tajawal","Segoe UI",Arial,sans-serif;
  --sans:"Public Sans","Tajawal","Segoe UI",Arial,sans-serif;
  --arabic:"Tajawal","Public Sans","Segoe UI",Arial,sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0c1315; --surface:#131c1e; --surface-2:#172224;
    --ink:#e8ede9; --muted:#93a5a3; --line:#25302f;
    --shadow:rgba(0,0,0,.45); --shadow-strong:rgba(0,0,0,.6);
    --teal:#5cbcab; --teal-ink:#8fd0c4; --teal-tint:#12302b; --teal-bright:#5cbcab;
    --gold:#d1a256;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0c1315; --surface:#131c1e; --surface-2:#172224;
  --ink:#e8ede9; --muted:#93a5a3; --line:#25302f;
  --shadow:rgba(0,0,0,.45); --shadow-strong:rgba(0,0,0,.6);
  --teal:#5cbcab; --teal-ink:#8fd0c4; --teal-tint:#12302b; --teal-bright:#5cbcab;
  --gold:#d1a256;
  color-scheme: dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
[hidden]{display:none!important}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}
h1,h2,h3{font-family:var(--heading);font-weight:600;text-wrap:balance;margin:0}
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] .btn,[dir="rtl"] .kicker,[dir="rtl"] .eyebrow{font-family:var(--arabic)}
[dir="rtl"] body,[dir="rtl"]{font-family:var(--arabic)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

.skip-link{position:fixed;top:-100px;inset-inline-start:12px;background:var(--teal);color:#fff;padding:10px 16px;border-radius:var(--radius);z-index:300;transition:top .2s}
.skip-link:focus{top:12px}
.ico{width:1em;height:1em;display:inline-block;vertical-align:-0.125em;fill:currentColor;flex:none}

.wrap{max-width:1180px;margin:auto;padding-inline:28px}
@media (max-width:680px){ .wrap{padding-inline:20px} }
.site{opacity:1;transition:opacity .18s ease}
.site[hidden]{display:none!important}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:env(safe-area-inset-top,0px);inset-inline-start:0;height:3px;width:0%;background:linear-gradient(90deg,var(--teal),var(--teal-bright));z-index:210;transition:width .1s linear}

/* ---------- Topbar ---------- */
.topbar{background:var(--navy);color:var(--on-navy-muted);font-size:.78rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:9px}
.topbar strong{color:var(--on-navy);font-weight:600;letter-spacing:.02em}

/* ---------- Nav (fixed brand chrome: always light, matches the logo's fixed ink) ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--nav-line);transition:box-shadow .25s ease}
.nav.is-scrolled{box-shadow:0 10px 26px rgba(19,38,42,.14)}
.nav .wrap{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;line-height:0}
.brand img{display:block;height:44px;width:auto}
.navbar-right{display:flex;align-items:center;gap:18px}
.navlinks{display:flex;align-items:center;gap:26px;font-size:.92rem;font-weight:600;color:var(--nav-muted)}
.navlinks a{position:relative;padding-block:6px}
.navlinks a::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .25s}
.navlinks a:hover,.navlinks a.is-active{color:var(--nav-ink);text-decoration:none}
.navlinks a:hover::after,.navlinks a.is-active::after{transform:scaleX(1)}
.lang{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--nav-line);border-radius:20px;padding:7px 14px;color:var(--nav-ink);font-weight:700;font-size:.85rem;white-space:nowrap;transition:border-color .2s,color .2s,transform .15s}
.lang:hover{border-color:var(--teal);color:var(--teal-ink)}
.lang:active{transform:scale(.96)}
.lang .ico{font-size:.85rem}
.burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;flex:none;transition:background .2s;color:var(--nav-ink)}
.burger:hover{background:var(--nav-hover-bg)}
.burger .ico{font-size:1.05rem}
.menu-toggle-input{position:absolute;opacity:0;pointer-events:none}

@media (max-width:900px){
  .navlinks{position:fixed;inset-inline:0;top:80px;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--nav-line);flex-direction:column;align-items:flex-start;gap:2px;padding:0 24px;box-shadow:0 18px 30px rgba(19,38,42,.14);max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
  .navlinks a{width:100%;padding-block:12px;border-bottom:1px solid var(--nav-line)}
  .navlinks a::after{display:none}
  .menu-toggle-input:checked ~ .navbar-right .navlinks{max-height:420px;padding:10px 24px 22px}
  .burger{display:inline-flex}
  .icon-close{display:none}
  .menu-toggle-input:checked ~ .navbar-right .burger .icon-menu{display:none}
  .menu-toggle-input:checked ~ .navbar-right .burger .icon-close{display:inline-block}
}
@media (max-width:680px){ .brand img{height:36px} }

/* ---------- Hero ---------- */
.hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(56,168,147,.22),transparent 70%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.68fr);gap:64px;align-items:center;padding-block:76px 0;position:relative;z-index:1}
.hero-content{max-width:680px}
@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-content>*,.hero-aside{animation:heroIn .7s cubic-bezier(.2,.8,.2,1) both}
.hero-content .eyebrow{animation-delay:.02s}
.hero-content h1{animation-delay:.1s}
.hero-content .hero-lead{animation-delay:.2s}
.hero-content .hero-actions{animation-delay:.3s}
.hero-aside{animation-delay:.38s}
.eyebrow{color:var(--teal-light,#7fc3b6);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.7}
[dir="rtl"] .eyebrow::before{display:none}
.hero h1{font-size:clamp(2.4rem,5.2vw,4.4rem);line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:0 0 22px}
[dir="rtl"] .hero h1{line-height:1.3;letter-spacing:0}
.hero h1 em{font-style:normal;color:#8fd0c4}
.hero-lead{max-width:560px;color:var(--on-navy-muted);font-size:1.1rem;line-height:1.75;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding-inline:20px;border-radius:3px;font-size:.9rem;font-weight:700;transition:transform .15s,filter .15s,box-shadow .15s}
.btn.primary{background:#8fd0c4;color:#0c231f}
.btn.ghost{border:1px solid rgba(255,255,255,.35);color:var(--on-navy)}
.btn:hover{filter:brightness(1.07);transform:translateY(-2px);text-decoration:none;box-shadow:0 12px 24px var(--shadow-strong)}
.btn:active{transform:translateY(0) scale(.98)}
.btn .ico{font-size:.8rem;transition:transform .2s}
.btn.primary:hover .ico{transform:translateX(3px)}
[dir="rtl"] .btn.primary:hover .ico{transform:translateX(-3px)}
.hero-aside{border-inline-start:1px solid rgba(255,255,255,.16);padding-inline-start:40px;height:100%;display:flex;flex-direction:column;justify-content:center;gap:26px}
.portrait-frame{position:relative;width:172px;height:212px;flex:none}
.portrait-frame::before{content:"";position:absolute;inset:-16px;border-radius:22px;background:radial-gradient(circle,rgba(143,208,196,.5),transparent 72%);animation:pulseGlow 2.8s ease-in-out infinite}
@keyframes pulseGlow{0%,100%{opacity:.45;transform:scale(.94)}50%{opacity:.9;transform:scale(1.04)}}
.portrait{position:relative;width:172px;height:212px;border-radius:16px;border:1px solid rgba(143,208,196,.55);overflow:hidden;background:#faf8f3;box-shadow:0 18px 38px rgba(0,0,0,.35)}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.portrait-badge{position:absolute;inset-inline-start:-8px;bottom:-14px;background:#8fd0c4;color:#0c231f;font-size:.7rem;font-weight:800;letter-spacing:.01em;padding:7px 13px;border-radius:3px;box-shadow:0 10px 20px rgba(0,0,0,.32);white-space:nowrap;font-family:var(--heading)}
[dir="rtl"] .portrait-badge{font-family:var(--arabic);font-weight:700}

/* ---------- Hero decorative background (original vector artwork, no stock imagery) ---------- */
.hero::after{content:"";position:absolute;inset:auto -6% -30% auto;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(233,196,106,.14),transparent 70%);pointer-events:none}
.hero-motif{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.16;mix-blend-mode:screen}
.hero-motif .dotgrid{color:#8fd0c4}
.hero-dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.9) 30%,rgba(0,0,0,.9) 75%,transparent);mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.9) 30%,rgba(0,0,0,.9) 75%,transparent)}
.aside-note{font-size:.94rem;color:var(--on-navy-muted);line-height:1.7;max-width:230px}
.pulse-divider{display:block;width:100%;height:44px;color:rgba(255,255,255,.32);position:relative;z-index:1}
.pulse-divider path{stroke:currentColor;fill:none;stroke-width:1.4;stroke-dasharray:1400;stroke-dashoffset:1400;animation:drawPulse 1.6s ease-out .5s forwards}
@keyframes drawPulse{to{stroke-dashoffset:0}}

/* ---------- Section shell ---------- */
section{scroll-margin-top:96px}
.section{padding-block:88px}
.section-head{display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:start;margin-bottom:46px}
.section-head .kicker{grid-column:1}
.section-head h2{grid-column:2}
.section-head p.lead{grid-column:2;max-width:640px;margin:-18px 0 0;color:var(--muted);font-size:1.02rem}
.kicker{color:var(--teal);font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin:0;padding-top:.4em}
.section-head h2{font-size:clamp(1.9rem,3.2vw,2.85rem);line-height:1.18;letter-spacing:-.015em;color:var(--ink);font-weight:600;margin:0;max-width:680px}
[dir="rtl"] .section-head h2{letter-spacing:0;line-height:1.4}
@media (max-width:880px){ .section-head{grid-template-columns:1fr;gap:14px} .section-head h2,.section-head p.lead{grid-column:1} .section-head p.lead{margin-top:0} }

/* ---------- Reveal-on-scroll (progressive enhancement; visible by default) ---------- */
.reveal{opacity:1;transform:none;transition:opacity .6s ease, transform .6s ease}
.reveal-hidden{opacity:0;transform:translateY(18px)}

/* ---------- Cards (work / pillars / media) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--surface);padding:34px 30px;display:flex;flex-direction:column;gap:16px;min-height:230px;transition:transform .25s ease,box-shadow .25s ease,z-index 0s}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px var(--shadow-strong);position:relative;z-index:2}
.icon-badge{width:44px;height:44px;border-radius:50%;background:var(--teal-tint);color:var(--teal-ink);display:grid;place-items:center;transition:background .25s ease,color .25s ease,transform .25s ease}
.icon-badge .ico{font-size:1.05rem}
.card:hover .icon-badge{background:var(--teal);color:#fff;transform:scale(1.08) rotate(-4deg)}
.card h3{font-size:1.32rem;line-height:1.3;letter-spacing:-.01em;color:var(--ink);font-weight:650}
.card p{margin:0;color:var(--muted);font-size:.97rem}
@media (max-width:880px){ .card-grid{grid-template-columns:1fr} .card{min-height:0} }

/* ---------- About ---------- */
.about{background:var(--surface-2)}
.about .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.about-copy .kicker{padding-top:0}
.about-copy h2{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.2;letter-spacing:-.02em;color:var(--ink);font-weight:600;margin:18px 0 22px}
[dir="rtl"] .about-copy h2{letter-spacing:0}
.about-copy p{max-width:600px;margin:0 0 16px;font-size:1.03rem;color:var(--ink);opacity:.85}
.about-panel{border-top:3px solid var(--teal);padding:32px;background:var(--surface);box-shadow:0 22px 44px var(--shadow);transition:box-shadow .3s ease}
.about-panel:hover{box-shadow:0 28px 56px var(--shadow-strong)}
.about-panel h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);margin:0 0 18px;font-weight:800}
.about-panel dl{margin:0}
.about-panel .row{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);transition:padding-inline-start .2s ease}
.about-panel .row:last-child{border:0}
.about-panel .row:hover{padding-inline-start:6px}
.about-panel .row .icon-badge{width:34px;height:34px;flex:none}
.about-panel .row .icon-badge .ico{font-size:.85rem}
.about-panel dt{font-weight:750;color:var(--ink);font-size:.92rem}
.about-panel dd{margin:3px 0 0;color:var(--muted);font-size:.88rem}
@media (max-width:880px){ .about .wrap{grid-template-columns:1fr;gap:36px} }

/* ---------- Libya / pillars ---------- */
.libya{background:var(--surface)}
.libya-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:start}
.libya .section-head{display:block;margin:0}
.libya .section-head h2{margin:18px 0 0;max-width:none}
.libya .section-head p.lead{margin:20px 0 0;max-width:480px}
.pillars{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}
.pillar{background:var(--surface);display:grid;grid-template-columns:48px 1fr;gap:18px;padding:24px 26px;align-items:start;transition:background .2s ease}
.pillar:hover{background:var(--teal-tint)}
.pillar .icon-badge{width:40px;height:40px}
.pillar .icon-badge .ico{font-size:.95rem}
.pillar strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:5px;font-family:var(--heading);font-weight:650}
[dir="rtl"] .pillar strong{font-family:var(--arabic)}
.pillar p{margin:0;color:var(--muted);font-size:.93rem}
@media (max-width:880px){ .libya-layout{grid-template-columns:1fr;gap:34px} }

/* ---------- Insights ---------- */
.insights{background:var(--bg)}
.insight-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.feature{background:var(--navy);padding:40px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;color:var(--on-navy);transition:transform .25s ease,box-shadow .25s ease}
.feature:hover{transform:translateY(-6px);box-shadow:0 20px 40px var(--shadow-strong)}
.feature .tag,.insight-card .tag,.media-types .tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#8fd0c4;display:block;margin-bottom:6px}
.insight-card .tag,.media-types .tag{color:var(--teal)}
.feature h3{font-size:clamp(1.5rem,2.4vw,2.15rem);font-weight:700;line-height:1.25;letter-spacing:-.01em;max-width:560px;margin:16px 0}
.feature p{margin:0;max-width:520px;color:var(--on-navy-muted)}
.insight-stack{display:grid;gap:20px}
.insight-card{background:var(--surface);border:1px solid var(--line);padding:26px 28px;display:flex;flex-direction:column;justify-content:center;gap:8px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.insight-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px var(--shadow-strong);border-color:var(--teal)}
.insight-card h3{font-size:1.2rem;line-height:1.4;letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:600}
@media (max-width:880px){ .insight-grid{grid-template-columns:1fr} }

/* ---------- Media ---------- */
.media{background:var(--surface);border-top:1px solid var(--line)}
.media-box{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.media-copy h2{font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.25;letter-spacing:-.015em;color:var(--ink);font-weight:600;margin:16px 0}
.media-copy p{color:var(--muted);font-size:1rem;margin:0}
.media-types{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.media-types .type{border:1px solid var(--line);min-height:150px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.media-types .type:hover{transform:translateY(-4px);box-shadow:0 16px 32px var(--shadow-strong);border-color:var(--teal)}
.media-types .icon-badge{width:38px;height:38px}
.media-types .icon-badge .ico{font-size:.9rem}
.media-types strong{font-size:1.02rem;line-height:1.35;color:var(--ink);font-weight:650}
@media (max-width:880px){ .media-box{grid-template-columns:1fr;gap:34px} }
@media (max-width:520px){ .media-types{grid-template-columns:1fr} }

/* ---------- Videos grid (homepage teaser, real CPT items) ---------- */
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
.video-card{border:1px solid var(--line);background:var(--surface);padding:28px 24px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
a.video-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px var(--shadow-strong);border-color:var(--teal)}
.video-play{width:46px;height:46px;border-radius:50%;background:var(--teal-tint);color:var(--teal-ink);display:grid;place-items:center}
.video-play .ico{font-size:1.15rem}
.video-card h3{font-size:1.05rem;line-height:1.4;color:var(--ink);font-weight:650;margin:0;text-align:start}
.video-badge{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding:5px 10px;border-radius:20px}
@media (max-width:680px){ .video-grid{grid-template-columns:1fr} }

/* ---------- Contact / footer ---------- */
.contact{background:var(--navy);color:var(--on-navy);padding-block:80px}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}
.contact h2{font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:1.18;letter-spacing:-.015em;font-weight:700;margin:14px 0 0}
.contact p{max-width:500px;color:var(--on-navy-muted);font-size:1.02rem;margin:0 0 18px}
.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.contact-links a{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.3);border-radius:3px;padding:10px 18px;font-size:.88rem;font-weight:700;transition:border-color .2s,background .2s}
.contact-links a:hover{border-color:#8fd0c4;background:rgba(255,255,255,.06)}
@media (max-width:880px){ .contact .wrap{grid-template-columns:1fr;gap:24px;align-items:start} }
.footer{background:#0a151d;color:#94a7ac;font-size:.82rem}
.footer .wrap{padding-block:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer strong{color:#dfe9e6}
.top-link{display:inline-flex;align-items:center;gap:7px;color:#94a7ac;font-weight:600;transition:color .2s}
.top-link:hover{color:#dfe9e6;text-decoration:none}
.top-link .ico{font-size:.78rem}

/* ---------- Floating back-to-top ---------- */
.fab-top{position:fixed;inset-inline-end:20px;bottom:20px;width:46px;height:46px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px var(--shadow-strong);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background .2s;z-index:150}
.fab-top.show{opacity:1;visibility:visible;transform:none}
.fab-top:hover{background:var(--teal-bright)}
.fab-top .ico{font-size:.95rem}

@media (max-width:680px){
  .hero .wrap{grid-template-columns:1fr;padding-block:40px 36px;gap:24px}
  .hero-aside{order:-1;border-inline-start:0;padding-inline-start:0;flex-direction:row;align-items:center;gap:16px;height:auto;animation-delay:.02s}
  .portrait-frame,.portrait{width:74px;height:92px;border-radius:12px}
  .portrait-frame::before{border-radius:16px}
  .portrait-badge{display:none}
  .aside-note{max-width:none;font-size:.85rem}
  .hero-dots{display:none}
  .section{padding-block:56px}
  .fab-top{width:42px;height:42px;inset-inline-end:16px;bottom:16px}
}

/* ---------- Read more affordance ---------- */
.read-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.85rem;font-weight:700;color:#8fd0c4;transition:gap .2s ease}
.insight-card .read-more,.media-types .type .read-more{color:var(--teal)}
.feature:hover .read-more,.insight-card:hover .read-more{gap:12px}
.read-more .ico{font-size:.75rem;transition:transform .2s}
[dir="rtl"] .read-more .ico{transform:scaleX(-1)}
.feature:hover .read-more .ico,.insight-card:hover .read-more .ico{transform:translateX(3px)}
[dir="rtl"] .feature:hover .read-more .ico,[dir="rtl"] .insight-card:hover .read-more .ico{transform:scaleX(-1) translateX(3px)}
.feature,.insight-card,.type{text-align:start;width:100%;font-family:inherit;display:flex}

/* ---------- Detail views (single article / single video pages) ---------- */
.detail-view{padding-block:64px 100px;min-height:60vh;background:var(--bg)}
.detail-wrap{max-width:720px}
.back-link{display:inline-flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;color:var(--teal);margin-bottom:36px;transition:gap .2s ease}
.back-link:hover{gap:14px}
.back-link .ico{font-size:.8rem;transform:scaleX(-1)}
[dir="rtl"] .back-link .ico{transform:none}
.detail-title{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.22;letter-spacing:-.015em;color:var(--ink);font-weight:700;margin:14px 0 28px;max-width:660px}
[dir="rtl"] .detail-title{letter-spacing:0;line-height:1.5}
.detail-intro{color:var(--muted);font-size:1.05rem;margin:-10px 0 34px;max-width:600px}
.detail-body{color:var(--ink);opacity:.88;font-size:1.06rem;line-height:1.85;max-width:640px}
.detail-body p{margin:0 0 22px}
.detail-media{max-width:720px;margin:0 0 34px;background:#000;border-radius:4px;overflow:hidden}
.detail-media iframe,.detail-media video{display:block;width:100%;aspect-ratio:16/9;border:0}
.detail-featured-img{max-width:720px;margin:0 0 34px;border-radius:4px;overflow:hidden}
.detail-featured-img img{display:block;width:100%;height:auto}

/* ---------- WP admin bar offset ---------- */
body.admin-bar .nav{top:32px}
@media (max-width:782px){ body.admin-bar .nav{top:46px} }
