/* ============================================================
   Op-Ed: news and magazine editorial layout (2026-10-24).
   Large type, square-cornered photographs, unboxed stories.
   Used by opinion.html and every opinion-*.html page.
   ============================================================ */

/* images: always square-cornered */
.ed-img{display:block;overflow:hidden;background:#E6ECEC}
.ed-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .5s ease}
a.ed-img:hover img,.ed-card:hover .ed-img img{transform:scale(1.035)}

/* ---------- Op-Ed front page ---------- */
.ed .ed-mast{padding:72px 0 28px;background:var(--white)}
.ed .ed-mast h1{font-size:clamp(3.4rem,9vw,6.6rem);line-height:.92;font-weight:700;letter-spacing:-.035em;margin:0;color:var(--navy)}
.ed .ed-mast-note{font-family:var(--sans);font-size:.9rem;line-height:1.6;color:var(--slate-soft);max-width:660px;margin:22px 0 0}
.ed .ed-mast-note a{color:var(--teal-deep);font-weight:600}

.ed .ed-front{padding:28px 0 64px;background:var(--white)}
.ed .ed-lead-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:56px;align-items:start}
.ed .ed-lead{padding:0;border:0}
.ed .ed-lead .ed-img{margin-bottom:24px}
.ed .ed-lead .art-tags{margin-bottom:18px}
.ed .ed-lead .art-title-xl{font-size:clamp(2.1rem,3.8vw,3.3rem);line-height:1.06;font-weight:700;letter-spacing:-.022em;margin:0 0 16px}
.ed .ed-lead .art-dek{font-size:1.18rem;line-height:1.55;max-width:760px}

.ed .ed-side-col{display:flex;flex-direction:column;gap:34px}
.ed .ed-side{display:block;padding:0;border:0}
.ed .art-side-item+.art-side-item{border-top:0;padding-top:0}
.ed .ed-side .ed-img{margin-bottom:16px}`n.ed .ed-side .art-tags{margin-bottom:14px}
.ed .ed-side .art-title-md{font-size:1.5rem;line-height:1.16;font-weight:700;letter-spacing:-.012em}

.ed .ed-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:60px;padding-top:44px;border-top:1px solid var(--navy)}
.ed .ed-trio .ed-img{margin-bottom:16px}
.ed .ed-trio .art-tags{margin-bottom:16px}
.ed .art-title-md{font-weight:700}
.ed .ed-trio .art-title-md{font-size:1.32rem;line-height:1.18;margin:0 0 12px}
.ed .art-title-md a,.ed .art-title-xl a,.ed .art-title-sm a{color:var(--navy);text-decoration:none}
.ed .art-title-md a:hover,.ed .art-title-xl a:hover,.ed .art-title-sm a:hover{color:var(--teal-deep)}

/* ---------- archive ---------- */
.ed .ed-archive{background:var(--tint);padding:72px 0 88px}
.ed .ed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 34px;border-top:0}
.ed .ed-grid .art-row{display:flex;flex-direction:column;border:0;padding:0;gap:0}
.ed .ed-grid .art-row[hidden]{display:none}
.ed .ed-grid .art-row .ed-img{margin-bottom:14px}`n.ed .ed-grid .art-row .art-tags{margin-bottom:14px}
.ed .ed-grid .art-row-meta{order:1;flex-direction:row;gap:12px;margin-bottom:10px}
.ed .ed-grid .art-row-body{order:2}
.ed .ed-grid .art-title-sm{font-size:1.22rem;line-height:1.22;font-weight:700;margin:0 0 10px}
.ed .ed-grid .art-dek.sm{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- opinion article pages ---------- */
html body.article .art-header .wrap>.ed-hero{max-width:760px;margin:30px auto 34px;padding:0}
.ed-hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
html body.article .art-header .pub-title{font-weight:700;letter-spacing:-.025em}

.art-rel-grid{gap:34px}
.art-rel-item.ed-card .ed-img{margin-bottom:14px}

@media (max-width:1000px){
  .ed .ed-lead-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .ed .ed-trio{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ed .ed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ed .ed-mast{padding:44px 0 18px}
  .ed .ed-front{padding-bottom:44px}
  .ed .ed-side{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:start}
  .ed .ed-side .ed-img{margin-bottom:0}
  .ed .ed-side .art-title-md{font-size:1.1rem}
  .ed .ed-side-body .art-dek{display:none}
  .ed .ed-trio,.ed .ed-grid{grid-template-columns:minmax(0,1fr)}
  .ed .ed-trio{gap:34px;margin-top:40px;padding-top:34px}
  .ed .ed-archive{padding:48px 0 60px}
  html body.article .art-header .wrap>.ed-hero{margin:22px auto 26px}
}
