/* Shared editorial and utility shell; approved Home and Services remain the base. */
.editorial-page .site-header{position:relative;top:0;padding-block:27px;color:var(--paper);z-index:25}
.editorial-page{background:var(--paper)}
.editorial-page .site-header:before{content:'';position:absolute;inset:0;background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);z-index:-1}
.editorial-hero{padding:80px 0 65px}
.editorial-hero .eyebrow{margin-bottom:28px}
.editorial-hero h1{font-size:clamp(60px,7.2vw,114px);max-width:1200px;line-height:.98}
.editorial-hero .intro-row{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:32px}
.editorial-hero .intro-row p{max-width:460px;color:var(--muted);font-size:17px}
.featured-story{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding-bottom:75px;border-bottom:1px solid var(--line)}
.featured-story img{border-radius:26px;aspect-ratio:16/9;object-fit:contain;background:var(--ink);width:100%}
.story-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:11px;align-items:center}
.story-meta .eyebrow{font-size:9px;color:inherit}
.featured-story h2{font-size:clamp(32px,3.7vw,54px);margin:22px 0;text-transform:none}
.featured-story p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:520px}
.featured-story .text-link{margin-top:25px}
.blog-library{padding-block:58px 95px}
.blog-tools{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:32px}
.blog-tools label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}
.blog-tools select,.blog-tools input{border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--ink);padding:14px 22px;font:inherit;font-size:14px;min-height:50px;max-width:100%}
.blog-search{flex:0 1 390px}.blog-search input{width:100%}
.blog-result-count{font-size:12px;color:var(--muted);margin-bottom:30px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 32px}
.story-card{display:block;min-width:0}
.story-card img{width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:20px;background:var(--ink);transition:transform .5s var(--ease)}
.story-card:hover img{transform:translateY(-5px)}
.story-card .story-meta{margin:20px 0 12px;font-size:10px}
.story-card h2,.story-card h3{font-size:28px;line-height:1.14;letter-spacing:-.045em;text-transform:none;font-weight:600}
.blog-pagination{display:flex;align-items:center;gap:20px;justify-content:center;margin-top:60px}
.blog-pagination button{border:1px solid var(--line);border-radius:99px;background:var(--paper);padding:13px 20px;color:var(--ink)}
.blog-pagination button:disabled{opacity:.35;cursor:default}
.blog-pagination p{font-size:12px;min-width:80px;text-align:center}
.blog-empty{border:1px solid var(--line);border-radius:20px;padding:45px}.blog-empty h2{font-size:32px}.blog-empty p{margin-top:15px}
.article-hero{padding:64px 0 55px;max-width:1220px}
.breadcrumbs{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:40px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.article-hero>.eyebrow{margin-bottom:24px}
.article-hero h1{font-size:clamp(42px,5.65vw,83px);line-height:1.04;max-width:1130px}
.article-dek{font-size:20px;color:var(--muted);max-width:820px;margin-top:30px}
.article-byline{display:flex;gap:17px;flex-wrap:wrap;font-size:12px;margin-top:24px;color:var(--muted)}
.article-art{margin-top:45px;border-radius:25px;overflow:hidden;background:var(--ink)}
.article-art img{width:100%;aspect-ratio:16/9;object-fit:contain}
.article-layout{display:grid;grid-template-columns:230px minmax(0,740px);gap:75px;max-width:1220px;align-items:start;padding-bottom:85px}
.article-toc{position:sticky;top:35px;padding-top:6px}
.article-toc .eyebrow{margin-bottom:18px}
.article-toc a{display:block;font-size:12px;line-height:1.5;padding:10px 0;border-top:1px solid var(--line);color:var(--muted)}
.article-toc a:hover{color:var(--ink)}
.article-toc .text-link{margin-top:26px;border:0;color:var(--ink);font-weight:600}
.article-body{font-size:17px;line-height:1.78;min-width:0;overflow-wrap:anywhere}
.article-body p,.article-body li{font-size:17px;line-height:1.78;color:#47434d}
.article-body p{margin-bottom:23px}.article-body h2{font-size:34px;line-height:1.16;text-transform:none;letter-spacing:-.04em;margin:44px 0 20px;scroll-margin-top:30px}
.article-body h3{font-size:25px;line-height:1.2;margin:32px 0 16px}
.article-body a{text-decoration:underline;text-underline-offset:4px}
.article-body ul,.article-body ol{padding-left:25px;margin-block:23px}.article-body li{margin-bottom:10px}
.article-body blockquote{margin:35px 0;padding:15px 0 15px 28px;border-left:3px solid var(--amber)}
.article-body blockquote p{font-family:Space Grotesk,sans-serif;font-size:23px;line-height:1.45;margin:0;color:var(--ink)}
.article-body .pb-key-takeaway,.article-body .pb-callout,.article-body .pb-cta{background:#e9e3db;border-radius:20px;padding:28px;margin:28px 0}
.article-body .pb-key-takeaway h3,.article-body .pb-cta h3{margin-top:0}
.article-body .pb-callout p:last-child,.article-body .pb-key-takeaway p:last-child{margin-bottom:0}
.article-body .pb-cta{background:var(--amber)}
.article-body .pb-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-block:25px}
.article-body .pb-related-card{border-top:1px solid var(--line);padding-top:18px;font-size:14px}
.article-body details{border-top:1px solid var(--line);padding:20px 0}.article-body summary{cursor:pointer;font-weight:600}.article-body details p{margin:20px 0 0}
.article-body iframe{width:100%;border:0;max-width:100%}.article-body img{height:auto;max-width:100%}
.article-listen{background:var(--ink);color:var(--paper);border-radius:20px;padding:25px;margin-bottom:35px}
.article-listen .eyebrow{color:var(--amber);margin-bottom:14px}.article-listen button{margin-bottom:15px}.article-listen .listen-link{display:inline-block;font-size:12px;color:var(--paper);margin-left:15px}
.article-listen iframe{height:185px}.article-listen [role=status]{font-size:12px;color:#f5f0ebc0}
.related-reading{background:#e9e3db;padding:65px 0 85px}.related-reading h2{font-size:48px;margin-bottom:38px}
.reading-progress{height:3px;background:var(--amber);position:fixed;left:0;top:0;width:0;z-index:60}
.utility-hero{background:var(--ink);color:var(--paper);padding:64px 0 85px}
.utility-hero .eyebrow{color:var(--amber);margin-bottom:28px}
.utility-hero h1{font-size:clamp(55px,6.5vw,95px);max-width:1050px}
.utility-hero>div>p:last-child{max-width:620px;margin-top:25px;color:#f5f0ebba;font-size:18px}
.booking-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:7%;padding-block:75px 90px;align-items:start}
.booking-summary{position:sticky;top:35px}.booking-summary h2{font-size:42px}.booking-summary .eyebrow{margin-bottom:20px}.booking-summary>p{margin-top:20px;color:var(--muted)}
.booking-summary ul{list-style:none;padding:0;margin:28px 0}.booking-summary li{border-top:1px solid var(--line);padding:14px 0;font-size:14px;line-height:1.5}
.booking-summary li:before{content:'↗';color:#98600a;margin-right:12px}.booking-summary .text-link{margin-top:12px}
.booking-price{font-family:Space Grotesk,sans-serif;font-size:47px;line-height:1.2;color:var(--ink);margin-top:26px}.booking-price small{font:400 12px 'DM Sans',sans-serif;color:var(--muted)}
.calendar-shell{border-radius:26px;border:1px solid var(--line);background:#fffdf9;overflow:hidden}
.calendar-cover{padding:45px}.calendar-cover .eyebrow{margin-bottom:30px}.calendar-cover h2{font-size:40px;max-width:410px}.calendar-cover>p{color:var(--muted);margin:24px 0 30px;max-width:440px;font-size:15px}
.calendar-cover .button{margin-top:15px}.calendar-symbol{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:16px;padding:20px;gap:10px;margin-bottom:38px;max-width:300px;opacity:.8}
.calendar-symbol span{border-radius:50%;aspect-ratio:1;background:#e9e3db}.calendar-symbol span:nth-child(11){background:var(--amber)}
.calendar-shell iframe{border:0;width:100%;height:840px;display:block;background:white}.calendar-footer{padding:22px 28px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.calendar-footer a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.calendar-footer [role=status]:not(:empty){margin-bottom:14px}
.booking-help{background:#e9e3db;border-radius:20px;padding:25px;margin-top:25px;line-height:1.6}.booking-help h3{font-size:22px;margin-bottom:9px}.booking-help p{font-size:14px;color:var(--muted)}
.preview-state-note{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.02em;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:15px 30px;text-align:center}
.confirmation{padding:90px 0 110px;min-height:650px}.confirmation h1{font-size:clamp(52px,6.5vw,90px);margin:28px 0;max-width:1000px}.confirmation>.wrap>p:not(.eyebrow){max-width:680px;color:var(--muted);font-size:18px}.confirmation .confirmation-status{display:inline-flex;width:64px;height:64px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center;font-size:32px;margin-bottom:25px}.confirmation-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:55px 0}.confirmation-steps>div{border-top:1px solid var(--line);padding-top:20px}.confirmation-steps h2{font-size:25px;text-transform:none;margin:20px 0 13px}.confirmation-steps p{font-size:14px;color:var(--muted)}
.not-found{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);padding:95px 0 115px;min-height:610px}.not-found .eyebrow{color:var(--amber)}.not-found h1{position:relative;z-index:1;font-size:clamp(60px,8vw,116px);max-width:850px;margin:35px 0 25px}.not-found p:not(.eyebrow){max-width:450px;color:#f5f0ebbc;font-size:18px}.not-found .button{margin-top:35px}.not-found .signal{position:absolute;right:-20px;bottom:0;font:700 38vw Space Grotesk,sans-serif;letter-spacing:-.08em;line-height:.8;color:transparent;-webkit-text-stroke:1px #f5f0eb20;pointer-events:none}.not-found-links{display:flex;gap:40px;align-items:center;flex-wrap:wrap}
.review-hero{background:var(--ink);color:var(--paper);padding:70px 0 80px}.review-hero .eyebrow{color:var(--amber);margin-bottom:28px}.review-hero h1{font-size:clamp(60px,8vw,115px);max-width:1000px}.review-hero p:last-child{margin-top:30px;max-width:600px;color:#f5f0ebba;font-size:18px}
.review-section{padding:65px 0}.review-section+.review-section{border-top:1px solid var(--line)}.review-section h2{font-size:46px;margin-bottom:32px}.review-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-link{min-height:140px;border:1px solid var(--line);border-radius:20px;padding:25px;display:flex;flex-direction:column;transition:background .25s}.review-link:hover{background:#e9e3db}.review-link span{font:500 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.review-link h3{font-size:27px;margin:15px 0}.review-link p{font-size:12px;color:var(--muted)}.review-link svg{align-self:flex-end;margin-top:auto}
@media(max-width:1000px){.featured-story{gap:35px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.booking-layout{gap:40px;grid-template-columns:1fr 1.25fr}.calendar-cover{padding:30px}.booking-summary h2{font-size:34px}.review-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.editorial-page .site-header{padding-block:18px}.editorial-page:before{height:82px}.editorial-hero{padding:50px 0 38px}.editorial-hero h1{font-size:clamp(43px,10vw,67px)}.editorial-hero .intro-row{display:block}.editorial-hero .intro-row p{font-size:15px}.editorial-hero .intro-row a{margin-top:20px}.featured-story{display:flex;flex-direction:column;gap:28px;align-items:stretch;padding-bottom:45px}.featured-story h2{font-size:35px;margin:18px 0}.featured-story img{border-radius:20px}.blog-tools{gap:16px;align-items:stretch;flex-direction:column}.blog-tools>div{flex:auto}.blog-tools input,.blog-tools select{width:100%}.blog-grid{grid-template-columns:1fr;gap:35px}.story-card h2{font-size:29px}.blog-library{padding-block:35px 55px}.blog-pagination{gap:12px}.blog-pagination button{font-size:12px;padding:12px 16px}.article-hero{padding:40px 0 30px}.breadcrumbs{margin-bottom:30px}.article-hero h1{font-size:clamp(36px,8.9vw,57px)}.article-dek{font-size:17px;margin-top:22px}.article-byline{font-size:10px;gap:12px}.article-art{margin-top:28px;border-radius:15px}.article-layout{display:flex;flex-direction:column;gap:30px;padding-bottom:45px}.article-toc{position:static;width:100%;padding:0}.article-toc a{padding:9px 0}.article-toc .text-link{margin-top:10px}.article-body,.article-body p,.article-body li{font-size:16px}.article-body h2{font-size:28px}.article-body h3{font-size:23px}.article-body .pb-related-grid{grid-template-columns:1fr}.article-listen{padding:22px}.article-listen .listen-link{margin-left:0;display:block}.related-reading{padding:45px 0}.related-reading h2{font-size:35px}.utility-hero{padding:40px 0 55px}.utility-hero h1{font-size:clamp(45px,10.7vw,65px)}.utility-hero>div>p:last-child{font-size:16px}.booking-layout{display:flex;flex-direction:column;gap:32px;padding-block:45px 55px}.booking-summary{position:static;width:100%}.booking-summary h2{font-size:37px}.booking-layout>div:last-child{width:100%}.calendar-cover{padding:28px}.calendar-cover h2{font-size:34px}.calendar-cover .button{font-size:12px;gap:16px}.calendar-footer{padding:22px}.calendar-shell iframe{height:950px}.confirmation{padding:55px 0}.confirmation h1{font-size:clamp(44px,10vw,65px)}.confirmation-steps{grid-template-columns:1fr;gap:25px}.not-found{padding:60px 0 90px}.not-found h1{font-size:clamp(53px,11vw,80px)}.not-found .signal{font-size:70vw;bottom:50px}.not-found-links{gap:25px}.review-hero{padding:45px 0 55px}.review-hero h1{font-size:clamp(53px,11vw,78px)}.review-links{grid-template-columns:1fr}.review-section h2{font-size:37px}.review-section{padding-block:45px}}
