.guides-page { background: #f8fafc; color: var(--gray-900); }

.guides-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 8rem) 1.5rem 6rem;
  background: linear-gradient(125deg, var(--blue-900) 0%, var(--blue-700) 62%, var(--blue-500) 100%);
  color: #fff;
}

.guides-hero::before,
.guides-hero::after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; }
.guides-hero::before { width: 32rem; height: 32rem; right: -12rem; top: -18rem; background: rgba(209, 124, 43, .18); }
.guides-hero::after { width: 20rem; height: 20rem; left: -10rem; bottom: -14rem; border: 1px solid rgba(255,255,255,.12); }

.guides-hero__inner { position: relative; z-index: 1; width: min(1180px, 100%); margin: 0 auto; }
.eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: var(--orange-500); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.guides-hero h1 { max-width: 820px; margin: 1rem 0 1.25rem; color: #fff; font-family: Poppins, sans-serif; font-size: clamp(2.5rem, 6vw, 4.6rem); line-height: 1.04; letter-spacing: -.04em; }
.guides-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.8); font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.75; }

.guides-main { width: min(1180px, calc(100% - 3rem)); margin: -3.2rem auto 0; position: relative; z-index: 2; padding-bottom: 5rem; }
.featured-guide { overflow: hidden; min-height: 390px; background: #fff; border: 1px solid #e5e7eb; border-radius: 24px; box-shadow: 0 24px 70px rgba(7,27,53,.16); }
.featured-guide__link { display:grid; grid-template-columns:1.12fr .88fr; min-height:390px; color:inherit; text-decoration:none; }
.featured-guide__media { min-height: 350px; overflow: hidden; }
.featured-guide__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.featured-guide__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem); }
.featured-guide__content h2 { margin: .9rem 0 1rem; font-family: Poppins, sans-serif; font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.16; letter-spacing: -.025em; }
.featured-guide__content > p { color: #536173; line-height: 1.75; }
.featured-guide__notice, .guide-coming-soon { margin-top: 1.5rem; color: #0b5ea8; font-size: .85rem; font-weight: 700; }
.featured-guide__notice span, .guide-coming-soon span { display:inline-block; margin-left:.25rem; transition:transform .2s ease; }
.featured-guide__link:hover .featured-guide__notice span, .guide-card__link:hover .guide-coming-soon span { transform:translateX(4px); }

.guides-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin: 4.5rem 0 1.5rem; }
.guides-toolbar h2 { margin: 0 0 .35rem; font-family: Poppins, sans-serif; font-size: clamp(1.7rem, 3vw, 2.25rem); }
.guides-toolbar p { margin: 0; color: #667085; }
.guide-search { position: relative; display: block; width: min(390px, 100%); }
.guide-search .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.guide-search svg { position: absolute; z-index: 1; left: 1.15rem; top: 50%; transform: translateY(-50%); color: #0b5ea8; pointer-events: none; transition: color .2s ease, transform .2s ease; }
.guide-search input { width: 100%; height: 54px; padding: 0 3rem 0 3.15rem; background: #fff; border: 1px solid #cbd5e1; border-radius: 15px; box-shadow: 0 5px 18px rgba(15,23,42,.06); color: #0f172a; font: inherit; font-size: .95rem; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.guide-search input::placeholder { color: #8491a3; }
.guide-search input:hover { border-color: #8eb6d9; box-shadow: 0 7px 22px rgba(15,23,42,.09); }
.guide-search input:focus { outline: none; border-color: #0b5ea8; box-shadow: 0 0 0 4px rgba(11,94,168,.13), 0 8px 24px rgba(15,23,42,.1); }
.guide-search:focus-within svg { color: #06467f; transform: translateY(-50%) scale(1.08); }
.guide-search::after { content: '/'; position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 24px; height: 24px; background: #f1f5f9; border: 1px solid #dbe3ed; border-radius: 6px; color: #64748b; font-size: .75rem; font-weight: 700; pointer-events: none; }

.guide-filters { display: flex; gap: .6rem; overflow-x: auto; padding: 0 0 1.25rem; scrollbar-width: thin; }
.guide-filter { flex: 0 0 auto; padding: .65rem 1rem; background: #fff; border: 1px solid #dce3ec; border-radius: 999px; color: #435065; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.guide-filter:hover, .guide-filter.active { background: #0b4d8c; border-color: #0b4d8c; color: #fff; }

.guides-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.guide-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #e1e7ef; border-radius: 18px; box-shadow: 0 8px 28px rgba(15,23,42,.06); transition: transform .22s ease, box-shadow .22s ease; }
.guide-card__link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.guide-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(15,23,42,.12); }
.guide-card__media { position: relative; height: 205px; overflow: hidden; }
.guide-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.guide-card:hover .guide-card__media img { transform: scale(1.04); }
.guide-badge { position: absolute; left: 1rem; top: 1rem; padding: .42rem .72rem; background: rgba(7,27,53,.9); color: #fff; border-radius: 999px; font-size: .72rem; font-weight: 800; backdrop-filter: blur(6px); }
.guide-card__content { padding: 1.5rem; }
.guide-card h2 { margin: .85rem 0 .7rem; font-family: Poppins, sans-serif; font-size: 1.25rem; line-height: 1.32; }
.guide-card p { margin: 0; color: #667085; font-size: .94rem; line-height: 1.65; }
.guide-meta { display: flex; flex-wrap: wrap; gap: .45rem 1.2rem; color: #7b8798; font-size: .78rem; font-weight: 600; }
.guides-empty { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 4rem 1rem; background: #fff; border: 1px dashed #cbd5e1; border-radius: 16px; color: #64748b; text-align: center; }
.guides-empty strong { color: #1e293b; font-size: 1.1rem; }

.guides-cta { margin-top: 4rem; padding: clamp(2rem, 5vw, 3.5rem); background: #071b35; border-radius: 22px; color: #fff; text-align: center; }
.guides-cta h2 { margin: 0 0 .75rem; color: #fff; font-family: Poppins, sans-serif; font-size: clamp(1.6rem, 3vw, 2.3rem); }
.guides-cta p { max-width: 620px; margin: 0 auto 1.5rem; color: rgba(255,255,255,.72); line-height: 1.65; }
.guides-cta .btn { display: inline-flex; text-decoration: none; }

@media (max-width: 920px) {
  .featured-guide__link { grid-template-columns: 1fr; }
  .featured-guide__media { min-height: 260px; max-height: 360px; }
  .guides-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .guides-hero { padding-top: 4rem; }
  .guides-main { width: min(100% - 2rem, 1180px); margin-top: -2rem; }
  .featured-guide { border-radius: 18px; }
  .featured-guide__content { padding: 1.5rem; }
  .guides-toolbar { align-items: stretch; flex-direction: column; gap: 1.2rem; margin-top: 3rem; }
  .guide-search { width: 100%; }
  .guides-grid { grid-template-columns: 1fr; }
}
