/* Editorial layouts extend the public site's shared shell, buttons, tokens and enquiry form. */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.blog-card{min-width:0;background:var(--panel-solid);border-radius:var(--radius);overflow:hidden}
.blog-card-link{display:flex;flex-direction:column;height:100%;border-radius:inherit}
.blog-card-link:focus-visible{outline-offset:-5px}
.blog-card-cover{aspect-ratio:1.4;background:#fcebdc;overflow:hidden}
.blog-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.blog-card-link:hover .blog-card-cover img{transform:scale(1.025)}
.blog-card-copy{display:flex;flex-direction:column;flex:1;padding:27px 28px 24px}
.blog-meta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;color:var(--accent);font-size:13px;line-height:1.5}
.blog-meta>span{color:var(--muted)}
.blog-card h2,.blog-card h3{font-size:clamp(23px,1.95vw,31px);line-height:1.2;letter-spacing:-.035em;margin-top:18px;overflow-wrap:anywhere}
.blog-card-copy>p{color:var(--muted);font-size:15px;line-height:1.5;margin-top:14px}
.blog-card-bottom{margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.blog-card-bottom>span:first-child{font-size:12px;color:var(--muted)}
.blog-card-bottom .round-arrow{width:38px;height:38px;font-size:21px;background:var(--lavender);color:var(--txt);transition:background .2s,color .2s}
.blog-card-link:hover .round-arrow{background:var(--txt);color:var(--panel-solid)}
.blog-home .section-head>.button,.blog-related .section-head>.button{flex-shrink:0}
.blog-home .blog-card-copy>p{display:none}
.blog-breadcrumb{display:flex;flex-wrap:wrap;gap:7px 12px;padding:28px 28px 0;font-size:12px;color:var(--muted);line-height:1.6}
.blog-breadcrumb a:hover{color:var(--accent)}
.blog-breadcrumb [aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}
.blog-hero{padding:50px 28px 55px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px}
.blog-hero .blog-hero-title{font-size:clamp(48px,5.5vw,84px);line-height:1.06;letter-spacing:-.055em}
.blog-hero .blog-page-title{color:var(--muted);text-transform:uppercase}
.blog-hero mark{border-radius:18px;padding:0 .1em .04em}
.blog-hero>p{max-width:330px;font-size:18px;line-height:1.55;color:var(--muted);padding-bottom:5px}
.blog-tools{border-top:1px solid var(--stroke);padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:26px}
.blog-filters{display:flex;gap:8px;flex-wrap:wrap}
.blog-filters .button{font-size:14px;min-height:44px;padding:12px 20px;gap:8px}
.blog-search{display:grid;gap:7px;flex:0 0 265px;font-size:11px;color:var(--muted)}
.blog-search input{width:100%;height:46px;border:1px solid var(--stroke);border-radius:100px;background:var(--panel-solid);color:var(--txt);padding:10px 19px;font:inherit;font-size:15px}
.blog-results{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:18px 8px 25px}
.blog-results h2{font-size:26px;letter-spacing:-.03em}
.blog-results p{font-size:13px;color:var(--muted)}
.blog-empty{background:var(--panel-solid);padding:65px 25px;text-align:center;border-radius:var(--radius)}
.blog-empty h3{font-size:32px;letter-spacing:-.04em}.blog-empty p{color:var(--muted);margin:16px 0 25px;line-height:1.5}
.blog-cta{background:var(--lavender);border-radius:var(--radius);padding:50px;display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:80px}
.blog-cta h2{font-size:clamp(38px,4.3vw,66px)}
.blog-cta p:not(.eyebrow){max-width:510px;margin-top:25px;font-size:17px;line-height:1.5}
.blog-cta>.button{flex-shrink:0}.blog-related{padding-bottom:35px}
.article-hero{padding:45px 28px 50px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:center}
.article-hero h1{font-size:clamp(35px,3.8vw,60px);line-height:1.08;letter-spacing:-.045em;margin:25px 0;overflow-wrap:anywhere}
.article-hero-copy>p{font-size:19px;line-height:1.5;color:var(--muted);max-width:650px}
.article-cover{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:#fcebdc}
.article-layout{display:grid;grid-template-columns:minmax(190px,270px) minmax(0,800px);gap:65px;justify-content:center;align-items:start;border-top:1px solid var(--stroke);padding:50px 28px 0}
.article-sidebar{position:sticky;top:155px;min-width:0}
.article-toc{border-bottom:1px solid var(--stroke);padding-bottom:22px}
.article-toc summary{font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}
.article-toc summary::-webkit-details-marker{display:none}.article-toc summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.article-toc[open] summary span{transform:rotate(180deg)}
.article-toc ol{list-style:none;padding:0;margin:22px 0 0;max-height:calc(100dvh - 310px);overflow:auto}
.article-toc li+li{margin-top:14px}.article-toc a{font-size:13px;line-height:1.4;color:var(--muted);display:block}
.article-toc a:hover,.article-back:hover{color:var(--accent)}
.article-back{display:inline-block;font-size:13px;margin-top:24px}
.article-body{min-width:0;color:var(--txt);font-size:19px;line-height:1.75;overflow-wrap:anywhere}
.article-body>p,.article-body>div{margin:0 0 24px}
.article-body h2{font-size:clamp(28px,2.6vw,40px);line-height:1.18;letter-spacing:-.035em;margin:50px 0 23px;scroll-margin-top:55px}
.article-body>h2:first-child,.article-body>section:first-child>h2:first-child{margin-top:0}.article-body h3{font-size:26px;line-height:1.3;letter-spacing:-.025em;margin:33px 0 17px}
.article-body h4{font-size:22px;line-height:1.3;margin:28px 0 14px}
.article-body section+section{margin-top:36px}.article-body section>p,.article-body section>div{margin-bottom:22px}.article-body p+p{margin-top:20px}.article-body strong,.article-body b{font-weight:600}
.article-body ul,.article-body ol{padding-left:26px;margin:20px 0 26px}.article-body li{padding-left:5px;margin:9px 0}
.article-body a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.article-body img{height:auto;max-width:100%;border-radius:18px;margin-block:24px}
.article-body blockquote{background:var(--lavender);border-radius:20px;margin:28px 0;padding:25px 30px}
.article-body .article-table,.article-body .article-table-wrap{overflow:auto;max-width:100%;margin-block:28px;border:1px solid var(--stroke);border-radius:16px}
.article-body table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;background:var(--panel-solid)}
.article-body th,.article-body td{text-align:left;padding:14px 18px;border:1px solid var(--stroke);min-width:120px;vertical-align:top}
.article-body th{background:var(--lavender);font-weight:600}
.article-body .article-end{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--stroke);padding:25px 0;margin-top:45px;font-size:14px}
.article-end>span{color:var(--muted)}
@media(max-width:1100px){.blog-grid{gap:16px}.blog-card-copy{padding:22px}.blog-hero{display:block}.blog-hero>p{max-width:540px;margin-top:28px}.blog-tools{align-items:flex-end}.blog-filters .button{padding:11px 16px;font-size:13px}.blog-search{flex-basis:235px}.article-hero{gap:30px}.article-layout{grid-template-columns:210px minmax(0,1fr);gap:38px}}
@media(max-width:800px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-home .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-home .blog-card-copy{padding:18px}.blog-home .blog-card h3{font-size:21px}.blog-meta{font-size:11px;gap:7px 12px}.blog-tools{align-items:stretch;flex-direction:column}.blog-search{flex-basis:auto;max-width:400px}.blog-hero .blog-hero-title{font-size:59px}.blog-cta{padding:35px;align-items:flex-start;flex-direction:column;gap:30px}.article-layout{display:block;padding-top:28px}.article-sidebar{position:static;margin-bottom:35px}.article-toc ol{max-height:none;columns:2;column-gap:25px}.article-toc li{break-inside:avoid}.article-back{display:none}.article-hero{grid-template-columns:1fr}.article-cover{max-height:390px;object-fit:contain}.article-hero h1{font-size:44px}.article-body{font-size:18px}}
@media(max-width:580px){.blog-home .section-head>.button,.blog-related .section-head>.button{margin-top:22px}.blog-grid,.blog-home .blog-grid{grid-template-columns:1fr;gap:18px}.blog-card-copy,.blog-home .blog-card-copy{padding:25px}.blog-card h2,.blog-card h3,.blog-home .blog-card h3{font-size:27px}.blog-meta{font-size:12px}.blog-card-cover{aspect-ratio:1.45}.blog-card-bottom{padding-top:21px}.blog-home .blog-card-bottom{padding-top:20px}.blog-breadcrumb{padding:24px 14px 0;font-size:11px}.blog-hero{padding:33px 14px}.blog-hero .blog-hero-title{font-size:clamp(33px,8.7vw,49px)}.blog-hero mark{border-radius:10px}.blog-hero>p{font-size:16px;margin-top:25px}.blog-catalog{padding-inline:8px}.blog-tools{padding:20px 0;gap:22px}.blog-filters{gap:7px}.blog-filters .button{font-size:12px;padding:10px 15px;min-height:40px}.blog-results{margin:12px 4px 22px;gap:12px}.blog-results h2{font-size:23px}.blog-results p{font-size:11px}.blog-cta{padding:30px 24px;margin-top:55px}.blog-cta p:not(.eyebrow){font-size:16px}.blog-cta>.button{font-size:14px;width:100%;gap:15px}.article-hero{padding:30px 14px;gap:26px}.article-hero h1{font-size:clamp(30px,8.2vw,43px);margin:20px 0}.article-hero-copy>p{font-size:17px}.article-cover{border-radius:24px}.article-layout{padding:28px 14px 0}.article-toc ol{columns:1}.article-body{font-size:17px;line-height:1.75}.article-body h2{font-size:29px;margin-top:38px;scroll-margin-top:75px}.article-body h3{font-size:24px}.article-body th,.article-body td{padding:12px;font-size:14px}.article-body blockquote{padding:22px}.article-body .article-end{font-size:12px;flex-wrap:wrap}.blog-related{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.blog-card-cover img,.blog-card-bottom .round-arrow{transition:none}}

.article-body .article-author{margin-top:40px;padding:25px 0;border-top:1px solid var(--stroke)}
.article-author .eyebrow{font-size:10px;color:var(--muted)}
.article-author .article-author-name{font-size:20px;margin-top:8px}.article-author-name>span{display:block;font-size:13px;color:var(--muted)}
.article-author .article-author-bio{font-size:16px;line-height:1.7;color:var(--muted);margin-top:15px;max-width:70ch}

.article-body figure{margin:25px 0}
