@font-face {
  font-family: "Barlow";
  src: url("assets/fonts/Barlow-Regular.ttf") format("truetype");
  font-weight: 400;
}
@font-face {
  font-family: "Barlow";
  src: url("assets/fonts/Barlow-Medium.ttf") format("truetype");
  font-weight: 500;
}
@font-face {
  font-family: "Barlow";
  src: url("assets/fonts/Barlow-SemiBold.ttf") format("truetype");
  font-weight: 600;
}
@font-face {
  font-family: "Barlow";
  src: url("assets/fonts/Barlow-Bold.ttf") format("truetype");
  font-weight: 700;
}
:root{
  --black:#000000;
  --gold:#d19a2a;
  --ash:#414142;
  --white:#ffffff;
  --shadow:0 22px 70px rgba(0,0,0,.22);
  --font-main: "Barlow", Arial, sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-main);background:#fff;color:var(--ink);overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.section{scroll-margin-top:88px}

/* ================================
   ADFAX TOPBAR
================================ */

.page-container{
  width:min(1440px, 96%);
  margin-inline:auto;
}

.topbar{
  display:block;
  background:#414142;
  border-bottom:3px solid #d19a2a;
}

.topbar-inner{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.topbar-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.topbar-note{
  color:#ecd5a7;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
}

.topbar-note.muted{
  color:rgba(255,255,255,.62);
  font-weight:600;
}

.topbar-separator{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#d19a2a;
  flex-shrink:0;
}

.topbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  flex-shrink:0;
}

.top-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#d19a2a;
  text-decoration:none;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  transition:color .22s ease;
}

.top-link:hover{
  color:#fff;
}

.top-icon{
  width:15px;
  height:15px;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  opacity:.9;
}

.top-divider{
  width:1px;
  height:14px;
  background:rgba(255,255,255,.24);
}

.topbar-btn{
  min-width:76px;
  height:28px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#d19a2a;
  color:#111;
  text-decoration:none;
  border-radius:999px;
  font-size:.66rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  transition:background .22s ease, color .22s ease;
}

.topbar-btn:hover{
  background:#ecd5a7;
  color:#111;
}

/* Tablet */
@media(max-width:900px){
  .topbar-left{
    display:none;
  }

  .topbar-inner{
    justify-content:flex-end;
  }
}

/* Mobile */
@media(max-width:640px){
  .topbar{
    display:block;
  }

  .topbar-inner{
    min-height:34px;
    justify-content:center;
  }

  .topbar-left{
    display:none;
  }

  .topbar-actions{
    width:100%;
    justify-content:center;
    gap:12px;
  }

  .top-link{
    font-size:.62rem;
  }

  .topbar-btn{
    height:26px;
    min-width:68px;
    font-size:.6rem;
  }
}


/* ================================
   ADFAX SITE HEADER / NAVIGATION
================================ */

.page-container{
  width:min(1440px, 96%);
  margin-inline:auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:#d19a2a;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}

.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:rgba(0,0,0,.12);
}

.nav-shell{
  height:76px;
  display:flex;
  align-items:center;
  gap:22px;
}

.brand{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  text-decoration:none;
}

.brand img{
  width:205px;
  max-width:100%;
  height:auto;
  display:block;
}

.desktop-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:26px;
}

.main-nav{
  display:flex;
  align-items:center;
}

.nav-item{
  position:relative;
  padding-block:1rem;
}

.nav-link{
  position:relative;
  min-height:60px;
  display:flex;
  align-items:center;
  gap:.38rem;
  padding:0 2px;
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.07em;
  opacity:.96;
  transition:color .22s ease, opacity .22s ease;
}

.nav-link:hover,
.nav-link.active{
  color:#111;
  opacity:1;
}

.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:13px;
  height:2px;
  background:#111;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}

.nav-link:hover::after,
.nav-link.active::after{
  transform:scaleX(1);
}

.chev{
  font-size:.82rem;
  opacity:.8;
  transition:transform .22s ease;
}

.has-dropdown:hover .chev{
  transform:rotate(180deg);
}

/* Dropdown */
.has-dropdown::after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  top:100%;
  height:18px;
}

.dropdown-panel{
  position:absolute;
  top:100%;
  left:50%;
  z-index:1200;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) translateY(8px);
  background:rgba(15,15,15,.98);
  border:1px solid rgba(209,154,42,.24);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
  border-radius:20px;
  padding:1rem;
  transition:opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.has-dropdown:hover .dropdown-panel,
.has-dropdown:focus-within .dropdown-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.compact-dropdown{
  min-width:270px;
}

.dropdown-card,
.dropdown-link{
  display:block;
  color:#fff;
  text-decoration:none;
  border-radius:14px;
  padding:.9rem 1rem;
  transition:background .22s ease, color .22s ease;
}

.dropdown-card:hover,
.dropdown-link:hover{
  background:linear-gradient(135deg, rgba(196,120,44,.22), rgba(209,154,42,.12));
}

.drop-kicker{
  display:block;
  color:#ecd5a7;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:.35rem;
  font-weight:900;
}

.dropdown-card strong{
  display:block;
  color:#fff;
  font-size:.98rem;
}

.dropdown-card small{
  display:block;
  color:rgba(255,255,255,.65);
  margin-top:.35rem;
  line-height:1.45;
}

/* Sectors dropdown */
.sectors-dropdown-wrap{
  position:relative;
}

.sectors-dropdown{
  width:min(760px, 92vw);
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.75rem;
}

.sector-drop-card{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:1rem;
  border-radius:16px;
  color:#fff;
  text-decoration:none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    radial-gradient(circle at top right, rgba(209,154,42,.18), transparent 42%);
  border:1px solid rgba(255,255,255,.08);
  transition:background .22s ease, border-color .22s ease, color .22s ease;
}

.sector-drop-card:hover{
  border-color:rgba(236,213,167,.45);
  background:
    linear-gradient(135deg, rgba(196,120,44,.28), rgba(209,154,42,.12)),
    radial-gradient(circle at top right, rgba(236,213,167,.22), transparent 42%);
}

.sector-drop-card svg{
  width:25px;
  height:25px;
  flex:0 0 25px;
  fill:none;
  stroke:#ecd5a7;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sector-drop-card span{
  font-weight:800;
  font-size:.88rem;
}

/* Auth visible in sticky nav */
.nav-auth{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease;
}

body.has-scrolled .nav-auth{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.nav-login,
.nav-register{
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.06em;
  border-radius:999px;
  transition:background .22s ease, color .22s ease, border-color .22s ease;
}

.nav-login{
  padding:0 12px;
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
}

.nav-login:hover{
  background:#111;
  border-color:#111;
  color:#fff;
}

.nav-register{
  padding:0 15px;
  color:#111;
  background:#fff;
  border:1px solid #fff;
}

.nav-register:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}

/* Mobile toggle */
.menu-toggle{
  display:none;
  margin-left:auto;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
}

.menu-toggle span{
  width:24px;
  height:2px;
  background:#fff;
  border-radius:999px;
  transition:transform .22s ease, opacity .22s ease;
}

body.nav-open .menu-toggle span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

body.nav-open .menu-toggle span:nth-child(2){
  opacity:0;
}

body.nav-open .menu-toggle span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* Backdrop + drawer */
.nav-backdrop{
  display:block !important;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(5px);
  opacity:0;
  visibility:hidden;
  z-index:998;
  transition:opacity .25s ease, visibility .25s ease;
}

body.nav-open .nav-backdrop{
  opacity:1;
  visibility:visible;
}

.mobile-drawer{
  display:flex !important;
  position:fixed;
  top:0;
  right:0;
  width:min(86vw, 390px);
  height:100vh;
  z-index:1001;
  background:#414142;
  color:#fff;
  flex-direction:column;
  padding:24px;
  box-shadow:-28px 0 60px rgba(0,0,0,.35);
  transform:translateX(105%);
  transition:transform .3s ease;
  overflow-y:auto;
}

body.nav-open .mobile-drawer{
  transform:translateX(0);
}

.drawer-head{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:20px;
}

.drawer-head img{
  width:118px;
  height:auto;
  background:#d19a2a;
  padding:6px;
  border-radius:8px;
}

.drawer-head span{
  color:#d19a2a;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.drawer-nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.drawer-link,
.drawer-group{
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.045);
  overflow:hidden;
}

.drawer-link{
  min-height:50px;
  padding:0 16px;
  display:flex;
  align-items:center;
  color:#fff;
  text-decoration:none;
  font-size:.9rem;
  font-weight:800;
}

.drawer-link.highlight{
  background:#d19a2a;
  color:#111;
  border-color:#d19a2a;
  justify-content:center;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.drawer-group summary{
  cursor:pointer;
  list-style:none;
  padding:1rem;
  color:#fff;
  font-weight:900;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.drawer-group summary::-webkit-details-marker{
  display:none;
}

.drawer-group summary::after{
  content:"⌄";
  color:#ecd5a7;
}

.drawer-group > a{
  display:block;
  padding:.85rem 1rem;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  border-top:1px solid rgba(255,255,255,.06);
}

.drawer-sector-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.55rem;
  padding:0 .85rem 1rem;
}

.drawer-sector-grid a{
  color:#fff;
  text-decoration:none;
  padding:.85rem;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(196,120,44,.22), rgba(209,154,42,.08));
  border:1px solid rgba(236,213,167,.16);
  font-size:.86rem;
  font-weight:700;
}

.drawer-footer{
  margin-top:auto;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  display:grid;
  gap:12px;
}

.drawer-footer a{
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#d19a2a;
  color:#111;
  text-decoration:none;
  border-radius:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.drawer-footer small{
  color:rgba(255,255,255,.62);
  text-align:center;
}

/* Responsive */
@media(max-width:1180px){
  .desktop-nav{
    gap:18px;
  }

  .brand img{
    width:176px;
  }

  .nav-link{
    font-size:.66rem;
  }
}

@media(max-width:1020px){
  .desktop-nav{
    display:none !important;
  }

  .nav-shell{
    height:66px;
  }

  .brand img{
    width:145px;
  }

  .menu-toggle{
    display:inline-flex !important;
    margin-left:auto;
    position:relative;
    z-index:1002;
  }

  .nav-auth{
    margin-left:auto;
  }
}

@media(max-width:520px){
  .nav-shell{
    height:62px;
    gap:10px;
  }

  .brand img{
    width:128px;
  }

  body.has-scrolled .nav-auth{
    display:none;
  }

  .menu-toggle{
    margin-left:auto;
  }
}


/* ================================
   ADFAX SITE Hero section
================================ */
.hero{
  position:relative;
  min-height:420px;
  overflow:hidden;
  background:#0b0b0b;
  color:#fff;
  display:flex;
  align-items:center;
  border-top:4px solid #d19a2a;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.82) 45%, rgba(0,0,0,.46) 100%),
    url("assets/images/hero-bg.svg") center/cover no-repeat;
  z-index:0;
}

.hero-shape{
  display:none;
}

/* Big wave-like background bubbles, closer to design */
.hero-bubble{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.075), rgba(255,255,255,.015) 62%, transparent 70%);
  border:1px solid rgba(255,255,255,.035);
  z-index:1;
  animation:heroWave 12s ease-in-out infinite;
  pointer-events:none;
}

.b1{
  width:520px;
  height:520px;
  right:32%;
  top:-220px;
}

.b2{
  width:640px;
  height:640px;
  right:8%;
  top:-300px;
  animation-delay:2s;
}

.b3{
  width:360px;
  height:360px;
  right:-120px;
  top:-80px;
  animation-delay:4s;
}

@keyframes heroWave{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(-18px,12px,0) scale(1.025);}
}

.hero-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns: .92fr 1.08fr;
  align-items:center;
  gap:34px;
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:52px 58px 34px;
}

.hero-copy{
  max-width:560px;
  padding-left:0;
}

.eyebrow{
  margin:0 0 8px;
  color:#d19a2a;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.hero h1{
  margin:0;
  font-size:clamp(2.15rem, 4vw, 4rem);
  line-height:.98;
  letter-spacing:-.035em;
  text-transform:uppercase;
  font-weight:800;
}

.hero-line,
.typing{
  display:block;
  white-space:nowrap;
}

.typing{
  color:#d19a2a;
  min-height:1em;
}

.hero-text{
  max-width:500px;
  margin:14px 0 34px;
  color:rgba(255,255,255,.88);
  font-size:.92rem;
  line-height:1.35;
}

.hero-icons{
  display:flex;
  align-items:flex-start;
  gap:28px;
  flex-wrap:wrap;
}

.hero-icons div{
  display:flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:0;
  padding:0;
  min-height:auto;
}

.hero-icons img{
  width:28px;
  height:28px;
  object-fit:contain;
}

.hero-icons span{
  color:#fff;
  font-size:.68rem;
  font-weight:500;
  line-height:1.05;
}

.hero-visual{
  position:relative;
  min-height:285px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  padding-right:22px;
}

.mockup-stage{
  position:relative;
  width:min(100%, 620px);
  height:270px;
}

.mockup{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0;
  transform:translateY(8px) scale(.99);
  transition:opacity 1s ease, transform 1s ease;
  filter:drop-shadow(0 22px 32px rgba(0,0,0,.34));
}

.mockup.active{
  opacity:1;
  transform:translateY(0) scale(1);
}

.mockup-fallback{
  display:none;
}

.hero-dots{
  width:min(100%, 620px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-top:4px;
}

.hero-dot{
  width:9px;
  height:9px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.36);
  cursor:pointer;
  transition:.25s ease;
}

.hero-dot.active{
  background:#d19a2a;
  transform:scale(1.1);
}

@media(max-width:1050px){
  .hero-grid{
    grid-template-columns:1fr;
    gap:22px;
    padding:48px 30px 38px;
  }

  .hero-copy{
    max-width:680px;
  }

  .hero-visual{
    align-items:center;
    padding-right:0;
    min-height:320px;
  }

  .mockup-stage{
    height:300px;
  }
}

@media(max-width:640px){
  .hero-grid{
    padding:42px 20px 36px;
  }

  .hero h1{
    font-size:clamp(2rem, 10vw, 3rem);
  }

  .hero-line,
  .typing{
    white-space:normal;
  }
}


/* ================================
   ADFAX SITE Magazine Section
================================ */
.featured-magazine{
  background:#fff;
  color:#222;
  padding:42px 0 48px;
}

.magazine-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:26px;
}

.magazine-head h2{
  margin:0;
  color:#d19a2a;
  text-transform:uppercase;
  font-size:clamp(1.8rem, 3vw, 2.65rem);
  letter-spacing:-.035em;
  font-weight:800;
}

.view-all-magazines{
  color:#d19a2a;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  border-bottom:2px solid currentColor;
  padding-bottom:5px;
}

.magazine-showcase{
  display:grid;
  grid-template-columns:1.05fr 1.1fr;
  align-items:center;
  gap:44px;
}

/* LEFT SLIDER */
.magazine-slider{
  position:relative;
  min-height:420px;
  overflow:hidden;
}

.magazine-slide{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:280px 1fr;
  align-items:center;
  gap:34px;
  opacity:0;
  visibility:hidden;
  transform:translateX(24px);
  transition:opacity .65s ease, transform .65s ease, visibility .65s ease;
}

.magazine-slide.active{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
}

.mag-cover-wrap{
  position:relative;
  display:flex;
  justify-content:center;
}

.mag-cover-wrap::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:-12px;
  height:22px;
  background:radial-gradient(ellipse, rgba(0,0,0,.22), transparent 70%);
  filter:blur(4px);
}

.mag-cover{
  position:relative;
  width:245px;
  max-width:100%;
  height:auto;
  display:block;
  z-index:2;
  transition:transform .5s ease;
}

.magazine-slide.active .mag-cover{
  animation:magFloat 4.8s ease-in-out infinite;
}

@keyframes magFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-7px);}
}

.mag-slide-copy{
  max-width:430px;
}

.mag-issue{
  display:block;
  color:#d19a2a;
  font-size:1.35rem;
  font-weight:800;
  margin-bottom:8px;
}

.mag-slide-copy h3{
  margin:0 0 18px;
  color:#d19a2a;
  font-size:clamp(1.9rem, 2.7vw, 2.75rem);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:800;
}

.mag-slide-copy p{
  margin:0;
  color:#555;
  max-width:390px;
  font-size:1.02rem;
  line-height:1.45;
}

.mag-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:30px;
}

.btn-mag{
  min-width:155px;
  height:48px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:6px;
  font-size:.86rem;
  font-weight:700;
  text-transform:uppercase;
  transition:.28s ease;
}

.btn-mag.primary{
  background:#d19a2a;
  color:#fff;
  border:1px solid #d19a2a;
}

.btn-mag.outline{
  color:#414142;
  background:#fff;
  border:1.5px solid #d19a2a;
}

.btn-mag:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 25px rgba(0,0,0,.12);
}

.mag-slider-controls{
  position:absolute;
  left:314px;
  bottom:0;
  display:flex;
  align-items:center;
  gap:14px;
  z-index:10;
}

.magazine-slider{
  position:relative;
  min-height:500px;
  overflow:visible;
  padding-bottom:70px;
}

.mag-arrow{
  width:34px;
  height:34px;
  border:1px solid rgba(209,154,42,.45);
  border-radius:50%;
  background:#fff;
  color:#d19a2a;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  transition:.25s ease;
}

.mag-arrow:hover{
  background:#d19a2a;
  color:#fff;
}

.mag-dots{
  display:flex;
  gap:8px;
  align-items:center;
}

.mag-dot{
  width:8px;
  height:8px;
  border:0;
  border-radius:50%;
  background:rgba(65,65,66,.25);
  cursor:pointer;
  transition:.25s ease;
}

.mag-dot.active{
  width:24px;
  border-radius:999px;
  background:#d19a2a;
}

/* RIGHT FIXED CONTENT */
.magazine-info{
  position:relative;
  border-left:1px solid rgba(65,65,66,.16);
  padding-left:44px;
}

.mag-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px 44px;
  margin-bottom:24px;
}

.mag-info-card{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:start;
}

.mag-info-card img{
  width:52px;
  height:52px;
  object-fit:contain;
}

.mag-info-card h4{
  margin:0 0 8px;
  color:#111;
  font-size:1.2rem;
  line-height:1.05;
  font-weight:800;
}

.mag-info-card p{
  margin:0;
  color:#555;
  font-size:.86rem;
  line-height:1.35;
}

.open-magazine{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  min-height:220px;
}

.open-magazine img{
  width:min(100%, 560px);
  height:auto;
  display:block;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.15));
}

/* RESPONSIVE */
@media(max-width:1100px){
  .magazine-showcase{
    grid-template-columns:1fr;
    gap:34px;
  }

  .magazine-info{
    border-left:0;
    padding-left:0;
    border-top:1px solid rgba(65,65,66,.14);
    padding-top:32px;
  }

  .magazine-slider{
    min-height:390px;
  }
}

@media(max-width:720px){
  .magazine-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .magazine-slider{
    min-height:620px;
  }

  .magazine-slide{
    grid-template-columns:1fr;
    align-content:start;
    text-align:left;
  }

  .mag-cover-wrap{
    justify-content:flex-start;
  }

  .mag-cover{
    width:210px;
  }

  .mag-slider-controls{
    left:0;
    bottom:0;
  }

  .mag-info-grid{
    grid-template-columns:1fr;
  }

  .mag-actions{
    gap:12px;
  }

  .btn-mag{
    min-width:145px;
  }
}

/* ================================
   ADFAX SITE Articles section
================================ */
.section-title{grid-column:1/-1}.section-title h2,.section-head h2,
.partners h2{color:var(--gold);font-size:1.5rem;text-transform:uppercase;margin:0;font-weight:900}
.mag-cover{position:relative;min-height:330px}.mag-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;border-radius:4px;box-shadow:var(--shadow)}.mag-img.active{opacity:1}.cover-fallback{height:330px;background:linear-gradient(145deg,#0f2842,#fff 48%,var(--gold));display:grid;place-items:center;text-align:center;font-size:2rem;font-weight:900;color:#fff;border-radius:4px}.issue{color:var(--gold);font-weight:900}.mag-copy h3{font-size:2rem;margin:.2rem 0;color:var(--gold)}.mag-copy p{line-height:1.7;color:#555}.actions{display:flex;gap:14px;margin-top:22px}.btn{border:1px solid var(--gold);padding:13px 22px;border-radius:4px;text-transform:uppercase;font-weight:900;font-size:.82rem;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--gold);color:#111}.ghost{background:#fff;color:#111}.mag-points{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mag-points article{border-left:3px solid var(--gold);padding:8px 0 8px 16px}.mag-points strong{display:block;color:#222}.mag-points span{color:#777;font-size:.92rem}
.articles{
  padding:46px 0 54px;
  background:#f4f4f4;
  color:#111;
}

.articles-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}

.articles-head h2{
  margin:0;
  color:#d19a2a;
  font-size:clamp(1.7rem, 3vw, 2.5rem);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.035em;
}

.article-controls{
  display:flex;
  gap:10px;
}

.round{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(209,154,42,.45);
  background:#fff;
  color:#d19a2a;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  transition:.25s ease;
}

.round:hover{
  background:#d19a2a;
  color:#fff;
  transform:translateY(-1px);
}

.articles-window{
  overflow:hidden;
  position:relative;
}

.card-track{
  display:flex;
  gap:22px;
  transition:transform .55s ease;
  will-change:transform;
}

.article-card{
  flex:0 0 286px;
  min-height:365px;
  background:#111;
  color:#fff;
  border-radius:7px;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,.16);
  position:relative;
  transition:transform .28s ease, box-shadow .28s ease;
}

.article-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 42px rgba(0,0,0,.22);
}

.article-card img{
  width:100%;
  height:178px;
  object-fit:cover;
  display:block;
  filter:saturate(.95) contrast(1.05);
}

.article-body{
  padding:15px 16px 17px;
}

.article-body span{
  display:inline-flex;
  margin-bottom:8px;
  color:#d19a2a;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.article-body h3{
  margin:0 0 10px;
  font-size:1.08rem;
  line-height:1.12;
  font-weight:800;
}

.article-body p{
  margin:0 0 14px;
  color:rgba(255,255,255,.68);
  font-size:.82rem;
  line-height:1.38;
}

.article-body a{
  color:#d19a2a;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  text-decoration:none;
  letter-spacing:.04em;
}

.article-body a:hover{
  color:#fff;
}

.article-tabs{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin:1.4rem 0 1.8rem;
}

.article-tabs button{
  appearance:none;
  border:none;
  background:#ffffff;
  color:#151515;
  padding:.72rem 1.15rem;
  border-radius:999px;
  cursor:pointer;
  font-weight:600;
  letter-spacing:.01em;
  box-shadow:
    0 4px 18px rgba(0,0,0,.06),
    inset 0 0 0 1px rgba(0,0,0,.08);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    color .25s ease;
}

