*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',-apple-system,sans-serif;background:#fff;color:#1a1a1a;}

/* ── NAV ── */
.nav{background:#011f49;height:72px;display:flex;align-items:center;padding:0 48px;gap:16px;position:sticky;top:0;z-index:999;}
.logo-block{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;}
.logo-icon{width:52px;height:52px;flex-shrink:0;}
.logo-divider{width:1px;height:40px;background:rgba(255,255,255,0.25);flex-shrink:0;margin-left:2px;}
.logo-text{display:flex;flex-direction:column;}
.logo-wordmark{font-family:'DM Sans',sans-serif;font-size:20px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#fff;line-height:1;}
.logo-sub{font-family:'Source Sans 3',sans-serif;font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-top:3px;}
.nav-links{display:flex;gap:22px;align-items:center;flex:1;justify-content:center;}
.nav-link{font-family:'Source Sans 3',sans-serif;font-size:14px;color:rgba(255,255,255,0.6);white-space:nowrap;padding-bottom:2px;border-bottom:2px solid transparent;transition:all 0.15s;text-decoration:none;}
.nav-link:hover{color:#fff;border-bottom-color:#E8A82A;}
.nav-link{background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;}
.nav-more{position:relative;}
.nav-more-btn{display:inline-flex;align-items:center;gap:5px;}
.nav-chevron{width:12px;height:12px;transition:transform 0.15s;}
.nav-more.open .nav-chevron{transform:rotate(180deg);}
.nav-more-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:8px;background:#fff;border-radius:8px;box-shadow:0 8px 32px rgba(1,31,73,0.18);padding:6px 0;min-width:180px;display:none;z-index:1000;}
.nav-more.open .nav-more-menu{display:block;}
.nav-more-item{display:block;padding:8px 18px;font-family:'Source Sans 3',sans-serif;font-size:14px;color:#011f49;text-decoration:none;white-space:nowrap;text-align:left;}
.nav-more-item:hover{background:#F0F3F8;}
.nav-more-item.coming-soon{color:#bbb;pointer-events:none;}
.nav-more-item.coming-soon::after{content:' \2014 Coming Soon';font-size:11px;color:#ccc;}
.nav-right{display:flex;align-items:center;flex-shrink:0;}
#btnSignIn{display:none;color:#011f49;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;padding:8px 22px;border-radius:22px;background:#E8A82A;cursor:pointer;text-decoration:none;}
#btnSignIn:hover{background:#f0b830;}

/* ── HERO ── *** HERO IMAGE URL *** → change background-image below */
.hero{position:relative;height:400px;background-image:url('https://images.unsplash.com/photo-1501443762994-82bd5dace89a?w=1600&q=90&auto=format&fit=crop');background-size:cover;background-position:center 45%;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(1,31,73,0.95) 0%,rgba(1,31,73,0.75) 28%,rgba(1,31,73,0.2) 58%,transparent 100%);display:flex;align-items:flex-end;padding-bottom:40px;}
.hero-inner{max-width:912px;margin:0 auto;width:100%;padding:0 48px;}
/* *** HERO HEADLINE *** edit text in HTML */
.hero-h1{font-family:'DM Sans',sans-serif;font-size:42px;font-weight:800;color:#fff;line-height:1.1;letter-spacing:-0.025em;margin-bottom:8px;max-width:560px;}
.hero-sub{font-family:'Source Sans 3',sans-serif;font-size:15px;color:rgba(255,255,255,0.68);line-height:1.5;max-width:420px;}

/* ── SHARED CONTENT WRAPPER — 912px max, 48px padding each side = 816px content ──
   ALL sections use this. Every grid shares identical left + right edges. */
.content-wrap{max-width:912px;margin:0 auto;padding:0 48px;}

/* ── EXPLORE CARDS ── */
.explore{background:#fff;padding:44px 0;}
.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.card{border:1.5px solid #e4ddd4;border-radius:14px;overflow:hidden;text-decoration:none;display:block;transition:all 0.22s;}
.card:hover{border-color:#E8A82A;box-shadow:0 8px 32px rgba(232,168,42,0.18);transform:translateY(-3px);}
.card-banner{position:relative;height:130px;overflow:hidden;}
.card-banner img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease;}
.card:hover .card-banner img{transform:scale(1.05);}
.card-banner-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(1,31,73,0.88) 0%,rgba(1,31,73,0.3) 55%,rgba(1,31,73,0.05) 100%);display:flex;align-items:flex-end;padding:12px 16px;gap:11px;}
.card-icon{width:36px;height:36px;border-radius:50%;background:#E8A82A;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#011f49;}
.card-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.card-name{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;color:#fff;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,0.3);}
.card-body{padding:14px 18px 18px;}
.card-desc{font-family:'Source Sans 3',sans-serif;font-size:13.5px;color:#888;line-height:1.55;margin-bottom:11px;}
.card-cta{font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:700;color:#E8A82A;}

/* ══════════════════════════════════════════════════════════
   FEATURE STORY — magazine editorial section.
   Background: light blue — distinct from warm cream sections.
   Two layout options. Activate one; comment the other out.

   LAYOUT A (default): Photo left + editorial text right.
   LAYOUT B (commented): Wide hero + two-column text.
══════════════════════════════════════════════════════════ */
.feature-section{
  /* Light blue — distinct from the warm cream video/ad sections */
  background:#e8f0fb;
  padding:52px 0;
  border-top:1px solid #c8d8f0;
}

/* ── LAYOUT A: photo left, text right ── */
.feature-a{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto 1fr;
  grid-template-areas:"photo header" "photo body";
  column-gap:44px;
  row-gap:0;
}
.feature-a-photo{grid-area:photo;align-self:start;}
.feature-a-header{grid-area:header;align-self:start;padding-bottom:18px;}
.feature-a-body{grid-area:body;align-self:start;}
.feature-a-photo{position:relative;border-radius:10px;overflow:hidden;}
.feature-a-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.feature-a-caption{font-family:'Source Sans 3',sans-serif;font-size:11px;color:#7a90b0;font-style:italic;margin-top:8px;}

/* Link card inside the feature */
.feature-yt{
  display:flex;align-items:center;gap:12px;
  background:#fff;border:1px solid #c8d8f0;border-radius:8px;
  padding:10px 14px;margin-top:14px;text-decoration:none;
  transition:border-color 0.15s;
}
.feature-yt:hover{border-color:#E8A82A;}
.feature-yt-thumb{
  width:52px;height:52px;border-radius:6px;overflow:hidden;flex-shrink:0;
}
.feature-yt-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.feature-yt-text{flex:1;}
.feature-yt-label{font-family:'Source Sans 3',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#FF0000;margin-bottom:2px;}
.feature-yt-title{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;color:#011f49;line-height:1.3;}
.feature-yt-play{flex-shrink:0;color:#aaa;font-size:18px;}

.feature-pill{display:inline-block;background:#011f49;color:#E8A82A;font-family:'Source Sans 3',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 12px;border-radius:12px;margin-bottom:14px;}
.feature-name{font-family:'DM Sans',sans-serif;font-size:30px;font-weight:800;color:#011f49;margin-bottom:4px;letter-spacing:-0.02em;line-height:1.1;}
.feature-meta{font-family:'Source Sans 3',sans-serif;font-size:13px;color:#5a7090;margin-bottom:6px;}
.feature-awards{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.feature-award{font-family:'Source Sans 3',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#5a7090;background:rgba(1,31,73,0.07);padding:3px 9px;border-radius:10px;}
.feature-lede{font-family:'Source Sans 3',sans-serif;font-size:16px;font-weight:600;color:#1a2a3a;line-height:1.65;margin-bottom:12px;}
.feature-body{font-family:'Source Sans 3',sans-serif;font-size:14.5px;color:#445;line-height:1.8;margin-bottom:12px;}
.feature-cta{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;color:#E8A82A;text-decoration:none;display:inline-block;margin-top:10px;padding:9px 20px;background:#011f49;border-radius:20px;}
.feature-cta:hover{background:#0a2d5e;}

/* ── LAYOUT B: full-width hero + two-column text ── */
.feature-b-hero{border-radius:10px;overflow:hidden;margin-bottom:28px;}
.feature-b-hero img{width:100%;aspect-ratio:16/6;object-fit:cover;display:block;}
.feature-b-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.feature-b-body{font-family:'Source Sans 3',sans-serif;font-size:14.5px;color:#445;line-height:1.8;}

/* ── SOCIAL VIDEOS ── */
.highlights{background:#fffaf4;padding:44px 0;border-top:1px solid #ede5d8;}
.highlights-label{font-family:'Source Sans 3',sans-serif;font-size:10.5px;font-weight:700;color:#011f49;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:18px;}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
/* Fewer than four featured clips: hold the cards at their quarter-row width and
   centre the row. (Stretching them to fill is not an option — .video-thumb is
   aspect-ratio:9/16, so a full-width card becomes a ~1000px-tall slab.) */
.video-grid.g1,.video-grid.g2,.video-grid.g3{justify-content:center;}
.video-grid.g1{grid-template-columns:calc((100% - 42px)/4);}
.video-grid.g2{grid-template-columns:repeat(2,calc((100% - 42px)/4));}
.video-grid.g3{grid-template-columns:repeat(3,calc((100% - 42px)/4));}
/* Video cards match the featured restaurant card style exactly */
.video-card{display:block;text-decoration:none;background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e4ddd4;transition:all 0.2s;}
.video-card:hover{box-shadow:0 5px 20px rgba(1,31,73,0.1);transform:translateY(-2px);border-color:#E8A82A;}
.video-thumb{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;}
.video-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.3s ease;}
.video-card:hover .video-thumb img{transform:scale(1.03);}
.feature-video-wrap{margin:14px 0 0;}
.feature-vcard+.feature-vcard{margin-top:8px;}
.feature-gallery{display:flex;gap:6px;margin-top:10px;overflow-x:auto;scrollbar-width:none;}
.feature-gallery::-webkit-scrollbar{display:none;}
.feature-gthumb{flex:0 0 auto;width:64px;height:48px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#eee;cursor:pointer;opacity:.75;transition:opacity .15s,border-color .15s;}
.feature-gthumb img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:auto;}
.feature-gthumb:hover,.feature-gthumb.on{opacity:1;border-color:#E8A82A;}
.feature-readmore{background:none;border:none;padding:0;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;color:#E8A82A;margin-bottom:14px;text-align:left;}
/* Column-width video card (same pattern as the detail page's Play video cards, a little taller). */
.feature-vcard{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#f4f1ea;border-radius:14px;}
.feature-a-photo .feature-vcard-thumb{width:84px;height:84px;aspect-ratio:auto;object-fit:cover;border-radius:12px;flex:0 0 auto;background:#000;}
.feature-vcard-text{flex:1;min-width:0;}
.feature-vcard-title{font-size:15px;font-weight:700;color:#0d3562;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.feature-vcard-sub{font-size:12px;color:#7b8590;margin-top:2px;}
.feature-vplay{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border:0;border-radius:999px;background:#ecaf18;color:#0d3562;font-family:inherit;font-size:13px;font-weight:700;line-height:1;cursor:pointer;}
.feature-vplay svg{width:14px;height:14px;}
.feature-vplay:hover{background:#f0be3f;}
.video-thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(1,31,73,0.28);transition:background 0.2s;}
.video-card:hover .video-thumb-overlay{background:rgba(1,31,73,0.12);}
.video-play-circle{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.92);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,0.3);transition:transform 0.2s;}
.video-card:hover .video-play-circle{transform:scale(1.1);}
.video-play-circle svg{width:14px;height:14px;fill:#011f49;margin-left:2px;}
.video-card-body{padding:11px 13px 13px;}
.video-platform{font-family:'Source Sans 3',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#FF0000;margin-bottom:4px;}
.video-title{font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:700;color:#011f49;margin-bottom:3px;line-height:1.3;}
.video-loc{font-family:'Source Sans 3',sans-serif;font-size:11.5px;color:#aaa;}

/* ── FEATURED ── */
.featured{background:#fff;padding:44px 0;border-top:1px solid #ede5d8;}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
/* Fewer than four featured picks: hold the cards at their quarter-row width and
   centre the row, so one pick is a card and not a banner. */
.feat-grid.g1,.feat-grid.g2,.feat-grid.g3{justify-content:center;}
.feat-grid.g1{grid-template-columns:calc((100% - 42px)/4);}
.feat-grid.g2{grid-template-columns:repeat(2,calc((100% - 42px)/4));}
.feat-grid.g3{grid-template-columns:repeat(3,calc((100% - 42px)/4));}
.feat{display:block;text-decoration:none;background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e4ddd4;transition:all 0.2s;}
.feat:hover{box-shadow:0 5px 20px rgba(1,31,73,0.1);transform:translateY(-2px);border-color:#E8A82A;}
.feat-img{width:100%;height:130px;object-fit:cover;display:block;background:#e8ddd0;}
.feat-body{padding:12px 13px 14px;}
.feat-tag{font-family:'Source Sans 3',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#E8A82A;margin-bottom:4px;}
.feat-name{font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:700;color:#011f49;margin-bottom:3px;line-height:1.3;}
.feat-meta{font-family:'Source Sans 3',sans-serif;font-size:11.5px;color:#aaa;}


/* ── FOOTER ── */
footer{background:#011f49;padding:18px 48px;font-family:'Source Sans 3',sans-serif;font-size:12px;color:rgba(255,255,255,0.45);text-align:center;}
footer a{color:rgba(255,255,255,0.45);text-decoration:underline;}
footer a:hover{color:rgba(255,255,255,0.75);}
.footer-sep{margin:0 10px;opacity:0.4;}
.footer-social{display:inline-flex;gap:18px;vertical-align:middle;}
.footer-social a{display:inline-flex;color:rgba(255,255,255,0.45);transition:color 0.15s;}
.footer-social a:hover{color:rgba(255,255,255,0.85);}
.footer-social svg{width:24px;height:24px;fill:currentColor;display:block;}

/* ════════════════════════════════════════════
   MOBILE RESPONSIVE
   ════════════════════════════════════════════ */

/* Cards: single column when viewport too narrow for the fixed 390px pair */
@media (max-width: 860px) {
  .cards-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
    padding: 0 20px;
  }

}

/* Tablet / standard mobile */
@media (max-width: 768px) {

  /* NAV */
  .nav { padding: 0 16px; height: 58px; gap: 8px; }
  .nav-links { display: none; }
  /* Push Sign In to the far right */
  .nav-right { margin-left: auto; }
  /* Scale logo elements; hide tagline so icon + wordmark stay large */
  .logo-icon { width: 36px; height: 36px; }
  .logo-divider { height: 32px; }
  .logo-wordmark { font-size: 17px; }
  .logo-sub { display: none; }

  /* HERO */
  .hero { height: 270px; }
  .hero-inner { padding: 0 20px; }
  .hero-h1 { font-size: 28px; max-width: 100%; margin-bottom: 8px; }
  .hero-sub { font-size: 13.5px; max-width: 100%; }

  /* SHARED PADDING */
  .content-wrap { padding: 0 16px; }

  /* EXPLORE */
  .explore { padding: 28px 0; }

  /* FEATURE SECTION */
  .feature-section { padding: 36px 0; }
  .feature-a {
    /* switch desktop grid to flex column for mobile reordering */
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  /* Mobile order: 1=header (pill/name/awards) 2=photo+YT 3=body text */
  .feature-a-header { order: 1; padding-bottom: 16px; }
  .feature-a-photo  { order: 2; padding-bottom: 20px;
    /* True full-bleed: expand width AND shift left to cancel content-wrap padding */
    width: calc(100% + 32px);
    margin-left: -16px;
    border-radius: 0;
  }
  .feature-a-body   { order: 3; }
  .feature-a-photo > img { aspect-ratio: 4/3; }
  .feature-name { font-size: 24px; }
  .feature-lede { font-size: 15px; }
  .feature-body { font-size: 14px; }
  .feature-awards { gap: 4px; }
  .feature-award { font-size: 9.5px; padding: 2px 7px; }
  .feature-yt { margin-top: 12px; }
  /* Caption and YT card indent back in since photo div is now wider */
  .feature-a-photo .feature-a-caption,
  .feature-a-photo .feature-gallery,
  .feature-a-photo .feature-yt { margin-left: 16px; margin-right: 16px; }

  /* VIDEOS — single column */
  .highlights { padding: 28px 0; }
  .video-grid,
  .video-grid.g2, .video-grid.g3 { grid-template-columns: 1fr 1fr; gap: 10px; }
  /* One card: half width, centred. Three: the odd one out centres under the pair. */
  .video-grid.g1 { grid-template-columns: calc((100% - 10px)/2); gap: 10px; }
  .video-grid.g3 > :last-child { grid-column: 1 / -1; justify-self: center; width: calc((100% - 10px)/2); }

  /* FEATURED — 2 columns on mobile */
  .featured { padding: 28px 0; }
  .feat-grid,
  .feat-grid.g2, .feat-grid.g3 { grid-template-columns: 1fr 1fr; gap: 10px; }
  /* One card: half width, centred. Three: the odd one out centres under the pair. */
  .feat-grid.g1 { grid-template-columns: calc((100% - 10px)/2); gap: 10px; }
  .feat-grid.g3 > :last-child { grid-column: 1 / -1; justify-self: center; width: calc((100% - 10px)/2); }
  .feat-img { height: 100px; }
  .feat-name { font-size: 12.5px; line-height: 1.3; }
  .feat-meta { font-size: 10.5px; }
  .feat-body { padding: 10px 10px 12px; }

  /* AD */
  .ad-section { padding: 20px 0 28px; }
  .ad-box { height: 80px; }
  .ad-box-title { font-size: 13px; }
  .ad-box-hint { font-size: 11px; }

  /* FOOTER */
  footer { padding: 16px 20px; font-size: 11px; line-height: 1.9; }
  .footer-sep { margin: 0 5px; }
}

/* Small phones */
@media (max-width: 480px) {
  .hero { height: 240px; }
  .hero-h1 { font-size: 24px; }
  .hero-sub { font-size: 13px; }
  .nav { height: 56px; }
  /* Stack featured to single column if very tight */
  .feat-grid { grid-template-columns: 1fr 1fr; }
  .feat-name { font-size: 12px; }
  .cards-grid { padding: 0 12px; }
  .content-wrap { padding: 0 12px; }
}

/* ── SOCIAL LINKS ── */
.social-links{
  display:flex;
  gap:20px;
  margin-top:22px;
  flex-wrap:wrap;
  justify-content:center;
}
.social-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  color:#011f49;
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:700;
  padding:7px 14px;
  border:1.5px solid #e4ddd4;
  border-radius:22px;
  background:#fff;
  transition:all 0.18s;
}
.social-link:hover{
  border-color:#011f49;
  background:#011f49;
  color:#fff;
}
.social-link:hover .social-icon{color:#fff;}
.social-icon{
  width:16px;height:16px;
  flex-shrink:0;
  color:#011f49;
  transition:color 0.18s;
}
