/* Blog: single post and post cards. Tokens (--ap-*) and buttons come from arte-product.css. */
.bp{font-family:"DM Sans",sans-serif;color:#111}
.bp-progress{position:fixed;top:0;left:0;height:4px;width:0;background:#c11f37;box-shadow:0 1px 8px rgba(193,31,55,.4);z-index:200;pointer-events:none}
.admin-bar .bp-progress{top:32px}

/* hero: featured image under a gradient, title bottom-left */
.bp-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(300px,27vw,400px);overflow:hidden;background:#111;color:#fff}
.bp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.78))}
.bp .bp-hero .bp-hero__media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.bp-hero__text{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:0 20px 44px}
.bp-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;font-size:11px;font-weight:300;letter-spacing:.06em;color:rgba(255,255,255,.75)}
body .bp .bp-crumbs a{color:inherit;text-decoration:none}
body .bp .bp-crumbs a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.bp .bp-hero h1.bp-title{max-width:900px;margin:0 0 16px;color:#fff;font-size:clamp(1.75rem,1.2rem + 2vw,2.75rem);font-weight:500;line-height:1.2;letter-spacing:.005em;text-wrap:balance}
.bp-meta{display:flex;gap:10px;margin:0;font-size:13px;letter-spacing:.06em;color:rgba(255,255,255,.85)}
@media(max-width:767px){.bp-hero{min-height:300px}.bp-hero__text{padding:0 16px 28px}}

/* body: one comfortable reading column, contents list in the right margin */
html:has(.bp){scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html:has(.bp){scroll-behavior:auto}}
.bp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,720px) minmax(0,1fr)}
.bp-layout .bp-prose{grid-column:2;width:100%}
.bp-aside{grid-column:3;grid-row:1;padding-left:clamp(24px,3vw,56px)}
.bp-toc{position:sticky;top:96px;max-width:260px}
.bp-toc summary{margin-bottom:14px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ap-muted);list-style:none;cursor:default;pointer-events:none}
.bp-toc summary::-webkit-details-marker{display:none}
.bp-toc ol{margin:0;padding:0;list-style:none;border-left:1px solid var(--ap-line)}
.bp-toc li{margin:0}
body .ap .bp-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:13px;line-height:1.45;color:#6b6b6b;text-decoration:none;transition:color .15s,border-color .15s}
body .ap .bp-toc .lvl3 a{padding-left:30px;font-size:12.5px}
body .ap .bp-toc a:hover{color:#111;text-decoration:none}
body .ap .bp-toc a.is-active{color:#111;font-weight:500;border-left-color:#c11f37}
.bp-prose h2,.bp-prose h3{scroll-margin-top:110px}
@media(max-width:1199px){
  .bp-layout{grid-template-columns:minmax(0,720px);justify-content:center}
  .bp-layout .bp-prose,.bp-aside{grid-column:1}
  .bp-aside{grid-row:1;padding:0;margin-bottom:2rem}
  .bp-toc{position:static;max-width:none;padding:14px 18px;border:1px solid var(--ap-line)}
  .bp-toc summary{margin:0;pointer-events:auto;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
  .bp-toc summary::after{content:"+";font-size:18px;letter-spacing:0}
  .bp-toc details[open] summary{margin-bottom:12px}
  .bp-toc details[open] summary::after{content:"–"}
}

.ap.bp-body{padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:0}
.bp-prose,.bp-share{max-width:720px;margin-left:auto;margin-right:auto}
.bp-prose{font-size:17px;line-height:1.85;color:#222}
.bp-prose>:first-child{margin-top:0}
.bp-prose>p:first-of-type{font-size:19px;line-height:1.75;color:#111}
.bp-prose p{margin:0 0 1.4em}
/* Elementor's kit styles h2/h3 with `.elementor-kit-14 h2`; these stay above that */
.ap .bp-prose h2{margin:2.2em 0 .7em;font-size:1.65rem;font-weight:500;line-height:1.3;letter-spacing:.005em}
.ap .bp-prose h3{margin:1.9em 0 .6em;font-size:1.25rem;font-weight:600;line-height:1.35}
.ap .bp-prose h4{margin:1.6em 0 .5em;font-size:1.05rem;font-weight:600}
.bp-prose strong{font-weight:600;color:#111}
body .ap .bp-prose a{color:#111;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body .ap .bp-prose a:hover{text-decoration-thickness:2px}
.bp-prose ul,.bp-prose ol{margin:0 0 1.5em;padding-left:1.3em}
.bp-prose li{margin:.45em 0;padding-left:.2em}
.bp-prose blockquote{margin:2em 0;padding:.2em 0 .2em 1.4em;border-left:2px solid #111;font-size:1.15em;font-style:italic;color:#111}
.bp-prose img{max-width:100%;height:auto;display:block}
.bp-prose figure{margin:2em 0}
.bp-prose figcaption{margin-top:.6em;font-size:13px;color:var(--ap-muted)}
.bp-prose hr{margin:2.5em 0;border:0;border-top:1px solid var(--ap-line)}
.bp-prose table{width:100%;margin:0 0 1.5em;border-collapse:collapse;font-size:15px}
.bp-prose th,.bp-prose td{padding:12px 10px;border-bottom:1px solid var(--ap-line);text-align:left}
@media(max-width:767px){.bp-prose{font-size:16px}.bp-prose>p:first-of-type{font-size:17.5px}}

/* share */
.bp-share{display:flex;align-items:center;gap:6px;margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--ap-line)}
.bp-share__label{margin-right:8px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ap-muted)}
body .bp-share a,.bp .bp-share button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--ap-line);border-radius:50%;background:#fff;color:#111;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
body .bp-share a:hover,.bp .bp-share button:hover,.bp .bp-share button:focus{background:#f4f4f4;border-color:#d4d4d4;color:#111;text-decoration:none}
.bp-share svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bp-share__status{margin-left:8px;font-size:12px;color:var(--ap-muted)}

/* contact strip */
.ap.bp-cta{padding-top:clamp(3rem,6vw,5rem);padding-bottom:0}
.bp-cta__box{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:clamp(24px,4vw,40px);background:#f6f6f6}
.bp-cta .bp-cta__title{margin:0 0 6px;font-size:1.25rem;font-weight:500}
.bp-cta .bp-cta__text{margin:0;max-width:520px;font-size:14px;line-height:1.7;color:#555}
.bp-cta__actions{display:flex;gap:10px;flex-wrap:wrap}
.bp-cta .ap-button{padding:16px 28px;flex:none}

/* previous / next */
.ap.bp-pager{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:0}
body .bp .bp-pager a{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-top:1px solid var(--ap-line);border-bottom:1px solid var(--ap-line);color:#111;text-decoration:none;transition:background .2s}
body .bp .bp-pager a:hover{background:#f6f6f6;text-decoration:none}
.bp-pager__next{grid-column:2;text-align:right;border-left:1px solid var(--ap-line)}
.bp-pager__prev:only-child,.bp-pager__next:only-child{grid-column:auto}
.bp-pager span{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ap-muted)}
.bp-pager strong{font-size:16px;font-weight:500;line-height:1.4}
@media(max-width:767px){.ap.bp-pager{grid-template-columns:1fr}.bp-pager__next{grid-column:1;text-align:left;border-left:0}}

/* latest posts + cards */
.ap.bp-more{padding-top:clamp(3rem,6vw,5rem)}
.bp-more__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px;padding-bottom:14px;border-bottom:1px solid var(--ap-line)}
.ap .bp-more__head h2{margin:0;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;line-height:1.2}
body .bp .bp-more__head a{font-size:13px;color:#111;text-decoration:none}
body .bp .bp-more__head a:hover{text-decoration:underline;text-underline-offset:4px}
.bp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}
@media(max-width:991px){.bp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.bp-grid{grid-template-columns:1fr}}
body .bp-card,body .ap .bp-card{display:flex;flex-direction:column;color:#111;text-decoration:none}
body .bp-card:hover,body .bp-card:focus{color:#111;text-decoration:none}
.bp-card__img{display:block;aspect-ratio:16/9;overflow:hidden;background:#f4f4f4}
.bp-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.bp-card:hover .bp-card__img img{transform:scale(1.04)}
.bp-card__date{margin-top:16px;font-size:12px;letter-spacing:.08em;color:var(--ap-muted)}
.bp-card__title{margin-top:6px;font-size:18px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bp-card__more{margin-top:12px;font-size:13px;letter-spacing:.04em}

/* blog index */
.bi-head{background:#111;color:#fff;text-align:center}
.bi-head__inner{max-width:820px;margin:0 auto;padding:clamp(40px,6vw,72px) 20px}
.bp .bi-head h1{margin:0 0 14px;color:#fff;font-size:clamp(2rem,1.4rem + 2vw,2.75rem);font-weight:500;line-height:1.15;letter-spacing:.01em}
.bi-head p{margin:0;font-size:15px;line-height:1.75;color:rgba(255,255,255,.78)}
.ap.bi-body{padding-top:clamp(2.5rem,5vw,4rem)}
body .bp .bi-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-bottom:clamp(2.5rem,5vw,4rem);color:#111;text-decoration:none}
body .bp .bi-feature:hover{color:#111;text-decoration:none}
.bi-feature__img{display:block;aspect-ratio:16/9;overflow:hidden;background:#f4f4f4}
.bi-feature__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bi-feature:hover .bi-feature__img img{transform:scale(1.03)}
.bi-feature__text{display:flex;flex-direction:column;align-items:flex-start}
.bi-feature__title{display:block;margin:10px 0 14px;font-size:clamp(1.5rem,1.15rem + 1vw,2rem);font-weight:500;line-height:1.25;text-wrap:balance}
.bi-feature__excerpt{display:block;font-size:15px;line-height:1.75;color:#555}
.bi-feature .bp-card__more{margin-top:20px;padding-bottom:3px;border-bottom:1px solid #111}
@media(max-width:991px){body .bp .bi-feature{grid-template-columns:1fr}}
.bi-grid{margin-top:0}

/* categories */
.bp-card__cat{display:block;margin-top:16px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#111}
.bp-card__cat+.bp-card__date{margin-top:6px}
.bi-feature__text .bp-card__cat{margin-top:0}
.bi-feature__text .bp-card__cat+.bp-card__date{margin-top:8px}
.bp-meta a{color:inherit;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
body .bp .bp-meta a{color:#fff;text-decoration:none}
body .bp .bp-meta a:hover{text-decoration:underline;text-underline-offset:3px}
.bi-filter{margin-bottom:clamp(2rem,4vw,3rem)}
