/* Shared styles for politica + blog article sub-pages */
.subpage-hero{
  position:relative;min-height:60vh;color:#fff;
  display:flex;align-items:flex-end;padding:180px 0 80px;
  overflow:hidden;background:var(--eda-deep-700);
}
.subpage-hero .shader-bg{z-index:0}
.subpage-hero .hero-bg{position:absolute;inset:0;z-index:1}
.subpage-hero .hero-bg img{width:100%;height:100%;object-fit:cover}
.subpage-hero .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,31,45,.5) 0%, rgba(8,31,45,.75) 55%, rgba(8,31,45,.95) 100%)}
.subpage-hero .container{position:relative;z-index:2;width:100%}
.subpage-hero .eyebrow{color:var(--eda-cyan-300)}
.subpage-hero h1{font-size:clamp(40px,5.4vw,80px);font-weight:300;line-height:1.05;letter-spacing:-.025em;margin:0;max-width:20ch;color:var(--eda-cyan-300)}
.subpage-hero h1 strong{color:#fff;font-weight:500}
.subpage-hero .subhead{font-size:17px;line-height:1.7;color:rgba(255,255,255,.72);margin-top:24px;max-width:54ch}

.breadcrumb{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:26px}
.breadcrumb a{color:inherit}.breadcrumb a:hover{color:#fff}
.breadcrumb .sep{opacity:.5}

/* Article body */
.article{padding:clamp(60px,8vw,120px) 0;background:#fff}
.article-grid{display:grid;grid-template-columns:1fr minmax(0,72ch) 1fr;gap:40px}
.article-body{grid-column:2}
.article-body p{font-size:17px;line-height:1.8;color:var(--fg-2);margin:0 0 22px;text-wrap:pretty}
.article-body p:first-of-type::first-letter{font-size:54px;font-weight:600;float:left;line-height:.9;padding:6px 12px 0 0;color:var(--accent)}
.article-body h2{font-size:30px;font-weight:500;letter-spacing:-.015em;margin:56px 0 18px;line-height:1.2;color:var(--eda-cyan-700)}
.article-body h3{font-size:21px;font-weight:600;margin:40px 0 12px;color:var(--eda-cyan-600)}
.article-body ul,.article-body ol{padding-left:22px;margin:0 0 24px;color:var(--fg-2);font-size:16px;line-height:1.75}
.article-body li{margin-bottom:8px}
.article-body strong{color:var(--fg-1);font-weight:600}
.article-body blockquote{border-left:3px solid var(--accent);margin:32px 0;padding:8px 0 8px 24px;font-size:20px;line-height:1.55;color:var(--fg-1);font-weight:500;letter-spacing:-.005em}
.article-body figure{margin:40px 0}
.article-body figure img{width:100%;border-radius:4px}
.article-body figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin-top:10px}
.article-body .spec-table{border-collapse:collapse;width:100%;margin:24px 0;font-size:14px}
.article-body .spec-table th,.article-body .spec-table td{border-bottom:1px solid var(--border-1);padding:12px 14px;text-align:left}
.article-body .spec-table th{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.article-body .spec-table td:first-child{font-family:var(--font-mono);color:var(--accent);font-size:13px}
.article-body .pull{background:var(--bg-subtle);border-radius:4px;padding:28px 32px;margin:32px 0;font-size:16px;line-height:1.7;color:var(--fg-1)}
.article-body .pull strong{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}

.article-meta{display:flex;gap:22px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--border-1)}
.article-meta .cat{color:var(--accent);font-weight:600}

/* Politica page */
.politica-body{padding:clamp(60px,8vw,120px) 0}
.politica-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start}
.politica-media{border-radius:4px;overflow:hidden;position:sticky;top:110px}
.politica-media img{width:100%;display:block}
.policy-list{display:flex;flex-direction:column;gap:28px;margin-top:32px}
.policy-item{border-top:1px solid var(--border-1);padding-top:20px}
.policy-item .n{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.14em;margin-bottom:6px}
.policy-item h3{font-size:19px;font-weight:600;margin:0 0 8px;color:var(--eda-cyan-700)}
.policy-item p{font-size:15px;color:var(--fg-2);line-height:1.65;margin:0}

@media (max-width:960px){
  .article-grid{grid-template-columns:1fr;gap:0;padding:0 20px}
  .article-body{grid-column:1}
  .politica-grid{grid-template-columns:1fr}
  .politica-media{position:static}
}
