/* Knup magazine homepage — dense, live, multi-column */

.mag-body{
  background:#080808;
  color:#ececec;
  font-size:13px;
  line-height:1.45;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:24px 24px;
}

.mag-body .site-header{
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.12);
  box-shadow:0 8px 26px rgba(0,0,0,.06);
}

.mag-shell{
  --mag-max:1360px;
  --mag-gap:10px;
  --mag-radius:8px;
  --mag-border:rgba(255,255,255,.08);
  --mag-muted:#9a9a9a;
  --mag-label:10px;
  max-width:var(--mag-max);
  margin:0 auto;
  padding:0 14px 48px;
}

/* TICKERS */

.mag-ticker{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  margin-top:8px;
  border-radius:var(--mag-radius);
  overflow:hidden;
  border:1px solid var(--mag-border);
}

.mag-ticker--news{
  background:linear-gradient(90deg,#120000 0%,#1a0505 100%);
  border-color:rgba(230,9,16,.35);
}

.mag-ticker--sports{
  margin-top:10px;
  background:#0f0f0f;
}

.mag-ticker--whats-new{
  grid-template-columns:1fr;
  gap:0;
  margin-bottom:12px;
}

.mag-ticker--whats-new .mag-ticker-viewport{
  mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent);
}

.mag-ticker--whats-new .mag-ticker-item strong{
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.mag-ticker--inset{
  margin-bottom:10px;
}

/* TOP ROW — services, ventures, subscribe */

.mag-top-row{
  display:grid;
  grid-template-columns:1.05fr .85fr 1fr;
  gap:10px;
  margin-top:12px;
  margin-bottom:14px;
  align-items:stretch;
}

.mag-services-feature{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:100%;
  padding:14px 16px;
  border-radius:calc(var(--mag-radius) + 2px);
  border:1px solid rgba(230,9,16,.35);
  overflow:hidden;
  background:#111;
  transition:border-color .18s ease,transform .18s ease;
}

.mag-services-feature::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 45%,rgba(230,9,16,.22) 100%),var(--mag-img) center/cover no-repeat;
  z-index:0;
}

.mag-services-feature:hover{
  border-color:rgba(230,9,16,.65);
  transform:translateY(-2px);
}

.mag-services-feature-copy{
  position:relative;
  z-index:1;
}

.mag-services-feature-copy h2{
  margin:6px 0 8px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:1.05rem;
  line-height:1.08;
  letter-spacing:-.03em;
  text-transform:uppercase;
  color:#fff;
}

.mag-services-feature-copy p{
  margin:0 0 10px;
  font-size:11px;
  color:#ddd;
  line-height:1.4;
}

.mag-services-feature-copy em{
  font-style:normal;
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

.mag-services-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}

.mag-services-action{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fff;
  transition:border-color .15s ease,background .15s ease;
}

.mag-services-action:hover{
  border-color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.08);
}

.mag-services-action--primary{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

.mag-services-action--primary:hover{
  background:var(--accent-soft);
  border-color:var(--accent-soft);
}

.mag-ventures-panel,
.mag-about-panel{
  padding:12px;
  border:1px solid var(--mag-border);
  border-radius:calc(var(--mag-radius) + 2px);
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.01) 100%);
}

.mag-about-panel{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  transition:border-color .18s ease,transform .18s ease;
}

.mag-about-panel:hover{
  border-color:rgba(230,9,16,.45);
  transform:translateY(-2px);
}

.mag-about-image{
  width:88px;
  height:88px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid rgba(230,9,16,.45);
  flex-shrink:0;
}

.mag-about-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.mag-about-copy h2{
  margin:4px 0 6px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:13px;
  letter-spacing:-.02em;
  text-transform:uppercase;
  color:#fff;
}

.mag-about-copy p{
  margin:0 0 8px;
  font-size:10px;
  line-height:1.4;
  color:var(--mag-muted);
}

.mag-about-copy em{
  font-style:normal;
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

.mag-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:10px;
}

.mag-panel-head a{
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#ddd;
}

.mag-panel-head a:hover{color:var(--accent-soft)}