.article-tabs button.active{
  background:linear-gradient(135deg,#c4782c,#d19c2a);
  color:#fff;
  box-shadow:
    0 12px 28px rgba(196,120,44,.28);
}

.article-tabs button:hover{
  transform:translateY(-2px);
  box-shadow:
    0 10px 24px rgba(0,0,0,.12),
    inset 0 0 0 1px rgba(196,120,44,.22);
}

/* auto movement class remains light */
.auto-left{
  animation:articleAutoMove 28s linear infinite;
}

.articles-window:hover .auto-left{
  animation-play-state:paused;
}

@keyframes articleAutoMove{
  from{transform:translateX(0);}
  to{transform:translateX(-320px);}
}

@media(max-width:900px){
  .article-card{
    flex-basis:260px;
  }

  .article-card img{
    height:160px;
  }
}

@media(max-width:640px){
  .articles{
    padding:38px 0 44px;
  }

  .articles-head{
    align-items:flex-start;
  }

  .article-card{
    flex-basis:82vw;
    min-height:350px;
  }

  .card-track{
    gap:16px;
  }

  .round{
    width:34px;
    height:34px;
  }
}

/* ================================
   ADFAX SITE Solutions section
================================ */
.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.round{width:38px;height:38px;border-radius:50%;border:0;background:#333;color:#fff;font-size:24px;cursor:pointer;transition:.25s}.round:hover{background:var(--gold);color:#111}.slider-window{overflow:hidden}

.solutions{
  background:#f8f6f1;
}

.solutions-head{
  align-items:flex-end;
}

.solutions-head h2 span{
  color:#d19c2a;
}

.solutions-head p{
  max-width:520px;
  color:#4d4d4d;
  line-height:1.7;
}

.solutions-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.8rem;
}

.solution-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  min-height:520px;
  display:flex;
  flex-direction:column;
  transition:.3s ease;
}

.solution-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 50px rgba(0,0,0,.12);
}

.solution-card img{
  width:100%;
  height:230px;
  object-fit:cover;
}

.solution-body{
  padding:1.9rem;
  display:flex;
  flex-direction:column;
  flex:1;
}

.solution-body span{
  color:#c4782c;
  font-weight:800;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:.7rem;
}

.solution-body h3{
  font-size:1.45rem;
  line-height:1.15;
  color:#061b24;
  margin-bottom:1rem;
}

.solution-body p{
  color:#26363d;
  line-height:1.65;
  margin-bottom:2rem;
}

.solution-actions{
  margin-top:auto;
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}

.btn-dark,
.btn-outline{
  padding:.85rem 1.15rem;
  text-decoration:none;
  font-weight:800;
  font-size:.82rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.btn-dark{
  background:#061b24;
  color:#fff;
}

.btn-outline{
  border:1px solid #d19c2a;
  color:#061b24;
  background:#fff;
}

.btn-dark::after,
.btn-outline::after{
  content:"›";
  margin-left:.8rem;
  font-size:1.2rem;
}

@media(max-width:1000px){
  .solutions-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media(max-width:640px){
  .solutions-grid{
    grid-template-columns:1fr;
  }

  .solution-card{
    min-height:auto;
  }
}


/* ================================
   ADFAX SITE Featured Case section
================================ */
.mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:126px;
  height:42px;
  padding:0 18px;
  border-radius:5px;
  background:#d19a2a;
  color:#111;
  text-decoration:none;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
  transition:.25s ease;
}

.mini-btn:hover{
  background:#fff;
  color:#111;
  transform:translateY(-1px);
}

.featured-case{
  flex-basis:380px;
}

.featured-case::after{
  content:"Featured";
  position:absolute;
  top:16px;
  left:16px;
  background:#d19a2a;
  color:#111;
  padding:7px 12px;
  border-radius:3px;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

@media(max-width:900px){
  .case-card,
  .featured-case{
    flex-basis:300px;
  }

  .case-card img{
    height:205px;
  }
}

@media(max-width:640px){
  .cases{
    padding:42px 0 50px;
  }

  .cases-head{
    align-items:flex-start;
  }

  .case-card,
  .featured-case{
    flex-basis:82vw;
    min-height:410px;
  }

  #casesTrack{
    gap:16px;
  }
}


/* ================================
   ADFAX SITE Sectors section
================================ */
.mini-btn{display:inline-flex;margin:0 16px 18px;background:var(--gold);padding:9px 15px;font-weight:900;font-size:.78rem}

.sectors{
  background:
    radial-gradient(circle at top left, rgba(209,156,42,.16), transparent 32%),
    radial-gradient(circle at bottom right, rgba(196,120,44,.14), transparent 34%),
    linear-gradient(135deg, #132631 0%, #0f1d26 55%, #172b34 100%);
  color:#fff;
  padding:7rem 0;
  overflow:hidden;
}

.sectors-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  margin-bottom:2rem;
}

.sector-top-actions{
  display:flex;
  align-items:center;
  gap:1rem;
}

.view-sector-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  text-decoration:none;
  font-weight:700;
  color:#ecd5a7;
}

.view-sector-link span{
  transition:.3s ease;
}

.view-sector-link:hover span{
  transform:translate(3px,-3px);
}

.sector-nav{
  display:flex;
  gap:.75rem;
}

.sector-btn{
  width:46px;
  height:46px;
  border:none;
  border-radius:50%;
  background:#0c1b24;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:.3s ease;
}

.sector-btn:hover{
  background:#c4782c;
  transform:translateY(-2px);
}

.sector-btn svg{
  width:18px;
  height:18px;
  stroke:#fff;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sector-window{
  overflow-x:auto;
  scrollbar-width:none;
  scroll-behavior:smooth;
  outline:none;
}

.sector-window::-webkit-scrollbar{
  display:none;
}

.sector-track{
  display:flex;
  gap:1.4rem;
  min-width:max-content;
  padding-bottom:.4rem;
}

.sector-card{
  width:320px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(236,213,167,.16);
  backdrop-filter:blur(14px);
  padding:2rem;
  position:relative;
  transition:.35s ease;
}

.sector-card:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 60px rgba(0,0,0,.22);
  border-color:rgba(236,213,167,.35);
}

.sector-card span{
  position:absolute;
  top:1.8rem;
  right:1.8rem;
  font-size:3rem;
  font-weight:800;
  color:rgba(196,120,44,.12);
}

.sector-icon{
  width:72px;
  height:72px;
  border-radius:18px;
  background:rgba(196,120,44,.08);
  display:grid;
  place-items:center;
  margin-bottom:1.5rem;
}

.sector-icon svg{
  width:38px;
  height:38px;
  stroke:#c4782c;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sector-card h3{
  font-size:1.45rem;
  margin-bottom:.9rem;
  color:#fff;
}

.sector-card p{
  color:rgba(255,255,255,.72);
  line-height:1.7;
}

.sector-card span{
  color:rgba(236,213,167,.13);
}

.sector-icon{
  background:rgba(236,213,167,.12);
}

.sector-icon svg{
  stroke:#ecd5a7;
}

.sector-btn{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(236,213,167,.2);
}

.sector-btn:hover{
  background:#c4782c;
}

@media(max-width:768px){

  .sectors-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .sector-card{
    width:280px;
  }

}


/* ================================
   ADFAX SITE Partners section
================================ */
@keyframes sectorMove{from{transform:translateX(0)}to{transform:translateX(-520px)}}

.partners{
  padding:42px 0 50px;
  background:#000;
  color:#fff;
}

.partners-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
}

.partners h2{
  margin:0;
  color:#d19a2a;
  font-size:clamp(1.55rem, 2.4vw, 2.25rem);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.02em;
}

.partners-head p{
  margin:0;
  max-width:430px;
  color:rgba(255,255,255,.62);
  font-size:.88rem;
  line-height:1.4;
  text-align:right;
}

.partner-logo{
  width:180px;
  height:96px;
  padding:1.1rem 1.4rem;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 180px;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}

.partner-logo img{
  width:100%;
  height:100%;
  max-width:130px;
  max-height:58px;
  object-fit:contain;
  object-position:center;
  display:block;
}

.partner-logo{
  position:relative;
  overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.partner-logo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent, rgba(209,156,42,.12), transparent);
  transform:translateX(-120%);
  transition:.6s ease;
}

.partner-logo:hover{
  transform:translateY(-4px);
  border-color:rgba(209,156,42,.35);
  box-shadow:0 18px 42px rgba(0,0,0,.1);
}

.partner-logo:hover::after{
  transform:translateX(120%);
}

.partner-marquee{
  position:relative;
  overflow:hidden;
  padding:8px 0;
}

.partner-marquee::before,
.partner-marquee::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:90px;
  z-index:2;
  pointer-events:none;
}

.partner-marquee::before{
  left:0;
  background:linear-gradient(90deg, #000, transparent);
}

.partner-marquee::after{
  right:0;
  background:linear-gradient(270deg, #000, transparent);
}

.partner-track{
  display:flex;
  align-items:center;
  gap:28px;
  width:max-content;
  animation:partnersMove 34s linear infinite;
}

.partner-marquee:hover .partner-track{
  animation-play-state:paused;
}

.partner-logo{
  width:165px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.42;
  filter:grayscale(1);
  transition:.28s ease;
}

.partner-logo:hover{
  opacity:1;
  filter:grayscale(0);
  transform:translateY(-2px);
}

.partner-logo img{
  max-width:145px;
  max-height:48px;
  object-fit:contain;
  display:block;
}

@keyframes partnersMove{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

@media(max-width:760px){
  .partners{
    padding:36px 0 42px;
  }

  .partners-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .partners-head p{
    text-align:left;
  }

  .partner-logo{
    width:135px;
    height:62px;
  }

  .partner-logo img{
    max-width:118px;
    max-height:42px;
  }

  .partner-track{
    gap:20px;
    animation-duration:42s;
  }
}

@keyframes partners{from{transform:translateX(0)}to{transform:translateX(-50%)}}


/* ================================
   ADFAX SITE Subscribe section
================================ */
.subscribe{
  padding:38px 0 34px;
  background:#000;
}

.sub-card{
  position:relative;
  overflow:hidden;
  min-height:150px;
  border-radius:10px;
  padding:2rem 3rem;
  display:grid;
  grid-template-columns:1fr 520px;
  align-items:center;
  gap:2.5rem;
  background:
    radial-gradient(circle at 65% 45%, rgba(209,156,42,.18), transparent 26%),
    linear-gradient(135deg, rgba(88,61,18,.92), rgba(39,29,14,.96));
  border:1px solid rgba(209,156,42,.38);
  box-shadow:
    inset 0 0 0 1px rgba(236,213,167,.08),
    0 0 28px rgba(209,156,42,.18);
}

.sub-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(rgba(236,213,167,.16) 1px, transparent 1px);
  background-size:6px 6px;
  opacity:.18;
  mask-image:linear-gradient(90deg, transparent 35%, #000 62%, transparent 88%);
  pointer-events:none;
}

.sub-copy{
  position:relative;
  display:grid;
  grid-template-columns:96px 1fr;
  align-items:center;
  column-gap:1.5rem;
}

.sub-copy::before{
  content:"";
  width:74px;
  height:74px;
  border:2px solid rgba(209,156,42,.55);
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(209,156,42,.14), transparent 58%);
  grid-row:1 / span 3;
}

.sub-copy::after{
  content:"✉";
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  color:#ecd5a7;
  font-size:2rem;
}

.sub-kicker,
.sub-points{
  display:none;
}

.sub-copy h2{
  color:#fff;
  font-size:1.65rem;
  line-height:1.1;
  margin:0 0 .45rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.sub-copy p{
  color:rgba(255,255,255,.72);
  margin:0;
  max-width:500px;
  line-height:1.55;
}

.sub-form{
  position:relative;
  display:grid;
  grid-template-columns:1fr 190px;
  align-items:center;
  gap:0;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(236,213,167,.18);
  border-radius:8px;
  overflow:hidden;
  height:58px;
}

.sub-input-wrap{
  height:100%;
  display:flex;
  align-items:center;
  background:transparent;
  border:0;
  border-radius:0;
}

.sub-mail-icon,
.sub-glow{
  display:none;
}

.sub-input-wrap input{
  width:100%;
  height:100%;
  border:0;
  outline:none;
  background:transparent;
  color:#fff;
  padding:0 1.2rem;
  font-size:.95rem;
}

.sub-input-wrap input::placeholder{
  color:rgba(255,255,255,.45);
}

.btn-subscribe{
  height:100%;
  border:0;
  border-radius:0;
  background:linear-gradient(135deg,#d19c2a,#f0b323);
  color:#16110a;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  cursor:pointer;
  transition:.25s ease;
}

.btn-subscribe svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
}

.btn-subscribe:hover{
  filter:brightness(1.06);
}

@media(max-width:900px){
  .sub-card{
    grid-template-columns:1fr;
    padding:1.8rem;
  }

  .sub-form{
    grid-template-columns:1fr 150px;
  }
}

@media(max-width:560px){
  .sub-copy{
    grid-template-columns:1fr;
    padding-top:88px;
  }

  .sub-copy::before{
    position:absolute;
    top:0;
    left:0;
  }

  .sub-copy::after{
    top:37px;
  }

  .sub-form{
    grid-template-columns:1fr;
    height:auto;
  }

  .sub-input-wrap{
    height:56px;
  }

  .btn-subscribe{
    height:54px;
  }
}


/* ================================
   ADFAX SITE Footer section
================================ */

.footer{
  position:relative;
  background:#000;
  color:#fff;
  overflow:hidden;
}

.footer-top-line{
  height:3px;
  background:#d19a2a;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.3fr .8fr .8fr 1fr;
  gap:44px;
  padding:54px 0 42px;
}

.footer-brand{
  max-width:420px;
}

.footer-logo{
  width:180px;
  height:auto;
  display:block;
  margin-bottom:18px;
}

.footer-brand p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:.92rem;
  line-height:1.55;
}

.footer-socials{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:24px;
}

.footer-socials a{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(209,154,42,.28);
  border-radius:50%;
  transition:.25s ease;
}

.footer-socials a:hover{
  background:#d19a2a;
  transform:translateY(-2px);
}

.footer-socials img{
  width:18px;
  height:18px;
  object-fit:contain;
}

.footer-links h3,
.footer-contact h3{
  margin:0 0 18px;
  color:#d19a2a;
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.footer-links{
  display:flex;
  flex-direction:column;
}

.footer-links a{
  width:max-content;
  margin-bottom:12px;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  font-size:.9rem;
  transition:.2s ease;
}

.footer-links a:hover{
  color:#d19a2a;
  transform:translateX(3px);
}

.footer-contact-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:16px;
}

.footer-contact-item img{
  width:18px;
  height:18px;
  object-fit:contain;
  margin-top:2px;
}

.footer-contact-item span{
  color:rgba(255,255,255,.72);
  font-size:.9rem;
  line-height:1.45;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-bottom-inner{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.footer-bottom p{
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:.82rem;
}

.footer-bottom-links{
  display:flex;
  align-items:center;
  gap:18px;
}

.footer-bottom-links a{
  color:rgba(255,255,255,.5);
  text-decoration:none;
  font-size:.82rem;
  transition:.2s ease;
}

.footer-bottom-links a:hover{
  color:#d19a2a;
}

.footer-socials{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-top:1.4rem;
}

.footer-socials a{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(236,213,167,.12);
  transition:.28s ease;
  text-decoration:none;
}

.footer-socials a:hover{
  background:linear-gradient(135deg,#c4782c,#d19c2a);
  transform:translateY(-3px);
  border-color:transparent;
}

.footer-socials svg{
  width:18px;
  height:18px;
  stroke:#fff;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:980px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:38px;
  }
}

@media(max-width:640px){
  .footer-grid{
    grid-template-columns:1fr;
    padding:42px 0 34px;
    gap:32px;
  }

  .footer-bottom-inner{
    min-height:auto;
    padding:18px 0;
    align-items:flex-start;
    flex-direction:column;
  }

  .footer-bottom-links{
    gap:14px;
    flex-wrap:wrap;
  }

  .footer-logo{
    width:160px;
  }
}

.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding:16px;color:#777;font-size:.82rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.show{opacity:1;transform:none}@media(max-width:980px){.main-nav{position:absolute;top:62px;left:0;right:0;background:#111;display:none;flex-direction:column;padding:20px}.main-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.magazine-grid{grid-template-columns:1fr}.hero-visual{min-height:320px}.mag-points{grid-template-columns:1fr}.article-card,.case-card{flex-basis:calc(50% - 12px)}.footer-grid{grid-template-columns:1fr 1fr}.sub-card{flex-direction:column;align-items:flex-start}.topbar-inner{justify-content:center;flex-wrap:wrap;height:auto;padding:8px 0}}@media(max-width:620px){.hero{min-height:720px}.hero-grid{min-height:720px;padding:40px 0}.hero-icons{gap:16px}.article-card,.case-card{flex-basis:88%}.footer-grid{grid-template-columns:1fr}.sub-card form{flex-direction:column}.btn{width:100%}.mag-copy h3{font-size:1.55rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* ================================
   ADFAX SITE Magazine Page
================================ */
.magazines-page{
  background:#f5f3ee;
  color:#071923;
}

.mag-hero{
  padding:2.2rem 0 1.6rem;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.mag-hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:1.5rem;
}

.mag-feature{
  background:#101f27;
  color:#fff;
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:330px;
  box-shadow:0 16px 38px rgba(0,0,0,.14);
}

.mag-cover{
  padding:1rem;
}

.mag-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  box-shadow:0 18px 35px rgba(0,0,0,.3);
}

.mag-feature-copy{
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.mag-label{
  color:#ecd5a7;
  text-transform:uppercase;
  font-weight:800;
  font-size:.75rem;
  letter-spacing:.09em;
  margin-bottom:.7rem;
}

.mag-feature-copy h1{
  font-size:2.2rem;
  line-height:1.05;
  margin-bottom:.8rem;
}

.mag-feature-copy p{
  color:rgba(255,255,255,.75);
  line-height:1.6;
  max-width:430px;
}

.mag-meta{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  margin:1.2rem 0;
}

.mag-meta span{
  border:1px solid rgba(236,213,167,.2);
  color:#ecd5a7;
  padding:.45rem .7rem;
  font-size:.78rem;
}

.mag-btn{
  width:max-content;
  background:#d19c2a;
  color:#111;
  text-decoration:none;
  font-weight:900;
  padding:.8rem 1.1rem;
}

.mag-side-news{
  display:grid;
  gap:1rem;
}

.mag-side-news article{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:.9rem;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  padding:.7rem;
}

.mag-side-news img{
  width:120px;
  height:92px;
  object-fit:cover;
}

.mag-side-news span{
  color:#c4782c;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
}

.mag-side-news h3{
  font-size:.95rem;
  line-height:1.3;
  margin-top:.35rem;
}

.mag-ad{
  padding:1.8rem 0;
}

.mag-ad-card{
  min-height:120px;
  background:
    linear-gradient(90deg, rgba(15,29,38,.95), rgba(209,156,42,.86)),
    url("assets/images/magazines/ad-bg.jpg") center/cover;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.6rem 2rem;
}

.mag-ad-card span{
  color:#ecd5a7;
  font-weight:800;
  text-transform:uppercase;
  font-size:.75rem;
}

.mag-ad-card h2{
  max-width:620px;
  margin-top:.35rem;
}

.mag-ad-card a{
  background:#fff;
  color:#111;
  text-decoration:none;
  font-weight:900;
  padding:.85rem 1rem;
  white-space:nowrap;
}

.latest-editions{
  padding:1rem 0 5rem;
}

.mag-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(0,0,0,.12);
  padding-bottom:.8rem;
  margin-bottom:1.4rem;
}

.mag-section-head h2{
  font-size:1.2rem;
}

.mag-section-head a{
  color:#c4782c;
  font-weight:800;
  text-decoration:none;
}

.edition-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.4rem;
}

.edition-card{
  text-align:center;
}

.edition-card img,
.cover-placeholder{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  background:#132631;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
  transition:.28s ease;
}

.edition-card:hover img,
.edition-card:hover .cover-placeholder{
  transform:translateY(-6px);
  box-shadow:0 22px 40px rgba(0,0,0,.24);
}

.edition-card h3{
  margin-top:.9rem;
  font-size:.95rem;
}

.edition-card span{
  display:block;
  margin-top:.3rem;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  color:#555;
}

.cover-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at top right, rgba(209,156,42,.25), transparent 35%),
    linear-gradient(145deg,#132631,#081219);
  color:#fff;
}

.cover-placeholder strong{
  font-size:2rem;
  color:#ecd5a7;
}

.cover-placeholder small{
  margin-top:.4rem;
  color:rgba(255,255,255,.75);
}

@media(max-width:1000px){
  .mag-hero-grid{
    grid-template-columns:1fr;
  }

  .edition-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media(max-width:640px){
  .mag-feature{
    grid-template-columns:1fr;
  }

  .mag-cover{
    max-width:260px;
  }

  .mag-ad-card{
    flex-direction:column;
    align-items:flex-start;
  }

  .edition-grid{
    grid-template-columns:1fr;
  }
}


/* Reader styles */
.reader-body{
  margin:0;
  background:#050505;
  color:#fff;
}

.adfax-reader{
  min-height:100vh;
  background:
    radial-gradient(circle at top, rgba(209,156,42,.14), transparent 26%),
    linear-gradient(180deg,#060606 0%,#111 100%);
}

.reader-side-tools{
  position:fixed;
  top:0;
  left:0;
  width:48px;
  height:100vh;
  z-index:50;
  background:linear-gradient(180deg,#c4782c,#d19c2a);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  padding-top:8rem;
}

.reader-side-tools a,
.reader-side-tools button{
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:1.25rem;
  display:grid;
  place-items:center;
  text-decoration:none;
  cursor:pointer;
  opacity:.9;
}

.reader-stage{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3rem 5rem 1.5rem;
  background:#050505;
  border-bottom:4px solid #d19c2a;
}

.reader-brand{
  position:absolute;
  top:24px;
  right:48px;
  opacity:.55;
}

.reader-brand img{
  width:120px;
  height:auto;
}

.magazine-frame{
  width:min(760px, 82vw);
  height:560px;
  background:#111;
  border:1px solid rgba(236,213,167,.28);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}

.magazine-frame iframe{
  width:100%;
  height:100%;
  border:0;
  background:#111;
}

.reader-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:58px;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.65);
  font-size:4rem;
  cursor:pointer;
}

.reader-prev{
  left:82px;
}

.reader-next{
  right:38px;
}

.reader-share-strip{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  height:48px;
  background:linear-gradient(90deg,#c4782c,#d19c2a);
}

.reader-share-strip a{
  color:#fff;
  display:grid;
  place-items:center;
  text-decoration:none;
  font-weight:900;
  border-right:1px solid rgba(255,255,255,.35);
}

.reader-contents{
  background:#1c1c1c;
  padding:1.8rem 0 2.2rem;
}

.reader-contents h2{
  color:#fff;
  margin-bottom:1.4rem;
  font-size:1.35rem;
}

.reader-content-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.4rem;
}

.reader-content-grid article{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:.9rem;
  align-items:center;
}

.reader-content-grid img{
  width:96px;
  height:72px;
  object-fit:cover;
}

.reader-content-grid h3{
  color:#fff;
  font-size:.95rem;
  line-height:1.25;
  margin-bottom:.45rem;
}

.reader-content-grid span{
  display:inline-block;
  border:1px solid rgba(255,255,255,.5);
  padding:.35rem .55rem;
  font-size:.72rem;
  font-weight:800;
  color:#ecd5a7;
}

.flipbook-wrap{
  width:min(900px, 86vw);
  min-height:590px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.flipbook{
  margin:auto;
}

.flip-page{
  background:#fff;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.45);
}

.flip-page img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.flipbook .hard{
  background:#132631;
}

@media(max-width:760px){
  .flipbook-wrap{
    width:100%;
    min-height:590px;
  }
}

@media(max-width:900px){
  .reader-side-tools{
    display:none;
  }

  .reader-stage{
    padding:2rem 1rem;
    min-height:auto;
  }

  .magazine-frame{
    width:100%;
    height:70vh;
  }

  .reader-arrow,
  .reader-brand{
    display:none;
  }

  .reader-content-grid{
    grid-template-columns:1fr;
  }
}

/* Articles Page Styles */
/* ================= ARTICLES PAGE ================= */

.articles-page{
  background:#f4f2ed;
  color:#071923;
}

.articles-lead{
  background:#fff;
  padding:2rem 0 2.4rem;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.articles-lead-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr 1.15fr .9fr;
  gap:1.4rem;
  align-items:start;
}

.lead-list{
  display:flex;
  flex-direction:column;
  border-top:1px solid rgba(0,0,0,.15);
}

.lead-list a{
  color:#071923;
  text-decoration:none;
  font-weight:900;
  line-height:1.25;
  padding:1rem 0;
  border-bottom:1px solid rgba(0,0,0,.12);
  transition:.25s ease;
}

.lead-list a:hover{
  color:#c4782c;
}

.lead-main{
  background:#fff;
}

.lead-main img{
  width:100%;
  height:285px;
  object-fit:cover;
  display:block;
}

.lead-main span,
.news-card span,
.lead-column span{
  display:inline-block;
  margin-top:.85rem;
  background:#071923;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  padding:.28rem .45rem;
  text-transform:uppercase;
}

.lead-main h1{
  font-size:2rem;
  line-height:1.05;
  margin:.8rem 0 .7rem;
}

.lead-main p{
  color:#465761;
  line-height:1.55;
}

.lead-column{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}

.lead-column article:first-child{
  grid-column:1 / -1;
}

.lead-column img{
  width:100%;
  height:160px;
  object-fit:cover;
  display:block;
}

.lead-column article:first-child img{
  height:285px;
}

.lead-column h3{
  font-size:1rem;
  line-height:1.25;
  margin-top:.65rem;
}

.lead-column article:first-child h3{
  font-size:1.35rem;
}

.popular-box{
  background:#f1f1f1;
  padding:1rem;
}

.popular-box h3{
  font-size:.95rem;
  text-transform:uppercase;
  margin-bottom:1rem;
}

.popular-box a{
  display:block;
  text-decoration:none;
  color:#071923;
  font-weight:800;
  font-size:.92rem;
  line-height:1.3;
  padding:.85rem 0;
  border-bottom:1px solid rgba(0,0,0,.1);
}

.popular-box a span{
  display:block;
  color:#c4782c;
  font-size:.68rem;
  margin-bottom:.35rem;
  text-transform:uppercase;
}

.articles-ad{
  padding:1.6rem 0;
  background:#f4f2ed;
}

.articles-ad-card{
  min-height:132px;
  background:
    linear-gradient(90deg, rgba(7,25,35,.95), rgba(196,120,44,.72)),
    url("assets/images/ad-banner.jpg") center/cover;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:2rem 2.4rem;
}

.articles-ad-card span{
  color:#ecd5a7;
  text-transform:uppercase;
  font-weight:900;
  font-size:.75rem;
}

.articles-ad-card h2{
  max-width:650px;
  font-size:1.75rem;
  line-height:1.15;
  margin-top:.35rem;
}

.articles-ad-card a{
  background:#d19c2a;
  color:#111;
  text-decoration:none;
  font-weight:900;
  padding:.9rem 1.1rem;
  white-space:nowrap;
}

.articles-feature-strip{
  min-height:360px;
  background:#101010;
}

.feature-strip-bg{
  min-height:360px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.35)),
    url("assets/images/feature-strip.jpg") center/cover;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
  padding:3rem 1rem;
}

.feature-strip-bg h2{
  font-size:4rem;
  line-height:1;
  letter-spacing:.04em;
}

.feature-strip-bg p{
  color:#ecd5a7;
  font-weight:700;
  margin:1rem 0 1.4rem;
}

.feature-strip-bg a{
  background:#d19c2a;
  color:#111;
  text-decoration:none;
  font-weight:900;
  padding:.8rem 1.1rem;
}

.all-articles{
  background:#fff;
  padding:3.5rem 0 4.5rem;
}

.articles-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  border-bottom:1px solid rgba(0,0,0,.22);
  padding-bottom:1rem;
  margin-bottom:1.8rem;
}

