/* Layout rules scoped to Observatory components. Editable tokens come from theme.json. */
.wp-site-blocks { padding-top:0; padding-bottom:0; }
.obs-site-header,.obs-site-footer { margin-block:0; }
.obs-site-header,.obs-site-footer { padding-inline:5%; }
.obs-site-header { border-bottom:1px solid var(--wp--preset--color--rule); }
.obs-header-inner,.obs-footer-inner { max-width:var(--wp--style--global--wide-size); margin-inline:auto; padding-block:24px; }
.obs-header-inner { gap:24px; }
.obs-logo { flex:0 0 48px; margin:0; }
.obs-navigation .wp-block-navigation__container { gap:8px 24px; }
.obs-navigation .wp-block-navigation-item__content { padding-block:10px; text-decoration:none; }
.obs-navigation .wp-block-navigation__submenu-container { background:var(--wp--preset--color--raised); color:var(--wp--preset--color--paper); border:1px solid var(--wp--preset--color--rule); min-width:170px; padding:8px; border-radius:4px; }
.obs-navigation a:hover { color:var(--wp--preset--color--sand); }
.obs-header-inner a:focus-visible,.obs-main a:focus-visible,.obs-home-content a:focus-visible,.obs-footer-inner a:focus-visible { outline:2px solid var(--wp--preset--color--sand); outline-offset:5px; }
.obs-front-main,.obs-home-content { margin-top:0; }
.obs-front-main > .obs-home-content { max-width:none; }
.obs-main { width:90%; max-width:var(--wp--style--global--wide-size); margin-inline:auto; padding-block:64px; }
.obs-main > * { max-width:none; }
.obs-main .obs-article-content,.obs-main .obs-after-article { max-width:var(--wp--style--global--content-size); margin-inline:auto; }
.obs-main > .wp-block-post-featured-image { margin-block:36px 48px; }
.obs-main > .wp-block-post-featured-image img { width:100%; height:auto; border-radius:4px; }
.obs-main > .wp-block-post-terms { color:var(--wp--preset--color--muted); font-size:14px; }
.obs-article-content { overflow-wrap:anywhere; }
.obs-article-content :where(h2,h3) { margin-top:1.8em; }
.obs-article-content :where(img,video,iframe) { max-width:100%; }
.obs-article-content img { height:auto; }
.obs-article-content :where(.wp-block-table,table) { max-width:100%; overflow-x:auto; }
.obs-article-content table { display:block; border-collapse:collapse; }
.obs-article-content :where(td,th) { border:1px solid var(--wp--preset--color--rule); padding:10px 16px; text-align:left; }
.obs-article-content :where(figcaption,.wp-element-caption) { font-size:14px; color:var(--wp--preset--color--muted); line-height:1.5; }
.obs-run-card { background:var(--wp--preset--color--raised); border-left:3px solid var(--wp--preset--color--sand); border-radius:4px; padding:24px; }
.obs-run-card h2 { margin-top:0; }
.obs-after-article { border-top:1px solid var(--wp--preset--color--rule); margin-top:48px; padding-top:32px; }
.obs-comment { padding-block:20px; border-bottom:1px solid var(--wp--preset--color--rule); }
.obs-main :where(input:not([type=checkbox]):not([type=radio]),textarea) { background:var(--wp--preset--color--raised); border:1px solid var(--wp--preset--color--rule); border-radius:4px; color:var(--wp--preset--color--paper); padding:12px; max-width:100%; font:inherit; }
.obs-main input[type=submit],.obs-main .wp-block-search__button { background:var(--wp--preset--color--sand); color:var(--wp--preset--color--night); border:0; padding:12px 20px; font-weight:600; cursor:pointer; }
.obs-main .wp-block-search { margin-block:32px; }
.obs-main .wp-block-search__input { min-width:0; }
.obs-eyebrow { font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.14em; color:var(--wp--preset--color--muted); text-transform:uppercase; }
.obs-section { padding-block:64px; margin-block:0; }
.obs-section > * { max-width:none; }
.obs-section h2 { margin-top:12px; }
.obs-muted,.obs-session-card > p:not(.obs-eyebrow),.obs-tool > p { color:var(--wp--preset--color--muted); font-size:16px; }
.obs-hero { margin-top:0; padding:72px 5% 24px; align-items:center; }
.obs-hero .wp-block-cover__background { background:linear-gradient(90deg,var(--wp--preset--color--night) 0%,rgba(16,23,34,.75) 42%,rgba(16,23,34,.15) 100%); opacity:1; }
.obs-hero .wp-block-cover__inner-container { max-width:1152px; margin:auto; }
.obs-hero .obs-hero-copy { margin-left:0; max-width:680px; }
.obs-hero-copy > * { margin-left:0!important; }
.obs-hero h1 { margin-block:20px; max-width:680px; }
.obs-hero-intro { font-size:18px; color:var(--wp--preset--color--muted); max-width:590px; }
.obs-hero .wp-block-buttons { margin-top:32px; gap:16px; }
.obs-hero .is-style-outline .wp-block-button__link { color:var(--wp--preset--color--paper); border:1px solid var(--wp--preset--color--rule); background:transparent; }
.obs-hero-credit { text-align:right; font-size:12px; line-height:1.5; color:var(--wp--preset--color--muted); margin-top:48px; }
.obs-proof { padding-block:20px; border-bottom:1px solid var(--wp--preset--color--rule); gap:16px; }
.obs-proof p { font-size:14px; color:var(--wp--preset--color--muted); margin:0; }
.obs-section-heading { position:relative; margin-bottom:32px; }
.obs-section-heading > * { margin-left:0; }
.obs-section-heading > p:last-child { position:absolute; right:0; bottom:0; font-size:14px; }
.obs-session-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.obs-session-grid > .obs-session-card { margin:0; max-width:none; min-width:0; }
.obs-session-card > * { margin-left:0; }
.obs-card-image img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; }
.obs-session-card h3 { font-size:24px; margin-block:10px; }
.obs-session-card .obs-eyebrow { margin-top:20px; }
.obs-session-card a,.obs-tool a { color:var(--wp--preset--color--paper); text-decoration:none; font-size:14px; }
.obs-session-card a:hover,.obs-tool a:hover { text-decoration:underline; }
.obs-latest { border-top:1px solid var(--wp--preset--color--rule); }
.obs-sequential { list-style:none; padding:0; margin:32px 0 0; }
.obs-sequential > li { border-top:1px solid var(--wp--preset--color--rule); padding-block:28px; margin:0; }
.obs-post-row { display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; }
.obs-post-row > * { margin:0; max-width:none; }
.obs-query-text > * { margin-left:0; }
.obs-query-text .wp-block-post-title { font-size:27px; line-height:1.25; margin-block:8px 10px; }
.obs-query-text .wp-block-post-title a { color:inherit; text-decoration:none; }
.obs-query-text .wp-block-post-title a:hover { text-decoration:underline; }
.obs-post-row .wp-block-post-featured-image,.obs-post-card .wp-block-post-featured-image { margin:0; }
.obs-post-row img,.obs-post-card img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:8px; }
.obs-query-text .wp-block-post-excerpt { margin:0; }
.obs-query-text .wp-block-post-excerpt__excerpt { margin-top:0; }
.obs-query-text .wp-block-post-excerpt__more-link { font-size:14px; text-decoration:none; }
.obs-guides { display:grid; grid-template-columns:1fr 1.4fr; gap:48px; background:var(--wp--preset--color--raised); padding:48px; }
.obs-guides > * { margin:0; max-width:none; }
.obs-guide-link { padding:20px 0; margin:0; border-bottom:1px solid var(--wp--preset--color--rule); }
.obs-guide-link a { font-size:18px; color:var(--wp--preset--color--paper); text-decoration:none; }
.obs-tools { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:40px; }
.obs-tools > * { margin:0; max-width:none; }
.obs-tools h3 { margin-top:0; }
.obs-archive-query { max-width:none; margin-top:36px; }
.obs-archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 40px; list-style:none; padding:0; }
.obs-archive-grid > li { margin:0; min-width:0; }
.obs-post-card > * { max-width:none; }
.obs-post-card .obs-query-text { margin-top:20px; }
.obs-topic-links { font-size:14px; }
.obs-main .wp-block-query-pagination { margin-top:48px; gap:24px; }
.obs-site-footer { border-top:1px solid var(--wp--preset--color--rule); }
.obs-footer-inner { color:var(--wp--preset--color--muted); font-size:13px; }
.obs-footer-top > * { margin:0; }
.obs-footer-inner a { color:var(--wp--preset--color--paper); text-decoration:none; }
.obs-social { gap:24px; }
.obs-social .wp-social-link a { padding:10px; }
.obs-social .wp-social-link svg { height:22px; width:22px; }
.obs-full-main,.obs-full-content { max-width:none; margin-block:0; }
.obs-elementor-page .obs-main { padding:0; max-width:none; width:100%; }
.obs-elementor-page .obs-article-content { max-width:none; }
@media(max-width:900px) {
 .obs-header-inner { justify-content:flex-start; }
 .obs-navigation { flex:1 1 100%; }
 .obs-navigation .wp-block-navigation__container { justify-content:flex-start; }
 .obs-hero { padding-top:48px; }
 .obs-hero .wp-block-cover__background { background:linear-gradient(90deg,rgba(16,23,34,.92),rgba(16,23,34,.45)); }
 .obs-tools { grid-template-columns:1fr 1fr; }
 .obs-tools-heading { grid-column:1/-1; }
 .obs-guides { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:600px) {
 .obs-section,.obs-main { padding-block:40px; }
 .obs-hero { min-height:640px!important; padding:40px 20px 24px; }
 .obs-hero-intro { font-size:16px; }
 .obs-hero-credit { margin-top:32px; }
 .obs-session-grid,.obs-archive-grid,.obs-tools,.obs-post-row { grid-template-columns:1fr; }
 .obs-session-grid { gap:36px; }
 .obs-post-row { gap:18px; }
 .obs-query-text .wp-block-post-title { font-size:23px; }
 .obs-guides { padding:32px 24px; }
 .obs-section-heading > p:last-child { position:static; }
 .obs-article-content { font-size:17px; }
 .obs-navigation .wp-block-navigation__container { gap:4px 18px; }
 .obs-footer-top { gap:18px; }
 .obs-main .wp-block-search__button { padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) { .obs-navigation * { transition:none!important; } }
