/* ===== Product resources / catalogues page ===== */

/* Hero — same family as the shop & services heroes */
.res-hero{position:relative;background:radial-gradient(120% 130% at 80% 0%,#15376f 0%,#0a2657 45%,#04122e 100%);color:#fff;overflow:hidden;padding:clamp(2.6rem,6vw,4.6rem) 0}
.res-hero-inner{position:relative;z-index:1;max-width:760px}
.res-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;color:#fff;margin:.6rem 0 1rem}
.res-hero p{color:#c7d2e5;font-size:clamp(1rem,1.5vw,1.12rem);max-width:60ch}
.res-hero-stats{display:flex;gap:2.2rem;margin-top:2rem}
.res-hero-stats div{display:flex;flex-direction:column}
.res-hero-stats strong{font-family:var(--font-head);font-size:1.7rem;font-weight:800;background:var(--accent-grad-soft);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.res-hero-stats span{font-size:.82rem;color:var(--slate-400);margin-top:3px}

/* Sections */
.res-section{padding-top:clamp(2.6rem,5vw,4rem);padding-bottom:clamp(2.6rem,5vw,4rem)}
.res-alt{background:var(--slate-100)}
.res-head{max-width:720px;margin-bottom:1.8rem}
.res-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:.5rem 0 .3rem}
.res-tagline{font-family:var(--font-head);font-weight:600;font-size:1.08rem;color:var(--blue)}

.res-body{display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:start;margin-bottom:2rem}
.res-copy p{color:var(--slate-600,#475569);line-height:1.75;margin-bottom:1rem;font-size:1rem}

/* Feature grid */
.res-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.res-features li{background:#fff;border:1px solid var(--slate-200);border-radius:14px;padding:.95rem 1.05rem;display:flex;flex-direction:column;gap:.15rem;box-shadow:var(--shadow-sm)}
.res-alt .res-features li{border-color:transparent}
.res-features strong{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:var(--ink)}
.res-features span{font-size:.85rem;color:var(--slate-500);line-height:1.5}

/* Document cards */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.1rem}
.doc-card{display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);padding:1.35rem 1.4rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.doc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.doc-icon{width:52px;height:52px;border-radius:14px;background:var(--accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doc-info{flex:1}
.doc-info h3{font-size:1.08rem;font-weight:700;color:var(--ink);margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.doc-info p{font-size:.9rem;color:var(--slate-500);line-height:1.6;margin-bottom:.6rem}
.doc-meta{font-family:var(--font-head);font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--slate-400)}
.doc-tag{font-family:var(--font-head);font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--accent-grad);padding:.2rem .55rem;border-radius:999px}
.doc-tag.alt{background:var(--slate-400)}
.doc-actions{display:flex;gap:.6rem;flex-wrap:wrap}

/* Accreditation strip */
.accred{display:flex;align-items:center;gap:1.3rem;background:linear-gradient(120deg,#0b2c63,#04122e);color:#fff;border-radius:var(--radius);padding:1.4rem 1.6rem;margin-bottom:1.6rem;flex-wrap:wrap}
.accred-badge{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#7ee2b8;flex-shrink:0}
.accred-copy{flex:1;min-width:260px}
.accred-copy h4{font-family:var(--font-head);font-size:1.12rem;font-weight:800;color:#fff;margin-bottom:.25rem}
.accred-copy p{font-size:.92rem;color:#c7d2e5;line-height:1.6}
.accred .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.accred .btn-ghost:hover{background:rgba(255,255,255,.1)}

@media (max-width:900px){
  .res-body{grid-template-columns:1fr;gap:1.4rem}
}
@media (max-width:560px){
  .res-features{grid-template-columns:1fr}
  .res-hero-stats{gap:1.4rem}
  .doc-card{padding:1.1rem}
  .doc-actions .btn{flex:1;text-align:center}
}
