/* Editorial pages and booking dialog share the site's navy / teal palette. */
.article-hero{padding:calc(var(--header-h) + 54px) 0 52px;background:linear-gradient(135deg,var(--paper),var(--teal-soft))}
.article-crumb{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.85rem;margin-bottom:34px}
.article-crumb a:hover,.article-back:hover{color:var(--teal-deep)}
.article-hero h1{max-width:960px;font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.08;letter-spacing:-.045em;margin:18px 0 26px}
.article-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--muted);font-size:.9rem}
.article-cover{width:100%;max-height:560px;object-fit:cover;border-radius:20px;margin-top:38px;overflow:hidden}
.article-cover img{width:100%;max-height:560px;object-fit:cover}
.article-deck{max-width:720px;font-size:1.18rem;color:var(--muted)}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,1fr);gap:64px;padding-top:64px;padding-bottom:72px;align-items:start}
.article-copy{min-width:0;font-size:1.08rem;line-height:1.85;overflow-wrap:anywhere}
.article-copy p,.article-copy ul,.article-copy ol,.article-copy blockquote,.article-copy figure,.article-copy pre{margin-bottom:1.5em}
.article-copy h2,.article-copy h3,.article-copy h4{line-height:1.25;letter-spacing:-.025em;margin:1.8em 0 .7em}
.article-copy h2{font-size:2rem}.article-copy h3{font-size:1.5rem}
.article-copy ul{list-style:disc;padding-left:1.5em}.article-copy ol{list-style:decimal;padding-left:1.5em}
.article-copy a{color:var(--teal-deep);text-decoration:underline;text-underline-offset:4px}
.article-copy blockquote{border-left:4px solid var(--teal);padding:24px;background:var(--paper);font-size:1.25rem}
.article-copy pre{overflow:auto;padding:20px;background:var(--ink);color:white;border-radius:12px}
.article-copy table{display:block;overflow:auto;border-collapse:collapse;max-width:100%;margin-bottom:24px}.article-copy td,.article-copy th{padding:12px;border:1px solid var(--line)}
.article-aside{position:sticky;top:calc(var(--header-h) + 28px);background:var(--navy);color:white;border-radius:20px;padding:28px}
.article-aside .kicker{color:var(--teal-bright)}.article-aside h2{font-size:1.65rem;line-height:1.2;margin:18px 0}.article-aside p{margin-bottom:22px}.article-aside .btn{font-size:.9rem}.article-back{display:block;margin-top:20px;font-size:.9rem}
.editorial-heading{font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.035em;margin:12px 0 32px}
.article-navigation{display:flex;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:.95rem}
.article-search{display:flex;gap:12px;max-width:620px;margin-top:28px}.article-search input{min-width:0;flex:1;padding:13px 18px;border:1px solid var(--line);border-radius:10px;background:white}
.article-read{display:block;color:var(--teal-deep);font-weight:600;margin-top:20px}.article-pagination{display:flex;justify-content:center;gap:12px;margin-top:40px}.article-pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:8px}.article-pagination .current{background:var(--navy);color:white}
.booking-dialog{position:fixed;inset:0;margin:auto;width:min(1120px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 32px 100px #07152566;overflow:auto}
.booking-dialog::backdrop{background:#071525b8;backdrop-filter:blur(6px)}
.booking-dialog__head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;background:var(--navy);color:white}.booking-dialog__head .kicker{color:var(--teal-bright)}.booking-dialog__head h2{font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.2;margin-top:5px}.booking-dialog__close{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#ffffff15;color:white;font-size:28px}.booking-dialog__close:hover{background:#ffffff30}
.booking-dialog__embed{min-height:520px;background:white}.booking-dialog__embed iframe{width:100%;min-height:540px;border:0;color-scheme:light}.booking-dialog__note{padding:16px 28px;font-size:.85rem;color:var(--muted)}.booking-dialog__note a{color:var(--teal-deep);text-decoration:underline}.booking-dialog__status{padding:20px 28px;color:var(--muted)}
@media(max-width:760px){.article-layout{grid-template-columns:1fr;gap:32px;padding-top:36px}.article-aside{position:static}.article-hero{padding-top:calc(var(--header-h) + 32px)}.article-cover{border-radius:12px}.article-search{flex-wrap:wrap}.booking-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.booking-dialog__head{padding:18px}.booking-dialog__embed{min-height:480px}.booking-dialog__embed iframe{min-height:520px}.article-navigation{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.booking-dialog{scroll-behavior:auto}}
.editorial .blog__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editorial .blog-card{border:1px solid var(--line);border-radius:16px;transition:box-shadow .2s ease}.editorial .blog-card:hover{box-shadow:var(--shadow)}.editorial .blog-card h3{font-size:1.2rem}.editorial .blog-card__body{padding:22px}.editorial .blog-card__body p{font-size:.92rem}.editorial .blog-card__body .kicker{font-size:.7rem;color:var(--teal-deep)}
@media(max-width:900px){.editorial .blog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.editorial .blog__grid{grid-template-columns:1fr}}