.articles-section-head h2{
  font-size:1.45rem;
}

.article-filter-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}

.article-filter-tabs button{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  padding:.55rem .85rem;
  font-weight:800;
  cursor:pointer;
}

.article-filter-tabs button.active,
.article-filter-tabs button:hover{
  background:#d19c2a;
  color:#111;
  border-color:#d19c2a;
}

.articles-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:1.55rem;
}

.news-card img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
  background:#ddd;
}

.news-card h3{
  font-size:1.05rem;
  line-height:1.2;
  margin:.75rem 0 .55rem;
}

.news-card p{
  color:#59666d;
  font-size:.9rem;
  line-height:1.5;
  margin-bottom:1.3rem;
}

.news-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
  min-height:40px;
  border:1px solid rgba(0,0,0,.14);
  color:#071923;
  text-decoration:none;
  font-weight:800;
  font-size:.78rem;
  transition:.25s ease;
}

.news-card a:hover{
  background:#071923;
  color:#fff;
}

.show-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:3rem;
}

.show-more-btn{
  background:linear-gradient(135deg,#c4782c,#d19c2a);
  color:#fff;
  min-width:240px;
  text-align:center;
  padding:1rem 1.3rem;
  text-decoration:none;
  font-weight:900;
}

@media(max-width:1180px){
  .articles-lead-grid{
    grid-template-columns:1fr 1fr;
  }

  .popular-box{
    grid-column:1 / -1;
  }

  .articles-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

@media(max-width:760px){
  .articles-lead-grid{
    grid-template-columns:1fr;
  }

  .lead-column{
    grid-template-columns:1fr;
  }

  .articles-ad-card{
    flex-direction:column;
    align-items:flex-start;
  }

  .feature-strip-bg h2{
    font-size:2.7rem;
  }

  .articles-section-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .articles-grid{
    grid-template-columns:1fr;
  }
}

/* ================================
   ADFAX HOME PAGE ONLY
================================ */

/* ================================
   TOP STORIES — ADFAX MAGAZINE STYLE
================================ */

.top-stories{
  padding:22px 0 26px;
  background:#fff;
  scroll-margin-top:104px;
}

.top-stories-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(0, 1.1fr) minmax(270px, .72fr);
  gap:16px;
  align-items:stretch;
}

/* Universal stable card */
.adfax-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:none;
}

.story-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

/* Image wrapper */
.story-media,
.issue-media{
  position:relative;
  overflow:hidden;
  background:#f3f3f3;
}

.story-media::after,
.issue-media::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(209,154,42,.48),
      rgba(196,120,44,.18) 42%,
      transparent 78%
    );
  transition:opacity .22s ease;
}

/* No zoom, no movement */
.story-media img,
.issue-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:none !important;
}

/* Hover effect only: title color + media overlay */
.adfax-card:hover .story-media::after,
.adfax-card:hover .issue-media::after{
  opacity:1;
}

.adfax-card:hover h1,
.adfax-card:hover h3{
  color:#d19a2a;
}

/* Lead story */
.lead-story{
  min-height:468px;
}

.lead-story .story-media{
  position:absolute;
  inset:0;
  height:100%;
}

.lead-story .story-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.94),
    rgba(0,0,0,.56) 46%,
    rgba(0,0,0,.12)
  );
}

.lead-story .story-media::after{
  z-index:2;
}

.lead-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:28px;
  color:#fff;
}

.content-tag,
.ad-label{
  display:inline-flex;
  align-items:center;
  color:#d19a2a;
  text-transform:uppercase;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.09em;
}

.lead-content h1{
  max-width:780px;
  margin:10px 0;
  color:#fff;
  font-size:clamp(1.9rem, 2.8vw, 2.7rem);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
  transition:color .22s ease;
}

.lead-content p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.95rem;
  line-height:1.5;
}

/* Story stack */
.story-stack{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.mini-story{
  min-height:226px;
}

.mini-story .story-media{
  height:122px;
}

.mini-content{
  padding:13px 14px 15px;
}

.mini-content h3{

}
.mini-content h3{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    line-height:1.5;
    min-height:48px;
}

/* Side rail */
.side-rail{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:16px;
}

.ad-slot{
  position:relative;
  overflow:hidden;
  min-height:226px;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(65,65,66,.96), rgba(196,120,44,.58)),
    url("https://images.pexels.com/photos/3184419/pexels-photo-3184419.jpeg?auto=compress&cs=tinysrgb&w=1200") center/cover no-repeat;
  border:1px solid rgba(209,154,42,.38);
}

.ad-slot::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.45), transparent 70%);
}

.ad-slot > *{
  position:relative;
  z-index:2;
}

.ad-slot h3{
  margin:10px 0 8px;
  color:#fff;
  font-size:1.35rem;
  line-height:1.08;
  font-weight:900;
}

.ad-slot p{
  margin:0 0 15px;
  color:rgba(255,255,255,.78);
  font-size:.82rem;
  line-height:1.45;
}

.ad-slot a,
.issue-content strong{
  width:max-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Current issue */
.current-issue{
  min-height:226px;
}

.issue-media{
  height:150px;
}

.issue-media img{
  object-fit:contain;
  padding:12px;
}

.issue-content{
  padding:13px 14px 15px;
}

.issue-content h3{
  margin:7px 0 6px;
  color:#111;
  font-size:1.05rem;
  line-height:1.1;
  font-weight:900;
  transition:color .22s ease;
}

.issue-content p{
  margin:0 0 12px;
  color:#666;
  font-size:.82rem;
  line-height:1.35;
}

/* Horizontal managed ad */
.ad-strip{
  margin-top:18px;
  min-height:86px;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  color:#fff;
  background:
    radial-gradient(circle at right, rgba(209,154,42,.22), transparent 34%),
    linear-gradient(135deg, #414142, #121212);
  border:1px solid rgba(209,154,42,.32);
}

.ad-strip span{
  color:#d19a2a;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.ad-strip h3{
  margin:5px 0 0;
  max-width:780px;
  color:#fff;
  font-size:1.15rem;
  line-height:1.22;
  font-weight:900;
}

.ad-strip a{
  flex-shrink:0;
  background:#d19a2a;
  color:#111;
  padding:12px 15px;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.05em;
  text-decoration:none;
}

/* Responsive */
@media(max-width:1180px){
  .top-stories-grid{
    grid-template-columns:1.2fr 1fr;
  }

  .side-rail{
    grid-column:1 / -1;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:auto;
  }
}

@media(max-width:820px){
  .top-stories{
    padding-top:16px;
  }

  .top-stories-grid{
    grid-template-columns:1fr;
  }

  .lead-story{
    min-height:430px;
  }

  .story-stack{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .side-rail{
    grid-template-columns:1fr;
  }

  .ad-strip{
    align-items:flex-start;
    flex-direction:column;
  }

  .ad-strip a{
    width:100%;
    text-align:center;
    justify-content:center;
  }
}

@media(max-width:560px){
  .page-container{
    width:min(100% - 20px, 1440px);
  }

  .lead-story{
    min-height:420px;
  }

  .lead-content{
    padding:20px;
  }

  .lead-content h1{
    font-size:1.85rem;
  }

  .lead-content p{
    font-size:.88rem;
  }

  .story-stack{
    grid-template-columns:1fr;
  }

  .mini-story{
    min-height:auto;
  }

  .mini-story .story-media{
    height:180px;
  }
}

/* ================================
   TRENDING — ADFAX MAGAZINE STYLE
================================ */

.trending-strip{
  padding:22px 0 26px;
  background:#fafafa;
  scroll-margin-top:104px;
}

.trend-row{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}

/* Trend Cards */
.trend-card{
  min-height:205px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
}

.trend-card .story-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.trend-media{
  position:relative;
  height:96px;
  overflow:hidden;
  background:#f3f3f3;
}

.trend-media::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(209,154,42,.46),
      rgba(196,120,44,.18) 42%,
      transparent 78%
    );
  transition:opacity .22s ease;
}

.trend-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:none !important;
}

/* Hover = overlay + heading color only */
.trend-card:hover .trend-media::after{
  opacity:1;
}

.trend-card:hover h3{
  color:#d19a2a;
}

.trend-content{
  padding:11px 12px 14px;
}

.trend-content h3{
  margin:7px 0 0;
  color:#111;
  font-size:.88rem;
  line-height:1.16;
  font-weight:900;
  letter-spacing:-.01em;
  transition:color .22s ease;
}

/* Sponsored mini ad */
.trend-ad{
  min-height:205px;
  position:relative;
  overflow:hidden;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(65,65,66,.96), rgba(196,120,44,.56)),
    url("https://images.pexels.com/photos/3184465/pexels-photo-3184465.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
  border:1px solid rgba(209,154,42,.35);
}

.trend-ad::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.55), transparent 72%);
}

.trend-ad > *{
  position:relative;
  z-index:2;
}

.trend-ad span{
  color:#ecd5a7;
  font-size:.66rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.trend-ad h3{
  margin:8px 0 12px;
  color:#fff;
  font-size:1rem;
  line-height:1.08;
  font-weight:900;
}

.trend-ad a{
  width:max-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#d19a2a;
  color:#111;
  padding:8px 11px;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  text-decoration:none;
}

/* Shared section head refinement */
.compact-head{
  margin-bottom:16px;
}

.compact-head h2{
  color:#111;
  font-size:1.25rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.compact-head a{
  color:#d19a2a;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* Responsive */
@media(max-width:1180px){
  .trend-row{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .trend-ad{
    grid-column:auto;
  }
}

@media(max-width:760px){
  .trend-row{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .trend-media{
    height:120px;
  }
}

@media(max-width:520px){
  .trend-row{
    grid-template-columns:1fr;
  }

  .trend-card,
  .trend-ad{
    min-height:auto;
  }

  .trend-media{
    height:180px;
  }
}

/* ================================
   MAGAZINE BANNER — PREMIUM FEATURE
================================ */

.magazine-banner{
  padding:30px 0;
  background:#fff;
  scroll-margin-top:104px;
}

.magazine-banner-inner{
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 260px 240px;
  align-items:center;
  gap:28px;
  padding:34px;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg, rgba(12,12,12,.96), rgba(18,18,18,.82) 48%, rgba(65,65,66,.65)),
    radial-gradient(circle at 76% 40%, rgba(209,154,42,.28), transparent 34%),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=1800")
    center/cover no-repeat;
  border:1px solid rgba(209,154,42,.34);
}

.magazine-banner-inner::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(to right, rgba(209,154,42,.18), transparent 28%),
    linear-gradient(to top, rgba(0,0,0,.25), transparent 58%);
}

.magazine-banner-inner > *{
  position:relative;
  z-index:2;
}

.kicker{
  display:inline-flex;
  color:#d19a2a;
  text-transform:uppercase;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
}

.banner-copy h2{
  max-width:760px;
  margin:10px 0;
  color:#fff;
  font-size:clamp(2rem, 4vw, 3.65rem);
  line-height:.94;
  letter-spacing:-.045em;
  font-weight:900;
}

.banner-copy p{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.6;
}

.banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:1px solid #d19a2a;
  text-transform:uppercase;
  text-decoration:none;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
  transition:background .22s ease, color .22s ease, border-color .22s ease;
}

.btn.primary{
  background:#d19a2a;
  color:#111;
}

.btn.primary:hover{
  background:#ecd5a7;
  border-color:#ecd5a7;
}

.btn.ghost{
  color:#fff;
  background:rgba(255,255,255,.04);
}

.btn.ghost:hover{
  background:#fff;
  border-color:#fff;
  color:#111;
}

/* Sponsor placement */
.banner-sponsor{
  min-height:185px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:18px;
  border:1px solid rgba(236,213,167,.25);
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(6px);
}

.banner-sponsor span{
  color:#ecd5a7;
  font-size:.66rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.banner-sponsor h3{
  margin:9px 0 14px;
  color:#fff;
  font-size:1.08rem;
  line-height:1.1;
  font-weight:900;
}

.banner-sponsor a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:9px 12px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.05em;
}

.banner-cover{
  display:flex;
  justify-content:center;
  align-items:center;
}

.banner-cover img{
  width:min(210px, 100%);
  height:270px;
  object-fit:contain;
  display:block;
  background:transparent;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.42));
  transform:none !important;
}

/* Responsive */
@media(max-width:1120px){
  .magazine-banner-inner{
    grid-template-columns:minmax(0, 1fr) 220px;
  }

  .banner-sponsor{
    grid-column:1 / -1;
    min-height:auto;
  }
}

@media(max-width:760px){
  .magazine-banner-inner{
    grid-template-columns:1fr;
    padding:26px;
  }

  .banner-copy h2{
    font-size:2.2rem;
  }

  .banner-cover{
    justify-content:flex-start;
  }

  .banner-cover img{
    width:180px;
    height:235px;
  }
}

@media(max-width:480px){
  .magazine-banner{
    padding:22px 0;
  }

  .magazine-banner-inner{
    padding:22px;
  }

  .banner-copy h2{
    font-size:1.9rem;
  }

  .banner-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .btn{
    width:100%;
  }

  .banner-sponsor a{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* ================================
   INTERVIEWS — ADFAX EDITORIAL STYLE
================================ */

.interviews{
  padding:34px 0;
  background:#fff;
  scroll-margin-top:104px;
}

.interview-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .95fr) minmax(250px, .65fr);
  gap:16px;
  align-items:stretch;
}

/* Featured */
.interview-feature{
  min-height:420px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.interview-feature .story-link{
  display:grid;
  grid-template-columns:42% 1fr;
  min-height:420px;
}

.interview-media,
.interview-thumb{
  position:relative;
  overflow:hidden;
  background:#f3f3f3;
}

.interview-media::after,
.interview-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(209,154,42,.46),
      rgba(196,120,44,.18) 42%,
      transparent 78%
    );
  transition:opacity .22s ease;
}

.interview-media img,
.interview-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:none !important;
}

.interview-feature:hover .interview-media::after,
.interview-mini:hover .interview-thumb::after{
  opacity:1;
}

.interview-feature-content{
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.interview-feature-content h3{
  margin:10px 0 14px;
  color:#111;
  font-size:clamp(1.65rem, 2.2vw, 2.35rem);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
  transition:color .22s ease;
}

.interview-feature:hover h3,
.interview-mini:hover h3{
  color:#d19a2a;
}

.interview-feature-content p{
  margin:0 0 22px;
  color:#666;
  font-size:.95rem;
  line-height:1.58;
}

.interview-feature-content strong,
.interview-mini-content strong,
.vertical-ad a{
  width:max-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  text-transform:uppercase;
  text-decoration:none;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.05em;
}

/* Mini interviews */
.interview-cards{
  display:grid;
  gap:16px;
}

.interview-mini{
  min-height:129px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.interview-mini .story-link{
  display:grid;
  grid-template-columns:116px 1fr;
  height:100%;
}

.interview-thumb{
  min-height:129px;
}

.interview-mini-content{
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.interview-mini-content h3{
  margin:7px 0 12px;
  color:#111;
  font-size:1rem;
  line-height:1.14;
  font-weight:900;
  letter-spacing:-.01em;
  transition:color .22s ease;
}

/* Vertical ad */
.vertical-ad{
  min-height:420px;
  position:relative;
  overflow:hidden;
  padding:22px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184465/pexels-photo-3184465.jpeg?auto=compress&cs=tinysrgb&w=1200")
    center/cover no-repeat;
  border:1px solid rgba(209,154,42,.34);
}

.vertical-ad::after{
  content:"Sponsored";
  position:absolute;
  top:16px;
  right:16px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(209,154,42,.18);
  color:#ecd5a7;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.vertical-ad span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.vertical-ad h3{
  margin:10px 0 10px;
  color:#fff;
  font-size:clamp(1.65rem, 2vw, 2rem);
  line-height:1;
  font-weight:900;
}

.vertical-ad p{
  margin:0 0 18px;
  color:rgba(255,255,255,.78);
  font-size:.86rem;
  line-height:1.5;
}

/* Responsive */
@media(max-width:1180px){
  .interview-layout{
    grid-template-columns:1.25fr 1fr;
  }

  .vertical-ad{
    grid-column:1 / -1;
    min-height:240px;
  }
}

@media(max-width:850px){
  .interview-layout{
    grid-template-columns:1fr;
  }

  .interview-feature .story-link{
    grid-template-columns:1fr;
  }

  .interview-media{
    height:300px;
  }

  .interview-feature{
    min-height:auto;
  }

  .interview-feature .story-link{
    min-height:auto;
  }

  .vertical-ad{
    min-height:300px;
  }
}

@media(max-width:560px){
  .interviews{
    padding:28px 0;
  }

  .interview-feature-content{
    padding:20px;
  }

  .interview-media{
    height:240px;
  }

  .interview-mini .story-link{
    grid-template-columns:104px 1fr;
  }

  .interview-thumb{
    min-height:132px;
  }

  .interview-mini-content h3{
    font-size:.95rem;
  }
}

/* ================================
   EVENT HERO — ADFAX FORUM FEATURE
================================ */

.event-hero{
  min-height:410px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  color:#fff;
  scroll-margin-top:104px;
}

.event-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.72) 48%, rgba(0,0,0,.38)),
    radial-gradient(circle at right, rgba(209,154,42,.24), transparent 34%),
    url("https://images.pexels.com/photos/2608517/pexels-photo-2608517.jpeg?auto=compress&cs=tinysrgb&w=1800")
    center/cover no-repeat;
}

.event-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  align-items:center;
  gap:30px;
  padding:54px 0;
}

.event-copy{
  max-width:900px;
}

.event-copy h2{
  max-width:900px;
  margin:12px 0 14px;
  color:#fff;
  font-size:clamp(2.1rem, 4.8vw, 4.65rem);
  line-height:.92;
  letter-spacing:-.055em;
  font-weight:900;
}

.event-copy p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.62;
}

.event-actions{
  margin-top:26px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.event-btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:1px solid #d19a2a;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.06em;
  transition:background .22s ease, color .22s ease, border-color .22s ease;
}

.event-btn.primary{
  background:#d19a2a;
  color:#111;
}

.event-btn.primary:hover{
  background:#ecd5a7;
  border-color:#ecd5a7;
}

.event-btn.ghost{
  background:rgba(255,255,255,.04);
  color:#fff;
}

.event-btn.ghost:hover{
  background:#fff;
  border-color:#fff;
  color:#111;
}

/* Event info card */
.event-info-card{
  min-height:270px;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(236,213,167,.24);
  backdrop-filter:blur(6px);
}

.event-info-card > span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:16px;
}

.event-info-row{
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.12);
}

