:root{
    --orange:#FF7301;
    --orange-dark:#E2560C;
    --orange-amber:#F79420;
    --peach:#FBEADD;
    --peach-light:#F9F6F4;
    --black:#000;
    --cream:#FBEEE4;
    --dark:#1c1c1c;
    --ink:#2b2b2b;
    --muted:#7a7a7a;
    --line:#e7e2dc;
    --font-display:"Red Hat Display", sans-serif;
    --font-body:"Red Hat Display", sans-serif;
    --font-serif:"Red Hat Display", sans-serif;
  }

  *{ -webkit-font-smoothing:antialiased; }
  html{ scroll-behavior:smooth; }
  body{
    font-family:var(--font-body);
    color:var(--ink);
    background:#ffffff;
    font-size:15px;
    line-height:1.55;
    scroll-behavior:smooth;
  }
  a{ text-decoration:none; }
  img{ max-width:100%; }

  .container-fl{ max-width:1180px; margin-inline:auto; padding-inline:18px; }

  .display-serif{font-family: var(--font-body);}
  .eyebrow{ font-family:var(--font-body); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); font-weight:600; }

  /* ---------- Top utility bar ---------- */
  .topbar{ font-family:var(--font-display); font-size:14px; color:var(--black); padding:9px 0; border-bottom:1px solid #f0eee9; }
  .topbar a{ color:var(--black); }
  .topbar a:hover{ color:var(--orange); }
  .topbar .sep{ color:#cfcabf; }
  .topbar .socials a{ color:var(--black); font-size:.85rem; margin-left:14px; }
  .topbar .socials a:hover{ color:var(--orange); }

  /* ---------- Marquee banner ---------- */
  .emag-banner{
    background:var(--orange);
    font-family:var(--font-display);
    color:#fff;
    text-align:center;
    font-size:16px;
    letter-spacing:.22em;
    font-weight:600;
    padding:8px 0;
    text-transform:uppercase;
  }

  /* ---------- Navbar ---------- */
  .nav-wrap{ border-bottom:1px solid #efece6; background:#fff; box-shadow:rgba(0, 0, 0, 0.1) 0px 10px 15px -10px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px }
  .brand-logo{ display:inline-flex; align-items:center; font-family:var(--font-display); font-weight:800; font-size:1.18rem; letter-spacing:.04em; }
  .brand-logo .front{ background:var(--orange); color:#fff; padding:3px 9px; border-radius:6px; }
  .brand-logo .list{ color:#1c1c1c; border:2px solid #1c1c1c; padding:1px 9px; border-radius:6px; margin-left:5px; }
  .main-nav a{ color:#2a2a2a; font-size:1rem; padding:6px 0; position:relative; }
  .main-nav a:hover{ color:var(--orange); }
  .main-nav a.active{ color:var(--orange); }
  .main-nav a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--orange); border-radius:2px; }
  .search-box{ position:relative; }
  .search-box input{ border:1px solid #000; border-radius:40px; padding:7px 12px 7px 38px; font-size:.85rem; width:215px; background:#fff; font-family:var(--font-display); }
  .search-box input:focus{ outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(242,107,30,.12); }
  .search-box i{ position:absolute; left: 19px; top: 52%; transform:translateY(-50%); color:#000; font-size:.85rem; }

  /* ---------- Section helpers ---------- */
  section{ padding-block:34px; }
  .sec-title{font-family: var(--font-body);font-weight: 600;letter-spacing: 0;font-size: 28px;color:#1c1c1c;}
  .sec-title.spaced{ letter-spacing:.12em; }
  .view-all{color:var(--orange);font-size: 1rem;font-weight:600;}
  .view-all:hover{ color:var(--orange-dark); }
  .view-all i{ font-size:.72rem; }

  /* ---------- Hero ---------- */
  .hero{background:linear-gradient(180deg, #FFCCA3 0%, #fbfbfb 100%);border-radius:14px;padding: 30px;}
  .hero-feature{position:relative;border-radius:10px;overflow:hidden;min-height: 430px;display:flex;align-items:stretch;}
  .hero-feature .bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
  .hero-feature .shade{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,14,10,.92) 0%, rgba(20,14,10,.62) 42%, rgba(20,14,10,.05) 70%); }
  .hero-feature .content{position:relative;z-index:2;color:#fff;padding:34px 30px;min-width: 65%;align-self:center;}
  .hero-feature h1{font-family: var(--font-body);font-weight:700;font-size: 2.5rem;line-height:1.18;margin-bottom:14px;}
  .hero-feature p{font-size: 16px;line-height:1.55;color:#eadfd6;margin-bottom:22px;max-width:340px;}
  .btn-orange{background:var(--orange);color:#fff;border:none;border-radius: 3px;font-size: 13px;letter-spacing:.12em;font-weight: 600;text-transform:uppercase;padding: 5px 16px;}
  .btn-orange:hover{ background:var(--orange-dark); color:#fff; }
  .btn-ghost{background: #fff;color: var(--black);border:1px solid rgba(255,255,255,.7);border-radius: 3px;font-size: 12px;letter-spacing:.12em;font-weight: 600;text-transform:uppercase;padding: 5px 16px;}
  .btn-ghost:hover{ background:rgba(255,255,255,.15); color:#fff; }

  .hero-news .news-item{display:flex;gap: 20px;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.07);}
  .hero-news .news-item:last-child{ border-bottom:none; }
  .hero-news .news-item:first-child{ padding-top:2px; }
  .hero-news .thumb{width: 120px;height: 90px;border-radius:6px;object-fit:cover;flex:none;background:#d9cfc4;}
  .hero-news p{margin:0;font-size: 16px;line-height: 22px;color:#2a2a2a;}
  .hero-news p .lead-word{ font-weight:600; }

  /* ---------- Editors picks (coverflow) ---------- */
  .ep-stage{background:#f4f2ee;border-radius:14px;padding: 60px 0;position:relative;/* overflow:hidden; */}
  .ep-track{position:relative;height: 400px;}
  .ep-card{position:absolute;top: 41%;left:50%;width: 250px;height: 351px;margin:-140px 0 0 -100px;border-radius:12px;overflow:hidden;box-shadow: 0 16px 20px rgba(0,0,0,.28);transition:transform .45s cubic-bezier(.22,.61,.36,1), opacity .45s;cursor:pointer;}
  .ep-card img{ width:100%; height:100%; object-fit:cover; }
  .ep-card .cap{position:absolute;left:0;right:0;bottom:0;padding: 80px 14px 12px 14px;background:linear-gradient(0deg, rgba(0,0,0,.85), rgba(0,0,0,0));color:#fff;font-family: var(--font-body);font-size: 1rem;line-height:1.25;font-weight:500;}
  .ep-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:20; border:none; }
  .ep-arrow.prev:hover, .ep-arrow.next:hover{background:#fff;border:1.5px solid var(--orange);color:var(--orange);}
  .ep-arrow.next{right: -22px;background:var(--orange);color:#fff;}
  .ep-arrow.prev{left: -22px;background:var(--orange);color:#fff;}
  .ep-arrow:hover{ filter:brightness(.96); }

  /* ---------- Generic content cards ---------- */
  .panel{ background:var(--peach-light); border-radius:10px; padding:16px; height:100%; }
  .panel-white{ background:#fff; }
  .mini-label{font-size: .9rem;letter-spacing:.13em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom: 5px;}

  .author-feature img.portrait{width: 170px;height: 255px;object-fit:cover;border-radius:8px;flex:none;}
  .author-feature h3{font-family: var(--font-body);font-size: 1.4rem;font-weight:700;margin-bottom:8px;}
  .quote{font-style:italic;font-size: 1rem;color:#4a4a4a;line-height:1.45;margin-bottom:8px;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;height: 45px;}
  .read-link{color:var(--orange);font-size: 1rem;font-weight:700;}
  .read-link i{ font-size:.66rem; }

  .person-card{ background:#fff; border-radius:8px; padding:10px; box-shadow:0 1px 0 rgba(0,0,0,.03); }
  .person-card img{
  width:100%;
  aspect-ratio:1 / 1;   /* square */
  height:auto;          /* was: height:90px (landscape) */
  object-fit:cover;
  border-radius:6px;
}
  .person-card h6{font-family: var(--font-body);font-size: 0.9rem;font-weight:700;margin:8px 0 4px;}
  .person-card .q{font-style:italic;font-size: .8rem;color:#777;line-height:1.35;}
  .person-card .dot{width:22px;height:22px;border-radius:50%;/* background:#f0ece6; */display: flex;justify-content: center;color: var(--orange);font-size:.6rem;margin-top:6px;text-align: right;border: 1px solid var(--orange);line-height: 20px;text-align: center;/* margin: 0 auto; */}
  .dot i{color:var(--orange);font-size: .66rem;}
  /* ---------- Books ---------- */
  .book-feature .cover{/* width:118px; */flex:none;border-radius:6px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.18);}
  .book-feature .cover img{width: 170px;height: 245px;object-fit:cover;}
  .book-row{ display:flex; gap:10px; align-items:flex-start; padding:8px 0; }
  .book-row img{
  width:60px;
  height:60px;          /* was: 70px â†’ ab square */
  object-fit:cover;
  border-radius:4px;
  flex:none;
  box-shadow:0 4px 10px rgba(0,0,0,.14);
}
  .book-row h6{font-family: var(--font-body);font-size: 0.9rem;font-weight:700;margin: 0px 0 3px;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;height: 45px;}
  .book-row .q{font-style:italic;font-size: .8rem;color:#7a7a7a;line-height:1.35;margin-bottom: 0px;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;height: 90px;}
  .stars{ color:var(--orange); font-size:.66rem; letter-spacing:1px; }
  .stars .off{ color:#d9d2c8; }

  /* ---------- PVLF ---------- */
  .pvlf-box{background: linear-gradient(180deg,#FFC167 0%,#FFC167 52%,#FF7301 100%);border-radius:14px;padding:30px;color:#fff;}
  .pvlf-badge{background:#FBEAD6;color:#9a2b1c;font-family: var(--font-body);font-weight: 600;letter-spacing: .1em;font-size: 25px;padding: 9px 19px;border-radius:6px;display:inline-block;width: 100%;text-align: center;}
  .pvlf-img{border-radius:10px;overflow:hidden;position:relative;margin-top: 0;}
  .pvlf-img img{width:100%;height: 330px;object-fit:cover;display:block;}
  .pvlf-stats{ position:absolute; left:0; right:0; bottom:0; display:flex; background:linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,0)); }
  .pvlf-right { border-left: 1px solid #fff; margin-left: 30px; padding-left: 50px;}
.pvlf-stats .st{flex:1;padding: 16px 40px 14px;}
  .pvlf-stats .num{font-family: var(--font-body);font-weight:800;font-size: 2rem;line-height:1;font-variant-numeric: tabular-nums;}
  .pvlf-stats .lbl{font-size: 1rem;letter-spacing:.16em;text-transform:uppercase;opacity: 1;margin-top:4px;}
  .pvlf-right h5{font-family: var(--font-body);font-weight:700;font-size:1.05rem;margin-bottom:7px;color: var(--black);}
  .pvlf-right ul{ padding-left:16px; margin-bottom:0; }
  .pvlf-right li{font-size: 1rem;line-height:1.4;color:#fff5ec;margin-bottom:3px;color: var(--black);}
  .pvlf-divider{ border:none; border-top:1px solid #fff; margin:14px 0; opacity:1; }
  .pvlf-vid{display:flex;gap:10px;align-items:center;color: var(--black);}
  .pvlf-vid img{ width:54px; height:38px; object-fit:cover; border-radius:5px; }
  .btn-dark-pill{background:#1c1c1c;color:#fff;border:none;border-radius: 3px;font-size: 12px;font-weight:700;letter-spacing:.04em;padding: 5px 16px;}
  .btn-dark-pill:hover{ background:#000; color:#fff; }
  .btn-light-pill{background: transparent;color: #fff;border: 1px solid #fff;border-radius: 3px;font-size: 12px;font-weight:700;letter-spacing:.04em;padding: 5px 16px;}

  /* ---------- Featured videos ---------- */
  .vid-card{ position:relative; border-radius:10px; overflow:hidden; min-height:200px; display:flex; align-items:flex-end; }
  .vid-card .bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
  .vid-card .shade{ position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.15) 60%, rgba(0,0,0,.25) 100%); }
  .vid-card .body{ position:relative; z-index:2; color:#fff; padding:18px; width:100%; }
  .vid-card h4{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; margin-bottom:6px; }
  .vid-card p{ font-size:.7rem; color:#e6ddd4; line-height:1.4; margin-bottom:8px; }
  .vid-badge{ position:absolute; top:14px; left:14px; z-index:3; background:var(--orange); color:#fff; font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; padding:4px 9px; border-radius:4px; }
  .vid-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; color:var(--orange); font-size:1.1rem; }
  .vid-dur{ font-size:.6rem; background:rgba(0,0,0,.55); padding:2px 7px; border-radius:4px; display:inline-block; }
  .vid-next{ position:absolute; right:-6px; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; background:#fff; border:1.5px solid var(--orange); color:var(--orange); display:flex; align-items:center; justify-content:center; z-index:10; box-shadow:0 6px 16px rgba(0,0,0,.12); }

  /* ---------- E-Magazine ---------- */
  .emag-card{ background:var(--peach-light); border-radius:10px; padding:20px; display:flex; gap:22px; align-items:center; }
  .emag-card .cover{width: 180px;flex:none;border-radius:6px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.16);height: 250px;}
  .emag-card .cover img{width:100%;display:block;object-fit: fill;}
  .emag-card h4{font-family: var(--font-body);font-weight:700;font-size:1.2rem;margin: 2px 0 10px;}
  .emag-card .desc{font-style:italic;font-size: 1rem;color: var(--black);margin-bottom:10px;}
  .emag-card ul{padding-left:0;list-style:none;margin-bottom: 20px;}
  .emag-card li{font-style:italic;font-size: .9rem;color: var(--black);padding-left:14px;position:relative;margin-bottom:4px;}
  .emag-card li::before{ content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:50%; background:var(--orange); }

  /* ---------- Blogs ---------- */
  .blog-feature{ border-radius:10px; overflow:hidden; }
  .blog-feature img{width:100%;height: 155px;object-fit:cover;}
  .blog-cat{font-size: .8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--orange);font-weight:700;}
  .blog-title{font-family: var(--font-body);font-weight:700;font-size: 1rem;line-height:1.25;margin: 5px 0 5px;color:#1c1c1c;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;height: 45px;}
  .blog-desc{font-size: 1rem;color:#777;line-height:1.4;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;height: 45px;}
  .blog-side{ display:flex; gap:12px; align-items:flex-start; }
  .blog-side img{width: 120px;height: 128px;object-fit:cover;border-radius:6px;flex:none;}
  .blog-box{background:#fff;border-radius:8px;padding: 15px;box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 10px}
  .blog-desc{margin:0;}

  /* ---------- Promote ---------- */
  .promote{background: #FF821C;border-radius:12px;padding: 40px;color:#fff;}
  .promote h2{font-family: var(--font-body);font-weight:800;font-size:1.75rem;letter-spacing: 2px;}
  .btn-promote{background:#fff;color:#1c1c1c;border:none;border-radius: 3px;font-size: 13px;font-weight:700;padding: 8px 18px;}
  .promote-pill{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:30px;color:#fff;font-size: .9rem;padding: 7px 15px 7px 9px;display:inline-flex;align-items:center;gap:8px;}
  .promote-pill .ic{background:#fff;color:var(--orange);width: 30px;height: 30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;}

  /* ---------- Footer ---------- */
  footer{ background:#fbfaf8; border-top:1px solid #efece6; padding-top:40px; }
  footer .desc{font-size: 1rem;color: var(--black);max-width:300px;line-height:1.55;}
  footer h6{font-size: 1.2rem;letter-spacing: 0;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:16px;}
  footer ul{ list-style:none; padding:0; margin:0; }
  footer ul li{ margin-bottom:10px; }
  footer ul li a{color: var(--black);font-size: .9rem;}
  footer ul li a:hover{ color:var(--orange); }
  footer .contact-line{font-size: 1rem;color: var(--black);margin-bottom:8px;}
  footer .fsocials a{display:block;color: var(--black);margin-bottom:14px;font-size:1rem;}
  footer .fsocials a:hover{ color:var(--orange); }
  .footer-bottom{border-top:1px solid #efece6;margin-top:34px;padding:18px 0;font-size: 0.9rem;color:var(--orange);}
  .footer-bottom a{ color:#555; margin-left:22px; }
  .footer-bottom a:hover{ color:var(--orange); }

  /* ---------- Responsive ---------- */
  @media (max-width: 991px){
    .hero-feature .content{ max-width:80%; }
    .hero-feature .shade{ background:linear-gradient(90deg, rgba(20,14,10,.92) 0%, rgba(20,14,10,.7) 60%, rgba(20,14,10,.35) 100%); }
    .ep-card{ width:170px; height:240px; margin:-120px 0 0 -85px; }
    .ep-track{ height:260px; }
  }
  @media (max-width: 767px){
    .hero{ padding:14px; }
    .hero-feature .content{ max-width:100%; padding:24px 20px; }
    .hero-feature h1{ font-size:1.5rem; }
    .sec-title{ font-size:1.25rem; }
    .ep-card{ width:150px; height:210px; margin:-105px 0 0 -75px; }
    .ep-track{ height:230px; }
    .ep-arrow.prev{ left:8px; }
    .ep-arrow.next{ right:8px; }
    .emag-card{ flex-direction:column; text-align:left; }
    .emag-card .cover{ width:140px; }
    .promote{ text-align:center; }
    .pvlf-stats .st {
    padding: 16px 15px 14px;
}
.pvlf-stats .num {
    font-size: 1.5rem;
}
.pvlf-stats .lbl {
    font-size: 0.9rem;}
    .pvlf-right {
    border-left: none;
    margin-left: 0px;
    padding-left: 0px;
}
.ep-stage {
    padding: 50px 0 0;
}
  }

  /* ---------- Section header ---------- */
  .fv-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; gap:12px; flex-wrap:wrap; }
  .fv-head h2{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(1.4rem, 3vw, 2rem);
    letter-spacing:.02em;
    margin:0;
    color:var(--ink);
  }
  .fv-viewall{
    color:var(--orange);
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
  }
  .fv-viewall:hover{ color:var(--orange-dark); }

  /* ---------- Video card ---------- */
  .fv-card{
    position:relative;
    border-radius:12px;
    overflow:hidden;
    aspect-ratio: 16 / 10;
    display:flex;
    align-items:flex-end;
    background:#222;
  }
  .fv-card .fv-bg{
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    transition:transform .6s ease;
  }
  .fv-card:hover .fv-bg{ transform:scale(1.06); }
  .fv-card .fv-shade{
    position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.45) 38%, rgba(0,0,0,.10) 70%, rgba(0,0,0,.28) 100%);
  }
  .fv-badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:3;
    background:var(--orange);
    color:#fff;
    font-size: 0.8rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:700;
    padding: 5px 11px 3px;
    border-radius: 26px;
  }
  .fv-play{
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%); z-index:3;
    width:54px; height:54px; border-radius:50%;
    background:rgba(255,255,255,.92);
    display:flex; align-items:center; justify-content:center;
    color:var(--orange); font-size:1.3rem;
    border:none; cursor:pointer;
    transition:transform .25s ease, background .25s ease;
  }
  .fv-play i{
    color:var(--black);
  }
  .fv-play:hover{ transform:translate(-50%,-50%) scale(1.1); background:#fff; }
  .fv-body{position:relative;z-index:2;color:#fff;padding:22px;width:65%;}
  .fv-body h3{
    font-family: var(--font-serif);
    font-weight:700;
    font-size: clamp(1.1rem, 1.4vw, 1.45rem);
    line-height:1.18;
    margin:0 0 8px;
    text-shadow:0 1px 12px rgba(0,0,0,.45);
  }
  .fv-body p{
    font-size: 1rem;
    color:#e9e2da;
    line-height:1.45;
    margin:0 0 12px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .fv-dur{
    font-size:.66rem;
    background: rgba(255,255,255,.3);
    padding: 3px 9px 2px;
    border-radius: 19px;
    display:inline-block;
  }

  /* ---------- Owl overrides ---------- */
  .featured-videos.owl-carousel{ position:relative; }
  .featured-videos .owl-stage-padding{} /* placeholder */

  /* Nav arrows â€” circular, matching the reference (outline orange) */
  .featured-videos .owl-nav{ margin:0; }
  .featured-videos .owl-nav button.owl-prev,
  .featured-videos .owl-nav button.owl-next{
    position:absolute; top:50%; transform:translateY(-50%);
    width:46px; height:46px; border-radius:50%;
    background:#fff !important;
    border:1.6px solid var(--orange) !important;
    color:var(--orange) !important;
    display:flex; align-items:center; justify-content:center;
    font-size:1.15rem;
    box-shadow:0 8px 22px rgba(0,0,0,.14);
    transition:background .2s ease, color .2s ease, opacity .2s ease;
    z-index:30;
  }
  .featured-videos .owl-nav button.owl-prev{ left:-10px; }
  .featured-videos .owl-nav button.owl-next{ right:-10px; }
  .featured-videos .owl-nav button.owl-prev:hover,
  .featured-videos .owl-nav button.owl-next:hover{
    background:var(--orange) !important; color:#fff !important;
  }
  .featured-videos .owl-nav button.disabled{ opacity:.35; cursor:default; }

  /* Pagination dots */
  .featured-videos .owl-dots{ text-align:center; margin-top:24px; }
  .featured-videos .owl-dots .owl-dot span{
    width:9px; height:9px; margin:0 5px;
    background:#e2cdbd; border-radius:50%;
    transition:width .25s ease, background .25s ease;
  }
  .featured-videos .owl-dots .owl-dot.active span{
    width:26px; border-radius:6px; background:var(--orange);
  }
  .featured-videos .owl-dots .owl-dot:focus{ outline:none; }

  @media (max-width: 575px){
    .featured-videos .owl-nav button.owl-prev{ left:0; }
    .featured-videos .owl-nav button.owl-next{ right:0; }
    .fv-body h3{ font-size:1.2rem; }
  }

  /* ----------------------------------------------------------
     Featured-videos slide widths (drive Owl's autoWidth mode).
     These widths create the design's "two full cards + a peek
     of the next" layout and scale down to one card on phones.
  ----------------------------------------------------------- */
  .featured-videos .item{
    width: 460px;          /* desktop: ~2 cards + peek inside the container */
  }
  .featured-videos .fv-card{ width:100%; }

  /* Tablet & phone slide widths (cascade order matters: 991 â†’ 767 â†’ 575) */
  @media (max-width:991px){
    .featured-videos .item{ width:300px; }   /* tablet: ~2 cards + clearer peek */
  }
  @media (max-width:767px){
    .featured-videos .item{ width:420px; }   /* large phone: 1 card + peek */
    .fv-body{ width:75%; }
  }
  @media (max-width:575px){
    .featured-videos .item{ width:85vw; }    /* phone: 1 full card + small peek */
    .fv-body{ width:88%; padding:18px; }
  }

/* ============================================================
   MOBILE RESPONSIVE FIXES â€” eliminates horizontal overflow
   ============================================================ */

/* 1. Global overflow guard â€” catches any overflow source */
html, body {
  overflow-x: hidden;
}

/* 2. Owl stage must never force the page wider than the viewport */
.featured-videos.owl-carousel{ width:100%; }
.featured-videos .owl-stage-outer{ overflow:hidden; }

@media (min-width: 992px) and (max-width: 1199px) {
.brand-logo img{
      width: 80%;
}
.main-nav a {
    font-size: .7rem;
}
.hero-feature .content {
    max-width: 70%;
}
.pvlf-badge {
    font-size: 17px;
}
.pvlf-stats .st {
    padding: 16px 25px 14px;
}
 .featured-videos .item {
    width: 400px;       /* small desktop: keeps 2 cards + a peek visible */
  }
}
/* 3. Search box: let the input fill its container on mobile */
@media (max-width: 991px) {
  .search-box {
    width: 100%;
  }
  .search-box input {
    width: 100%;     /* was: fixed 215px */
    box-sizing: border-box;
  }
  .hero-news{
    margin-top:20px;
  }
}

/* 4. PVLF badge: prevent large letter-spaced text from overflowing */
@media (max-width: 767px) {
   
  .pvlf-badge {
    font-size: 16px;       /* was: 25px â€” too large for narrow screens */
    letter-spacing: .04em; /* reduce letter-spacing on mobile */
    word-break: break-word;
  }
}

/* 5. Hero: ensure content never exceeds viewport width on small screens */
@media (max-width: 575px) {
 
  .promote h2 {
    font-size: 1.5rem;
  }
  .hero {
    padding: 10px;
  }
  .hero-feature {
    min-height: 320px;   /* was: 430px with no small-screen override */
  }
  .hero-feature .content {
    max-width: 100%;
    padding: 18px 14px;
  }
  .hero-feature h1 {
    font-size: 1.3rem;
  }

  /* 6. Emag card: stack vertically and constrain cover width */
  .emag-card {
    flex-direction: column;
  }
  .emag-card .cover {
    width: 100%;
    height: auto;
  }

  /* 7. Blog side-by-side: allow image to shrink */
  .blog-side img {
    width: 90px;
    height: 80px;
  }

  /* 8. Author portrait: don't let fixed width push layout */
  .author-feature img.portrait {
    width: 120px;
    height: auto;
  }

  /* 9. Promote section pills: wrap gracefully */
  .promote {
    padding: 24px 16px;
  }

  /* 10. PVLF stats: shrink padding so 3 stats fit in one row */
  .pvlf-stats .st {
    padding: 12px 8px;
  }
  .pvlf-stats .num {
    font-size: 1.2rem;
  }
  .pvlf-stats .lbl {
    font-size: .75rem;
  }
}

@media (min-width:1200px) and (max-width:1440px) {
.pvlf-badge {
    font-size: 22px;
}
.blog-title {
    font-size: 1rem;
}
.blog-side img {
    width: 120px;
}
}

/* ============================================================
   SPOTLIGHT â€” Authors & Interviews + Books
   Larger, image-forward sections. List entries are horizontal
   (photo + text) and expand to fill their panels, so there are
   no empty gaps next to the tall "of the Week" feature cards.
   ============================================================ */

/* --- Section presence: bigger titles + a little more room --- */
.spotlight-section{ padding-block:30px; }
.spotlight-section .sec-title{ font-size:34px; line-height:1.15; }
.spotlight-section .view-all{font-size: 1rem;}
.spotlight-section .row.g-3{ --bs-gutter-x:1.25rem; --bs-gutter-y:1.25rem; }
.spotlight-section .panel{
  padding:22px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.spotlight-section .panel.h-100{ display:flex; flex-direction:column; }
.spotlight-section .panel:hover{ box-shadow:0 16px 34px rgba(0,0,0,.08); }
.spotlight-section .mini-label{font-size: 1rem;letter-spacing:.14em;margin-bottom:14px;}

/* --- "Of the Week" features: image stacked on top, large --- */
.feature-inner{ display:flex; flex-direction:column; gap:18px; }

.author-feature .portrait-wrap{
  width:100%; border-radius:12px; overflow:hidden;
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}
.author-feature img.portrait{
  width:100%; height:300px; object-fit:cover; display:block;
  transition:transform .55s ease;
}
.author-feature:hover img.portrait{ transform:scale(1.05); }
.author-feature h3{ font-size:1.65rem; margin-bottom:10px; }
.author-feature .quote{font-size: 1rem;}
.author-feature .read-link{font-size: 1rem;}

.book-feature.feature-inner .cover{
  width:100%; border-radius:10px; overflow:hidden;
  box-shadow:0 16px 32px rgba(0,0,0,.20);
}
.book-feature.feature-inner .cover img{
  width:100%; height:320px; object-fit:cover; display:block;
  transition:transform .55s ease;
}
.book-feature.feature-inner:hover .cover img{ transform:scale(1.05); }
.book-feature.feature-inner h6.display-serif{ font-size:1.3rem !important; }

/* --- Latest Interviews / New in Author Directory ---------------
   Horizontal cards (photo + text) stacked to fill the panel.   */
.people-stack{
  display:flex; flex-direction:column; gap:14px;
  flex:1 1 auto; min-height:0;
}
.person-card{
  display:flex; flex-direction:row; align-items:stretch; gap:14px;
  flex:1 1 0; min-height:0;
  padding:12px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.person-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 26px rgba(0,0,0,.12);
}
.person-card img{
  width:50%; min-height:150px;
  height:auto; align-self:stretch;
  object-fit:cover; border-radius:8px;
  aspect-ratio:auto;            /* free height so the photo fills the card */
}
.person-card .pc-body{
  display:flex; flex-direction:column; flex:1 1 auto; min-width:0;
}
.person-card h6{font-size: 1.2rem;margin:0 0 6px;}
.person-card .q{font-size: 1rem;margin-bottom:8px;}
.person-card .dot{ margin-top:auto; }

/* --- New in Directory / Latest Reviews -------------------------
   Significantly larger covers; rows expand to fill the panel.  */
.spotlight-section .panel .book-row{
  flex:1 1 0; min-height:0;
  align-items:stretch; gap:16px; padding:10px 0;
}
.spotlight-section .panel .book-row img{
  width:50%;
  max-height: 160px;
  height:auto;
  align-self:stretch;
  object-fit:cover;
  border-radius:8px;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.spotlight-section .panel .book-row > div{
  display:flex;
  flex-direction:column;
  justify-content: flex-start;
  flex:1 1 auto;
  min-width:0;
}
.book-row h6{font-size: 1.2rem;}
.book-row .q{font-size: 1rem;}
.book-row .stars{ font-size:.95rem; }

/* --- Responsive ------------------------------------------------ */
@media (max-width:1199px){
  /* On their own line(s): keep comfortable, consistent card heights */
  .person-card{ min-height:175px; }
  .spotlight-section .panel .book-row{ min-height:175px; }
}
@media (max-width:991px){
  .author-feature img.portrait{ height:340px; }
  .book-feature.feature-inner .cover img{ height:360px; }
  .person-card img{ max-width:230px; }
  .spotlight-section .panel .book-row img{ max-width:200px; }
}
@media (max-width:575px){
  .spotlight-section .sec-title{ font-size:1.6rem; }
  .author-feature img.portrait{ width:100%; height:260px; }
  .book-feature.feature-inner .cover img{ height:300px; }
  .person-card{ min-height:150px; }
  .person-card img{ width:42%; max-width:150px; min-height:130px; }
  .spotlight-section .panel .book-row{ min-height:150px; }
  .spotlight-section .panel .book-row img{ width:120px; min-height:130px; }
}

.bookcta{ background: var(--peach-light); border-radius: 14px; padding: 48px; }
.bookcta-title{ font-family: var(--font-body); font-weight: 700; font-size: 2rem; line-height: 1.2; color: var(--dark); margin: 0 0 14px; }
.bookcta-text{ font-style: italic; font-size: 1rem; line-height: 1.6; color: #4a4a4a; margin: 0; max-width: 520px; }
.bookcta-actions{ display: flex; flex-direction: column; gap: 12px; max-width: 340px; margin-left: auto; }
.bookcta-btn{display: block;text-align: center;padding: 15px 22px;border-radius: 4px;font-size: .9rem;font-weight: 600;letter-spacing: .08em;color: #fff;transition: background-color .2s ease, transform .15s ease;}
.bookcta-btn:hover{ color: #fff; transform: translateY(-1px); }
.bookcta-btn:focus-visible{ outline: 3px solid rgba(255,115,1,.45); outline-offset: 2px; }
.bookcta-btn--dark{ background: #1c1c1c; }
.bookcta-btn--dark:hover{ background: #000; }
.bookcta-btn--orange{ background: var(--orange); }
.bookcta-btn--orange:hover{ background: var(--orange-dark); }

@media (max-width: 991px){
  .bookcta{ padding: 32px; }
  .bookcta-text{ max-width: none; }
  .bookcta-actions{ max-width: none; margin-left: 0; margin-top: 22px; }
}
@media (max-width: 575px){
  .bookcta{ padding: 24px; }
  .bookcta-title{ font-size: 1.55rem; }
  .bookcta-btn{ padding: 14px 18px; }
}