/* blog */
.blog-intro{max-width:65ch;margin-top:1.5rem;white-space:pre-line}
.post-body,.fam-head,.ficha-grid>div{min-width:0;overflow-wrap:anywhere}
.spec-card td,.spec-card th{overflow-wrap:anywhere}
@media(max-width:600px){.who{grid-template-columns:1fr}.contact-grid .row{grid-template-columns:1fr}}
.blog-sec,.prose-sec{padding:clamp(3.5rem,7vw,6rem) var(--pad);background:var(--white)}
.prov{display:inline-block;background:#fff4d6;color:#5c4400;border:1px solid #e6c95c;border-radius:999px;padding:.4rem .9rem;margin-bottom:1.5rem}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.filters button{font:inherit;font-weight:600;font-size:.9rem;padding:.55rem 1.1rem;border-radius:999px;border:1.5px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer;transition:background .2s,color .2s}
.filters button[aria-pressed=true]{background:var(--navy);color:#fff}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.post{position:relative;background:var(--lilac);border-radius:14px;overflow:hidden;border-top:3px solid var(--cyan);display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s}
.post:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(29,27,84,.18)}
.post-img{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);background:linear-gradient(135deg,var(--navy),var(--cyan))}
.post-img img{width:100%;height:100%;object-fit:cover;display:block}
.post-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.post-cat{color:#1a6fa3}
.post h2{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.2}
.post h2 a{color:var(--navy);text-decoration:none}.post h2 a::after{content:"";position:absolute;inset:0}
.post p{font-size:.95rem;flex:1}
.post time{color:#4a4870}
.a-hero{background:var(--navy);color:#fff;padding:calc(var(--h-header) + 4rem) var(--pad) 4.5rem}
.a-hero h1{color:#fff;font-size:clamp(2rem,5.5vw,4.75rem);max-width:22ch}
.a-meta{margin-top:1.5rem;color:#8fd0f5}
.a-cover{aspect-ratio:21/9;max-width:1100px;margin:0 auto 3rem;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);background:linear-gradient(135deg,var(--navy),var(--cyan))}
.a-cover img{width:100%;height:100%;object-fit:cover}
.prose{max-width:68ch;margin:0 auto;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.75}
.prose p,.prose ul{margin-bottom:1.25rem}.prose ul{padding-left:1.25rem}
.prose .lead{font-size:1.25em;font-weight:500;color:var(--navy)}
.prose h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:2.75rem 0 1rem}
.prose h3{font-size:1.3rem;margin:2rem 0 .75rem}
.prose blockquote{margin:2rem 0;padding:.5rem 0 .5rem 1.5rem;border-left:4px solid var(--cyan);font-size:1.3em;font-weight:600;color:var(--navy);line-height:1.4}
.prose figure{margin:2rem 0}.prose .fig{aspect-ratio:16/9;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--cyan))}
.prose figcaption{font-size:.85rem;color:#4a4870;margin-top:.6rem}
.back{max-width:68ch;margin:3rem auto 0}.back .link{color:var(--navy)}

.filters a{font:inherit;font-weight:600;font-size:.9rem;padding:.55rem 1.1rem;border-radius:999px;border:1.5px solid var(--navy);color:var(--navy);text-decoration:none}
.filters a[aria-current]{background:var(--navy);color:white}
.cards,.posts{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.opts{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.post-img svg,.card-img svg{width:56px;height:42px}
.page-hero h1{overflow-wrap:break-word}.prose img{max-width:100%;height:auto}
.contact-grid>*{min-width:0}.talk dd{overflow-wrap:anywhere}
@media(max-width:1100px){.page-hero{padding-top:9rem}.fam-sec{padding:4rem var(--pad)}}