.event-info-row strong{
  display:block;
  color:#ecd5a7;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}

.event-info-row p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.88rem;
  line-height:1.35;
}

/* Responsive */
@media(max-width:960px){
  .event-inner{
    grid-template-columns:1fr;
  }

  .event-info-card{
    max-width:520px;
    min-height:auto;
  }
}

@media(max-width:560px){
  .event-hero{
    min-height:auto;
  }

  .event-inner{
    padding:44px 0;
  }

  .event-copy h2{
    font-size:2.25rem;
  }

  .event-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .event-btn{
    width:100%;
  }
}

/* ================================
   TOP 10 — EDITORIAL RANKING
================================ */

.top-ten{
  padding:34px 0;
  background:#fff;
  scroll-margin-top:104px;
}

.top-ten-grid{
  display:grid;
  grid-template-columns:320px minmax(0, 1fr) 260px;
  gap:16px;
  align-items:stretch;
}

/* Main ranking card */
.ranking-card{
  min-height:315px;
  padding:26px;
  display:flex;
  background:
    radial-gradient(circle at top right, rgba(209,154,42,.14), transparent 42%),
    linear-gradient(135deg, #f8f6f1, #ffffff);
  border:1px solid rgba(0,0,0,.08);
}

.ranking-card .story-link{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.ranking-card h3{
  margin:10px 0 12px;
  color:#111;
  font-size:clamp(1.65rem, 2vw, 2.05rem);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:900;
  transition:color .22s ease;
}

.ranking-card:hover h3{
  color:#d19a2a;
}

.ranking-card p{
  margin:0 0 20px;
  color:#666;
  font-size:.92rem;
  line-height:1.55;
}

.ranking-card strong{
  width:max-content;
  display:inline-flex;
  background:#d19a2a;
  color:#111;
  padding:10px 13px;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Rank list */
.rank-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

.rank-item{
  min-height:150px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
}

.rank-item a{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  color:inherit;
  text-decoration:none;
}

.rank-item strong{
  color:#d19a2a;
  font-size:2rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}

.rank-item h3{
  margin:24px 0 0;
  color:#111;
  font-size:1.05rem;
  line-height:1.13;
  font-weight:900;
  letter-spacing:-.01em;
  transition:color .22s ease;
}

.rank-item:hover h3{
  color:#d19a2a;
}

/* Sponsor card */
.top-ten-sponsor{
  min-height:315px;
  position:relative;
  overflow:hidden;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3183197/pexels-photo-3183197.jpeg?auto=compress&cs=tinysrgb&w=1000")
    center/cover no-repeat;
  border:1px solid rgba(209,154,42,.34);
}

.top-ten-sponsor::after{
  content:"Ad Placement";
  position:absolute;
  top:16px;
  right:16px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(209,154,42,.18);
  color:#ecd5a7;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.top-ten-sponsor span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.top-ten-sponsor h3{
  margin:10px 0 16px;
  color:#fff;
  font-size:1.45rem;
  line-height:1.04;
  font-weight:900;
}

.top-ten-sponsor a{
  width:max-content;
  display:inline-flex;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.05em;
}

/* No card movement */
.ranking-card,
.rank-item,
.top-ten-sponsor{
  transform:none !important;
  transition:border-color .22s ease, background .22s ease;
}

.ranking-card:hover,
.rank-item:hover{
  border-color:rgba(209,154,42,.38);
}

/* Responsive */
@media(max-width:1180px){
  .top-ten-grid{
    grid-template-columns:320px 1fr;
  }

  .top-ten-sponsor{
    grid-column:1 / -1;
    min-height:220px;
  }
}

@media(max-width:820px){
  .top-ten-grid{
    grid-template-columns:1fr;
  }

  .rank-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ranking-card,
  .top-ten-sponsor{
    min-height:260px;
  }
}

@media(max-width:520px){
  .top-ten{
    padding:28px 0;
  }

  .rank-list{
    grid-template-columns:1fr;
  }

  .rank-item{
    min-height:128px;
  }

  .top-ten-sponsor a,
  .ranking-card strong{
    width:100%;
    justify-content:center;
  }
}

/* ================================
   SECTORS — ADFAX SECTOR INTELLIGENCE
================================ */

.sectorss{
  padding:34px 0;
  background:#f7f7f7;
  scroll-margin-top:104px;
}

.sector-block{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(0, 1.25fr) 260px;
  gap:16px;
  align-items:stretch;
}

/* Featured sector */
.sector-main{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  min-height:390px;
}

.sector-main .story-link{
  display:flex;
  flex-direction:column;
  height:100%;
}

.sector-main-media,
.sector-mini-media{
  position:relative;
  overflow:hidden;
  background:#f2f2f2;
}

.sector-main-media{
  height:230px;
}

.sector-main-media::after,
.sector-mini-media::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(209,154,42,.46),
      rgba(196,120,44,.18) 42%,
      transparent 78%
    );
  transition:opacity .22s ease;
}

.sector-main-media img,
.sector-mini-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:none !important;
}

.sector-main:hover .sector-main-media::after,
.sector-mini:hover .sector-mini-media::after{
  opacity:1;
}

.sector-main-content{
  padding:20px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.sector-main-content h3{
  margin:9px 0 12px;
  color:#111;
  font-size:clamp(1.6rem, 2.2vw, 2.05rem);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:900;
  transition:color .22s ease;
}

.sector-main:hover h3,
.sector-mini:hover h3{
  color:#d19a2a;
}

.sector-main-content p{
  margin:0 0 18px;
  color:#666;
  font-size:.92rem;
  line-height:1.55;
}

.sector-main-content strong{
  width:max-content;
  margin-top:auto;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Sector mini grid */
.sector-news{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.sector-mini{
  min-height:187px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.sector-mini .story-link{
  display:grid;
  grid-template-columns:122px 1fr;
  height:100%;
}

.sector-mini-media{
  min-height:187px;
}

.sector-mini-content{
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.sector-mini-content h3{
  margin:8px 0 0;
  color:#111;
  font-size:1rem;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.01em;
  transition:color .22s ease;
}

/* Sponsor */
.sector-sponsor{
  min-height:390px;
  position:relative;
  overflow:hidden;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184300/pexels-photo-3184300.jpeg?auto=compress&cs=tinysrgb&w=1000")
    center/cover no-repeat;
  border:1px solid rgba(209,154,42,.34);
}

.sector-sponsor::after{
  content:"Sponsored";
  position:absolute;
  top:16px;
  right:16px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(209,154,42,.18);
  color:#ecd5a7;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.sector-sponsor span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.sector-sponsor h3{
  margin:10px 0 10px;
  color:#fff;
  font-size:1.55rem;
  line-height:1.02;
  font-weight:900;
}

.sector-sponsor p{
  margin:0 0 17px;
  color:rgba(255,255,255,.78);
  font-size:.86rem;
  line-height:1.5;
}

.sector-sponsor a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.05em;
}

/* No motion */
.sector-main,
.sector-mini,
.sector-sponsor{
  transform:none !important;
  transition:border-color .22s ease, background .22s ease;
}

.sector-main:hover,
.sector-mini:hover{
  border-color:rgba(209,154,42,.38);
}

/* Responsive */
@media(max-width:1180px){
  .sector-block{
    grid-template-columns:1fr 1fr;
  }

  .sector-sponsor{
    grid-column:1 / -1;
    min-height:230px;
  }
}

@media(max-width:860px){
  .sector-block{
    grid-template-columns:1fr;
  }

  .sector-main{
    min-height:auto;
  }

  .sector-main-media{
    height:280px;
  }

  .sector-sponsor{
    min-height:280px;
  }
}

@media(max-width:560px){
  .sectorss{
    padding:28px 0;
  }

  .sector-news{
    grid-template-columns:1fr;
  }

  .sector-mini .story-link{
    grid-template-columns:108px 1fr;
  }

  .sector-mini-media{
    min-height:150px;
  }

  .sector-main-media{
    height:230px;
  }

  .sector-sponsor a,
  .sector-main-content strong{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* ================================
   VIDEOS — ADFAX DARK MEDIA SECTION
================================ */

.videos{
  padding:38px 0;
  background:#191919;
  color:#fff;
  scroll-margin-top:104px;
}

.dark-head h2{
  color:#fff;
}

.dark-head a{
  color:#d19a2a;
}

.video-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr) 260px;
  gap:16px;
  align-items:stretch;
}

/* Shared video card */
.video-card{
  position:relative;
  overflow:hidden;
  background:#262626;
  border:1px solid rgba(255,255,255,.08);
  transform:none !important;
}

.video-card .story-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.video-media,
.video-thumb{
  position:relative;
  overflow:hidden;
  background:#111;
}

.video-media::after,
.video-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(209,154,42,.46),
      rgba(196,120,44,.18) 42%,
      transparent 78%
    );
  transition:opacity .22s ease;
}

.video-media img,
.video-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:none !important;
}

.video-card:hover .video-media::after,
.video-card:hover .video-thumb::after{
  opacity:1;
}

.video-card:hover h3{
  color:#d19a2a;
}

/* Featured video */
.video-feature{
  min-height:430px;
}

.video-feature .story-link{
  position:relative;
}

.video-media{
  position:absolute;
  inset:0;
  height:100%;
}

.video-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.92),
    rgba(0,0,0,.42) 52%,
    rgba(0,0,0,.18)
  );
}

.video-media::after{
  z-index:2;
}

.play-button{
  position:absolute;
  z-index:4;
  top:50%;
  left:50%;
  width:58px;
  height:58px;
  transform:translate(-50%, -50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#111;
  font-size:1rem;
  line-height:1;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}

.video-feature-content{
  position:absolute;
  z-index:4;
  left:24px;
  right:24px;
  bottom:22px;
}

.video-feature-content h3{
  max-width:720px;
  margin:10px 0 10px;
  color:#fff;
  font-size:clamp(1.8rem, 2.7vw, 2.75rem);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:900;
  transition:color .22s ease;
}

.video-feature-content p{
  max-width:620px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.92rem;
  line-height:1.5;
}

/* Video mini grid */
.video-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.video-mini{
  min-height:207px;
}

.video-thumb{
  height:132px;
}

.mini-play{
  position:absolute;
  z-index:3;
  top:50%;
  left:50%;
  width:40px;
  height:40px;
  transform:translate(-50%, -50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:#111;
  font-size:.78rem;
}

.video-mini-content{
  padding:12px 13px 14px;
}

.video-mini-content h3{
  margin:7px 0 0;
  color:#fff;
  font-size:1rem;
  line-height:1.12;
  font-weight:900;
  transition:color .22s ease;
}

/* Sponsor */
.video-sponsor{
  min-height:430px;
  position:relative;
  overflow:hidden;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184465/pexels-photo-3184465.jpeg?auto=compress&cs=tinysrgb&w=1000")
    center/cover no-repeat;
  border:1px solid rgba(209,154,42,.34);
}

.video-sponsor::after{
  content:"Ad Placement";
  position:absolute;
  top:16px;
  right:16px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(209,154,42,.18);
  color:#ecd5a7;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.video-sponsor span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.video-sponsor h3{
  margin:10px 0 16px;
  color:#fff;
  font-size:1.55rem;
  line-height:1.02;
  font-weight:900;
}

.video-sponsor a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.05em;
}

/* Responsive */
@media(max-width:1180px){
  .video-grid{
    grid-template-columns:1.25fr 1fr;
  }

  .video-sponsor{
    grid-column:1 / -1;
    min-height:220px;
  }
}

@media(max-width:860px){
  .video-grid{
    grid-template-columns:1fr;
  }

  .video-feature{
    min-height:390px;
  }

  .video-sponsor{
    min-height:260px;
  }
}

@media(max-width:560px){
  .videos{
    padding:30px 0;
  }

  .video-list{
    grid-template-columns:1fr;
  }

  .video-feature{
    min-height:360px;
  }

  .video-feature-content{
    left:18px;
    right:18px;
    bottom:18px;
  }

  .video-feature-content h3{
    font-size:1.75rem;
  }

  .video-thumb{
    height:180px;
  }

  .video-sponsor a{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* EVENTS */
/* ==================================
   EVENTS HOME
================================== */

.home-events{
  padding:40px 0;
  background:#f8f8f8;
}

.events-layout{
  display:grid;
  grid-template-columns:1.25fr 1fr 260px;
  gap:16px;
}

/* FEATURED */

.event-feature{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.event-feature-media{
  position:relative;
  height:280px;
  overflow:hidden;
}

.event-feature-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.event-feature-media::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  transition:.22s ease;
  background:
  linear-gradient(
  to top,
  rgba(209,154,42,.45),
  transparent 70%);
}

.event-feature:hover .event-feature-media::after{
  opacity:1;
}

.event-feature-content{
  padding:22px;
}

.event-feature h3{
  margin:10px 0;
  font-size:2rem;
  line-height:1;
  color:#111;
  transition:.22s ease;
}

.event-feature:hover h3{
  color:#d19a2a;
}

.event-feature p{
  color:#666;
  line-height:1.6;
}

.event-meta{
  display:flex;
  gap:18px;
  margin-top:16px;
  font-size:.8rem;
  font-weight:800;
  color:#555;
}

/* EVENT LIST */

.event-list{
  display:grid;
  gap:16px;
}

.event-mini{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.event-mini a{
  display:grid;
  grid-template-columns:120px 1fr;
  text-decoration:none;
  color:inherit;
}

.event-mini img{
  width:120px;
  height:120px;
  object-fit:cover;
}

.event-mini div{
  padding:14px;
}

.event-mini h3{
  margin:8px 0;
  color:#111;
  font-size:1rem;
  line-height:1.15;
  transition:.22s ease;
}

.event-mini:hover h3{
  color:#d19a2a;
}

.event-mini small{
  color:#777;
}

/* SPONSOR */

.event-sponsor{
  min-height:100%;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;

  background:
  linear-gradient(
  rgba(0,0,0,.15),
  rgba(0,0,0,.92)),
  url("https://images.pexels.com/photos/3184465/pexels-photo-3184465.jpeg?auto=compress&cs=tinysrgb&w=1200")
  center/cover no-repeat;
}

.event-sponsor span{
  color:#d19a2a;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.event-sponsor h3{
  margin:10px 0;
  font-size:1.7rem;
  line-height:1.05;
}

.event-sponsor p{
  color:rgba(255,255,255,.8);
}

.event-sponsor a{
  width:max-content;
  margin-top:15px;
  padding:10px 14px;
  background:#d19a2a;
  color:#111;
  text-decoration:none;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* Responsive */

@media(max-width:1180px){

  .events-layout{
    grid-template-columns:1fr 1fr;
  }

  .event-sponsor{
    grid-column:1/-1;
    min-height:220px;
  }
}

@media(max-width:860px){

  .events-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){

  .event-mini a{
    grid-template-columns:100px 1fr;
  }

  .event-mini img{
    width:100px;
    height:100px;
  }

  .event-feature h3{
    font-size:1.55rem;
  }
}

/* REPORTS */
/* ================================
   REPORTS & INTELLIGENCE HOME
================================ */

.reports-home{
  padding:38px 0;
  background:#f0eee9;
  scroll-margin-top:104px;
}

.reports-grid-home{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr) 270px;
  gap:16px;
  align-items:stretch;
}

/* Featured report */
.report-feature-home{
  min-height:390px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.report-feature-home .story-link{
  display:flex;
  flex-direction:column;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.report-feature-media{
  height:220px;
  position:relative;
  overflow:hidden;
  background:#f3f3f3;
}

.report-feature-media::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      to top,
      rgba(209,154,42,.48),
      rgba(196,120,44,.18) 42%,
      transparent 78%
    );
  transition:opacity .22s ease;
}

.report-feature-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:none !important;
}

.report-feature-home:hover .report-feature-media::after{
  opacity:1;
}

.report-feature-content{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.report-feature-content h3{
  margin:10px 0 12px;
  color:#111;
  font-size:clamp(1.7rem, 2.4vw, 2.2rem);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:900;
  transition:color .22s ease;
}

.report-feature-home:hover h3,
.report-item:hover h3{
  color:#d19a2a;
}

.report-feature-content p{
  margin:0 0 20px;
  color:#666;
  font-size:.92rem;
  line-height:1.55;
}

.report-feature-content strong{
  width:max-content;
  margin-top:auto;
  background:#d19a2a;
  color:#111;
  padding:10px 13px;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Report list */
.report-list-home{
  display:grid;
  gap:12px;
}

.report-item{
  min-height:70px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}

.report-item a{
  height:100%;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:12px;
  padding:14px;
  color:inherit;
  text-decoration:none;
}

.report-item span{
  color:#d19a2a;
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:-.04em;
}

.report-item h3{
  margin:0;
  color:#111;
  font-size:1rem;
  line-height:1.12;
  font-weight:900;
  transition:color .22s ease;
}

.report-item small{
  padding:7px 9px;
  background:#111;
  color:#fff;
  text-transform:uppercase;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
}

/* Access card */
.reports-access-card{
  min-height:390px;
  position:relative;
  overflow:hidden;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184292/pexels-photo-3184292.jpeg?auto=compress&cs=tinysrgb&w=1000")
    center/cover no-repeat;
  border:1px solid rgba(209,154,42,.34);
}

.reports-access-card::after{
  content:"Premium";
  position:absolute;
  top:16px;
  right:16px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(209,154,42,.18);
  color:#ecd5a7;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.reports-access-card span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.reports-access-card h3{
  margin:10px 0 10px;
  color:#fff;
  font-size:1.55rem;
  line-height:1.02;
  font-weight:900;
}

.reports-access-card p{
  margin:0 0 17px;
  color:rgba(255,255,255,.78);
  font-size:.86rem;
  line-height:1.5;
}

.reports-access-card a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:10px 13px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.05em;
}

/* No motion */
.report-feature-home,
.report-item,
.reports-access-card{
  transform:none !important;
  transition:border-color .22s ease, background .22s ease;
}

.report-feature-home:hover,
.report-item:hover{
  border-color:rgba(209,154,42,.38);
}

/* Responsive */
@media(max-width:1180px){
  .reports-grid-home{
    grid-template-columns:1fr 1fr;
  }

  .reports-access-card{
    grid-column:1 / -1;
    min-height:240px;
  }
}

@media(max-width:820px){
  .reports-grid-home{
    grid-template-columns:1fr;
  }

  .reports-access-card{
    min-height:290px;
  }
}

@media(max-width:560px){
  .reports-home{
    padding:30px 0;
  }

  .report-feature-media{
    height:220px;
  }

  .report-item a{
    grid-template-columns:38px 1fr;
  }

  .report-item small{
    grid-column:2;
    width:max-content;
  }

  .reports-access-card a,
  .report-feature-content strong{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* PARTNERS */
/* ================================
   PARTNERS
================================ */

.partners-section{
  padding:70px 0;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.05);
  border-bottom:1px solid rgba(0,0,0,.05);
}

.center-head{
  text-align:center;
  margin-bottom:42px;
}

.center-head h2{
  margin-bottom:12px;
}

.center-head p{
  max-width:700px;
  margin:0 auto;
  color:#666;
  font-size:.95rem;
  line-height:1.7;
}

.partner-logos{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
}

.partner-logo{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  text-decoration:none;
  overflow:hidden;
}

.partner-logo img{
  width:auto;
  max-width:75%;
  max-height:58px;
  object-fit:contain;

  filter:grayscale(100%);
  opacity:.65;

  transition:
    filter .25s ease,
    opacity .25s ease;
}

.partner-logo:hover img{
  filter:none;
  opacity:1;
}

/* Premium divider effect */

.partner-logo::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:2px;
  background:linear-gradient(
    90deg,
    transparent,
    #d19a2a,
    transparent
  );

  opacity:0;
  transition:opacity .25s ease;
}

.partner-logo{
  position:relative;
}

.partner-logo:hover::before{
  opacity:1;
}

/* Responsive */

@media(max-width:900px){

  .partner-logos{
    grid-template-columns:repeat(3,1fr);
  }

}

@media(max-width:700px){

  .partner-logos{
    grid-template-columns:repeat(2,1fr);
  }

  .partner-logo{
    min-height:95px;
  }

}

@media(max-width:480px){

  .partners-section{
    padding:50px 0;
  }

  .partner-logos{
    gap:12px;
  }

  .partner-logo img{
    max-width:70%;
    max-height:45px;
  }

}

/* NEWSLETTER */
/* ================================
   NEWSLETTER — PREMIUM CTA
================================ */

.newsletter-section{
  padding:38px 0;
  background:#fff;
  scroll-margin-top:104px;
}

.newsletter-box{
  position:relative;
  overflow:hidden;
  min-height:270px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(360px, .7fr) 280px;
  gap:24px;
  align-items:center;
  padding:34px;
  color:#fff;
  background:
    linear-gradient(90deg, rgba(12,12,12,.96), rgba(18,18,18,.84) 50%, rgba(65,65,66,.66)),
    radial-gradient(circle at right, rgba(209,154,42,.25), transparent 36%),
    url("https://images.pexels.com/photos/3184465/pexels-photo-3184465.jpeg?auto=compress&cs=tinysrgb&w=1800")
    center/cover no-repeat;
  border:1px solid rgba(209,154,42,.34);
}

.newsletter-box::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.22), transparent 60%);
}

.newsletter-box > *{
  position:relative;
  z-index:2;
}

.newsletter-copy h2{
  max-width:760px;
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(1.8rem, 3.8vw, 3.2rem);
  line-height:.96;
  letter-spacing:-.045em;
  font-weight:900;
}

.newsletter-copy p{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.96rem;
  line-height:1.6;
}

/* Form */
.newsletter-form{
  display:flex;
  align-items:stretch;
  min-height:52px;
  background:#fff;
  border:1px solid rgba(255,255,255,.28);
}

.newsletter-form input{
  flex:1;
  min-width:0;
  border:0;
  padding:0 16px;
  color:#111;
  font:inherit;
  outline:none;
}

.newsletter-form input::placeholder{
  color:#777;
}

.newsletter-form button{
  border:0;
  background:#d19a2a;
  color:#111;
  padding:0 20px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  cursor:pointer;
}

/* Institution access mini card */
.newsletter-access{
  min-height:170px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid rgba(236,213,167,.24);
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(6px);
}

.newsletter-access span{
  color:#ecd5a7;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.newsletter-access p{
  margin:9px 0 14px;
  color:rgba(255,255,255,.78);
  font-size:.86rem;
  line-height:1.45;
}

.newsletter-access a{
  width:max-content;
  display:inline-flex;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.05em;
}

/* Responsive */
@media(max-width:1180px){
  .newsletter-box{
    grid-template-columns:1fr 1fr;
  }

  .newsletter-access{
    grid-column:1 / -1;
    min-height:auto;
  }
}

@media(max-width:760px){
  .newsletter-box{
    grid-template-columns:1fr;
    padding:26px;
  }

  .newsletter-form{
    flex-direction:column;
  }

  .newsletter-form input{
    min-height:52px;
  }

  .newsletter-form button{
    min-height:48px;
  }
}

@media(max-width:480px){
  .newsletter-section{
    padding:28px 0;
  }

  .newsletter-box{
    padding:22px;
  }

  .newsletter-copy h2{
    font-size:1.85rem;
  }

  .newsletter-access a{
    width:100%;
    justify-content:center;
  }
}


/* ================================
   ADFAX EDITORIAL PAGE ONLY
================================ */

.editorial-page{
  background:#fff;
  color:#071923;
}

/* HERO */
.editorial-hero{
  padding:70px 0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.35)),
    url("assets/images/editorial/editorial-bg.jpg") center/cover no-repeat;
  color:#fff;
}

