/* The Spirit of the Party: an editorial companion to the service pages. */
.blog-breadcrumb{display:block;padding-block:25px 0;color:var(--muted);font-size:12px;border:0;margin-block:0}
.blog-breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0;padding:0}
.blog-breadcrumb li+li::before{content:'/';margin-right:12px;color:var(--accent)}
.blog-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.blog-masthead{padding-block:60px 48px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:55px;align-items:end}
.blog-masthead .eyebrow{margin-bottom:25px}
.blog-masthead h1{font-size:clamp(54px,6.8vw,90px);max-width:740px}
.blog-deck{font-size:23px;line-height:1.5;color:var(--soft)}
.blog-masthead-note{font-size:14px;color:var(--muted);margin-top:20px}
.blog-dispatches{padding-block:48px 60px}
.blog-section-label{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:25px}
.blog-section-label h2{font-size:29px;letter-spacing:-.02em}
.blog-section-label>span{font-size:12px;color:var(--muted)}
.blog-empty{padding:40px;border:1px solid var(--line);background:radial-gradient(ellipse at top right,#54182b55,transparent 65%),var(--panel);position:relative}
.blog-empty h3{font-size:clamp(30px,3vw,40px);max-width:650px;margin-top:16px}
.blog-empty>p:not(.eyebrow){color:var(--soft);max-width:680px;margin-top:18px}
.blog-empty .text-link{margin-top:22px}
.blog-topics{background:var(--paper);color:var(--ink);color-scheme:light;padding-block:55px}
.blog-topics .eyebrow{color:#784653;margin-bottom:15px}
.blog-topics h2{font-size:clamp(34px,4vw,49px)}
.blog-topics h2 em{color:#8b2342}
.blog-topics-intro{max-width:650px;color:#62404c;margin-top:18px}
.blog-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:30px;border-top:1px solid #bb8a9b}
.blog-topic{display:flex;flex-direction:column;gap:16px;padding:25px 20px 0 0;min-width:0}
.blog-topic+.blog-topic{padding-left:20px;border-left:1px solid #d8b6c0}
.blog-topic h3{font-size:26px}
.blog-topic p{font-size:15px;line-height:1.6;color:#62404c;flex:1}
.blog-topic>span{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.blog-topic:hover h3{color:#8b2342}
.blog-topics :focus-visible{outline-color:#8b2342}
.blog-booking{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:55px;align-items:center;padding-block:65px}
.blog-booking h2{font-size:clamp(36px,4vw,52px);margin-top:18px}
.blog-booking p:not(.eyebrow){color:var(--soft)}
.blog-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:24px}
.blog-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.blog-post-card{padding:30px;border:1px solid var(--line);background:var(--panel);scroll-margin-top:155px}
.blog-filter-controls>p{font-size:14px;color:var(--soft);margin-bottom:12px}
.blog-filters{display:flex;flex-wrap:wrap;gap:9px}
.blog-filters button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--line);background:var(--panel);font-size:14px;line-height:1.4;color:var(--paper)}
.blog-filters button:hover{border-color:var(--accent)}
.blog-filters button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.blog-filter-total{font-size:12px;font-variant-numeric:tabular-nums;opacity:.8}
.blog-result-count{font-size:14px;color:var(--muted);margin-block:16px 24px}
.blog-post-card h3{font-size:30px;margin-top:14px}
.blog-post-card h3 a:hover{color:var(--accent)}
.blog-post-card>p:not(.eyebrow){color:var(--soft);font-size:16px;margin-top:16px}
.blog-post-card .text-link{margin-top:20px}
.blog-meta{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--muted);font-size:13px;margin-top:20px}
.blog-meta a{text-decoration:underline;text-underline-offset:3px}
.blog-article-header{max-width:850px;margin-inline:auto;padding-block:55px 40px}
.blog-article-header h1{font-size:clamp(38px,5.3vw,66px);margin-top:24px;line-height:1.08}
.blog-article-header .blog-deck{font-size:21px;margin-top:25px}
.blog-article-image{max-width:850px;margin-inline:auto;margin-bottom:35px}
.blog-article-image img{width:100%;height:auto;border:1px solid var(--line)}
.blog-article-body{max-width:740px;margin-inline:auto;font-size:19px;line-height:1.8;overflow-wrap:anywhere;padding-bottom:35px}
.blog-article-body h2{font-size:clamp(31px,3.3vw,42px);line-height:1.2;margin-block:45px 20px;scroll-margin-top:140px}
.blog-article-body h3{font-size:27px;margin-block:30px 16px}
.blog-article-body p,.blog-article-body li{color:var(--soft)}
.blog-article-body strong{color:var(--paper)}
.blog-article-body a,.blog-toc a{text-decoration:underline;text-underline-offset:4px}
.blog-article-body a:hover,.blog-toc a:hover{color:var(--accent)}
.blog-article-body li+li{margin-top:10px}
.blog-article-body figure{margin-block:30px}
.blog-article-body figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.blog-article-body blockquote{border-left:2px solid var(--accent);padding:10px 0 10px 25px;margin-block:30px}
.blog-toc{display:block;max-width:740px;margin:0 auto 35px;padding:22px 26px;border:1px solid var(--line);background:var(--panel);font-size:15px}
.blog-toc h2{font-size:24px;letter-spacing:-.02em}
.blog-toc ol{margin:15px 0 0;padding-left:20px}
.blog-toc li+li{margin-top:8px}
.blog-service-link{max-width:740px;margin:0 auto 45px;padding:25px;border:1px solid var(--line);background:var(--panel)}
.blog-service-link h2{font-size:28px;margin-bottom:14px}
.blog-service-link p{color:var(--soft)}
.blog-service-link .text-link{margin-top:15px}
@media(max-width:900px){.blog-masthead{gap:30px}.blog-deck{font-size:20px}.blog-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.blog-topic+.blog-topic{padding-left:0;border:0}.blog-topic{padding:25px 0 0}.blog-topic:nth-child(n+3){border-top:1px solid #d8b6c0}.blog-booking{gap:30px}}
@media(max-width:600px){.blog-masthead{grid-template-columns:1fr;gap:25px;padding-block:40px 32px}.blog-masthead h1{font-size:clamp(46px,12vw,64px)}.blog-masthead .eyebrow{font-size:10px;margin-bottom:20px}.blog-dispatches{padding-block:35px 45px}.blog-section-label{align-items:start;flex-direction:column;gap:8px}.blog-empty{padding:25px}.blog-topic-grid{grid-template-columns:1fr;gap:20px}.blog-topic+.blog-topic{border-top:1px solid #d8b6c0}.blog-topics{padding-block:40px}.blog-booking{grid-template-columns:1fr;gap:22px;padding-block:45px}.blog-post-grid{grid-template-columns:1fr}.blog-post-card{padding:24px}.blog-article-header{padding-block:35px}.blog-article-body{font-size:18px}.blog-toc{padding:20px}.blog-meta{gap:8px 15px}}
