/* Blog components are scoped; other pages keep their existing design. */
.dob-blog-container{width:100%;max-width:var(--dob-content-max,1440px);margin-inline:auto;padding-inline:var(--dob-content-gutter,20px)}
.dob-blog-container .dob-btn{min-height:48px;padding:12px 24px;gap:10px;font-size:15px}
#articles-heading{scroll-margin-top:120px}
.dob-blog-index-hero,.dob-blog-post-hero{background:#eff7fb;border-bottom:1px solid #d6e4ec;padding:24px 0 56px}
.dob-blog-breadcrumb{margin-bottom:28px;color:#587284;font-size:14px}
.dob-blog-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.dob-blog-breadcrumb li+li::before{content:"/";padding-right:10px;color:#6c93a8}
.dob-blog-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.dob-blog-breadcrumb a:hover{color:#156383;text-decoration:underline}
.dob-blog-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:60px}
.dob-blog-index-intro{max-width:520px;margin:22px 0 26px;color:#4a6377;font-size:18px;line-height:1.75}
.dob-blog-index-note,.dob-blog-byline{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;color:#587284;font-size:14px;line-height:1.6}
.dob-blog-featured{overflow:hidden;position:relative;border:1px solid #d6e4ec;border-radius:16px 16px 16px 48px;background:white;box-shadow:0 20px 45px -30px #0a2e3d55}
.dob-blog-featured-image{display:block;overflow:hidden;aspect-ratio:16/9;background:#0a2e3d}
.dob-blog-featured-image img,.dob-blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.dob-blog-featured-body{padding:24px 28px 28px}
.dob-blog-featured-body .dob-kicker{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;letter-spacing:.12em}
.dob-blog-featured h2{font-size:25px;font-weight:700;line-height:1.3;letter-spacing:-.025em}
.dob-blog-featured h2 a::after,.dob-blog-card h3 a::after{content:"";position:absolute;inset:0}
.dob-blog-card .dob-location-link{position:relative;z-index:1}
.dob-blog-featured:hover img,.dob-blog-card:hover img{transform:scale(1.025)}
.dob-blog-featured:hover h2,.dob-blog-card:hover h3{color:#156383}
.dob-blog-library,.dob-blog-reading{padding-block:64px}
.dob-blog-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.dob-blog-library-note{color:#587284;font-size:16px;line-height:1.6}
.dob-blog-filters{display:flex;align-items:flex-end;gap:16px;padding:24px;border:1px solid #d6e4ec;border-radius:12px;background:#f7fbfd}
.dob-blog-filters label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#0a2e3d}
.dob-blog-search{flex:1;min-width:0}
.dob-blog-search>div{position:relative}
.dob-blog-search svg{position:absolute;left:14px;top:15px;width:20px;height:20px;color:#587284;pointer-events:none}
.dob-blog-search input,.dob-blog-topic select{display:block;min-height:50px;width:100%;border:1px solid #6c93a8;border-radius:6px;background:white;font-size:16px;color:#0a2e3d;padding:12px 14px}
.dob-blog-search input{padding-left:44px}
.dob-blog-search input::placeholder{color:#587284}
.dob-blog-topic{width:220px}
.dob-blog-filters .dob-btn{min-height:50px;flex:none;padding-inline:22px}
.dob-blog-reset{display:inline-flex;align-items:center;min-height:50px;color:#156383;text-decoration:underline;text-underline-offset:3px;font-size:14px}
.dob-blog-result-count{margin:24px 0 18px;color:#587284;font-size:14px}
.dob-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
/* Wide screens use four readable cards instead of stretching three cards. */
@media(min-width:1920px){.dob-blog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dob-blog-card{min-width:0;position:relative;display:flex;flex-direction:column;border:1px solid #d6e4ec;border-radius:12px;overflow:hidden;background:white;transition:border-color .2s,box-shadow .2s}
.dob-blog-card:hover{border-color:#6c93a8;box-shadow:0 16px 32px -24px #0a2e3d55}
.dob-blog-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#0a2e3d}
.dob-blog-card-body{display:flex;flex-direction:column;flex:1;padding:24px}
.dob-blog-card-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#587284;font-size:13px;line-height:1.4;margin-bottom:14px}
.dob-blog-card-meta span:first-child{color:#156383;font-weight:600}
.dob-blog-card h3{color:#0a2e3d;font-size:21px;font-weight:700;line-height:1.35;letter-spacing:-.025em}
.dob-blog-card-body>p{margin-top:14px;color:#4a6377;font-size:16px;line-height:1.7}
.dob-blog-card-link{display:flex;align-items:center;gap:8px;padding-top:24px;margin-top:auto;color:#156383;font-size:15px;font-weight:600}
.dob-blog-card-link svg,.dob-blog-text-link svg,.dob-blog-index-hero .dob-btn svg{width:20px;height:20px;flex:none}
.dob-blog-empty{padding:52px 24px;border:1px solid #d6e4ec;border-radius:12px;background:#eff7fb;text-align:center}
.dob-blog-empty h3{font-size:24px;font-weight:700}
.dob-blog-empty p{margin:12px 0 24px;color:#4a6377;line-height:1.7}
.dob-blog-booking{background:#0a2e3d;color:white;padding-block:48px}
.dob-blog-booking-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.dob-blog-booking .dob-kicker{color:#8acbe5}
.dob-blog-booking h2{color:white;font-size:clamp(24px,2.5vw,32px);font-weight:700;line-height:1.25;letter-spacing:-.025em;max-width:540px}
.dob-blog-booking p:not(.dob-kicker){margin-top:12px;max-width:530px;color:#d6e4ec;font-size:16px;line-height:1.7}
.dob-blog-booking-actions{display:flex;flex-direction:column;gap:12px;flex:none}
.dob-blog-booking-actions .dob-btn{min-height:50px;padding-inline:24px;border:1px solid #8acbe5}
.dob-blog-booking-actions .dob-btn-outline-light{color:white;background:transparent}
.dob-blog-booking-actions .dob-btn-outline-light:hover{background:#0f4459}
.dob-blog-hero-image{overflow:hidden;border-radius:16px 16px 16px 48px;background:#0a2e3d;border:6px solid white;box-shadow:0 16px 36px -26px #0a2e3d55}
.dob-blog-hero-image img{width:100%;height:auto;display:block}
.dob-blog-post-hero .dob-h1{font-size:clamp(30px,3.1vw,43px);line-height:1.15}
.dob-blog-intro{margin-top:20px;color:#4a6377;font-size:17px;line-height:1.75}
.dob-blog-intro strong{font-weight:600}
.dob-blog-reading-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);gap:64px;align-items:start}
.dob-blog-article{min-width:0;color:#4a6377;font-size:17px;line-height:1.8;overflow-wrap:break-word}
.dob-blog-article h2{clear:both;scroll-margin-top:120px;margin-top:44px;border-top:1px solid #d6e4ec;padding-top:28px;color:#0a2e3d;font-size:28px;font-weight:700;line-height:1.3;letter-spacing:-.025em;text-wrap:pretty}
.dob-blog-article>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.dob-blog-article h3{margin-top:28px;color:#156383;font-size:21px;font-weight:600;line-height:1.45}
.dob-blog-article p,.dob-blog-article ul,.dob-blog-article ol{margin-top:16px}
.dob-blog-article ul,.dob-blog-article ol{padding-left:24px;list-style:disc}
.dob-blog-article ol{list-style:decimal}
.dob-blog-article li{margin-top:10px;padding-left:3px}
.dob-blog-article li::marker{color:#156383}
.dob-blog-article strong{font-weight:650;color:#0a2e3d}
.dob-blog-article a{color:#156383;text-decoration:underline;text-underline-offset:3px}
.dob-blog-article a:hover{color:#0a2e3d}
.dob-blog-takeaways{clear:both;margin-top:28px;padding:24px 28px;border:1px solid #d6e4ec;border-left:4px solid #156383;border-radius:12px;background:#eff7fb}
.dob-blog-takeaways h2{margin:0;padding:0;border:0;font-size:23px}
.dob-blog-figure{margin:24px 0;border:1px solid #d6e4ec;border-radius:12px;overflow:hidden;background:#f7fbfd}
.dob-blog-figure img{display:block;width:100%;height:auto}
.dob-blog-figure figcaption{padding:12px 16px;border-top:1px solid #d6e4ec;color:#587284;font-size:14px;line-height:1.6}
.dob-blog-figure.blog-img-right{float:right;clear:right;width:42%;max-width:330px;margin:8px 0 20px 28px}
.dob-blog-figure.blog-img-full{clear:both;max-width:560px;margin:28px auto}
.dob-blog-table{clear:both;overflow-x:auto;margin-top:24px;border:1px solid #6c93a8;border-radius:12px}
.dob-blog-table table{width:100%;min-width:540px;border-collapse:collapse;font-size:15px;line-height:1.65}
.dob-blog-table th{background:#0a2e3d;color:white;padding:16px;text-align:left;font-weight:600}
.dob-blog-table td{padding:14px 16px;border:1px solid #d6e4ec;vertical-align:top}
.dob-blog-table tbody tr:nth-child(even){background:#f7fbfd}
.dob-blog-table tbody td:first-child{font-weight:600;color:#0a2e3d}
.dob-blog-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;clear:both}
.dob-blog-option{border:1px solid #d6e4ec;border-radius:12px;overflow:hidden;background:#f7fbfd;min-width:0}
.dob-blog-option h3{margin:0;padding:14px 20px;font-size:19px;line-height:1.4;background:#156383;color:white}
.dob-blog-option:nth-child(even) h3{background:#0a2e3d}
.dob-blog-option ul{margin:0;padding:8px 24px 24px 40px;font-size:16px;line-height:1.75}
@media(max-width:539px){.dob-blog-options{grid-template-columns:minmax(0,1fr)}}
.dob-blog-warning{clear:both;margin-top:24px;border:1px solid #b23a3066;border-left:4px solid #b23a30;border-radius:12px;background:#fff6f5;padding:20px 24px}
.dob-blog-warning p,.dob-blog-inline-cta p{margin:0}
.dob-blog-warning strong{color:#9f352d}
.dob-blog-inline-cta{clear:both;margin-top:28px;padding:20px 24px;border-radius:12px;background:#0a2e3d;color:#d6e4ec}
.dob-blog-inline-cta strong{color:#8acbe5}
.dob-blog-inline-cta a{color:white}
.dob-blog-faqs{display:grid;gap:12px;margin-top:24px;clear:both}
.dob-blog-faq{border:1px solid #6c93a8;border-radius:10px;overflow:hidden;background:white}
.dob-blog-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:18px 20px;cursor:pointer;min-height:56px;color:#0a2e3d;font-size:17px;font-weight:600;line-height:1.5}
.dob-blog-faq summary::-webkit-details-marker{display:none}
.dob-blog-faq summary svg{width:20px;height:20px;flex:none;color:#156383}
.dob-blog-faq[open]{background:#f7fbfd}
.dob-blog-faq[open] summary svg{transform:rotate(45deg)}
.dob-blog-faq>div{padding:0 20px 20px}
.dob-blog-faq>div>p:first-child{margin-top:0}
.dob-blog-sidebar{position:sticky;top:120px;display:grid;gap:24px}
.dob-blog-contents{background:#f7fbfd;border:1px solid #d6e4ec;border-radius:12px;overflow:hidden}
.dob-blog-contents summary{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;min-height:56px;color:#0a2e3d;font-size:17px;font-weight:700;cursor:pointer;list-style:none}
.dob-blog-contents summary::-webkit-details-marker{display:none}
.dob-blog-contents summary svg{width:20px;height:20px}
.dob-blog-contents[open] summary svg{transform:rotate(180deg)}
.dob-blog-contents nav{padding:0 16px 16px;max-height:44vh;overflow-y:auto}
.dob-blog-contents li+li{border-top:1px solid #d6e4ec}
.dob-blog-contents a{display:flex;align-items:center;min-height:44px;padding:10px 8px;border-radius:6px;color:#4a6377;font-size:14px;line-height:1.5}
.dob-blog-contents a:hover{background:#dff0f7;color:#156383}
.dob-blog-sidebar-booking{padding:24px;border-radius:12px;background:#0a2e3d;color:white}
.dob-blog-sidebar-booking .dob-kicker{color:#8acbe5}
.dob-blog-sidebar-booking h2{color:white;font-weight:700;font-size:23px;line-height:1.3}
.dob-blog-sidebar-booking p:not(.dob-kicker){margin:12px 0 20px;color:#d6e4ec;font-size:15px;line-height:1.75}
.dob-blog-sidebar-booking .dob-btn{display:flex;min-height:48px;font-size:15px}
.dob-blog-sidebar-phone{display:flex;align-items:center;justify-content:center;min-height:48px;color:white;font-size:16px;font-weight:600;margin-top:8px}
.dob-blog-article .dob-blog-disclaimer{clear:both;margin-top:40px;padding-top:24px;border-top:1px solid #d6e4ec;color:#587284;font-size:14px;line-height:1.7}
.dob-blog-related{padding-block:56px;background:#eff7fb;border-top:1px solid #d6e4ec}
.dob-blog-text-link{display:inline-flex;gap:8px;align-items:center;min-height:44px;color:#156383;font-weight:600}
.dob-blog-text-link:hover{text-decoration:underline;text-underline-offset:3px}
:where(.dob-blog-container,.dob-blog-card,.dob-blog-featured,.dob-blog-faq) :is(a,button,input,select,summary,[tabindex]):focus-visible,.dob-blog-table:focus-visible{outline:3px solid #1c7ca3;outline-offset:4px}
.dob-blog-card:focus-within,.dob-blog-featured:focus-within{outline:3px solid #1c7ca3;outline-offset:4px}
@media(max-width:1023px){.dob-blog-hero-grid{gap:32px}.dob-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dob-blog-reading-grid{grid-template-columns:minmax(0,1fr);gap:32px}.dob-blog-sidebar{position:static;grid-row:1}.dob-blog-sidebar-booking{display:none}.dob-blog-contents nav{max-height:none}.dob-blog-contents ol{columns:2}.dob-blog-booking-inner{gap:32px}.dob-blog-byline{margin-top:20px}.dob-blog-filters{flex-wrap:wrap}.dob-blog-search{flex-basis:45%}.dob-blog-topic{flex:1}.dob-blog-reset{flex:none}}
@media(max-width:767px){.dob-blog-hero-grid{grid-template-columns:minmax(0,1fr)}.dob-blog-index-hero,.dob-blog-post-hero{padding-bottom:32px}.dob-blog-breadcrumb{margin-bottom:20px}.dob-blog-featured{max-width:600px}.dob-blog-library,.dob-blog-reading{padding-block:40px}.dob-blog-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.dob-blog-library-note{display:none}.dob-blog-filters{padding:18px;gap:16px}.dob-blog-search{flex-basis:100%}.dob-blog-topic{flex-basis:100%}.dob-blog-filters .dob-btn{flex:1}.dob-blog-booking-inner{flex-direction:column;align-items:flex-start}.dob-blog-booking-actions{width:100%;flex-direction:row;flex-wrap:wrap}.dob-blog-booking-actions .dob-btn{flex:1;white-space:normal;text-align:center}.dob-blog-contents ol{columns:1}.dob-blog-hero-image{max-width:600px}.dob-blog-article h2{font-size:25px;margin-top:36px;padding-top:24px}.dob-blog-article{font-size:17px}.dob-blog-figure.blog-img-right{float:none;clear:both;width:100%;max-width:440px;margin:24px auto}.dob-blog-takeaways{padding:20px}.dob-blog-related{padding-block:40px}}
@media(max-width:539px){.dob-blog-grid{grid-template-columns:minmax(0,1fr)}.dob-blog-card-body{padding:22px}.dob-blog-featured-body{padding:22px}.dob-blog-featured h2{font-size:23px}.dob-blog-index-intro{font-size:17px}.dob-blog-booking-actions{flex-direction:column}.dob-blog-byline{font-size:13px}.dob-blog-warning,.dob-blog-inline-cta{padding:18px}.dob-blog-faq summary{padding:16px}.dob-blog-faq>div{padding:0 16px 16px}}
@media(prefers-reduced-motion:reduce){.dob-blog-featured-image img,.dob-blog-card-image img,.dob-blog-card{transition:none}}