.editorial-hero-grid{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:48px;
  align-items:center;
}

.editorial-kicker{
  color:#d19a2a;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
}

.editorial-copy h1{
  max-width:720px;
  margin:12px 0 18px;
  font-size:clamp(2.3rem,4.5vw,4.6rem);
  line-height:.95;
  letter-spacing:-.04em;
}

.editorial-copy p{
  max-width:620px;
  color:rgba(255,255,255,.82);
  line-height:1.7;
}

.editorial-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.editorial-btn{
  min-height:44px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d19a2a;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.editorial-btn.primary{
  background:#d19a2a;
  color:#111;
}

.editorial-btn.outline{
  color:#d19a2a;
  background:#fff;
}

.editorial-btn.dark{
  background:#061b24;
  color:#fff;
  border-color:#061b24;
}

.editorial-visual img{
  width:100%;
  height:390px;
  object-fit:cover;
  box-shadow:0 25px 70px rgba(0,0,0,.35);
}

/* OVERVIEW */
.editorial-overview{
  padding:80px 0;
}

.overview-grid{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:70px;
  align-items:center;
}

.overview-text h2,
.media-copy h2,
.contact-title h2{
  margin:0 0 20px;
  font-size:clamp(1.8rem,3vw,2.4rem);
  line-height:1.05;
}

.overview-text p{
  color:#26363d;
  line-height:1.7;
}

.overview-text h4{
  color:#8d4cff;
  margin-top:28px;
}

.overview-text ul{
  list-style:none;
  padding:0;
  margin:20px 0 0;
  display:grid;
  gap:22px;
}

.overview-text li{
  position:relative;
  padding-left:20px;
}

.overview-text li::before{
  content:"";
  position:absolute;
  left:0;
  top:.5rem;
  width:6px;
  height:6px;
  background:#061b24;
  border-radius:50%;
}

.overview-text strong{
  display:block;
  margin-bottom:5px;
}

.overview-text span{
  color:#26363d;
  line-height:1.6;
}

/* REACH CARD */
.reach-card{
  background:#f1f1f1;
  padding:45px;
}

.reach-card h3{
  margin:0 0 30px;
  font-size:1.45rem;
}

.reach-card h3 span{
  color:#8d4cff;
}

.reach-chart{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:30px;
  align-items:center;
  padding-bottom:35px;
  border-bottom:1px solid #d4d4d4;
}

.pie{
  width:210px;
  height:210px;
  border-radius:50%;
  background:conic-gradient(
    #34162d 0 42%,
    #8d4cff 42% 70%,
    #21c4cf 70% 88%,
    #073b5a 88% 100%
  );
}

.reach-chart ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
  font-size:.9rem;
}

.reach-chart li{
  display:flex;
  align-items:center;
  gap:10px;
}

.reach-chart i{
  width:14px;
  height:14px;
  background:#d19a2a;
  display:inline-block;
}

.reach-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
  margin-top:30px;
}

.reach-stats strong{
  display:block;
  color:#8d4cff;
  font-size:2.2rem;
  line-height:1;
}

.reach-stats span{
  display:block;
  margin-top:8px;
  font-size:.86rem;
  line-height:1.3;
}

/* MEDIA */
.editorial-media{
  background:#f3f3f3;
}

.media-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
}

.media-image img{
  width:100%;
  height:610px;
  object-fit:cover;
}

.media-copy{
  padding:60px 90px;
}

.media-copy h2 span{
  color:#8d4cff;
}

.media-copy p{
  max-width:620px;
  color:#071923;
  line-height:1.75;
}

/* CONTACT */
.editorial-contact{
  padding:75px 0 90px;
  background:#fff;
}

.contact-title{
  text-align:center;
  margin-bottom:40px;
}

.contact-title h2 span{
  color:#8d4cff;
}

.contact-title p{
  color:#666;
}

.editorial-form{
  max-width:920px;
  margin:auto;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 44px;
}

.editorial-form label{
  display:grid;
  gap:8px;
  font-size:.82rem;
  color:#333;
}

.editorial-form sup{
  color:#d94b4b;
}

.editorial-form input,
.editorial-form textarea{
  width:100%;
  border:1px solid #ccc;
  min-height:40px;
  padding:10px 12px;
  font:inherit;
  outline:none;
  background:#fff;
}

.editorial-form input:focus,
.editorial-form textarea:focus{
  border-color:#8d4cff;
  box-shadow:0 0 0 3px rgba(141,76,255,.12);
}

.full-field{
  margin-top:24px;
}

.editorial-form button{
  margin-top:28px;
  background:#333;
  color:#fff;
  border:0;
  padding:13px 24px;
  font-weight:800;
  cursor:pointer;
}

.editorial-form button:hover{
  background:#d19a2a;
  color:#111;
}

/* RESPONSIVE */
@media(max-width:1000px){
  .editorial-hero-grid,
  .overview-grid,
  .media-grid{
    grid-template-columns:1fr;
  }

  .media-copy{
    padding:50px 6%;
  }

  .media-image img{
    height:430px;
  }

  .reach-chart{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .editorial-hero{
    padding:55px 0;
  }

  .editorial-visual img{
    height:290px;
  }

  .reach-card{
    padding:28px;
  }

  .reach-stats,
  .form-grid{
    grid-template-columns:1fr;
  }

  .pie{
    width:180px;
    height:180px;
  }

  .media-image img{
    height:320px;
  }
}

/* ================================
   ADFAX NEWS PAGE ONLY
================================ */

.news-page{
  background:#fff;
  color:#071923;
}

.news-hero{
  padding:32px 0 28px;
}

.news-hero-grid{
  display:grid;
  grid-template-columns:.9fr 1.7fr .8fr;
  gap:24px;
  align-items:start;
}

.news-left-list{
  display:grid;
  gap:18px;
}

.news-left-list > article:not(.featured-dark){
  padding-bottom:18px;
  border-bottom:1px solid #d9d9d9;
}

.news-left-list h3{
  margin:0;
  font-size:1.05rem;
  line-height:1.15;
  font-weight:900;
}

.featured-dark{
  position:relative;
  min-height:440px;
  overflow:hidden;
  background:#111;
  color:#fff;
  box-shadow:0 18px 35px rgba(0,0,0,.22);
}

.featured-dark img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.featured-dark::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.94));
}

.featured-dark div{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:20px;
}

.featured-dark span,
.more-card span{
  display:inline-flex;
  background:#111;
  color:#fff;
  padding:5px 8px;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
}

.featured-dark h2{
  font-size:1.55rem;
  line-height:1.05;
  margin:10px 0;
}

.featured-dark p{
  color:#ddd;
  line-height:1.45;
}

.news-main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.news-main-card img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.news-main-card span{
  display:block;
  margin:16px 0 8px;
  color:#d19a2a;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.news-main-card h1{
  margin:0 0 10px;
  font-size:1.75rem;
  line-height:1.05;
  font-weight:900;
}

.news-main-card p{
  margin:0 0 18px;
  color:#505050;
  line-height:1.5;
}

.small-news{
  display:grid;
  grid-template-columns:115px 1fr;
  gap:12px;
  border-top:1px solid #d9d9d9;
  padding-top:14px;
}

.small-news img{
  width:115px;
  height:78px;
  object-fit:cover;
}

.small-news h3{
  margin:0;
  font-size:.95rem;
  line-height:1.15;
  font-weight:900;
}

.popular-box{
  background:#f2f2f2;
  padding:18px;
}

.popular-box > h3{
  margin:0 0 18px;
  font-size:1rem;
  font-weight:900;
}

.popular-box article{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:10px;
  border-top:1px solid #d6d6d6;
  padding:14px 0;
}

.popular-box article span{
  color:#8d4cff;
  font-size:.82rem;
  font-weight:900;
}

.popular-box p{
  margin:0;
  font-size:.85rem;
  line-height:1.25;
  font-weight:800;
}

.side-ad{
  margin-top:18px;
  min-height:240px;
  padding:20px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184419/pexels-photo-3184419.jpeg?auto=compress&cs=tinysrgb&w=600") center/cover no-repeat;
}

.side-ad span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}

.side-ad h4{
  margin:8px 0 16px;
  font-size:1.15rem;
  line-height:1.1;
}

.side-ad a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:9px 13px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* WIDE AD */
.news-ad-wide{
  padding:30px 0;
  background:#f3f3f3;
}

.wide-ad{
  min-height:210px;
  padding:35px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.95),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.wide-ad span{
  color:#d19a2a;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
}

.wide-ad h2{
  max-width:650px;
  margin:10px 0 20px;
  font-size:2rem;
  line-height:1.05;
}

.wide-ad a{
  width:max-content;
  background:#e6007e;
  color:#fff;
  padding:12px 18px;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* EVENT BANNER */
.news-event-banner{
  min-height:380px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  text-align:center;
}

.event-banner-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.55)),
    url("https://images.pexels.com/photos/2608517/pexels-photo-2608517.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.event-banner-content{
  position:relative;
}

.event-banner-content h2{
  max-width:850px;
  margin:0 auto 12px;
  font-size:clamp(2.5rem,6vw,5rem);
  line-height:.9;
  font-weight:900;
}

.event-banner-content p{
  color:#eee;
}

.event-banner-content a{
  display:inline-flex;
  margin:10px 5px 0;
  padding:12px 18px;
  background:#00a88f;
  color:#fff;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* MORE NEWS */
.more-news{
  padding:42px 0 70px;
}

.more-news .section-head{
  border-bottom:1px solid #999;
  padding-bottom:18px;
  margin-bottom:28px;
}

.more-news .section-head h2{
  margin:0;
  font-size:1.35rem;
  font-weight:900;
}

.more-news-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px 22px;
}

.more-card img{
  width:100%;
  height:165px;
  object-fit:cover;
}

.more-card span{
  margin-top:8px;
}

.more-card h3{
  margin:9px 0 8px;
  font-size:1.05rem;
  line-height:1.12;
  font-weight:900;
}

.more-card p{
  color:#555;
  font-size:.86rem;
  line-height:1.45;
}

.more-card a{
  display:inline-flex;
  margin-top:12px;
  border:1px solid #ddd;
  padding:12px 18px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.more-card a:hover{
  background:#d19a2a;
  color:#111;
  border-color:#d19a2a;
}

.show-more-wrap{
  text-align:center;
  margin-top:45px;
}

.show-more-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:250px;
  height:48px;
  background:#8d4cff;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .news-hero-grid{
    grid-template-columns:1fr;
  }

  .news-left-list{
    grid-template-columns:repeat(2,1fr);
  }

  .featured-dark{
    grid-column:1/-1;
  }

  .more-news-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:820px){
  .news-main-grid,
  .news-left-list{
    grid-template-columns:1fr;
  }

  .more-news-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .news-main-card img{
    height:210px;
  }

  .featured-dark{
    min-height:360px;
  }
}

@media(max-width:520px){
  .small-news{
    grid-template-columns:95px 1fr;
  }

  .small-news img{
    width:95px;
    height:70px;
  }

  .more-news-grid{
    grid-template-columns:1fr;
  }

  .wide-ad{
    padding:25px;
  }

  .wide-ad h2{
    font-size:1.45rem;
  }
}

/* ================================
   ADFAX INTERVIEWS PAGE ONLY
================================ */

.interviews-page{
  background:#fff;
  color:#071923;
}

.interview-head{
  border-bottom:1px solid #999;
  padding-bottom:14px;
  margin-bottom:26px;
}

.interview-head h2{
  margin:0;
  font-size:1.3rem;
  font-weight:900;
}

.interview-head a{
  border:1px solid #ddd;
  padding:9px 14px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* FEATURED */
.interviews-featured{
  padding:32px 0 40px;
}

.featured-interview-grid{
  display:grid;
  grid-template-columns:.95fr 2fr .9fr;
  gap:22px;
}

.featured-person,
.wide-interview-card,
.side-ad-large,
.side-ad-small,
.lead-interview,
.quote-card,
.interview-mini-grid article{
  background:#1f1f1f;
}

.featured-person{
  min-height:600px;
  position:relative;
  overflow:hidden;
  color:#fff;
  box-shadow:0 16px 35px rgba(0,0,0,.22);
}

.featured-person img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.featured-person::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.94));
}

.dark-overlay{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:22px;
}

.featured-person span,
.wide-interview-card span,
.video-feature-copy span{
  display:inline-flex;
  background:#fff;
  color:#111;
  padding:5px 8px;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
}

.featured-person h3{
  margin:12px 0 4px;
  font-size:1.7rem;
  line-height:1;
}

.featured-person h4{
  margin:0 0 12px;
  color:#d19a2a;
}

.featured-person p{
  color:#ddd;
  line-height:1.45;
}

.featured-person a,
.wide-interview-card a,
.lead-interview a,
.interview-mini-grid a{
  display:inline-flex;
  margin-top:18px;
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  padding:10px 16px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.featured-stack{
  display:grid;
  gap:22px;
}

.wide-interview-card{
  min-height:289px;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:20px;
  color:#fff;
  padding:18px;
}

.wide-interview-card img{
  width:260px;
  height:100%;
  object-fit:cover;
}

.wide-interview-card h3{
  margin:12px 0 4px;
  font-size:2rem;
  line-height:1;
}

.wide-interview-card h4{
  margin:0 0 12px;
  color:#aaa;
  font-size:1.35rem;
}

.wide-interview-card p{
  color:#ddd;
  line-height:1.45;
}

/* SIDE ADS */
.interview-side-ads{
  display:grid;
  gap:18px;
}

.side-ad-large,
.side-ad-small{
  color:#fff;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.side-ad-large{
  min-height:360px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.side-ad-small{
  min-height:220px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184419/pexels-photo-3184419.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.side-ad-large span,
.side-ad-small span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}

.side-ad-large h3,
.side-ad-small h3{
  font-size:1.45rem;
  line-height:1.08;
}

.side-ad-large a{
  width:max-content;
  background:#e6007e;
  color:#fff;
  padding:11px 14px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* ALL INTERVIEWS */
.all-interviews{
  padding:34px 0 50px;
}

.all-interviews-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:28px;
}

.left-ad-column{
  display:grid;
  gap:18px;
  align-content:start;
}

.vertical-ad-card,
.mini-ad-card{
  min-height:360px;
  color:#fff;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
     linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.92)),
  url("https://images.pexels.com/photos/3184465/pexels-photo-3184465.jpeg?auto=compress&cs=tinysrgb&w=1400")
  center/cover no-repeat;
}

.mini-ad-card{
  min-height:220px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.9)),
    url("https://images.pexels.com/photos/3183197/pexels-photo-3183197.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.vertical-ad-card span,
.mini-ad-card span{
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}

.vertical-ad-card h3,
.mini-ad-card h3{
  font-size:1.5rem;
  line-height:1.08;
}

.vertical-ad-card a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:10px 14px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.main-interview-area{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
}

.lead-interview{
  background:#fff;
  color:#071923;
}

.lead-interview img{
  width:100%;
  height:420px;
  object-fit:cover;
}

.lead-interview div{
  padding:18px 0 0;
}

.lead-interview h3{
  margin:0;
  font-size:1.8rem;
  line-height:1.05;
}

.lead-interview h4{
  margin:8px 0 12px;
  font-size:1.05rem;
}

.lead-interview p{
  color:#555;
  line-height:1.55;
}

.lead-interview a,
.interview-mini-grid a{
  color:#071923;
  border:1px solid #ddd;
}

.quote-card{
  background:#f1f1f1;
  padding:35px;
  border-left:6px solid #8d4cff;
  align-self:start;
}

.quote-card p{
  margin:0 0 20px;
  font-size:1.35rem;
  line-height:1.2;
  color:#333;
}

.quote-card strong{
  display:block;
}

.quote-card span{
  color:#666;
  font-size:.85rem;
}

.interview-mini-grid{
  grid-column:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.interview-mini-grid article{
  background:#fff;
}

.interview-mini-grid img{
  width:100%;
  height:190px;
  object-fit:cover;
}

.interview-mini-grid h3{
  margin:12px 0 4px;
  font-size:1.05rem;
}

.interview-mini-grid h4{
  margin:0 0 8px;
  font-size:.78rem;
  line-height:1.3;
}

.interview-mini-grid p{
  color:#555;
  font-size:.84rem;
  line-height:1.45;
}

/* EVENT BANNER */
.interview-event-banner{
  min-height:390px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  text-align:center;
}

.interview-event-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.55)),
    url("https://images.pexels.com/photos/2608517/pexels-photo-2608517.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.interview-event-content{
  position:relative;
}

.interview-event-content h2{
  max-width:900px;
  margin:0 auto 12px;
  font-size:clamp(2.4rem,6vw,5rem);
  line-height:.9;
  font-weight:900;
}

.interview-event-content p{
  color:#eee;
}

.interview-event-content a{
  display:inline-flex;
  margin:10px 5px 0;
  padding:12px 18px;
  background:#00a88f;
  color:#fff;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* WIDE AD */
.interview-wide-ad-section{
  padding:30px 0;
  background:#f3f3f3;
}

.interview-wide-ad{
  min-height:200px;
  padding:35px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.95),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.interview-wide-ad span{
  color:#d19a2a;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
}

.interview-wide-ad h2{
  max-width:650px;
  margin:10px 0 20px;
  font-size:2rem;
  line-height:1.05;
}

.interview-wide-ad a{
  width:max-content;
  background:#e6007e;
  color:#fff;
  padding:12px 18px;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* VIDEOS */
.interview-videos{
  padding:36px 0 48px;
  background:#202020;
  color:#fff;
}

.dark-head h2{
  color:#fff;
}

.interview-video-grid{
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:18px;
}

.interview-video-feature{
  min-height:410px;
  position:relative;
  overflow:hidden;
}

.interview-video-feature img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.interview-video-feature::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.65));
}

.interview-video-feature button,
.video-thumb-row button{
  position:absolute;
  z-index:2;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:#111;
  cursor:pointer;
}

.interview-video-feature button{
  top:46%;
  left:48%;
  width:56px;
  height:56px;
}

.video-feature-copy{
  border-top:4px solid #8d4cff;
  padding:22px;
  background:#282828;
}

.video-feature-copy h3{
  font-size:1.9rem;
  line-height:1.05;
  margin:14px 0;
}

.video-feature-copy p{
  color:#ddd;
  line-height:1.55;
}

.video-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.video-tags small{
  background:#444;
  padding:6px 8px;
  font-size:.62rem;
  text-transform:uppercase;
}

.video-thumb-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.video-thumb-row article{
  position:relative;
  background:#2a2a2a;
}

.video-thumb-row img{
  width:100%;
  height:150px;
  object-fit:cover;
}

.video-thumb-row button{
  top:55px;
  left:50%;
  transform:translateX(-50%);
  width:38px;
  height:38px;
}

.video-thumb-row h3{
  padding:0 12px 14px;
  font-size:.98rem;
  line-height:1.18;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .featured-interview-grid,
  .all-interviews-layout,
  .main-interview-area,
  .interview-video-grid{
    grid-template-columns:1fr;
  }

  .interview-mini-grid{
    grid-column:auto;
  }

  .interview-side-ads,
  .left-ad-column{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:820px){
  .wide-interview-card,
  .interview-feature{
    grid-template-columns:1fr;
  }

  .wide-interview-card img{
    width:100%;
    height:260px;
  }

  .featured-person{
    min-height:460px;
  }

  .interview-mini-grid,
  .video-thumb-row{
    grid-template-columns:1fr 1fr;
  }

  .interview-side-ads,
  .left-ad-column{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .interview-mini-grid,
  .video-thumb-row{
    grid-template-columns:1fr;
  }

  .lead-interview img{
    height:300px;
  }

  .interview-video-feature{
    min-height:300px;
  }

  .interview-wide-ad{
    padding:24px;
  }

  .interview-wide-ad h2{
    font-size:1.45rem;
  }
}

/* ================================
   ADFAX REPORTS PAGE ONLY
================================ */

.reports-page{
  background:#fff;
  color:#071923;
}

.reports-head{
  border-bottom:1px solid #999;
  padding-bottom:14px;
  margin-bottom:26px;
}

.reports-head h2{
  margin:0;
  font-size:1.35rem;
  font-weight:900;
}

.reports-head a{
  border:1px solid #ddd;
  padding:9px 14px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* FEATURED REPORTS */
.reports-featured{
  padding:32px 0 42px;
}

.featured-reports-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.report-feature-card{
  min-height:590px;
  position:relative;
  overflow:hidden;
  background:#1f1f1f;
  color:#fff;
}

.report-feature-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.report-feature-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent 35%,rgba(0,0,0,.95));
}

.report-feature-card div{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:26px;
}

.report-feature-card span,
.report-card span,
.reports-video-copy span,
.bottom-ad-card span,
.wide-report-ad span{
  display:inline-flex;
  background:#111;
  color:#fff;
  padding:5px 8px;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
}

.report-feature-card h3{
  margin:12px 0 10px;
  font-size:1.4rem;
  line-height:1.08;
}

.report-feature-card p{
  color:#ddd;
  line-height:1.45;
}

.report-feature-card a{
  display:inline-flex;
  margin-top:16px;
  border:1px solid rgba(255,255,255,.4);
  color:#fff;
  padding:10px 16px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* WIDE AD */
.reports-wide-ad{
  padding:32px 0;
  background:#f3f3f3;
}

.wide-report-ad{
  min-height:210px;
  padding:36px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.96),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.wide-report-ad h2{
  max-width:720px;
  margin:12px 0 22px;
  font-size:2rem;
  line-height:1.05;
}

.wide-report-ad a{
  width:max-content;
  background:#e6007e;
  color:#fff;
  padding:12px 18px;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* ALL REPORTS */
.all-reports{
  padding:38px 0 56px;
}

.reports-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px 22px;
}

.report-card{
  background:#fff;
}

.report-card img{
  width:100%;
  height:250px;
  object-fit:cover;
}

.report-card span{
  margin-top:10px;
}

.report-card h3{
  margin:10px 0 8px;
  font-size:1.08rem;
  line-height:1.12;
  font-weight:900;
}

.report-card p{
  color:#555;
  font-size:.86rem;
  line-height:1.45;
}

.report-card a{
  display:inline-flex;
  margin-top:12px;
  border:1px solid #ddd;
  padding:12px 18px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.report-card a:hover{
  background:#d19a2a;
  color:#111;
  border-color:#d19a2a;
}

.report-ad-card,
.report-side-ad{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#111;
  color:#fff;
}

.report-ad-card img,
.report-side-ad img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.report-ad-card::after,
.report-side-ad::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.9));
}

.report-ad-card div,
.report-side-ad div{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:22px;
}

.report-ad-card h3,
.report-side-ad h3{
  color:#fff;
  font-size:1.5rem;
}

.report-ad-card p,
.report-side-ad p{
  color:#ddd;
}

