/* Carousel — blog CMS template (locked home-v6 system) */
.bl-hero{padding:clamp(48px,5.4vw,84px) 0 clamp(26px,3vw,40px)}
.bl-eyebrow{display:block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bl-h1{font-family:var(--serif);font-weight:440;font-size:clamp(36px,4.2vw,64px);line-height:1.06;letter-spacing:-.022em;color:var(--ink);margin:18px 0 0;max-width:22ch;text-wrap:balance}
.bl-lede{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-soft);margin:clamp(18px,2vw,26px) 0 0;max-width:52ch;text-wrap:pretty}

/* tag rail */
.bl-tags{display:flex;flex-wrap:wrap;gap:9px;padding:clamp(20px,2.4vw,30px) 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);margin-top:clamp(30px,3.4vw,46px)}
.bl-tag{font-family:var(--sans);font-size:15.5px;font-weight:500;color:var(--ink-soft);background:none;border:1px solid var(--line-2);border-radius:999px;padding:8px 16px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.bl-tag:hover{border-color:var(--muted-2);color:var(--ink)}
.bl-tag.on{background:var(--ink);border-color:var(--ink);color:#FAF9F5}
.bl-count{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-left:auto;align-self:center}

.bl-sec{padding:clamp(44px,5vw,76px) 0}
.bl-sec.deep{background:var(--paper-deep)}
.bl-label{display:block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:clamp(20px,2.2vw,28px)}

/* featured: one large + two stacked */
.bl-feat{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
.bl-feat-side{display:grid;gap:clamp(20px,2.4vw,30px)}
.bl-card{display:block;text-decoration:none;min-width:0}
.bl-art{position:relative;display:block;border-radius:15px;overflow:hidden;background:#EDE6DA;aspect-ratio:16/10}
.bl-art .islot{position:absolute;inset:0;display:block}
.bl-card-meta{display:flex;align-items:center;gap:10px;margin-top:clamp(16px,1.8vw,22px);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.bl-card-meta i{font-style:normal;color:var(--line-2)}
.bl-card-meta b{font-weight:500;color:var(--terra)}
.bl-card h3{font-family:var(--serif);font-weight:450;line-height:1.16;letter-spacing:-.016em;color:var(--ink);margin:11px 0 0;text-wrap:balance;transition:color .18s ease}
.bl-card:hover h3{color:var(--terra)}
.bl-card p{font-size:17.5px;line-height:1.5;color:var(--ink-soft);margin:11px 0 0;text-wrap:pretty}
.bl-feat-main h3{font-size:clamp(28px,2.9vw,42px)}
.bl-feat-main p{font-size:var(--fs-support);max-width:48ch}
.bl-feat-side .bl-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(16px,1.8vw,22px);align-items:start}
.bl-feat-side .bl-art{aspect-ratio:4/3;border-radius:12px}
.bl-feat-side .bl-card-meta{margin-top:2px}
.bl-feat-side h3{font-size:clamp(20px,1.75vw,24px)}
.bl-feat-side p{display:none}

/* list */
.bl-list{border-top:1px solid var(--line-2)}
.bl-row{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:clamp(22px,3vw,44px);align-items:start;padding:clamp(24px,2.8vw,36px) 0;border-bottom:1px solid var(--line-2);text-decoration:none}
.bl-row .bl-art{aspect-ratio:16/10;border-radius:11px}
.bl-row h3{font-family:var(--serif);font-weight:450;font-size:clamp(21px,1.9vw,27px);line-height:1.2;letter-spacing:-.014em;color:var(--ink);margin:9px 0 0;text-wrap:balance;transition:color .18s ease}
.bl-row:hover h3{color:var(--terra)}
.bl-row p{font-size:17px;line-height:1.5;color:var(--ink-soft);margin:10px 0 0;max-width:56ch;text-wrap:pretty}
.bl-read{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap;padding-top:4px}
.bl-empty{padding:clamp(40px,5vw,72px) 0;font-size:var(--fs-support);color:var(--muted);border-bottom:1px solid var(--line-2)}
.bl-more{display:flex;justify-content:center;margin-top:clamp(32px,3.6vw,48px)}

/* ---------- article template ---------- */
.bp-head{padding:clamp(44px,5vw,76px) 0 0}
.bp-measure{max-width:760px;margin:0 auto}
.bp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.bp-meta b{font-weight:500;color:var(--terra)}
.bp-meta i{font-style:normal;color:var(--line-2)}
.bp-h1{font-family:var(--serif);font-weight:440;font-size:clamp(34px,3.8vw,58px);line-height:1.08;letter-spacing:-.022em;color:var(--ink);margin:18px 0 0;text-wrap:balance}
.bp-lede{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-soft);margin:clamp(18px,2vw,26px) 0 0;text-wrap:pretty}
.bp-by{display:flex;align-items:center;gap:13px;margin:clamp(26px,3vw,36px) 0 0;padding:clamp(18px,2vw,24px) 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.bp-av{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#EDE6DA;flex:none;position:relative}
.bp-av .islot{position:absolute;inset:0;display:block}
.bp-by b{display:block;font-size:16.5px;font-weight:600;color:var(--ink)}
.bp-by span{display:block;font-size:14.5px;color:var(--muted);margin-top:2px}
.bp-cover{margin:clamp(30px,3.4vw,48px) auto 0;max-width:1080px;padding:0 clamp(20px,4vw,48px)}
.bp-cover-in{position:relative;border-radius:18px;overflow:hidden;background:#EDE6DA;aspect-ratio:16/8.5}
.bp-cover .islot{position:absolute;inset:0;display:block}

.bp-body{padding:clamp(40px,4.6vw,72px) 0 clamp(20px,2vw,32px)}
.bp-body .bp-measure>*{max-width:none}
.bp-body p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-soft);margin:0 0 1.05em;text-wrap:pretty}
.bp-body h2{font-family:var(--serif);font-weight:450;font-size:clamp(25px,2.3vw,34px);line-height:1.16;letter-spacing:-.016em;color:var(--ink);margin:clamp(38px,4vw,58px) 0 .5em}
.bp-body h3{font-family:var(--sans);font-weight:600;font-size:20px;color:var(--ink);margin:clamp(28px,3vw,40px) 0 .5em}
.bp-body b,.bp-body strong{font-weight:600;color:var(--ink)}
.bp-body a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--terra);padding-bottom:1px}
.bp-body a:hover{opacity:.7}
.bp-body ul,.bp-body ol{margin:0 0 1.05em;padding-left:1.15em}
.bp-body li{font-size:var(--fs-body);line-height:1.5;color:var(--ink-soft);margin-bottom:.5em;text-wrap:pretty}
.bp-body li::marker{color:var(--muted-2)}
.bp-body blockquote{margin:clamp(30px,3.4vw,46px) 0;padding-left:clamp(20px,2.4vw,32px);border-left:2px solid var(--terra)}
.bp-body blockquote p{font-family:var(--serif);font-weight:430;font-size:clamp(22px,2.1vw,30px);line-height:1.3;letter-spacing:-.012em;color:var(--ink);margin:0}
.bp-body figure{margin:clamp(32px,3.6vw,52px) 0}
.bp-body figure .bp-figart{position:relative;border-radius:14px;overflow:hidden;background:#EDE6DA;aspect-ratio:16/9}
.bp-body figure .islot{position:absolute;inset:0;display:block}
.bp-body figcaption{margin-top:12px;font-size:15px;color:var(--muted);text-wrap:pretty}
.bp-body hr{border:0;border-top:1px solid var(--line-2);margin:clamp(36px,4vw,58px) 0}
.bp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:clamp(26px,3vw,38px);border-top:1px solid var(--line-2)}
.bp-foot .bl-tag{cursor:default}
.bp-share{margin-left:auto;display:flex;gap:8px}
.bp-share a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--muted);text-decoration:none}
.bp-share a:hover{color:var(--ink);border-color:var(--muted-2)}
.bp-share svg{width:16px;height:16px}

@media (max-width:920px){
.bl-feat{grid-template-columns:1fr}
.bl-feat-side .bl-card{grid-template-columns:120px minmax(0,1fr)}
.bl-row{grid-template-columns:150px minmax(0,1fr)}
.bl-read{display:none}
}
@media (max-width:640px){
.bl-row,.bl-feat-side .bl-card{grid-template-columns:1fr}
}

/* mobile: titles full width */
@media (max-width:760px){.bl-h1{max-width:none}}

/* ——— news room: press contact block ——— */
.bl-press{margin-top:clamp(30px,3.4vw,46px);padding-top:clamp(24px,2.6vw,32px);border-top:1px solid var(--line-2)}
.bl-press b{display:block;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:10px}
.bl-press p{margin:0;font-size:var(--fs-support);line-height:1.55;color:var(--ink-soft);max-width:56ch}
.bl-press a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--terra);padding-bottom:1px}
.bl-press a:hover{opacity:.7}
