/* ---------- blog : r-hero (verbatim from reviews.css) ---------- */
.r-hero{padding:170px 0 clamp(50px,7vw,80px);
  background:radial-gradient(140% 120% at 50% 0%,var(--navy-900),var(--ink));
  border-bottom:1px solid var(--line-soft);text-align:center;}
.r-hero .eyebrow{margin-bottom:24px;}
.r-hero h1{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:clamp(38px,5.6vw,82px);letter-spacing:.04em;line-height:1.02;}
.r-hero p{margin:24px auto 0;max-width:520px;color:var(--mist-dim);font-size:16.5px;line-height:1.75;}

/* ---------- blog : list ---------- */
.b-list{padding:clamp(60px,8vw,110px) 0;}
.b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,36px);}
.bcard{display:flex;flex-direction:column;gap:16px;border:1px solid var(--line-soft);border-radius:3px;
  padding:0 0 26px;background:rgba(255,255,255,.018);overflow:hidden;transition:.4s var(--ease);}
.bcard:hover{border-color:var(--line);background:rgba(255,255,255,.035);}
.bcard .ph{position:relative;aspect-ratio:16/10;}
.bcard .ph .media{position:absolute;inset:0;}
.bcard .meta{display:flex;gap:14px;align-items:center;padding:6px 24px 0;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mist-dim);}
.bcard .meta .cat{color:var(--aqua);}
.bcard h2{font-family:var(--f-display);text-transform:uppercase;color:#fff;font-size:20px;
  letter-spacing:.05em;line-height:1.25;padding:0 24px;}
.bcard p{color:var(--mist-dim);font-size:14.5px;line-height:1.7;padding:0 24px;flex:1;}
.bcard .arrow{padding:0 24px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--aqua);}
.b-empty{text-align:center;color:var(--mist-dim);grid-column:1/-1;}

/* ---------- blog : post ---------- */
.p-hero{position:relative;padding:170px 0 clamp(50px,7vw,80px);text-align:center;
  background:radial-gradient(140% 120% at 50% 0%,var(--navy-900),var(--ink));overflow:hidden;}
.p-hero.has-media{min-height:64vh;display:grid;align-items:end;}
.p-hero .media{position:absolute;inset:0;}
.p-hero .media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,var(--ink) 2%,rgba(3,32,47,.45) 55%,rgba(3,32,47,.6));}
.p-hero .inner{position:relative;max-width:820px;margin:0 auto;}
.p-hero h1{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  font-size:clamp(32px,4.8vw,64px);letter-spacing:.04em;line-height:1.08;margin-top:18px;}
.p-hero .byline{margin-top:20px;font-size:13px;letter-spacing:.12em;color:var(--mist-dim);text-transform:uppercase;}
.p-body{padding:clamp(50px,7vw,90px) 0;}
.p-body .prose{max-width:740px;color:var(--mist);font-size:17px;line-height:1.85;}
.p-body .prose p+p{margin-top:24px;}
.p-body .prose h2,.p-body .prose h3{font-family:var(--f-display);text-transform:uppercase;color:#fff;
  letter-spacing:.05em;margin:42px 0 18px;}
.p-body .prose img{max-width:100%;border-radius:3px;margin:30px 0;}
.p-body .prose a{color:var(--aqua);}
.p-tags{padding-bottom:clamp(60px,8vw,100px);}
.p-tags .container{display:flex;gap:10px;flex-wrap:wrap;}
.p-tags .svc{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--aqua);
  border:1px solid var(--line-soft);border-radius:30px;padding:7px 14px;}

/* ---------- responsive ---------- */
@media(max-width:980px){.b-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.b-grid{grid-template-columns:1fr;}}