.report-ad-card a{
  background:#e6007e;
  color:#fff;
  border:0;
}

/* VIDEOS */
.reports-videos{
  padding:38px 0 48px;
  background:#202020;
  color:#fff;
}

.dark-head h2{
  color:#fff;
}

.reports-video-grid{
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:18px;
}

.reports-video-main{
  min-height:410px;
  position:relative;
  overflow:hidden;
}

.reports-video-main img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.reports-video-main::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.65));
}

.reports-video-main button,
.reports-video-thumbs button{
  position:absolute;
  z-index:2;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:#111;
  cursor:pointer;
}

.reports-video-main button{
  top:46%;
  left:48%;
  width:56px;
  height:56px;
}

.reports-video-copy{
  border-top:4px solid #8d4cff;
  padding:24px;
  background:#282828;
}

.reports-video-copy h3{
  margin:14px 0;
  font-size:1.9rem;
  line-height:1.05;
}

.reports-video-copy p{
  color:#ddd;
  line-height:1.55;
}

.reports-video-copy small{
  display:inline-flex;
  background:#444;
  padding:6px 8px;
  margin-right:6px;
  font-size:.62rem;
  text-transform:uppercase;
}

.reports-video-thumbs{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.reports-video-thumbs article{
  position:relative;
  background:#2a2a2a;
}

.reports-video-thumbs img{
  width:100%;
  height:150px;
  object-fit:cover;
}

.reports-video-thumbs button{
  top:55px;
  left:50%;
  transform:translateX(-50%);
  width:38px;
  height:38px;
}

.reports-video-thumbs h3{
  padding:0 12px 14px;
  font-size:.98rem;
  line-height:1.18;
}

/* BOTTOM AD */
.reports-bottom-ad{
  padding:32px 0;
  background:#f3f3f3;
}

.bottom-ad-card{
  min-height:210px;
  padding:36px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.96),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/4483610/pexels-photo-4483610.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.bottom-ad-card h2{
  max-width:720px;
  margin:12px 0 22px;
  font-size:2rem;
  line-height:1.05;
}

.bottom-ad-card a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:12px 18px;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .featured-reports-grid{
    grid-template-columns:1fr;
  }

  .report-feature-card{
    min-height:430px;
  }

  .reports-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .reports-video-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:820px){
  .reports-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .reports-video-thumbs{
    grid-template-columns:1fr 1fr;
  }

  .reports-video-main{
    min-height:320px;
  }
}

@media(max-width:520px){
  .reports-grid,
  .reports-video-thumbs{
    grid-template-columns:1fr;
  }

  .report-card img{
    height:220px;
  }

  .wide-report-ad,
  .bottom-ad-card{
    padding:24px;
  }

  .wide-report-ad h2,
  .bottom-ad-card h2{
    font-size:1.45rem;
  }
}

/* ================================
   ADFAX VIDEOS PAGE ONLY
================================ */

.videos-page{
  background:#fff;
  color:#071923;
}

.videos-head{
  border-bottom:1px solid #999;
  padding-bottom:14px;
  margin-bottom:28px;
}

.videos-head h2{
  margin:0;
  font-size:1.35rem;
  font-weight:900;
}

/* LATEST VIDEOS */
.latest-videos{
  padding:34px 0 52px;
}

.latest-video-grid{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:28px;
}

.latest-main-area{
  display:grid;
  gap:22px;
}

.top-video-row{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
}

.video-main-thumb{
  min-height:335px;
  position:relative;
  overflow:hidden;
  border-bottom:6px solid #111;
}

.video-main-thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.video-main-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.45));
}

.video-main-thumb button,
.latest-small-videos button,
.video-thumb button{
  position:absolute;
  z-index:2;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.86);
  color:#111;
  cursor:pointer;
  display:grid;
  place-items:center;
}

.video-main-thumb button{
  width:58px;
  height:58px;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}

.video-main-copy{
  border-top:4px solid #8d4cff;
  padding:22px 0 0;
}

.video-main-copy span{
  display:inline-flex;
  background:#111;
  color:#fff;
  padding:5px 8px;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
}

.video-main-copy h1{
  margin:14px 0 14px;
  font-size:2.15rem;
  line-height:1.05;
  font-weight:900;
}

.video-main-copy p{
  color:#555;
  line-height:1.55;
}

.video-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

.video-tags small{
  background:#f0f0f0;
  color:#333;
  padding:6px 8px;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
}

.latest-small-videos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.latest-small-videos article{
  position:relative;
}

.latest-small-videos img{
  width:100%;
  height:150px;
  object-fit:cover;
}

.latest-small-videos button{
  width:42px;
  height:42px;
  top:54px;
  left:50%;
  transform:translateX(-50%);
}

.latest-small-videos h3{
  margin:12px 0 0;
  font-size:1.05rem;
  line-height:1.14;
  font-weight:900;
}

/* SIDE AD */
.videos-side-ad{
  min-height:540px;
  padding:24px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184419/pexels-photo-3184419.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.videos-side-ad span,
.videos-left-ad span,
.video-bottom-promo span{
  color:#d19a2a;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

.videos-side-ad h3{
  font-size:1.6rem;
  line-height:1.08;
}

.videos-side-ad a,
.videos-left-ad a,
.video-bottom-promo a{
  width:max-content;
  background:#e6007e;
  color:#fff;
  padding:12px 16px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* EVENT BANNER */
.videos-event-banner{
  min-height:385px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  text-align:center;
}

.videos-event-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(0,0,0,.46),rgba(0,0,0,.58)),
    url("https://images.pexels.com/photos/2608517/pexels-photo-2608517.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.videos-event-content{
  position:relative;
}

.videos-event-content h2{
  max-width:900px;
  margin:0 auto 12px;
  font-size:clamp(2.4rem,6vw,5rem);
  line-height:.9;
  font-weight:900;
}

.videos-event-content p{
  color:#eee;
}

.videos-event-content a{
  display:inline-flex;
  margin:10px 5px 0;
  padding:12px 18px;
  background:#00a88f;
  color:#fff;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* ALL VIDEOS */
.all-videos{
  padding:40px 0 56px;
}

.all-videos-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:28px;
}

.videos-left-ad{
  min-height:520px;
  padding:24px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.videos-left-ad h3{
  font-size:1.6rem;
  line-height:1.08;
}

.videos-left-ad p{
  color:#ddd;
  line-height:1.45;
}

.all-videos-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px 26px;
}

.video-card{
  background:#fff;
}

.video-thumb{
  position:relative;
  min-height:170px;
  background:#eee;
  overflow:hidden;
}

.video-thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.video-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.28));
}

.video-thumb button{
  width:42px;
  height:42px;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}

.video-card h3{
  margin:14px 0 0;
  font-size:1.05rem;
  line-height:1.14;
  font-weight:900;
}

/* PAGINATION */
.video-pagination{
  display:grid;
  justify-items:center;
  gap:12px;
  margin-top:45px;
}

.video-pagination p{
  margin:0;
  font-size:.88rem;
}

.video-pagination span{
  color:#666;
}

.video-pagination div{
  display:flex;
  align-items:center;
  gap:8px;
}

.video-pagination a{
  min-width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #8d4cff;
  color:#8d4cff;
  font-size:.78rem;
  font-weight:900;
}

.video-pagination a.active,
.video-pagination a:hover{
  background:#8d4cff;
  color:#fff;
}

/* BOTTOM PROMO */
.videos-bottom-ad{
  padding:32px 0;
  background:#f3f3f3;
}

.video-bottom-promo{
  min-height:210px;
  padding:36px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.96),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.video-bottom-promo h2{
  max-width:720px;
  margin:12px 0 22px;
  font-size:2rem;
  line-height:1.05;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .latest-video-grid,
  .all-videos-layout{
    grid-template-columns:1fr;
  }

  .videos-side-ad,
  .videos-left-ad{
    min-height:300px;
  }

  .all-videos-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:820px){
  .top-video-row,
  .latest-small-videos{
    grid-template-columns:1fr;
  }

  .video-main-thumb{
    min-height:300px;
  }

  .all-videos-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .video-main-copy h1{
    font-size:1.55rem;
  }

  .videos-event-content h2{
    font-size:2.25rem;
  }

  .video-bottom-promo{
    padding:24px;
  }

  .video-bottom-promo h2{
    font-size:1.45rem;
  }
}

/* ================================
   ADFAX EVENTS PAGE ONLY
================================ */

.events-page{
  background:#fff;
  color:#071923;
}

.events-head{
  border-bottom:1px solid #999;
  padding-bottom:14px;
  margin-bottom:28px;
}

.events-head h2{
  margin:0;
  font-size:1.35rem;
  font-weight:900;
}

/* UPCOMING EVENTS */
.upcoming-events{
  padding:34px 0 44px;
}

.events-layout{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:28px;
  align-items:start;
}

.events-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:34px 26px;
}

.event-card,
.archive-card{
  background:#fff;
}

.event-card img,
.archive-card img{
  width:100%;
  height:190px;
  object-fit:cover;
}

.event-card h3,
.archive-card h3{
  margin:16px 0 8px;
  font-size:1.1rem;
  line-height:1.12;
  font-weight:900;
}

.event-card p,
.archive-card p{
  color:#333;
  font-size:.86rem;
  line-height:1.45;
}

.event-card p strong,
.archive-card p strong{
  color:#111;
}

.event-card a{
  display:inline-flex;
  margin-top:18px;
  min-width:140px;
  height:42px;
  align-items:center;
  justify-content:center;
  background:#8d4cff;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.archive-card a{
  display:inline-flex;
  margin-top:18px;
  min-width:140px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #ddd;
  color:#111;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.archive-card a:hover{
  background:#d19a2a;
  border-color:#d19a2a;
}

/* SIDE ADS */
.events-side{
  display:grid;
  gap:18px;
}

.events-side-ad{
  color:#fff;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:#111;
}

.events-side-ad.large{
  min-height:460px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184419/pexels-photo-3184419.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.events-side-ad.small{
  min-height:260px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.events-side-ad span,
.events-bottom-promo span{
  color:#d19a2a;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

.events-side-ad h3{
  font-size:1.55rem;
  line-height:1.08;
}

.events-side-ad a,
.events-bottom-promo a{
  width:max-content;
  background:#e6007e;
  color:#fff;
  padding:12px 16px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* PAGINATION */
.events-pagination{
  display:grid;
  justify-items:center;
  gap:12px;
  margin-top:42px;
}

.events-pagination p{
  margin:0;
  font-size:.88rem;
}

.events-pagination span{
  color:#666;
}

.events-pagination div{
  display:flex;
  align-items:center;
  gap:8px;
}

.events-pagination a{
  min-width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #8d4cff;
  color:#8d4cff;
  font-size:.78rem;
  font-weight:900;
}

.events-pagination a.active,
.events-pagination a:hover{
  background:#8d4cff;
  color:#fff;
}

/* HERO BANNER */
.events-hero-banner{
  min-height:390px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  text-align:center;
}

.events-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.6)),
    url("https://images.pexels.com/photos/2608517/pexels-photo-2608517.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.events-hero-content{
  position:relative;
}

.events-hero-content h2{
  max-width:920px;
  margin:0 auto 12px;
  font-size:clamp(2.4rem,6vw,5rem);
  line-height:.9;
  font-weight:900;
}

.events-hero-content p{
  color:#eee;
}

.events-hero-content a{
  display:inline-flex;
  margin:10px 5px 0;
  padding:12px 18px;
  background:#00a88f;
  color:#fff;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* ARCHIVE */
.event-archive{
  padding:40px 0 58px;
}

.archive-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:34px 26px;
}

.archive-pagination{
  margin-top:48px;
}

/* BOTTOM PROMO */
.events-bottom-ad{
  padding:32px 0;
  background:#f3f3f3;
}

.events-bottom-promo{
  min-height:210px;
  padding:36px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.96),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/3184357/pexels-photo-3184357.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.events-bottom-promo h2{
  max-width:720px;
  margin:12px 0 22px;
  font-size:2rem;
  line-height:1.05;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .events-layout{
    grid-template-columns:1fr;
  }

  .events-side{
    grid-template-columns:1fr 1fr;
  }

  .events-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .archive-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .events-side-ad.large,
  .events-side-ad.small{
    min-height:280px;
  }
}

@media(max-width:820px){
  .events-grid,
  .archive-grid,
  .events-side{
    grid-template-columns:1fr;
  }

  .events-hero-content h2{
    font-size:2.35rem;
  }
}

@media(max-width:520px){
  .event-card img,
  .archive-card img{
    height:170px;
  }

  .events-bottom-promo{
    padding:24px;
  }

  .events-bottom-promo h2{
    font-size:1.45rem;
  }
}

/* ================================
   ADFAX MINING SECTOR PAGE ONLY
================================ */

.sector-page{
  background:#fff;
  color:#071923;
}

.sector-title{
  border-bottom:1px solid #999;
  padding-bottom:14px;
  margin-bottom:26px;
}

.sector-title h1{
  margin:0;
  font-size:1.45rem;
  font-weight:900;
}

.sector-head{
  border-bottom:1px solid #999;
  padding-bottom:14px;
  margin-bottom:28px;
}

.sector-head h2{
  margin:0;
  font-size:1.35rem;
  font-weight:900;
}

.sector-head a{
  border:1px solid #ddd;
  padding:9px 14px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* TOP */
.sector-top{
  padding:34px 0 34px;
}

.sector-top-grid{
  display:grid;
  grid-template-columns:1.6fr .8fr;
  gap:28px;
}

.sector-main-area{
  display:grid;
  gap:20px;
}

.sector-lead-card{
  display:grid;
  grid-template-columns:250px 1fr;
  background:#1f1f1f;
  color:#fff;
  border-top:4px solid #8d4cff;
}

.sector-lead-card img{
  width:250px;
  height:230px;
  object-fit:cover;
}

.sector-lead-card div{
  padding:22px;
}

.sector-lead-card span,
.sector-video-copy span,
.sector-side-ad span,
.list-ad-card span,
.mining-wide-ad span,
.mining-bottom-promo span{
  display:inline-flex;
  background:#111;
  color:#fff;
  padding:5px 8px;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
}

.sector-lead-card h2{
  margin:12px 0 10px;
  font-size:1.7rem;
  line-height:1.05;
}

.sector-lead-card p{
  color:#ddd;
  line-height:1.45;
}

.sector-video-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.sector-video-row article{
  position:relative;
}

.sector-video-row img{
  width:100%;
  height:150px;
  object-fit:cover;
}

.sector-video-row button,
.sector-video-main button,
.sector-video-thumbs button{
  position:absolute;
  z-index:2;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.86);
  color:#111;
  cursor:pointer;
}

.sector-video-row button{
  width:42px;
  height:42px;
  top:54px;
  left:50%;
  transform:translateX(-50%);
}

.sector-video-row h3{
  margin:12px 0 0;
  font-size:1rem;
  line-height:1.15;
}

.sector-top-list{
  display:grid;
  gap:0;
}

.sector-top-list article{
  border-bottom:1px solid #d7d7d7;
  padding:12px 0;
}

.sector-top-list h3{
  margin:0;
  font-size:1rem;
  line-height:1.18;
}

/* WIDE AD */
.sector-wide-ad{
  padding:28px 0;
  background:#f3f3f3;
}

.mining-wide-ad{
  min-height:200px;
  padding:34px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.96),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/4484157/pexels-photo-4484157.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.mining-wide-ad h2,
.mining-bottom-promo h2{
  max-width:720px;
  margin:12px 0 22px;
  font-size:2rem;
  line-height:1.05;
}

.mining-wide-ad a,
.mining-bottom-promo a{
  width:max-content;
  background:#e6007e;
  color:#fff;
  padding:12px 18px;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* ARTICLES */
.sector-articles{
  padding:38px 0 50px;
}

.sector-articles-layout{
  display:grid;
  grid-template-columns:.75fr 1.5fr .75fr;
  gap:24px;
}

.sector-left-list{
  display:grid;
  gap:16px;
  align-content:start;
}

.sector-left-list > article:not(.sector-dark-feature){
  border-bottom:1px solid #ddd;
  padding-bottom:14px;
}

.sector-left-list h3{
  margin:0;
  font-size:.98rem;
  line-height:1.15;
}

.sector-dark-feature{
  min-height:390px;
  position:relative;
  overflow:hidden;
  background:#111;
  color:#fff;
}

.sector-dark-feature img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.sector-dark-feature::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.94));
}

.sector-dark-feature div{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:20px;
}

.sector-dark-feature span{
  background:#fff;
  color:#111;
  padding:5px 8px;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
}

.sector-dark-feature h2{
  font-size:1.5rem;
  line-height:1.06;
}

.sector-dark-feature p{
  color:#ddd;
  line-height:1.45;
}

.sector-main-articles{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.article-big img{
  width:100%;
  height:230px;
  object-fit:cover;
}

.article-big h2{
  margin:14px 0 8px;
  font-size:1.45rem;
  line-height:1.08;
}

.article-big p{
  color:#555;
  line-height:1.5;
}

.article-small-grid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.article-small-grid article{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:12px;
  border-top:1px solid #ddd;
  padding-top:14px;
}

.article-small-grid img{
  width:110px;
  height:75px;
  object-fit:cover;
}

.article-small-grid h3{
  margin:0;
  font-size:.95rem;
  line-height:1.15;
}

/* SIDE ADS */
.sector-side-ads{
  display:grid;
  gap:18px;
  align-content:start;
}

.sector-side-ad{
  color:#fff;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.sector-side-ad.large{
  min-height:390px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/4483608/pexels-photo-4483608.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.sector-side-ad.small{
  min-height:220px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.92)),
    url("https://images.pexels.com/photos/3862627/pexels-photo-3862627.jpeg?auto=compress&cs=tinysrgb&w=900") center/cover no-repeat;
}

.sector-side-ad h3{
  font-size:1.45rem;
  line-height:1.08;
}

.sector-side-ad a{
  width:max-content;
  background:#d19a2a;
  color:#111;
  padding:10px 14px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

/* EVENT */
.sector-event-banner{
  min-height:385px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#fff;
  text-align:center;
}

.sector-event-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.6)),
    url("https://images.pexels.com/photos/2101135/pexels-photo-2101135.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

.sector-event-content{
  position:relative;
}

.sector-event-content h2{
  max-width:920px;
  margin:0 auto 12px;
  font-size:clamp(2.3rem,6vw,4.8rem);
  line-height:.9;
  font-weight:900;
}

.sector-event-content p{
  color:#eee;
}

.sector-event-content a{
  display:inline-flex;
  margin:10px 5px 0;
  padding:12px 18px;
  background:#00a88f;
  color:#fff;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

/* LISTS */
.sector-lists{
  padding:40px 0 48px;
}

.sector-lists-grid{
  display:grid;
  grid-template-columns:.9fr 1fr 1fr .85fr;
  gap:24px;
}

.list-ad-card{
  min-height:380px;
  position:relative;
  overflow:hidden;
  background:#111;
  color:#fff;
}

.list-ad-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.list-ad-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.9));
}

.list-ad-card div{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:22px;
}

.list-ad-card h3{
  font-size:1.45rem;
  line-height:1.08;
}

.list-ad-card a{
  display:inline-flex;
  background:#e6007e;
  color:#fff;
  padding:10px 14px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.list-card img{
  width:100%;
  height:190px;
  object-fit:cover;
}

.list-card h3{
  font-size:1.25rem;
  line-height:1.08;
}

.list-card p{
  color:#555;
  line-height:1.45;
}

.most-popular{
  background:#f2f2f2;
  padding:18px;
  align-self:start;
}

.most-popular h3{
  margin:0 0 14px;
}

.most-popular article{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:10px;
  border-top:1px solid #d6d6d6;
  padding:14px 0;
}

.most-popular span{
  color:#8d4cff;
  font-weight:900;
}

.most-popular p{
  margin:0;
  font-weight:800;
  font-size:.86rem;
}

/* VIDEOS */
.sector-videos{
  padding:38px 0 48px;
  background:#202020;
  color:#fff;
}

.dark-head h2{
  color:#fff;
}

.sector-video-layout{
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:18px;
}

.sector-video-main{
  min-height:410px;
  position:relative;
  overflow:hidden;
}

.sector-video-main img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.sector-video-main::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.65));
}

.sector-video-main button{
  top:46%;
  left:48%;
  width:56px;
  height:56px;
}

.sector-video-copy{
  border-top:4px solid #8d4cff;
  padding:24px;
  background:#282828;
}

.sector-video-copy h3{
  margin:14px 0;
  font-size:1.9rem;
  line-height:1.05;
}

.sector-video-copy p{
  color:#ddd;
  line-height:1.55;
}

.sector-video-copy small{
  display:inline-flex;
  background:#444;
  padding:6px 8px;
  margin-right:6px;
  font-size:.62rem;
  text-transform:uppercase;
}

.sector-video-thumbs{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.sector-video-thumbs article{
  position:relative;
  background:#2a2a2a;
}

.sector-video-thumbs img{
  width:100%;
  height:150px;
  object-fit:cover;
}

.sector-video-thumbs button{
  top:55px;
  left:50%;
  transform:translateX(-50%);
  width:38px;
  height:38px;
}

.sector-video-thumbs h3{
  padding:0 12px 14px;
  font-size:.98rem;
  line-height:1.18;
}

/* BOTTOM AD */
.sector-bottom-ad{
  padding:32px 0;
  background:#f3f3f3;
}

.mining-bottom-promo{
  min-height:210px;
  padding:36px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(10,6,35,.96),rgba(10,6,35,.48)),
    url("https://images.pexels.com/photos/4483610/pexels-photo-4483610.jpeg?auto=compress&cs=tinysrgb&w=1600") center/cover no-repeat;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .sector-top-grid,
  .sector-articles-layout,
  .sector-video-layout{
    grid-template-columns:1fr;
  }

  .sector-lists-grid{
    grid-template-columns:1fr 1fr;
  }

  .sector-side-ads{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:820px){
  .sector-lead-card,
  .sector-main-articles,
  .sector-video-row,
  .article-small-grid,
  .sector-side-ads,
  .sector-lists-grid,
  .sector-video-thumbs{
    grid-template-columns:1fr;
  }

  .sector-lead-card img{
    width:100%;
    height:260px;
  }

  .sector-event-content h2{
    font-size:2.25rem;
  }
}

@media(max-width:520px){
  .article-small-grid article{
    grid-template-columns:95px 1fr;
  }

  .article-small-grid img{
    width:95px;
    height:70px;
  }

  .mining-wide-ad,
  .mining-bottom-promo{
    padding:24px;
  }

  .mining-wide-ad h2,
  .mining-bottom-promo h2{
    font-size:1.45rem;
  }
}

/* =========================================
   HOME FIX: EVENTS / REPORTS / PARTNERS / NEWSLETTER
   Paste at the bottom of style.css
========================================= */

/* Shared section control */
.home-events,
.reports-home,
.partners-section,
.newsletter-section{
  position:relative;
  overflow:hidden;
}

.home-events .section-head,
.reports-home .section-head,
.partners-section .section-head{
  margin-bottom:26px;
}

/* EVENTS */
.home-events{
  padding:52px 0 58px;
  background:#ffffff;
}

.events-grid-home{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
}

.event-home-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  min-width:0;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.event-home-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 45px rgba(0,0,0,.14);
  border-color:rgba(209,154,42,.45);
}