.mag-venture-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}

.mag-venture-grid a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  padding:10px 12px;
  border-radius:6px;
  background:#fff;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .15s ease;
}

.mag-venture-grid a:hover{transform:translateY(-2px)}

.mag-venture-grid img{
  max-width:100%;
  max-height:42px;
  width:auto;
  object-fit:contain;
}

/* Subscribe in sidebar — sit on the dark rail, not a light card */
.mag-subscribe-sidebar .knup-subscribe--sidebar{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#eee;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .sidebar-title{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:4px;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-lede{
  margin:0 0 10px;
  font-size:10px;
  line-height:1.4;
  color:#c4c4c4;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-form{
  gap:10px;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-fields{
  grid-template-columns:1fr;
  gap:8px;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-label,
.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-topics legend{
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  color:#fff;
  opacity:1;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-field input{
  padding:8px 10px;
  font-size:12px;
  border-radius:6px;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-topic-list{
  gap:5px;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-topic{
  padding:5px 8px;
  font-size:10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:#eee;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-topic:has(input:checked){
  background:rgba(230,9,16,.22);
  border-color:rgba(230,9,16,.5);
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-submit{
  width:100%;
  justify-self:stretch;
  min-height:38px;
  font-size:11px;
  padding:0 14px;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-message{
  font-size:11px;
  padding:8px 10px;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-message.is-success{
  background:rgba(34,120,70,.2);
  border-color:rgba(34,120,70,.4);
  color:#b8f0cc;
}

.mag-subscribe-sidebar .knup-subscribe--sidebar .knup-subscribe-message.is-error{
  background:rgba(230,9,16,.15);
  border-color:rgba(230,9,16,.35);
  color:#ffb4b7;
}

/* Licensed Realtor sidebar link */
.mag-realtor-link{
  display:block;
  transition:border-color .15s ease,background .15s ease;
}

.mag-realtor-link:hover{
  border-color:rgba(230,9,16,.4);
  background:rgba(230,9,16,.06);
}

.mag-realtor-link-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}

.mag-realtor-link-head img{
  max-width:120px;
  max-height:32px;
  object-fit:contain;
  filter:brightness(1.05);
}

.mag-realtor-link strong{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#fff;
  margin-bottom:4px;
}

.mag-realtor-link p{
  margin:0 0 8px;
  font-size:10px;
  line-height:1.4;
  color:var(--mag-muted);
}

.mag-realtor-link em{
  font-style:normal;
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

.mag-body .footer-cta{
  display:none;
}

.mag-ticker-label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:var(--mag-label);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  white-space:nowrap;
  border-right:1px solid var(--mag-border);
}

.mag-live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 0 rgba(230,9,16,.7);
  animation:magPulse 2s ease infinite;
}

@keyframes magPulse{
  0%{box-shadow:0 0 0 0 rgba(230,9,16,.55)}
  70%{box-shadow:0 0 0 8px rgba(230,9,16,0)}
  100%{box-shadow:0 0 0 0 rgba(230,9,16,0)}
}

.mag-ticker-viewport{
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}

.mag-ticker-track{
  display:flex;
  align-items:center;
  gap:28px;
  width:max-content;
  padding:8px 0;
  animation:magTicker 56s linear infinite;
}

.mag-ticker-track--slow{
  animation-duration:110s;
}

.mag-ticker:hover .mag-ticker-track,
.mag-ticker:focus-within .mag-ticker-track{
  animation-play-state:paused;
}

@keyframes magTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.mag-ticker-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#f2f2f2;
  font-size:12px;
  white-space:nowrap;
  transition:color .15s ease;
}

.mag-ticker-item:hover{color:#fff}

.mag-ticker-item time{
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  color:var(--accent-soft);
  letter-spacing:.02em;
}

.mag-ticker-item--sports strong{
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.mag-ticker-item--sports span{
  color:var(--mag-muted);
  font-size:11px;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mag-league-pill{
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(230,9,16,.18);
  border:1px solid rgba(230,9,16,.45);
  color:#ffb4b7;
  font-family:Montserrat,Arial,sans-serif;
  font-size:9px;
  font-weight:800;
  font-style:normal;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.mag-ticker-more{
  padding:8px 12px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#fff;
  white-space:nowrap;
  border-left:1px solid var(--mag-border);
  transition:background .15s ease;
}

.mag-ticker-more:hover{background:rgba(230,9,16,.22)}

/* MASTHEAD */

.mag-masthead{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:18px;
  padding:22px 0 16px;
  border-bottom:1px solid var(--mag-border);
  margin-bottom:14px;
}

.mag-masthead-kicker{
  margin:0 0 6px;
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-masthead-title{
  margin:0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(1.55rem,2.8vw,2.35rem);
  line-height:1.02;
  letter-spacing:-.04em;
  text-transform:uppercase;
  color:#fff;
}

.mag-masthead-title span{
  color:var(--accent);
}

.mag-masthead-dek{
  margin:10px 0 0;
  max-width:520px;
  font-size:12px;
  color:#bdbdbd;
}

.mag-masthead-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.mag-clock{
  font-family:"IBM Plex Mono",monospace;
  font-size:11px;
  color:#d6d6d6;
  padding:8px 10px;
  border:1px solid var(--mag-border);
  border-radius:999px;
  background:rgba(255,255,255,.03);
}

.mag-stat-row{
  display:flex;
  gap:8px;
}

.mag-stat-row a{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:72px;
  padding:8px 10px;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:rgba(255,255,255,.02);
  transition:border-color .15s ease,transform .15s ease;
}

.mag-stat-row a:hover{
  border-color:rgba(230,9,16,.55);
  transform:translateY(-2px);
}

.mag-stat-row strong{
  font-family:Montserrat,Arial,sans-serif;
  font-size:15px;
  color:#fff;
  line-height:1;
}

.mag-stat-row span{
  margin-top:4px;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

/* LAYOUT */

.mag-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:12px;
  align-items:start;
}

.mag-block{
  margin-bottom:14px;
  padding:12px;
  border:1px solid var(--mag-border);
  border-radius:calc(var(--mag-radius) + 2px);
  background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.01) 100%);
}

.mag-block-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.mag-block-head a{
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#ddd;
}

.mag-block-head a:hover{color:var(--accent-soft)}

.mag-tag{
  display:inline-flex;
  font-family:Montserrat,Arial,sans-serif;
  font-size:var(--mag-label);
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

/* LEAD BLOG / NEWS — tall featured image fills the stack height */

.mag-lead-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:10px;
  align-items:stretch;
}

.mag-lead-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border-radius:var(--mag-radius);
  border:1px solid var(--mag-border);
  background:#111;
  transition:transform .2s ease,border-color .2s ease;
}

.mag-lead-card:hover{
  transform:translateY(-3px);
  border-color:rgba(230,9,16,.45);
}

.mag-lead-image,
.mag-mini-thumb,
.mag-mosaic-image,
.mag-compact-thumb,
.mag-spotlight-image,
.mag-channel-card{
  background:#151515 var(--mag-img) center/cover no-repeat;
}

.mag-lead-image{
  flex:1 1 auto;
  min-height:280px;
}

.mag-lead-copy{
  flex:0 0 auto;
  padding:12px 14px 14px;
}

.mag-meta-line{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:6px;
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-lead-copy h2{
  margin:0 0 8px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:1.05rem;
  line-height:1.15;
  letter-spacing:-.02em;
  text-transform:uppercase;
  color:#fff;
}

.mag-lead-copy p{
  margin:0;
  font-size:12px;
  color:#c8c8c8;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* TRAVEL FEATURE */

.mag-travel-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-items:stretch;
}

.mag-travel-lead{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border-radius:var(--mag-radius);
  border:1px solid var(--mag-border);
  background:#111;
  transition:border-color .18s ease,transform .18s ease;
}

.mag-travel-lead:hover{
  border-color:rgba(230,9,16,.45);
  transform:translateY(-2px);
}

.mag-travel-lead-image,
.mag-travel-card-image{
  background:#151515 var(--mag-img) center/cover no-repeat;
}

.mag-travel-lead-image{
  flex:1 1 auto;
  min-height:240px;
}

.mag-travel-lead-copy{
  flex:0 0 auto;
  padding:12px 14px;
}

.mag-travel-lead-copy h2{
  margin:0 0 8px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:1rem;
  line-height:1.15;
  letter-spacing:-.02em;
  text-transform:uppercase;
  color:#fff;
}

.mag-travel-lead-copy p{
  margin:0;
  font-size:11px;
  color:#c0c0c0;
  line-height:1.4;
}

.mag-travel-score{
  margin-top:8px;
  font-size:12px;
  color:#ffb4b7;
}

.mag-travel-rail{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:100%;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(230,9,16,.4) transparent;
}

.mag-travel-card{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:10px;
  padding:8px;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:rgba(0,0,0,.22);
  transition:border-color .15s ease,background .15s ease;
}

.mag-travel-card:hover{
  border-color:rgba(230,9,16,.4);
  background:rgba(230,9,16,.06);
}

.mag-travel-card-image{
  border-radius:6px;
  min-height:64px;
}

.mag-travel-card-copy span{
  display:block;
  font-size:9px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-travel-card-copy h3{
  margin:3px 0;
  font-size:11px;
  font-weight:700;
  color:#fff;
  line-height:1.25;
}

.mag-travel-card-copy em{
  font-style:normal;
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  color:var(--accent-soft);
}

/* SPORTS — league buttons + live picks ticker (not a card grid) */

.mag-sports{
  background:linear-gradient(135deg,rgba(230,9,16,.08) 0%,rgba(255,255,255,.02) 42%,rgba(255,255,255,.01) 100%);
}

.mag-sports-leagues{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.mag-sports-league-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border:1px solid var(--mag-border);
  border-radius:999px;
  background:rgba(0,0,0,.28);
  color:#fff;
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}

.mag-sports-league-btn:hover{
  border-color:rgba(230,9,16,.55);
  background:rgba(230,9,16,.16);
  color:#fff;
}

.mag-sports-league-btn.is-live{
  border-color:rgba(230,9,16,.65);
  background:rgba(230,9,16,.22);
}

.mag-sports-ticker-wrap{
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:rgba(0,0,0,.28);
  overflow:hidden;
}

.mag-sports-ticker-wrap .mag-ticker{
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.mag-sports-ticker-wrap .mag-ticker-label{
  background:rgba(230,9,16,.14);
}

.mag-sports-grid{
  display:none;
}

.mag-sports-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:#111;
  color:#fff;
  text-decoration:none;
  min-height:100%;
  transition:transform .15s ease,border-color .15s ease;
}

.mag-sports-card:hover{
  transform:translateY(-2px);
  border-color:rgba(230,9,16,.45);
  color:#fff;
}

.mag-sports-card h3{
  margin:0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.02em;
  line-height:1.2;
}

.mag-sports-card p{
  margin:0;
  font-size:11px;
  line-height:1.4;
  color:var(--mag-muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:1;
}

.mag-sports-card span{
  margin-top:auto;
  font-family:Montserrat,Arial,sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

.mag-spotlight-card--wide .mag-spotlight-image{
  height:auto;
  min-height:100px;
}

/* DOMAINS SHOWCASE */

.mag-domain-showcase{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.mag-domain-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:148px;
  padding:10px 12px;
  border-radius:var(--mag-radius);
  border:1px solid var(--mag-border);
  overflow:hidden;
  background:#111;
  transition:border-color .18s ease,transform .18s ease;
}

.mag-domain-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.78) 58%,rgba(0,0,0,.94) 100%),var(--mag-img) center/cover no-repeat;
  z-index:0;
  transition:transform .25s ease;
}

.mag-domain-card:hover{
  border-color:rgba(230,9,16,.5);
  transform:translateY(-3px);
}

.mag-domain-card:hover::before{transform:scale(1.04)}

.mag-domain-card.is-featured{
  border-color:rgba(230,9,16,.35);
}

.mag-domain-card-top,
.mag-domain-card-bottom{
  position:relative;
  z-index:1;
}

.mag-domain-card-top strong{
  display:block;
  font-family:"IBM Plex Mono",monospace;
  font-size:12px;
  color:#fff;
  line-height:1.25;
}

.mag-domain-card-top em{
  display:block;
  margin-top:3px;
  font-size:10px;
  font-style:normal;
  color:#ccc;
}

.mag-domain-chip{
  display:inline-flex;
  margin-bottom:6px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(230,9,16,.85);
  font-family:Montserrat,Arial,sans-serif;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
}

.mag-domain-card-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  margin-top:12px;
}

.mag-domain-card-bottom span{
  font-size:9px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-domain-card-bottom strong{
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  color:var(--accent-soft);
}

/* REAL ESTATE SIDEBAR */

.mag-widget--re{
  padding:0;
  overflow:hidden;
}

.mag-re-sidebar{
  display:block;
}

.mag-re-sidebar-image{
  height:88px;
  background:#151515 var(--mag-img) center/cover no-repeat;
}

.mag-re-sidebar-copy{
  padding:10px 12px 12px;
}

.mag-re-sidebar-copy span{
  display:block;
  font-size:9px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-re-sidebar-copy strong{
  display:block;
  margin:4px 0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
  text-transform:uppercase;
  color:#fff;
  line-height:1.2;
}

.mag-re-sidebar-copy p{
  margin:0;
  font-size:11px;
  color:#aaa;
  line-height:1.4;
}

.mag-lead-stack{
  display:grid;
  gap:8px;
}

.mag-mini-card{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  padding:8px;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:rgba(0,0,0,.25);
  transition:border-color .15s ease,background .15s ease;
}

.mag-mini-card:hover{
  border-color:rgba(230,9,16,.4);
  background:rgba(230,9,16,.06);
}

.mag-mini-thumb{
  border-radius:6px;
  min-height:64px;
}

.mag-mini-copy span{
  display:block;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-mini-copy h3{
  margin:3px 0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  line-height:1.25;
  font-weight:700;
  color:#fff;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.mag-mini-copy time{
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  color:#888;
}

/* NEWS MOSAIC */

.mag-mosaic{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:88px;
  gap:8px;
}

.mag-mosaic-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--mag-radius);
  border:1px solid var(--mag-border);
  grid-column:span 2;
  transition:transform .18s ease;
}

.mag-mosaic-card.is-featured{
  grid-column:span 3;
  grid-row:span 2;
}

.mag-mosaic-card:hover{transform:scale(1.02)}

.mag-mosaic-image{
  position:absolute;
  inset:0;
  filter:saturate(1.05);
  transition:transform .25s ease;
}

.mag-mosaic-card:hover .mag-mosaic-image{transform:scale(1.06)}

.mag-mosaic-copy{
  position:absolute;
  inset:auto 0 0 0;
  padding:8px 10px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));
}

.mag-mosaic-copy time{
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  color:#ffb4b7;
}

.mag-mosaic-copy h3{
  margin:4px 0 0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  line-height:1.25;
  font-weight:700;
  color:#fff;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.mag-mosaic-card.is-featured .mag-mosaic-copy h3{font-size:13px}

/* SPORTS RAIL */

.mag-rail{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(230,9,16,.5) transparent;
}

.mag-rail::-webkit-scrollbar{height:4px}
.mag-rail::-webkit-scrollbar-thumb{background:rgba(230,9,16,.55);border-radius:99px}

.mag-pick-card{
  flex:0 0 190px;
  scroll-snap-align:start;
  padding:10px;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:#0d0d0d;
  transition:border-color .15s ease,transform .15s ease;
}

.mag-pick-card:hover{
  border-color:rgba(230,9,16,.5);
  transform:translateY(-2px);
}

.mag-pick-card h3{
  margin:8px 0 6px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:11px;
  line-height:1.25;
  text-transform:uppercase;
  color:#fff;
}

.mag-pick-card p{
  margin:0 0 8px;
  font-size:11px;
  color:#aaa;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.mag-pick-card em{
  font-style:normal;
  font-family:Montserrat,Arial,sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

/* DUAL ROW */

.mag-dual-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
}

.mag-dual-col{
  padding:12px;
  border:1px solid var(--mag-border);
  border-radius:calc(var(--mag-radius) + 2px);
  background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.01) 100%);
}

.mag-compact-list{display:grid;gap:8px}

.mag-compact-item{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:10px;
  align-items:center;
  padding:6px;
  border-radius:6px;
  transition:background .15s ease;
}

.mag-compact-item:hover{background:rgba(255,255,255,.04)}

.mag-compact-thumb{
  width:56px;
  height:56px;
  border-radius:6px;
}

.mag-compact-item span{
  display:block;
  font-size:9px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-compact-item h3{
  margin:2px 0 0;
  font-size:12px;
  font-weight:700;
  color:#fff;
  line-height:1.25;
}

.mag-spotlight-card,
.mag-services-card{
  display:block;
  margin-bottom:8px;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  overflow:hidden;
  transition:border-color .15s ease;
}

.mag-spotlight-card:hover,
.mag-services-card:hover{border-color:rgba(230,9,16,.45)}

.mag-spotlight-image{height:100px}

.mag-spotlight-copy,
.mag-services-card{
  padding:10px 12px;
  background:#0e0e0e;
}

.mag-spotlight-copy span{
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-spotlight-copy h3{
  margin:4px 0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
  text-transform:uppercase;
  color:#fff;
}

.mag-spotlight-copy p{
  margin:0;
  font-size:11px;
  color:#aaa;
}

.mag-services-card h3{
  margin:6px 0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
  text-transform:uppercase;
  color:#fff;
}

.mag-services-card p{
  margin:0 0 8px;
  font-size:11px;
  color:#aaa;
}

.mag-services-card em{
  font-style:normal;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

/* SIDEBAR */

.mag-sidebar{
  display:grid;
  gap:10px;
  position:sticky;
  top:78px;
}

.mag-widget{
  padding:10px;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:rgba(255,255,255,.02);
}

.mag-widget--dark{
  background:linear-gradient(145deg,#120000,#0a0a0a);
  border-color:rgba(230,9,16,.25);
}

.mag-widget-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}

.mag-widget-head span{
  font-family:Montserrat,Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
}

.mag-widget-head a{
  font-size:9px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mag-muted);
}

.mag-widget-head a:hover{color:var(--accent-soft)}

.mag-cal-list,
.mag-domain-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

.mag-cal-list li,
.mag-domain-list li{
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.mag-cal-list li:last-child,
.mag-domain-list li:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.mag-cal-sport{
  display:inline-block;
  margin-bottom:3px;
  font-size:9px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--accent-soft);
}

.mag-cal-list strong{
  display:block;
  font-size:11px;
  color:#fff;
  line-height:1.25;
}

.mag-cal-list em{
  display:block;
  margin-top:2px;
  font-size:10px;
  font-style:normal;
  color:var(--mag-muted);
}

.mag-domain-list a{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}

.mag-domain-list strong{
  font-family:"IBM Plex Mono",monospace;
  font-size:11px;
  color:#fff;
}

.mag-domain-list span{
  font-size:10px;
  color:var(--accent-soft);
}

.mag-media-links{
  display:grid;
  gap:6px;
}

.mag-media-links a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border-radius:6px;
  font-size:11px;
  color:#eee;
  background:rgba(255,255,255,.04);
  transition:background .15s ease;
}

.mag-media-links a:hover{background:rgba(230,9,16,.18)}

.mag-media-links img{
  width:52px;
  height:auto;
  filter:brightness(1.05);
}

.mag-venture-stack{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px;
}

.mag-venture-stack a{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:8px 6px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:6px;
  background:#fff;
  transition:transform .15s ease;
}

.mag-venture-stack a:hover{transform:translateY(-2px)}

.mag-venture-stack img{
  max-width:100%;
  max-height:28px;
  object-fit:contain;
}

.mag-venture-stack span{
  font-size:8px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#333;
  text-align:center;
  line-height:1.2;
}

/* CHANNELS */

.mag-channels{
  margin-top:14px;
  padding:12px;
  border:1px solid var(--mag-border);
  border-radius:calc(var(--mag-radius) + 2px);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
}

.mag-block-head--channels{
  flex-direction:column;
  align-items:flex-start;
}

.mag-block-head--channels p{
  margin:4px 0 0;
  font-size:11px;
  color:var(--mag-muted);
}

.mag-channel-rail{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:4px 0 6px;
}

.mag-channel-card{
  flex:0 0 168px;
  scroll-snap-align:start;
  position:relative;
  min-height:148px;
  padding:10px;
  border-radius:var(--mag-radius);
  border:1px solid var(--mag-border);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:#111;
  transition:transform .18s ease,border-color .18s ease;
}

.mag-channel-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.15) 20%,rgba(0,0,0,.92) 100%),var(--mag-img) center/cover no-repeat;
  z-index:0;
}

.mag-channel-card:hover{
  transform:translateY(-3px);
  border-color:rgba(230,9,16,.5);
}

.mag-channel-tag,
.mag-channel-card h3,
.mag-channel-card p{
  position:relative;
  z-index:1;
}

.mag-channel-tag{
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#ffb4b7;
}

.mag-channel-card h3{
  margin:6px 0 4px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
  text-transform:uppercase;
  color:#fff;
}

.mag-channel-card p{
  margin:0;
  font-size:10px;
  color:#d0d0d0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* VENTURE MARQUEE */

.mag-venture-marquee{
  margin-top:12px;
  overflow:hidden;
  border:1px solid var(--mag-border);
  border-radius:var(--mag-radius);
  background:#0c0c0c;
  padding:12px 0;
}

.mag-marquee-track{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  animation:magTicker 36s linear infinite;
}

.mag-venture-marquee:hover .mag-marquee-track{
  animation-play-state:paused;
}

.mag-marquee-track a{
  flex:0 0 auto;
  width:130px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  opacity:.9;
  transition:opacity .15s ease,transform .15s ease;
}

.mag-marquee-track a:hover{
  opacity:1;
  transform:translateY(-2px);
}

.mag-marquee-track img{
  max-width:100%;
  max-height:32px;
  object-fit:contain;
}

/* FOOTER — keep standard white footer on magazine homepage */

.mag-body .site-footer{
  margin-top:0;
  background:#fff;
  color:#111;
  border-top:1px solid rgba(0,0,0,.08);
}

/* REVEAL */

[data-mag-reveal]{
  opacity:0;
  transform:translateY(8px);
  transition:opacity .45s ease,transform .45s ease;
}

[data-mag-reveal].is-visible{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  .mag-ticker-track,
  .mag-marquee-track,
  .mag-live-dot{
    animation:none!important;
  }
  [data-mag-reveal]{
    opacity:1;
    transform:none;
  }
}

/* RESPONSIVE */

@media (max-width:1100px){
  .mag-layout{grid-template-columns:1fr}
  .mag-top-row{grid-template-columns:1fr 1fr}
  .mag-about-panel{grid-column:span 2}
  .mag-sidebar{
    position:static;
    grid-template-columns:repeat(2,1fr);
  }
  .mag-travel-grid{grid-template-columns:1fr}
  .mag-domain-showcase{grid-template-columns:repeat(2,1fr)}
  .mag-sports-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:820px){
  .mag-top-row{grid-template-columns:1fr}
  .mag-about-panel{grid-column:auto;grid-template-columns:72px 1fr}
  .mag-about-image{width:72px;height:72px}
  .mag-lead-grid{grid-template-columns:1fr}
  .mag-domain-showcase{grid-template-columns:1fr 1fr}
  .mag-sports-grid{grid-template-columns:1fr}
  .mag-sidebar{grid-template-columns:1fr}
  .mag-ticker{grid-template-columns:1fr;gap:0}
  .mag-ticker-label{border-right:0;border-bottom:1px solid var(--mag-border)}
  .mag-ticker-more{border-left:0;border-top:1px solid var(--mag-border);text-align:center}
}

@media (max-width:520px){
  .mag-shell{padding:0 10px 36px}
  .mag-stat-row{width:100%}
  .mag-stat-row a{flex:1}
}
