.blog-shell{max-width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,4vw,3.2rem) 0 0}.blog-hero-card,.blog-block,.toc-card,.blog-card,.cta-panel{background:rgba(250,248,244,.9);border:1px solid rgba(86,106,90,.12);border-radius:28px;box-shadow:0 22px 55px rgba(38,48,40,.08)}.blog-hero-card{padding:clamp(1.5rem,3vw,3rem);margin-bottom:1.3rem}.blog-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:1.2rem;align-items:start}.toc-card,.blog-block,.cta-panel{padding:1.35rem 1.4rem}.toc-card{position:sticky;top:118px}.blog-kicker{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--salvia-3);margin-bottom:.7rem}.blog-title{font-family:var(--serif);font-size:clamp(1.7rem,4.4vw,3.4rem);line-height:.98;color:var(--salvia-3);margin:0 0 .8rem}.blog-intro{font-size:1.05rem;line-height:1.8;color:rgba(38,48,40,.8);max-width:68ch}.blog-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.blog-meta span,.seo-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;background:rgba(86,106,90,.09);color:var(--salvia-3);font-size:.88rem}.blog-cover{margin-top:1.25rem;border-radius:24px;overflow:hidden}.blog-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.toc-card h2,.blog-block h2,.cta-panel h2{font-family:var(--serif);font-size:1.75rem;color:var(--salvia-3);margin:0 0 .8rem}.toc-card ol{padding-left:1.15rem;display:grid;gap:.55rem}.toc-card a{color:var(--carbon);text-decoration:none}.toc-card a:hover{text-decoration:underline;color:var(--salvia-3)}.article-prose{display:grid;gap:1rem}.article-prose h2{font-family:var(--serif);font-size:2rem;line-height:1.08;color:var(--salvia-3);margin:0}.article-prose h3{font-family:var(--serif);font-size:1.35rem;line-height:1.15;color:var(--salvia-3);margin:.5rem 0 0}.article-prose p,.article-prose li{font-size:1rem;line-height:1.9;color:rgba(38,48,40,.84)}.article-prose ul,.article-prose ol{padding-left:1.2rem;display:grid;gap:.45rem}.highlight-box{padding:1rem 1.1rem;border-radius:20px;background:linear-gradient(135deg,rgba(86,106,90,.08),rgba(169,184,166,.16));border:1px solid rgba(86,106,90,.1)}.blog-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.blog-card{padding:1rem 1rem 1.15rem}.blog-card h3{font-family:var(--serif);font-size:1.25rem;color:var(--salvia-3);margin:0 0 .45rem}.blog-card p{font-size:.96rem;line-height:1.7;color:rgba(38,48,40,.8)}.faq-stack{display:grid;gap:.9rem}.faq-box{padding:1rem 1.1rem;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid rgba(86,106,90,.1)}.faq-box h3{margin:0 0 .35rem}.inline-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.7rem}.blog-list{display:grid;gap:1rem}.index-card{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:1rem;align-items:stretch}.index-card img{width:100%;height:100%;min-height:220px;object-fit:cover;border-radius:22px}.index-card__body{display:flex;flex-direction:column;justify-content:center;gap:.65rem}.breadcrumbs-inline{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.88rem;color:rgba(38,48,40,.65);margin-bottom:.95rem}.breadcrumbs-inline a{color:var(--salvia-3);text-decoration:none}@media (max-width:960px){.blog-grid{grid-template-columns:1fr}.toc-card{position:static}.index-card{grid-template-columns:1fr}}.blog-list--timeline{display:flex;flex-direction:column;gap:1.4rem}.articles-flow-intro{padding:clamp(1.2rem,2.2vw,1.7rem);border:1px solid rgba(85,110,104,0.12);background:linear-gradient(180deg,rgba(248,250,250,0.96),rgba(240,245,246,0.98));border-radius:24px;box-shadow:0 18px 42px rgba(34,48,57,0.06)}.articles-flow-intro h3{margin:0 0 0.55rem 0;font-family:var(--serif);font-size:clamp(1.45rem,2.8vw,2rem);color:var(--salvia-3)}.articles-flow-intro .section-eyebrow{color:rgba(85,110,104,.88)}.articles-flow-intro p:last-child{margin:0;color:rgba(34,48,57,0.76);line-height:1.8}.articles-timeline{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}.articles-timeline::before{content:'';position:absolute;left:clamp(5.4rem,11vw,8rem);top:0.9rem;bottom:0.9rem;width:1px;background:linear-gradient(180deg,rgba(85,110,104,0.28),rgba(144,166,158,0.12))}.timeline-entry{position:relative;display:grid;grid-template-columns:minmax(118px,152px) 1fr;gap:clamp(1rem,2vw,1.6rem);align-items:start}.timeline-entry::before{content:'';position:absolute;left:calc(clamp(5.4rem,11vw,8rem) - 5px);top:1.15rem;width:10px;height:10px;border-radius:50%;background:var(--salvia-3);box-shadow:0 0 0 8px rgba(217,228,224,0.92)}.timeline-date{display:grid;gap:0.35rem;align-content:start;padding-top:0.15rem}.timeline-date__month{font-size:0.82rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--salvia-3);font-weight:700}.timeline-date__meta{font-size:0.95rem;color:rgba(34,48,57,0.74);line-height:1.65}.timeline-card{margin:0;border-radius:28px;overflow:hidden}.timeline-card .index-card__body{gap:0.9rem}.timeline-chip{display:inline-flex;align-items:center;width:fit-content;padding:0.42rem 0.72rem;border-radius:999px;background:rgba(85,110,104,0.10);color:var(--salvia-3);font-size:0.76rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:700}@media (max-width:760px){.articles-timeline::before{left:0.55rem}.timeline-entry{grid-template-columns:1fr;padding-left:1.6rem}.timeline-entry::before{left:0.1rem;top:3.9rem}.timeline-date{gap:0.15rem}}h1,.hero-h1,.blog-title,.section-title{overflow-wrap:break-word;word-break:normal;hyphens:manual}
/* === IAPA hotfix 2026-07-29: timeline responsive overflow on landscape/mobile === */
@media (max-width: 980px), ((max-height: 520px) and (orientation: landscape)) {
  .articles-timeline::before { left: 0.55rem; }
  .timeline-entry {
    grid-template-columns: 1fr;
    padding-left: 1.75rem;
    gap: 0.9rem;
  }
  .timeline-entry::before {
    left: 0.1rem;
    top: 4rem;
  }
  .timeline-date {
    gap: 0.15rem;
    min-width: 0;
    max-width: 100%;
    padding-right: 0;
  }
  .timeline-date__month,
  .timeline-date__meta {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }
}