.event-home-card img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}

.event-home-card > div{
  padding:18px 18px 20px;
}

.event-home-card span{
  display:inline-flex;
  margin-bottom:10px;
  color:#d19a2a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.event-home-card h3{
  margin:0 0 12px;
  color:#111;
  font-size:1.12rem;
  line-height:1.12;
  font-weight:900;
}

.event-home-card p{
  margin:0;
  color:#666;
  font-size:.86rem;
  line-height:1.35;
}

/* REPORTS */
.reports-home{
  padding:58px 0;
  background:#f4f2ee;
}

.reports-grid-home{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(320px, .8fr);
  gap:26px;
  align-items:stretch;
}

.report-feature-home{
  position:relative;
  min-height:430px;
  overflow:hidden;
  background:#111;
  color:#fff;
  border-radius:0;
}

.report-feature-home img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.report-feature-home::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.52) 52%, rgba(0,0,0,.18) 100%);
  z-index:1;
}

.report-feature-home > div{
  position:relative;
  z-index:2;
  max-width:560px;
  height:100%;
  min-height:430px;
  padding:36px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.report-feature-home span,
.report-list-home article::before{
  color:#d19a2a;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.report-feature-home h3{
  margin:12px 0 14px;
  font-size:2.1rem;
  line-height:1.02;
  font-weight:900;
}

.report-feature-home p{
  margin:0 0 24px;
  color:rgba(255,255,255,.82);
  line-height:1.55;
}

.report-feature-home a{
  width:max-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  background:#d19a2a;
  color:#111;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.report-list-home{
  display:grid;
  gap:12px;
  min-width:0;
}

.report-list-home article{
  position:relative;
  min-height:76px;
  padding:16px 18px 16px 42px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.report-list-home article:hover{
  transform:translateX(4px);
  box-shadow:0 16px 34px rgba(0,0,0,.1);
  border-color:rgba(209,154,42,.45);
}

.report-list-home article::before{
  content:"•";
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.5rem;
  line-height:1;
}

.report-list-home h3{
  margin:0;
  color:#111;
  font-size:1rem;
  line-height:1.18;
  font-weight:900;
}

.report-list-home a{
  flex:0 0 auto;
  color:#d19a2a;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}

/* PARTNERS */
.partners-section{
  padding:54px 0;
  background:#fff;
}

.center-head{
  justify-content:center;
  text-align:center;
}

.center-head h2{
  text-align:center;
}

.partner-logos{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
  align-items:center;
}

.partner-logos img{
  width:100%;
  height:92px;
  object-fit:contain;
  padding:18px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  filter:grayscale(1);
  opacity:.82;
  transition:filter .25s ease, opacity .25s ease, transform .25s ease, box-shadow .25s ease;
}

.partner-logos img:hover{
  filter:grayscale(0);
  opacity:1;
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(0,0,0,.1);
}

/* NEWSLETTER */
.newsletter-section{
  padding:58px 0 70px;
  background:#f4f2ee;
}

.newsletter-box{
  position:relative;
  min-height:320px;
  padding:48px;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(17,17,17,.92),rgba(65,65,66,.82)),
    url("https://images.pexels.com/photos/3183150/pexels-photo-3183150.jpeg?auto=compress&cs=tinysrgb&w=1800")
    center/cover no-repeat;
}

.newsletter-box::after{
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:340px;
  height:340px;
  border-radius:50%;
  background:rgba(209,154,42,.22);
  filter:blur(3px);
}

.newsletter-box > *{
  position:relative;
  z-index:2;
}

.newsletter-box span{
  display:inline-flex;
  margin-bottom:12px;
  color:#d19a2a;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.newsletter-box h2{
  max-width:760px;
  margin:0 0 14px;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:.98;
  font-weight:900;
  letter-spacing:-.04em;
}

.newsletter-box p{
  max-width:640px;
  margin:0 0 28px;
  color:rgba(255,255,255,.82);
  line-height:1.6;
}

.newsletter-form{
  max-width:620px;
  display:flex;
  align-items:stretch;
  gap:0;
}

.newsletter-form input{
  flex:1;
  min-width:0;
  height:52px;
  border:0;
  padding:0 18px;
  font:inherit;
  outline:none;
  background:#fff;
  color:#111;
}

.newsletter-form button{
  height:52px;
  border:0;
  padding:0 24px;
  background:#d19a2a;
  color:#111;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
  transition:.25s ease;
}

.newsletter-form button:hover{
  background:#ecd5a7;
}

/* RESPONSIVE FIXES */
@media(max-width:1100px){
  .events-grid-home{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .reports-grid-home{
    grid-template-columns:1fr;
  }

  .report-feature-home,
  .report-feature-home > div{
    min-height:360px;
  }

  .partner-logos{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media(max-width:720px){
  .home-events,
  .reports-home,
  .partners-section,
  .newsletter-section{
    padding:42px 0;
  }

  .events-grid-home{
    grid-template-columns:1fr;
  }

  .event-home-card img{
    height:210px;
  }

  .report-feature-home,
  .report-feature-home > div{
    min-height:380px;
  }

  .report-feature-home > div{
    padding:28px;
  }

  .report-feature-home h3{
    font-size:1.65rem;
  }

  .report-list-home article{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .partner-logos{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .partner-logos img{
    height:82px;
  }

  .newsletter-box{
    padding:32px 24px;
  }

  .newsletter-form{
    flex-direction:column;
    gap:10px;
  }

  .newsletter-form input,
  .newsletter-form button{
    width:100%;
  }
}


/* ======================================================
   ADFAX PREMIUM STATIC HOVER + PERFORMANCE PATCH
   Telco-style behavior:
   - no card movement
   - no image zoom
   - hover changes title color only
   - hover adds brand overlay on media area only
====================================================== */

:root{
  --adfax-gold:#d19a2a;
  --adfax-bronze:#c4782c;
  --adfax-cream:#ecd5a7;
  --adfax-text:#111111;
}

/* Make cards stable. This overrides previous hover movement rules. */
.story-card,
.mini-story,
.trend-row article,
.interview-feature,
.interview-cards article,
.ranking-card,
.rank-list article,
.sector-main,
.sector-news article,
.current-issue,
.article-card,
.video-card,
.report-card,
.event-home-card,
.event-cards article,
.report-cards article,
.solution-card,
.case-card,
.featured-case,
.edition-card,
.mag-side-news article{
  position:relative;
  overflow:hidden;
  transform:none !important;
  transition:border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.story-card:hover,
.mini-story:hover,
.trend-row article:hover,
.interview-feature:hover,
.interview-cards article:hover,
.ranking-card:hover,
.rank-list article:hover,
.sector-main:hover,
.sector-news article:hover,
.current-issue:hover,
.article-card:hover,
.video-card:hover,
.report-card:hover,
.event-home-card:hover,
.event-cards article:hover,
.report-cards article:hover,
.solution-card:hover,
.case-card:hover,
.featured-case:hover,
.edition-card:hover,
.mag-side-news article:hover,
.partner-logo:hover{
  transform:none !important;
}

/* Stop all image movement/zoom inside editorial cards. */
.story-card img,
.mini-story img,
.trend-row article img,
.interview-feature img,
.interview-cards article img,
.sector-main img,
.sector-news article img,
.current-issue img,
.article-card img,
.video-card img,
.report-card img,
.event-home-card img,
.event-cards article img,
.report-cards article img,
.solution-card img,
.case-card img,
.featured-case img,
.edition-card img,
.mag-side-news article img,
.partner-logo img{
  transform:none !important;
  transition:none !important;
}

/* Soft premium emphasis without movement. */
.mini-story:hover,
.trend-row article:hover,
.interview-cards article:hover,
.sector-news article:hover,
.current-issue:hover,
.article-card:hover,
.video-card:hover,
.report-card:hover,
.event-home-card:hover,
.event-cards article:hover,
.report-cards article:hover,
.solution-card:hover,
.case-card:hover,
.featured-case:hover,
.mag-side-news article:hover{
  border-color:rgba(209,154,42,.42);
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}

/* Titles only change color on hover. */
.story-card:hover h1,
.story-card:hover h2,
.story-card:hover h3,
.mini-story:hover h3,
.trend-row article:hover h3,
.interview-feature:hover h3,
.interview-cards article:hover h3,
.ranking-card:hover h3,
.rank-list article:hover h3,
.sector-main:hover h3,
.sector-news article:hover h3,
.current-issue:hover h3,
.article-card:hover h3,
.video-card:hover h3,
.report-card:hover h3,
.event-home-card:hover h3,
.event-cards article:hover h3,
.report-cards article:hover h3,
.solution-card:hover h3,
.case-card:hover h3,
.featured-case:hover h3,
.edition-card:hover h3,
.mag-side-news article:hover h3{
  color:var(--adfax-gold) !important;
}

/* Content text stays as designed. */
.story-card:hover p,
.mini-story:hover p,
.trend-row article:hover p,
.interview-feature:hover p,
.interview-cards article:hover p,
.sector-main:hover p,
.sector-news article:hover p,
.current-issue:hover p,
.article-card:hover p,
.video-card:hover p,
.report-card:hover p,
.event-home-card:hover p,
.event-cards article:hover p,
.report-cards article:hover p,
.solution-card:hover p,
.case-card:hover p,
.featured-case:hover p,
.mag-side-news article:hover p{
  color:inherit;
}

/* Brand overlay over media area only on hover.
   For vertical media cards, the overlay covers the top media block.
   For lead story, it covers the full background image softly. */
.story-card::before,
.mini-story::before,
.trend-row article::before,
.interview-feature::before,
.interview-cards article::before,
.sector-main::before,
.sector-news article::before,
.current-issue::before,
.article-card::before,
.video-card::before,
.report-card::before,
.event-home-card::before,
.event-cards article::before,
.report-cards article::before,
.solution-card::before,
.case-card::before,
.featured-case::before,
.mag-side-news article::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:48%;
  pointer-events:none;
  z-index:2;
  opacity:0;
  background:
    linear-gradient(
      to bottom,
      rgba(196,120,44,.26),
      rgba(209,154,42,.16) 48%,
      rgba(0,0,0,0) 100%
    );
  transition:opacity .22s ease;
}

.lead-story::before{
  height:100%;
  background:
    linear-gradient(
      to bottom,
      rgba(196,120,44,.18),
      rgba(209,154,42,.06) 42%,
      rgba(0,0,0,0) 72%
    );
}

.story-card:hover::before,
.mini-story:hover::before,
.trend-row article:hover::before,
.interview-feature:hover::before,
.interview-cards article:hover::before,
.sector-main:hover::before,
.sector-news article:hover::before,
.current-issue:hover::before,
.article-card:hover::before,
.video-card:hover::before,
.report-card:hover::before,
.event-home-card:hover::before,
.event-cards article:hover::before,
.report-cards article:hover::before,
.solution-card:hover::before,
.case-card:hover::before,
.featured-case:hover::before,
.mag-side-news article:hover::before{
  opacity:1;
}

/* Disable overlay for cards without media at top. */
.rank-list article::before,
.ranking-card::before,
.partner-logo::before,
.edition-card::before{
  display:none;
}

/* Keep content clickable and above overlay. */
.story-card > *,
.mini-story > *,
.trend-row article > *,
.interview-feature > *,
.interview-cards article > *,
.sector-main > *,
.sector-news article > *,
.current-issue > *,
.article-card > *,
.video-card > *,
.report-card > *,
.event-home-card > *,
.event-cards article > *,
.report-cards article > *,
.solution-card > *,
.case-card > *,
.featured-case > *,
.mag-side-news article > *{
  position:relative;
  z-index:3;
}

/* Brand line appears without moving card. */
.mini-story::after,
.trend-row article::after,
.interview-cards article::after,
.sector-news article::after,
.current-issue::after,
.article-card::after,
.video-card::after,
.report-card::after,
.event-home-card::after,
.event-cards article::after,
.report-cards article::after,
.solution-card::after,
.case-card::after,
.featured-case::after,
.mag-side-news article::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--adfax-bronze),var(--adfax-gold),var(--adfax-cream));
  transform:scaleX(0);
  transform-origin:left;
  opacity:.95;
  transition:transform .22s ease;
  z-index:4;
}

.mini-story:hover::after,
.trend-row article:hover::after,
.interview-cards article:hover::after,
.sector-news article:hover::after,
.current-issue:hover::after,
.article-card:hover::after,
.video-card:hover::after,
.report-card:hover::after,
.event-home-card:hover::after,
.event-cards article:hover::after,
.report-cards article:hover::after,
.solution-card:hover::after,
.case-card:hover::after,
.featured-case:hover::after,
.mag-side-news article:hover::after{
  transform:scaleX(1);
}

/* Section heading treatment. */
.section-head h2,
.compact-head h2,
.articles-head h2,
.magazine-head h2,
.partners h2{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.85rem;
}

.section-head h2::after,
.compact-head h2::after,
.articles-head h2::after,
.magazine-head h2::after,
.partners h2::after{
  content:"";
  width:52px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--adfax-bronze),var(--adfax-gold));
}

/* CTAs change color only. */
.section-head a,
.compact-head a,
.interview-feature a,
.interview-cards a,
.current-issue a,
.article-body a,
.event-home-card a,
.solution-actions a{
  transition:color .2s ease, border-color .2s ease, background-color .2s ease;
}

.section-head a:hover,
.compact-head a:hover,
.interview-feature a:hover,
.interview-cards a:hover,
.current-issue a:hover,
.article-body a:hover,
.event-home-card a:hover,
.solution-actions a:hover{
  color:var(--adfax-bronze);
  transform:none !important;
}

/* Ads: premium but static. */
.ad-card,
.vertical-ad{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(209,154,42,.34);
  background:
    radial-gradient(circle at top right, rgba(209,154,42,.2), transparent 45%),
    linear-gradient(135deg,#171717,#2b241a);
  color:#fff;
  transition:border-color .22s ease, box-shadow .22s ease;
}

.ad-card:hover,
.vertical-ad:hover{
  transform:none !important;
  border-color:rgba(236,213,167,.58);
  box-shadow:0 10px 28px rgba(0,0,0,.10);
}

.ad-card::before,
.vertical-ad::before{
  content:"Sponsored";
  position:absolute;
  top:14px;
  right:14px;
  height:auto;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(209,154,42,.16);
  color:var(--adfax-cream);
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
  z-index:5;
}

.ad-card:hover h3,
.vertical-ad:hover h3{
  color:var(--adfax-gold);
}

/* International responsive safety pass. */
@media(max-width:1100px){
  .home-grid{
    grid-template-columns:1fr 1fr;
  }

  .side-rail{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px;
  }
}

@media(max-width:900px){
  .home-grid,
  .interview-layout,
  .top-ten-grid,
  .sector-block,
  .magazine-banner-inner{
    grid-template-columns:1fr !important;
  }

  .story-stack,
  .trend-row{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:16px;
  }

  .side-rail{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media(max-width:640px){
  .story-stack,
  .trend-row,
  .side-rail{
    grid-template-columns:1fr !important;
  }

  .section-head,
  .compact-head,
  .articles-head,
  .magazine-head,
  .partners-head{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .section-head h2::after,
  .compact-head h2::after,
  .articles-head h2::after,
  .magazine-head h2::after,
  .partners h2::after{
    width:38px;
  }
}

/* Reduce motion for accessibility and performance. */
@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}



/* CONTENT PLACEHOLDER — PRODUCTION SAFE */
.content-placeholder{
    width:100%;
    height:100%;
    min-height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:24px;
    text-align:center;
    color:#fff;
    background:
        radial-gradient(circle at top right, rgba(209,156,42,.35), transparent 35%),
        linear-gradient(135deg, #2b0730 0%, #1b1020 55%, #c4782c 100%);
}

.content-placeholder-large{
    min-height:420px;
}

.content-placeholder span{
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#ecd5a7;
}

.content-placeholder strong{
    font-size:1.15rem;
    font-weight:900;
    color:#fff;
}

.content-placeholder small{
    max-width:360px;
    font-size:.8rem;
    line-height:1.6;
    color:rgba(255,255,255,.78);
}

.rank-item h3{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    line-height:1.45;
}

.ranking-card h3{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}


.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:18px 0 26px;
  color:#777;
  font-size:14px;
}

.article-body-card{
  padding:34px;
}

.article-content{
  color:#222;
  font-size:18px;
  line-height:1.85;
}

.article-content p{
  margin-bottom:22px;
}

.article-content h2,
.article-content h3,
.article-content h4{
  margin:34px 0 14px;
  color:#1f1f1f;
  line-height:1.25;
}

.article-content img{
  width:100%;
  border-radius:18px;
  margin:28px 0;
}

.article-content blockquote{
  margin:30px 0;
  padding:24px 28px;
  border-left:4px solid #c4782c;
  background:#fff7ec;
  font-size:22px;
  font-weight:600;
}

@media(max-width: 900px){
  .article-body-card{
    padding:24px;
  }

  .article-content{
    font-size:16px;
  }
}


.article-show-hero{
  margin-top:30px;
}

.article-show-hero img{
  min-height:420px;
  object-fit:cover;
}

.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:20px;
  color:#777;
  font-size:14px;
}

.article-show-section{
  padding-top:40px;
}

.article-show-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:34px;
  align-items:start;
}

.article-body-card{
  padding:34px;
}

.article-content{
  color:#222;
  font-size:18px;
  line-height:1.85;
}

.article-content p{
  margin-bottom:22px;
}

.article-content h2,
.article-content h3,
.article-content h4{
  margin:34px 0 14px;
  color:#1f1f1f;
  line-height:1.25;
}

.article-content img{
  width:100%;
  border-radius:18px;
  margin:28px 0;
}

.article-content blockquote{
  margin:30px 0;
  padding:24px 28px;
  border-left:4px solid #c4782c;
  background:#fff7ec;
  font-size:22px;
  font-weight:600;
}

.article-sidebar{
  position:sticky;
  top:110px;
}

@media(max-width: 980px){
  .article-show-layout{
    grid-template-columns:1fr;
  }

  .article-sidebar{
    position:relative;
    top:auto;
  }

  .article-show-hero img{
    min-height:280px;
  }
}

@media(max-width: 640px){
  .article-body-card{
    padding:24px;
  }

  .article-content{
    font-size:16px;
  }
}


.interview-profile-show{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:42px;
  align-items:center;
  background:#fff;
  border-radius:28px;
  padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.interview-profile-image img{
  width:100%;
  height:480px;
  object-fit:cover;
  border-radius:24px;
}

.interview-profile-copy span{
  display:inline-block;
  color:#c4782c;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:14px;
}

.interview-profile-copy h1{
  font-size:clamp(34px, 5vw, 62px);
  line-height:1.02;
  margin-bottom:18px;
}

.interview-profile-copy h4{
  color:#c4782c;
  font-size:18px;
  margin-bottom:18px;
}

.interview-profile-copy p{
  color:#555;
  font-size:18px;
  line-height:1.75;
}

.interview-body-card{
  display:block;
  padding:34px;
}

.interview-qa h2,
.interview-qa h3{
  color:#c4782c;
}

.interview-qa p{
  line-height:1.9;
}

@media(max-width: 900px){
  .interview-profile-show{
    grid-template-columns:1fr;
  }

  .interview-profile-image img{
    height:360px;
  }
}

.video-watch-section{
  padding-top:70px;
}

.video-watch-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:34px;
  align-items:start;
}

.video-watch-main{
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.video-player-box{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#050505;
}

.video-player-box iframe,
.video-player-box video{
  width:100%;
  height:100%;
  border:0;
  display:block;
  object-fit:cover;
}

.video-watch-copy{
  padding:34px;
}

.video-watch-copy > span{
  display:inline-block;
  margin-bottom:14px;
  color:#c4782c;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.video-watch-copy h1{
  font-size:clamp(30px, 4vw, 54px);
  line-height:1.08;
  margin-bottom:18px;
}

.video-watch-copy p{
  color:#555;
  font-size:18px;
  line-height:1.75;
}

.video-watch-sidebar{
  position:sticky;
  top:110px;
}

.video-watch-sidebar a{
  display:block;
  margin-top:12px;
}

@media(max-width: 980px){
  .video-watch-layout{
    grid-template-columns:1fr;
  }

  .video-watch-sidebar{
    position:relative;
    top:auto;
  }
}

@media(max-width: 640px){
  .video-watch-copy{
    padding:24px;
  }

  .video-watch-copy p{
    font-size:16px;
  }
}


.event-show-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 460px;
  gap:34px;
  align-items:stretch;
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.event-show-hero img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}

.event-show-copy{
  padding:40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.event-show-copy > span{
  display:inline-block;
  width:max-content;
  color:#c4782c;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:18px;
}

.event-show-copy h1{
  font-size:clamp(34px, 5vw, 58px);
  line-height:1.05;
  margin-bottom:18px;
}

.event-show-copy p{
  color:#555;
  font-size:18px;
  line-height:1.75;
}

.event-show-meta{
  display:grid;
  gap:14px;
  margin:28px 0;
}

.event-show-meta div{
  padding:16px 18px;
  border-radius:18px;
  background:#f7f2eb;
}

.event-show-meta strong{
  display:block;
  color:#111;
  margin-bottom:4px;
}

.event-show-meta span{
  color:#666;
}

.event-show-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.event-show-actions a{
  padding:13px 18px;
  border-radius:999px;
  background:#c4782c;
  color:#fff;
  font-weight:700;
}

.event-show-actions a:nth-child(2){
  background:#111;
}

.event-show-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:34px;
  align-items:start;
}

.event-description-card{
  padding:34px;
}

@media(max-width: 980px){
  .event-show-hero,
  .event-show-layout{
    grid-template-columns:1fr;
  }

  .event-show-hero img{
    min-height:320px;
  }
}

@media(max-width: 640px){
  .event-show-copy,
  .event-description-card{
    padding:24px;
  }
}


.magazine-show-hero{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:44px;
  align-items:center;
  background:#fff;
  border-radius:32px;
  padding:34px;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.magazine-show-cover img{
  width:100%;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.magazine-show-copy h1{
  font-size:clamp(36px, 5vw, 68px);
  line-height:1.02;
  margin:14px 0 18px;
}

.magazine-show-copy p{
  color:#555;
  font-size:18px;
  line-height:1.75;
  max-width:760px;
}

.magazine-show-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.mag-btn.alt{
  background:#111;
}

.magazine-show-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:34px;
  align-items:start;
}

.magazine-description-card{
  background:#fff;
  border-radius:26px;
  padding:34px;
  box-shadow:0 20px 60px rgba(0,0,0,.06);
}

.magazine-side-panel{
  position:sticky;
  top:110px;
}

.mag-ad-card.side{
  display:block;
}

.magazine-reader-section{
  padding:60px 0;
  background:#161616;
  min-height:80vh;
}

.reader-toolbar{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  color:#fff;
  margin-bottom:28px;
}

.reader-toolbar span{
  color:#d19c2a;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.reader-toolbar h1{
  font-size:clamp(26px, 4vw, 44px);
}

.reader-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.reader-actions a{
  padding:12px 16px;
  border-radius:999px;
  background:#c4782c;
  color:#fff;
  font-weight:700;
}

.reader-actions a:first-child{
  background:#333;
}

.magazine-page-viewer{
  display:grid;
  gap:24px;
  max-width:980px;
  margin:0 auto;
}

.reader-page{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}

.reader-page img{
  width:100%;
  display:block;
}

.reader-page-text{
  padding:40px;
  color:#222;
  line-height:1.8;
}

.reader-page-text span{
  display:inline-block;
  color:#c4782c;
  font-weight:800;
  margin-bottom:18px;
}

.pdf-reader-frame{
  width:100%;
  height:82vh;
  background:#000;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}

.pdf-reader-frame iframe{
  width:100%;
  height:100%;
  border:0;
}

.magazine-empty-reader{
  text-align:center;
  color:#fff;
  max-width:520px;
  margin:60px auto;
}

.magazine-empty-reader img{
  width:260px;
  border-radius:20px;
  margin-bottom:24px;
}

@media(max-width: 980px){
  .magazine-show-hero,
  .magazine-show-layout{
    grid-template-columns:1fr;
  }

  .magazine-side-panel{
    position:relative;
    top:auto;
  }

  .reader-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width: 640px){
  .magazine-show-hero,
  .magazine-description-card{
    padding:24px;
  }

  .magazine-reader-section{
    padding:36px 0;
  }
}


.report-show-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 460px;
  gap:34px;
  align-items:stretch;
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.report-show-hero img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}

.report-show-copy{
  padding:40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.report-show-copy > span{
  color:#c4782c;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:18px;
}

.report-show-copy h1{
  font-size:clamp(34px, 5vw, 58px);
  line-height:1.05;
  margin-bottom:18px;
}

.report-show-copy p{
  color:#555;
  font-size:18px;
  line-height:1.75;
}

.report-show-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.report-show-actions a{
  padding:13px 18px;
  border-radius:999px;
  background:#c4782c;
  color:#fff;
  font-weight:700;
}

.report-show-actions a:nth-child(2){
  background:#111;
}

.report-show-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:34px;
  align-items:start;
}

.report-description-card{
  background:#fff;
  border-radius:26px;
  padding:34px;
  box-shadow:0 20px 60px rgba(0,0,0,.06);
}

.reports-side-panel{
  position:sticky;
  top:110px;
}

.wide-report-ad.side{
  display:block;
}

.wide-report-ad.side a{
  display:block;
  margin-top:12px;
}

@media(max-width: 980px){
  .report-show-hero,
  .report-show-layout{
    grid-template-columns:1fr;
  }

  .report-show-hero img{
    min-height:320px;
  }

  .reports-side-panel{
    position:relative;
    top:auto;
  }
}

@media(max-width: 640px){
  .report-show-copy,
  .report-description-card{
    padding:24px;
  }
}


/* ===============================
   ADFAX LATEST EDITION POPUP
================================ */
.adfax-edition-modal {
  position: fixed;
  inset: 0;
  background: rgba(13, 9, 18, 0.78);
  backdrop-filter: blur(8px);
  z-index: 9998;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.adfax-edition-modal.show {
  display: flex;
}

.adfax-edition-card {
  width: min(920px, 100%);
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 380px 1fr;
  position: relative;
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
  animation: editionPop .35s ease;
}

@keyframes editionPop {
  from {
    transform: translateY(24px) scale(.96);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

.adfax-edition-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: #2b0730;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  z-index: 2;
}

.edition-cover {
  background: linear-gradient(135deg, #2b0730, #c4782c);
  padding: 34px;
}

.edition-cover img {
  width: 100%;
  height: 100%;
  max-height: 460px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0,0,0,.3);
}

.edition-content {
  padding: 70px 54px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.edition-content span {
  color: #c4782c;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
}

.edition-content h2 {
  margin: 12px 0 16px;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1;
  color: #2b0730;
}

.edition-content p {
  color: #555;
  font-size: 16px;
  line-height: 1.7;
}

.edition-actions {
  display: flex;
  gap: 14px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.btn-read-now,
.btn-later {
  border: none;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}

.btn-read-now {
  background: linear-gradient(135deg, #c4782c, #d19c2a);
  color: #fff;
}

.btn-later {
  background: #f2eadf;
  color: #2b0730;
}

/* ===============================
   ADFAX SIMPLE CHATBOT
================================ */
.adfax-chatbot {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 9999;
}

.chatbot-toggle {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #2b0730, #c4782c);
  color: #fff;
  font-size: 26px;
  cursor: pointer;
  box-shadow: 0 15px 35px rgba(0,0,0,.28);
}

.chatbot-window {
  width: 340px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 22px 65px rgba(0,0,0,.25);
  display: none;
  position: absolute;
  right: 0;
  bottom: 78px;
}

.chatbot-window.show {
  display: block;
}

.chatbot-header {
  background: linear-gradient(135deg, #2b0730, #c4782c);
  color: #fff;
  padding: 16px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chatbot-header span {
  display: block;
  font-size: 12px;
  opacity: .85;
}

.chatbot-header button {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
}

.chatbot-body {
  padding: 16px;
  max-height: 320px;
  overflow-y: auto;
  background: #faf7f2;
}

.bot-message,
.user-message {
  padding: 11px 14px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
}

.bot-message {
  background: #fff;
  color: #333;
  border-top-left-radius: 4px;
}

.user-message {
  background: #2b0730;
  color: #fff;
  margin-left: auto;
  width: fit-content;
  max-width: 85%;
  border-top-right-radius: 4px;
}

.quick-questions {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.quick-questions button {
  text-align: left;
  border: 1px solid #ead8bd;
  background: #fff;
  color: #2b0730;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;
}

.chatbot-form {
  display: flex;
  border-top: 1px solid #eee;
  background: #fff;
}

.chatbot-form input {
  flex: 1;
  border: none;
  padding: 14px;
  outline: none;
}

.chatbot-form button {
  border: none;
  background: #c4782c;
  color: #fff;
  padding: 0 16px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 768px) {
  .adfax-edition-card {
    grid-template-columns: 1fr;
    max-height: 92vh;
    overflow-y: auto;
  }

  .edition-cover {
    padding: 24px;
  }

  .edition-cover img {
    max-height: 320px;
  }

  .edition-content {
    padding: 34px 26px;
  }

  .adfax-chatbot {
    right: 16px;
    bottom: 16px;
  }
}


/* =====================================================
   ADFAX ADVERTISE PAGE
===================================================== */
.advertise-page {
  background: #fff;
  color: #211827;
}

.ad-hero {
  background:
    radial-gradient(circle at top right, rgba(196,120,44,.18), transparent 36%),
    linear-gradient(135deg, #2b0730 0%, #16081b 58%, #0e0712 100%);
  color: #fff;
  padding: 90px 0;
}

.ad-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 48px;
  align-items: center;
}

.ad-kicker {
  display: inline-flex;
  color: #d19c2a;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.ad-hero-copy h1 {
  font-size: clamp(38px, 5vw, 72px);
  line-height: .98;
  margin: 0 0 22px;
  max-width: 780px;
}

.ad-hero-copy p {
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.8;
  max-width: 680px;
}

.ad-actions {
  display: flex;
  gap: 14px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.ad-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition: .25s ease;
}

.ad-btn.primary {
  background: linear-gradient(135deg, #c4782c, #d19c2a);
  color: #fff;
}

.ad-btn.outline {
  border: 1px solid rgba(196,120,44,.5);
  color: #2b0730;
  background: #fff;
}

.ad-hero .ad-btn.outline {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.35);
}

.ad-btn.dark {
  background: #2b0730;
  color: #fff;
}

.ad-btn:hover {
  transform: translateY(-2px);
}

.ad-hero-visual img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 30px 70px rgba(0,0,0,.38);
}

.ad-portfolio {
  padding: 70px 0 30px;
}

.ad-intro-grid {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 44px;
  align-items: start;
}

.ad-intro-grid h2,
.ad-strategy-copy h2,
.ad-pr-copy h2 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.05;
  margin: 0;
  color: #2b0730;
}

.ad-intro-grid p,
.ad-pr-copy p,
.ad-strategy-copy li span,
.ad-clients p {
  color: #5e5365;
  line-height: 1.8;
}

.ad-solutions {
  padding: 40px 0 80px;
}

.section-head h2 {
  font-size: clamp(28px, 4vw, 46px);
  color: #2b0730;
  margin: 0 0 28px;
}

.section-head h2 span {
  color: #8b43d6;
}

.section-head.center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px;
}

.ad-solutions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.ad-solution-card {
  background: #fff;
  border: 1px solid #eee5d8;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(43,7,48,.06);
  transition: .25s ease;
  position: relative;
}

.ad-solution-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, #2b0730, #c4782c, #d19c2a);
}

.ad-solution-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 46px rgba(43,7,48,.12);
}

.ad-solution-card img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.ad-solution-card div {
  padding: 24px;
}

.ad-solution-card h3 {
  margin: 0 0 12px;
  color: #2b0730;
  font-size: 21px;
}

.ad-solution-card p {
  color: #5e5365;
  line-height: 1.7;
  min-height: 112px;
}

.ad-solution-card a {
  display: inline-flex;
  margin-top: 10px;
  color: #2b0730;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 2px solid #c4782c;
}

.ad-pr {
  padding: 0;
  background: #f8f3ed;
}

.ad-pr-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 620px;
}

.ad-pr-copy {
  padding: 80px max(30px, calc((100vw - 1180px) / 2)) 80px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ad-pr-copy ul,
.ad-strategy-copy ul {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  gap: 12px;
}

.ad-pr-copy li {
  color: #44334d;
  line-height: 1.6;
  padding-left: 26px;
  position: relative;
}

.ad-pr-copy li::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #c4782c;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 10px;
}

.ad-pr-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ad-strategy {
  padding: 90px 0;
}

.ad-strategy-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 54px;
  align-items: center;
}

.ad-strategy-copy li {
  border-left: 3px solid #d19c2a;
  padding: 14px 0 14px 18px;
}

.ad-strategy-copy li strong {
  display: block;
  color: #2b0730;
  margin-bottom: 5px;
}

.ad-stats-card {
  background: #f7f0e8;
  padding: 42px;
  border-radius: 24px;
}

.ad-pie {
  width: 230px;
  height: 230px;
  margin: 0 auto 28px;
  border-radius: 50%;
  background: conic-gradient(
    #2b0730 0 28%,
    #8b43d6 28% 52%,
    #c4782c 52% 78%,
    #16b8c7 78% 100%
  );
}

.ad-legend {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  margin-bottom: 28px;
}

.ad-legend span {
  font-size: 13px;
  color: #44334d;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ad-legend i {
  width: 12px;
  height: 12px;
  display: inline-flex;
  background: #2b0730;
}

.ad-legend span:nth-child(2) i { background: #8b43d6; }
.ad-legend span:nth-child(3) i { background: #c4782c; }
.ad-legend span:nth-child(4) i { background: #16b8c7; }

.ad-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  text-align: center;
}

.ad-stats strong {
  display: block;
  color: #8b43d6;
  font-size: 34px;
  line-height: 1;
}

.ad-stats span {
  color: #5e5365;
  font-size: 13px;
}

.ad-clients {
  padding: 70px 0;
  background: #fff;
}

.ad-client-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin-top: 30px;
}

.ad-client-row span {
  border: 1px solid #eee5d8;
  padding: 14px 22px;
  border-radius: 999px;
  color: #514258;
  background: #fff;
  box-shadow: 0 10px 24px rgba(43,7,48,.05);
  font-weight: 700;
}

.ad-contact {
  padding: 90px 0;
  background: #faf7f2;
}

.ad-form {
  background: #fff;
  border: 1px solid #eee5d8;
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 20px 55px rgba(43,7,48,.08);
}

.ad-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.ad-form label,
.ad-full-field {
  display: grid;
  gap: 8px;
  color: #2b0730;
  font-weight: 800;
  font-size: 14px;
}

.ad-form sup {
  color: #c4782c;
}

.ad-form input,
.ad-form select,
.ad-form textarea {
  width: 100%;
  border: 1px solid #e6d8c8;
  border-radius: 12px;
  padding: 14px 15px;
  font: inherit;
  outline: none;
  background: #fff;
  color: #2b0730;
}

.ad-form input:focus,
.ad-form select:focus,
.ad-form textarea:focus {
  border-color: #c4782c;
  box-shadow: 0 0 0 4px rgba(196,120,44,.12);
}

.ad-full-field {
  margin-top: 22px;
}

.ad-form button {
  margin-top: 24px;
  border: none;
  background: linear-gradient(135deg, #2b0730, #c4782c);
  color: #fff;
  padding: 14px 26px;
  border-radius: 999px;
  font-weight: 900;
  cursor: pointer;
}

.ad-alert-success {
  background: #eef8ef;
  color: #176b2c;
  border: 1px solid #bfe8c7;
  padding: 14px 18px;
  border-radius: 14px;
  margin-bottom: 22px;
  font-weight: 700;
}

.ad-success-modal {
  position: fixed;
  inset: 0;
  background: rgba(13, 9, 18, .72);
  backdrop-filter: blur(7px);
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.ad-success-modal.show {
  display: flex;
}

.ad-success-card {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 24px;
  padding: 34px 28px;
  text-align: center;
  position: relative;
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
  animation: adSuccessPop .3s ease;
}

@keyframes adSuccessPop {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.ad-success-close {
  position: absolute;
  top: 14px;
  right: 16px;
  border: none;
  background: #f3eadf;
  color: #2b0730;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 22px;
  cursor: pointer;
}

.ad-success-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2b0730, #c4782c);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 38px;
  font-weight: 900;
}

.ad-success-card h3 {
  margin: 0 0 10px;
  color: #2b0730;
  font-size: 26px;
}

.ad-success-card p {
  color: #5e5365;
  line-height: 1.7;
  margin-bottom: 22px;
}

.ad-success-btn {
  border: none;
  background: linear-gradient(135deg, #c4782c, #d19c2a);
  color: #fff;
  padding: 13px 24px;
  border-radius: 999px;
  font-weight: 900;
  cursor: pointer;
}

@media (max-width: 992px) {
  .ad-hero-grid,
  .ad-intro-grid,
  .ad-pr-grid,
  .ad-strategy-grid {
    grid-template-columns: 1fr;
  }

  .ad-solutions-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ad-pr-copy {
    padding: 60px 24px;
  }

  .ad-pr-image img {
    min-height: 360px;
  }
}

@media (max-width: 640px) {
  .ad-hero {
    padding: 70px 0;
  }

  .ad-hero-visual img {
    height: 320px;
    border-radius: 20px;
  }

  .ad-solutions-grid,
  .ad-form-grid,
  .ad-stats,
  .ad-legend {
    grid-template-columns: 1fr;
  }

  .ad-solution-card p {
    min-height: auto;
  }

  .ad-stats-card,
  .ad-form {
    padding: 24px;
  }

  .ad-pie {
    width: 190px;
    height: 190px;
  }
}


/* =====================================================
   INSTITUTION REQUEST PAGE
===================================================== */
.institution-request-page {
  background: #fff;
  color: #211827;
}

.institution-hero {
  padding: 90px 0;
  background:
    radial-gradient(circle at top right, rgba(209,156,42,.2), transparent 38%),
    linear-gradient(135deg, #2b0730 0%, #16081b 60%, #0e0712 100%);
  color: #fff;
}

.institution-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 48px;
  align-items: center;
}

.institution-copy h1 {
  font-size: clamp(38px, 5vw, 70px);
  line-height: .98;
  margin: 0 0 22px;
}

.institution-copy p {
  color: rgba(255,255,255,.84);
  font-size: 17px;
  line-height: 1.8;
  max-width: 680px;
}

.institution-visual img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 30px 70px rgba(0,0,0,.38);
}

.institution-benefits {
  padding: 80px 0;
  background: #fff;
}

.institution-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.institution-benefit-grid article {
  background: #faf7f2;
  border: 1px solid #eee5d8;
  padding: 28px;
  border-radius: 20px;
  min-height: 210px;
  box-shadow: 0 12px 32px rgba(43,7,48,.05);
}

.institution-benefit-grid h3 {
  color: #2b0730;
  margin: 0 0 12px;
}

.institution-benefit-grid p {
  color: #5e5365;
  line-height: 1.7;
}

.institution-form-section {
  padding: 90px 0;
  background: #faf7f2;
}

.form-error {
  color: #b42318;
  font-weight: 700;
  font-size: 12px;
}

@media (max-width: 992px) {
  .institution-hero-grid,
  .institution-benefit-grid {
    grid-template-columns: 1fr 1fr;
  }

  .institution-hero-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .institution-hero {
    padding: 70px 0;
  }

  .institution-visual img {
    height: 320px;
    border-radius: 20px;
  }

  .institution-benefit-grid {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   ADFAX MODERN MAGAZINE READER
===================================================== */
.adfax-reader-page {
  background: #080b12;
  color: #fff;
  min-height: 100vh;
}

.adfax-reader-shell {
  padding: 28px;
}

.adfax-reader-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 24px;
}

.adfax-reader-topbar span {
  display: inline-flex;
  margin-top: 8px;
  color: #d19c2a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.adfax-reader-topbar h1 {
  margin: 6px 0 0;
  font-size: clamp(20px, 3vw, 34px);
  line-height: 1.1;
}

.reader-back {
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  opacity: .8;
}

.reader-tools {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.reader-tools button,
.reader-tools a {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
}

#readerZoomLabel {
  min-width: 54px;
  text-align: center;
  color: #d19c2a;
  font-weight: 900;
}

.reader-stage {
  position: relative;
  min-height: calc(100vh - 245px);
  display: grid;
  grid-template-columns: 60px 1fr 60px;
  gap: 18px;
  align-items: center;
}

.reader-book-wrap {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.reader-book {
  transform-origin: center center;
  transition: transform .25s ease;
  perspective: 1800px;
}

.reader-sheet {
  width: min(720px, 80vw);
  aspect-ratio: 1 / 1.414;
  height: auto;
  min-height: 0;

  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 35px 100px rgba(0,0,0,.55);
  display: grid;
  place-items: center;
  animation: readerFlip .35s ease;
}

@keyframes readerFlip {
  from {
    opacity: .4;
    transform: rotateY(-8deg) scale(.98);
  }
  to {
    opacity: 1;
    transform: rotateY(0) scale(1);
  }
}

.reader-sheet img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.reader-text-page {
  color: #111827;
  padding: 44px;
  font-size: 17px;
  line-height: 1.8;
  overflow-y: auto;
  height: 100%;
  width: 100%;
}

.reader-watermark {
  position: absolute;
  bottom: 20px;
  right: 30px;
  color: rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  pointer-events: none;
}

.reader-nav {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #c4782c, #d19c2a);
  color: #fff;
  font-size: 42px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 15px 35px rgba(0,0,0,.35);
}

.reader-nav:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.reader-progress {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 18px;
  align-items: center;
  margin: 20px auto 16px;
  max-width: 980px;
}

.reader-progress span {
  color: #d19c2a;
  font-size: 13px;
  font-weight: 900;
}

.reader-progress input {
  width: 100%;
  accent-color: #d19c2a;
}

.reader-thumbs {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 12px 0 4px;
  max-width: 1100px;
  margin: 0 auto;
}

.reader-thumb {
  width: 74px;
  height: 96px;
  flex: 0 0 auto;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  cursor: pointer;
  opacity: .65;
}

.reader-thumb.active {
  border-color: #d19c2a;
  opacity: 1;
}

.reader-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reader-thumb span {
  color: #111;
  font-weight: 900;
}

.reader-pdf-fallback iframe {
  width: 100%;
  height: calc(100vh - 160px);
  border: none;
  border-radius: 18px;
  background: #fff;
}

.reader-empty {
  text-align: center;
  padding: 60px 20px;
}

.reader-empty img {
  width: min(300px, 80vw);
  border-radius: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .adfax-reader-shell {
    padding: 18px;
  }

  .adfax-reader-topbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .reader-stage {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .reader-nav {
    position: fixed;
    z-index: 20;
    top: 50%;
    transform: translateY(-50%);
  }

  .reader-nav.prev {
    left: 10px;
  }

  .reader-nav.next {
    right: 10px;
  }

  .reader-sheet {
    width: 100%;
    height: calc(100vh - 250px);
    min-height: 520px;
  }

  .reader-progress {
    grid-template-columns: 1fr;
  }

  .reader-watermark {
    display: none;
  }
}

.reader-book.reader-spread {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 560px));
  gap: 18px;
  align-items: center;
  justify-content: center;
}

.reader-book.reader-single {
  display: grid;
  grid-template-columns: minmax(280px, 720px);
  align-items: center;
  justify-content: center;
}

.reader-book.reader-spread .reader-sheet {
  width: min(560px, 39vw);
}

.reader-book.reader-spread .reader-sheet:nth-child(1) {
  border-radius: 14px 6px 6px 14px;
}

.reader-book.reader-spread .reader-sheet:nth-child(2) {
  border-radius: 6px 14px 14px 6px;
}

.reader-book.reader-spread .reader-sheet:nth-child(1)::after,
.reader-book.reader-spread .reader-sheet:nth-child(2)::before {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 28px;
  pointer-events: none;
}

.reader-book.reader-spread .reader-sheet:nth-child(1)::after {
  right: 0;
  background: linear-gradient(to left, rgba(0,0,0,.16), transparent);
}

.reader-book.reader-spread .reader-sheet:nth-child(2)::before {
  left: 0;
  background: linear-gradient(to right, rgba(0,0,0,.16), transparent);
}

.reader-sheet {
  position: relative;
}

.reader-mode-toggle {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
  cursor: pointer;
}

@media (max-width: 900px) {
  .reader-book.reader-spread,
  .reader-book.reader-single {
    grid-template-columns: 1fr;
  }

  .reader-book.reader-spread .reader-sheet,
  .reader-book.reader-single .reader-sheet {
    width: 100%;
  }
}

.reader-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.reader-badges span,
.reader-locked-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(209,156,42,.14);
  color: #f6d77a;
  border: 1px solid rgba(209,156,42,.24);
  padding: 7px 11px;
  font-size: 11px;
  font-weight: 900;
}

.reader-sheet.loading {
  opacity: .55;
  filter: blur(1px);
}

.reader-sheet img {
  user-select: none;
  -webkit-user-drag: none;
}

.reader-locked-page {
  background:
    radial-gradient(circle at top right, rgba(209,156,42,.24), transparent 42%),
    linear-gradient(135deg, #2b0730, #07111F);
  color: #fff;
}

.reader-lock-content {
  padding: 44px;
  text-align: center;
  max-width: 480px;
}

.reader-lock-content span {
  display: inline-flex;
  margin-bottom: 14px;
  color: #d19c2a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.reader-lock-content h2 {
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.05;
  margin: 0 0 16px;
}

.reader-lock-content p {
  color: rgba(255,255,255,.78);
  line-height: 1.7;
}

.reader-lock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 24px;
}

.reader-lock-actions a {
  border-radius: 999px;
  padding: 11px 16px;
  background: #d19c2a;
  color: #2b0730;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.reader-lock-actions a:first-child {
  background: rgba(255,255,255,.12);
  color: #fff;
}