/* Rio Carnival Hub — shared front-end/editor styling. No external JS or font dependencies. */
:root{--rch-navy:#14213D;--rch-magenta:#BD175C;--rch-teal:#08776E;--rch-gold:#F6B83C;--rch-ivory:#FFF9F1;--rch-ink:#202B40;--rch-muted:#566278;--rch-border:#E0E6EE;--rch-shadow:0 14px 42px rgba(20,33,61,.09);--rch-radius:18px;--rch-headings:"Plus Jakarta Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--rch-ink);background:#fff;font-size:1.06rem;line-height:1.75;-webkit-font-smoothing:antialiased}
body,.wp-site-blocks{overflow-x:clip}
.wp-site-blocks{min-height:100vh}
:where(main p){line-height:1.82}
:where(main a){text-underline-offset:.17em;text-decoration-thickness:1px}
:where(main a):hover{text-decoration-thickness:2px}
:where(h1,h2,h3,h4,h5,h6){font-family:var(--rch-headings);letter-spacing:-.025em;overflow-wrap:break-word}
:where(h1){font-size:clamp(2.2rem,5vw,4.2rem)}
:where(h2){font-size:clamp(1.6rem,2.3vw,2.25rem)}
:where(h3){font-size:clamp(1.22rem,1.7vw,1.5rem)}
:where(p,li,td,th,figcaption){overflow-wrap:break-word}
:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #f6b83c!important;outline-offset:3px}
a,button{transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}
img{max-width:100%;height:auto}
:where(main figure img){border-radius:14px}
:where(.wp-block-image figcaption,.wp-block-gallery figcaption){font-size:.86rem;color:var(--rch-muted);line-height:1.45}
:where(main :is(h2,h3,h4)){scroll-margin-top:125px}
::selection{background:#ffe2ae;color:#14213d}
/* v1.2: The Site Editor global block gap must not separate page-level header, main and footer. */
body .wp-site-blocks > * + * { margin-block-start:0!important; }
body .wp-site-blocks > :is(main,.rch-home-main,.rch-page-main,.rch-landing-main) { margin-block-start:0!important; }
body .wp-site-blocks > .wp-block-template-part + :is(main,.wp-block-group) { margin-block-start:0!important; }
body .rch-home-main { display:flow-root; }
body .rch-home-main > .wp-block-post-content > :first-child { margin-block-start:0!important; }
/* A header template part itself contains stacked topbar + navigation blocks. */
:where(header.wp-block-template-part) > .rch-topbar + .rch-header { margin-block-start:0!important; }
/* The search shortcode is a native accessible expandable control (no clipped input). */
.rch-header .rch-search-disclosure { position:relative; z-index:60; flex:0 0 auto; margin:0; color:#fff; }
.rch-header .rch-search-disclosure > summary { display:flex; justify-content:center; align-items:center; cursor:pointer; height:44px; width:44px; border:1px solid rgba(255,255,255,.28); border-radius:10px; background:rgba(255,255,255,.09); color:#fff; list-style:none; transition:background .16s ease; }
.rch-header .rch-search-disclosure > summary::-webkit-details-marker { display:none; }
.rch-header .rch-search-disclosure > summary::marker { content:''; }
.rch-header .rch-search-disclosure > summary:hover,.rch-header .rch-search-disclosure[open] > summary { background:var(--rch-magenta); }
.rch-header .rch-search-disclosure .screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.rch-header .rch-search-disclosure > form { position:absolute; top:calc(100% + 13px); right:0; display:flex; align-items:stretch; width:min(350px,calc(100vw - 36px)); min-height:52px; padding:8px; gap:7px; border:1px solid var(--rch-border); background:#fff; box-shadow:0 17px 45px rgba(10,20,39,.2); border-radius:12px; color:var(--rch-ink); }
.rch-header .rch-search-disclosure:not([open]) > form { display:none; }
.rch-header .rch-search-disclosure input[type=search] { display:block; width:100%; min-width:0; flex:1 1 auto; margin:0; border:1px solid #c9d4e1; border-radius:7px; padding:10px 12px; background:#fff; color:var(--rch-ink); font:inherit; font-size:.9rem; line-height:1.2; }
.rch-header .rch-search-disclosure button[type=submit] { display:block; flex:0 0 auto; margin:0; border:0; border-radius:7px; padding:9px 13px; background:var(--rch-magenta); color:#fff; font:inherit; font-size:.88rem; font-weight:700; cursor:pointer; }
.rch-header .rch-search-disclosure button[type=submit]:hover { background:#971149; }
/* Legacy Core Search fallback if a customized header is saved in Site Editor. */
.rch-header form.wp-block-search.rch-header-search { overflow:visible; width:44px!important; min-width:44px!important; margin:0!important; position:relative; }
.rch-header form.wp-block-search.rch-header-search .wp-block-search__inside-wrapper { position:relative; display:flex; align-items:center; justify-content:flex-end; min-width:44px; }
.rch-header form.wp-block-search.rch-header-search .wp-block-search__input { position:absolute; z-index:65; top:calc(100% + 12px); right:0; margin:0!important; width:min(300px,calc(100vw - 36px))!important; max-width:none!important; min-width:0!important; flex:none!important; border-radius:10px; border:1px solid #c9d4e1; background:#fff; color:#14213d; padding:12px; box-shadow:var(--rch-shadow); }
.rch-header form.wp-block-search.rch-header-search.wp-block-search__searchfield-hidden .wp-block-search__input { display:none!important; }
.rch-header form.wp-block-search.rch-header-search .wp-block-search__button { position:relative; z-index:66; }

/* Header */
.rch-topbar{background:#101a2f;color:#e4e9f1!important;border-bottom:1px solid rgba(255,255,255,.10)}
.rch-topbar-inner{min-height:32px;padding:.33rem 0;gap:12px}
.rch-topbar-inner p{margin:0!important;color:#e5eaf2!important;font-size:.62rem!important;font-weight:700;letter-spacing:.14em;line-height:1.35!important}
.rch-header{position:relative;z-index:40;background:#14213D;color:white!important;box-shadow:0 5px 14px rgba(6,18,39,.14)}
.rch-header-inner{min-height:84px;padding-block:13px;gap:24px}
.rch-brand{gap:12px;min-width:220px;flex-shrink:0}
.rch-brand .wp-block-site-logo{line-height:0;margin:0}
.rch-brand .wp-block-site-logo img{max-height:56px;object-fit:contain}
.rch-brand .wp-block-site-title{font-family:var(--rch-headings);margin:0!important;font-size:clamp(1.1rem,1.45vw,1.4rem);font-weight:850;line-height:1.18;letter-spacing:-.04em}
.rch-brand .wp-block-site-title a{color:white!important;text-decoration:none}
.rch-brand .wp-block-site-title a:hover{color:var(--rch-gold)!important}
.rch-brand-tagline{font-size:.56rem!important;line-height:1.35!important;font-weight:750;letter-spacing:.18em;color:var(--rch-gold)!important;margin:.32rem 0 0!important}
.rch-header .wp-block-navigation{gap:clamp(.45rem,1.15vw,1.25rem);margin-left:auto}
.rch-header .wp-block-navigation .wp-block-navigation-item__content{font-size:.86rem;font-weight:650;color:#f4f5f8!important;line-height:1.25;text-decoration:none;padding-block:9px}
.rch-header .wp-block-navigation .wp-block-navigation-item__content:hover,.rch-header .wp-block-navigation .current-menu-item>.wp-block-navigation-item__content{color:var(--rch-gold)!important}
.rch-header .wp-block-navigation .wp-block-navigation__submenu-icon{color:#fff}
.rch-header .wp-block-navigation .wp-block-navigation__submenu-container{background:#fff;color:var(--rch-navy);border:1px solid var(--rch-border);border-radius:12px;box-shadow:var(--rch-shadow);padding:8px;min-width:200px}
.rch-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:var(--rch-navy)!important;padding:11px 12px!important;border-radius:6px;width:100%}
.rch-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:#fff2e3;color:var(--rch-magenta)!important}
.rch-header-search{width:42px;min-width:42px;margin:0;position:relative;flex-shrink:0}
.rch-header-search .wp-block-search__button{border:1px solid rgba(255,255,255,.26)!important;border-radius:10px;background:rgba(255,255,255,.09)!important;color:#fff!important;min-height:40px;min-width:40px;margin:0!important;padding:7px!important}
.rch-header-search .wp-block-search__button:hover{background:var(--rch-magenta)!important}
.rch-header-search .wp-block-search__button svg{height:20px;width:20px}
/* Body spacing */
.rch-page-main{padding-top:clamp(28px,4.2vw,58px);padding-bottom:clamp(55px,8vw,120px)}
.rch-page-main>.wp-block-post-title,.rch-page-title{font-size:clamp(2.15rem,4vw,3.55rem);line-height:1.13;max-width:950px;margin:0 auto 2.15rem!important;font-weight:850;letter-spacing:-.035em;color:var(--rch-navy)}
.rch-page-main :where(.wp-block-post-content) {line-height:1.8}
.rch-page-main .wp-block-post-content > :where(h2){margin-top:2.5em;margin-bottom:.65em}
.rch-page-main .wp-block-post-content > :where(h3){margin-top:1.8em;margin-bottom:.5em}
.rch-page-main .wp-block-post-content > :where(p,ul,ol){margin-bottom:1.25em}
.rch-page-main .wp-block-post-content > :where(h2,h3,h4,h5,h6){color:var(--rch-navy)}
.rch-page-main .wp-block-post-content>figure:first-child{margin-top:0}
.rch-landing-main>.wp-block-post-content{margin:0}
.rch-article-lead,.rch-page-main .is-style-lead{font-size:clamp(1.12rem,1.4vw,1.28rem);color:#48566d;line-height:1.75;max-width:820px}
.rch-article .rch-byline{font-size:.85rem;color:var(--rch-muted);margin:-.9rem 0 2rem}
.rch-featured-image img{border-radius:18px;width:100%;max-height:560px;object-fit:cover}
/* Breadcrumbs */
.rch-breadcrumbs{max-width:820px;margin:0 auto 1.65rem;font-size:.75rem;font-weight:650;letter-spacing:.01em}
.rch-breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}
.rch-breadcrumbs li{display:inline-flex;align-items:center;gap:.45rem;color:var(--rch-muted)}
.rch-breadcrumbs li:not(:first-child)::before{content:'›';font-size:1rem;color:#98a3b6;margin-right:.05rem}
.rch-breadcrumbs a{color:var(--rch-magenta);text-decoration:none}
.rch-breadcrumbs a:hover{text-decoration:underline}
/* Homepage hero */
.rch-home-main{padding:0!important}
.rch-home-main .wp-block-post-content{margin:0}
.rch-home-hero{overflow:hidden;background:radial-gradient(circle at 80% 28%,#8b3368 0%,transparent 34%),linear-gradient(120deg,#14213d,#19506b 56%,#bd175c)!important;padding:4rem max(22px,calc((100vw - 1200px)/2));isolation:isolate}
.rch-home-hero::after{content:'';pointer-events:none;position:absolute;inset:auto -10% -140px 15%;height:220px;background:radial-gradient(ellipse,rgba(246,184,60,.24),transparent 62%);z-index:1}
.rch-home-hero .wp-block-cover__image-background{object-position:center 45%}
.rch-home-hero .wp-block-cover__background{opacity:.68!important;background:linear-gradient(100deg,#0d1d36 4%,rgba(13,29,54,.92) 32%,rgba(13,29,54,.59) 70%,rgba(13,29,54,.38))!important}
.rch-home-hero .wp-block-cover__inner-container{width:100%;max-width:1200px;margin:auto;position:relative;z-index:2}
.rch-hero-copy{max-width:775px;margin:0!important;padding:3.5rem 0}
.rch-hero-eyebrow{color:var(--rch-gold)!important;margin-bottom:1.65rem!important}
.rch-eyebrow{font-size:.76rem!important;text-transform:uppercase;letter-spacing:.15em;font-weight:850!important;color:var(--rch-magenta);line-height:1.4!important;margin-bottom:1rem!important}
.rch-hero-title{font-size:clamp(2.6rem,5vw,5rem)!important;max-width:850px;font-weight:850!important;line-height:1.065!important;letter-spacing:-.05em!important;color:#fff!important;margin-bottom:1.4rem!important;text-wrap:balance;text-shadow:0 3px 20px rgba(0,0,0,.22)}
.rch-hero-lead{font-size:clamp(1.09rem,1.45vw,1.28rem)!important;line-height:1.7!important;max-width:690px;color:#fff!important;margin-bottom:1.9rem!important;text-shadow:0 1px 12px rgba(0,0,0,.18)}
.rch-hero-buttons{gap:12px!important}
.rch-hero-buttons .wp-block-button__link{padding:1rem 1.38rem!important;text-decoration:none!important;font-size:.92rem!important}
.rch-hero-buttons .rch-btn-primary .wp-block-button__link{background:var(--rch-magenta)!important;color:#fff!important;box-shadow:0 8px 28px rgba(0,0,0,.12)}
.rch-hero-buttons .rch-btn-primary .wp-block-button__link:hover{background:#d9266f!important;transform:translateY(-2px)}
.rch-hero-buttons .rch-btn-secondary .wp-block-button__link{color:#fff!important;border:1px solid rgba(255,255,255,.75)!important;background:rgba(255,255,255,.09)!important}
.rch-hero-buttons .rch-btn-secondary .wp-block-button__link:hover{background:#fff!important;color:var(--rch-navy)!important}
/* Homepage quick jump cards */
.rch-quick-grid-wrap{margin-top:-48px!important;position:relative;z-index:5;padding-inline:22px}
.rch-quick-grid{gap:20px!important}
.rch-quick-grid>.wp-block-column{min-width:0}
.rch-quick-card{background:#fff;border:1px solid var(--rch-border);padding:clamp(23px,3vw,32px)!important;height:100%;border-radius:var(--rch-radius);box-shadow:var(--rch-shadow);transition:transform .18s ease,box-shadow .18s ease}
.rch-quick-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(20,33,61,.13)}
.rch-small-number{font-size:.69rem!important;font-weight:850;color:var(--rch-magenta);letter-spacing:.12em;margin:0 0 10px!important;line-height:1.2!important}
.rch-quick-card h2{font-size:1.24rem!important;margin:0 0 .6rem!important;color:var(--rch-navy)!important}
.rch-quick-card>p:not(.rch-small-number):not(.rch-text-link){font-size:.92rem;line-height:1.55;color:var(--rch-muted);margin-bottom:1.2rem!important}
.rch-text-link{margin:0!important;line-height:1.4!important}
.rch-text-link a,.rch-card-link a{display:inline-block;color:var(--rch-magenta);font-size:.88rem;font-weight:800;text-decoration:none}
.rch-text-link a:hover,.rch-card-link a:hover{text-decoration:underline}
/* Homepage sections */
.rch-home-section{margin-block:clamp(56px,6.1vw,94px)!important;padding-inline:20px}
.rch-home-section .rch-section-title,.rch-planning-band .rch-section-title{font-size:clamp(2rem,3.2vw,3.2rem)!important;max-width:810px;letter-spacing:-.04em!important;line-height:1.15!important;margin:0 0 1.2rem!important}
.rch-section-intro{font-size:clamp(1.04rem,1.4vw,1.16rem);line-height:1.85;max-width:880px;color:var(--rch-muted);margin:0 0 2.1rem!important}
.rch-story-columns{gap:24px!important;margin-top:2.5rem!important}
.rch-feature-card{height:100%;min-height:310px;border-radius:22px;padding:clamp(30px,4vw,54px)!important;color:#fff!important;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;isolation:isolate}
.rch-feature-card::after{content:'';position:absolute;z-index:-1;right:-65px;top:-65px;width:210px;height:210px;border-radius:50%;border:44px solid rgba(255,255,255,.11)}
.rch-card-magenta{background:linear-gradient(132deg,#961146,#d32566)}
.rch-card-teal{background:linear-gradient(130deg,#086059,#0d948b)}
.rch-feature-marker{color:#ffe7a0!important;font-size:.76rem!important;letter-spacing:.15em;font-weight:750!important;margin:0 0 1.1rem!important}
.rch-feature-card h3{color:#fff!important;font-size:clamp(1.55rem,2.1vw,2rem)!important;margin:0 0 .8rem!important}
.rch-feature-card p:not(.rch-feature-marker){color:#fff!important;line-height:1.7;font-size:1rem}
.rch-feature-card .rch-card-link{margin:.6rem 0 0!important}
.rch-feature-card .rch-card-link a{color:#fff!important;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:4px}
.rch-planning-band{padding:clamp(52px,5.3vw,82px) 22px!important;background:var(--rch-ivory);border-block:1px solid #f0e5da}
.rch-planning-inner{max-width:1200px!important}
.rch-planning-grid{gap:20px!important;margin-top:2rem!important}
.rch-planning-card{height:100%;background:#fff;border:1px solid #e7e5e1;border-radius:18px;padding:32px!important;box-shadow:0 7px 28px rgba(55,38,20,.05)}
.rch-planning-card h3{font-size:1.28rem!important;line-height:1.3;color:var(--rch-navy)!important;margin:0 0 .9rem!important}
.rch-planning-card p:not(.rch-text-link){font-size:.95rem;line-height:1.7;color:var(--rch-muted);margin-bottom:1.4rem!important}
.rch-faq-home{max-width:1000px!important}
.rch-historical-link{margin-top:2rem!important;font-weight:600}
/* Shared inner patterns */
.rch-editorial-intro{border-left:5px solid var(--rch-gold);padding:16px 26px;margin-bottom:2.5rem!important;background:#fffcf7;border-radius:0 12px 12px 0}
.rch-editorial-intro .rch-eyebrow{margin-bottom:.55rem!important}
.rch-editorial-intro .rch-article-lead{margin:0!important}
.rch-fact-wrap{margin:2.5rem 0!important}
.rch-fact-grid{gap:12px!important;margin-top:1.1rem!important}
.rch-fact{height:100%;border:1px solid var(--rch-border);border-radius:14px;background:#f6f9fc;padding:22px!important}
.rch-fact-label{font-size:.75rem!important;color:var(--rch-teal);font-weight:800!important;letter-spacing:.12em;margin:0 0 .45rem!important}
.rch-fact-value{font-size:1.08rem;font-weight:750;line-height:1.45;margin:0!important;color:var(--rch-navy)}
.rch-helpful-note{margin:2rem 0!important;border-left:5px solid var(--rch-teal);padding:23px 28px;background:#eff9f6;border-radius:0 12px 12px 0}
.rch-helpful-note h3{color:#065b54!important;font-size:1.22rem;margin:0 0 .7rem!important}
.rch-helpful-note p:last-child{margin-bottom:0!important}
.rch-related-guides{border-top:1px solid var(--rch-border);margin-top:4rem!important;padding-top:2rem}
.rch-related-guides h2{font-size:1.75rem!important;margin-bottom:1rem}
.rch-related-guides .wp-block-columns{gap:18px}
.rch-related-card{height:100%;border-radius:16px;background:var(--rch-ivory);padding:26px!important;border:1px solid #f0e5d7}
.rch-related-card h3{font-size:1.15rem!important;line-height:1.45;margin:0 0 .7rem!important}
.rch-related-card h3 a{text-decoration:none}
.rch-related-card p{font-size:.92rem;margin:0!important;color:var(--rch-muted)}
.rch-article-faq{margin:3rem 0!important}
/* Details accordion accessible native disclosure */
.wp-block-details{border:1px solid var(--rch-border);border-radius:12px;padding:0!important;overflow:hidden;margin:12px 0!important;background:#fff;box-shadow:0 4px 10px rgba(14,25,42,.025)}
.wp-block-details summary{display:list-item;padding:19px 23px;font-weight:750;font-size:1rem;line-height:1.5;color:var(--rch-navy);cursor:pointer}
.wp-block-details[open] summary{border-bottom:1px solid var(--rch-border);background:#fff9f1;color:var(--rch-magenta)}
.wp-block-details>p,.wp-block-details>:not(summary){margin:0!important;padding:19px 23px;color:var(--rch-muted);font-size:.98rem;line-height:1.75}
/* Standard WordPress blocks */
.wp-block-button__link:hover{filter:brightness(1.08);transform:translateY(-1px)}
.wp-block-button.is-style-outline .wp-block-button__link{border-width:1.5px}
:where(main .wp-block-table){margin:2rem 0;overflow-x:auto;max-width:100%}
:where(main .wp-block-table table){width:100%;min-width:530px;border-spacing:0;border-collapse:separate;border:1px solid #dce4ed;border-radius:13px;overflow:hidden;font-size:.93rem;line-height:1.5}
:where(main .wp-block-table th){background:var(--rch-navy);color:#fff;font-size:.87rem;font-weight:750;text-align:left;padding:15px 16px!important;border:0!important}
:where(main .wp-block-table td){background:#fff;padding:15px 16px!important;border:0!important;border-top:1px solid #e4eaf0!important;vertical-align:top}
:where(main .wp-block-table tbody tr:nth-child(even) td){background:#f6f9fc}
:where(main .wp-block-table figcaption){text-align:left;color:var(--rch-muted);font-size:.82rem;margin-top:.65rem}
:where(main blockquote){margin:2rem 0;border-left:4px solid var(--rch-gold);background:var(--rch-ivory);padding:1.5rem 1.8rem;border-radius:0 12px 12px 0;font-size:1.12rem}
:where(main blockquote p:last-child){margin-bottom:0}
:where(main hr){border:0;border-top:1px solid var(--rch-border);margin:2.5rem auto}
:where(main ul,main ol){padding-left:1.5em}
:where(main li){margin-bottom:.45em}
:where(main .wp-block-search){gap:8px}
:where(main .wp-block-search__input){border:1px solid #c9d4e1;border-radius:10px;padding:12px 14px;min-width:0}
:where(main .wp-block-search__button){border-radius:10px;border:0;background:var(--rch-magenta);color:#fff;padding:11px 17px;font-weight:700;cursor:pointer}
.rch-post-card{border:1px solid var(--rch-border);border-radius:18px;overflow:hidden;padding:20px!important;height:100%;box-shadow:0 8px 20px rgba(17,34,60,.05)}
.rch-post-card .wp-block-post-featured-image{margin:-20px -20px 17px!important}
.rch-post-card .wp-block-post-featured-image img{width:100%;border-radius:0}
.rch-post-card .wp-block-post-date{font-size:.8rem;color:var(--rch-muted)}
.rch-post-card .wp-block-post-title{font-size:1.3rem;margin:.5rem 0}
.rch-post-card .wp-block-post-title a{text-decoration:none;color:var(--rch-navy)}
.rch-search-item{padding:24px 0;border-bottom:1px solid var(--rch-border)}
.rch-search-item h2{font-size:1.35rem;margin-bottom:.4rem}
.rch-search-item h2 a{text-decoration:none}
.rch-404{text-align:center;min-height:420px}
.rch-404 h1{margin-top:50px}
/* Footer */
.rch-footer{background:#14213D;color:#cbd5e4!important;padding:clamp(56px,6vw,88px) 24px 0}
.rch-footer .wp-block-heading{color:#fff!important;margin:0 0 20px!important;line-height:1.35}
.rch-footer .rch-footer-brand{font-size:1.6rem!important;font-weight:850}
.rch-footer h3{font-size:1rem!important;letter-spacing:.02em;font-weight:750}
.rch-footer p{color:#cbd5e4!important;font-size:.9rem;line-height:1.78}
.rch-footer .rch-independent{font-size:.75rem;color:#9cb2cf!important;margin-top:1.4rem}
.rch-footer-columns{gap:clamp(22px,3.3vw,55px)!important}
.rch-footer-links{list-style:none!important;padding:0!important;margin:0!important}
.rch-footer-links li{margin:0 0 10px!important;line-height:1.55!important;font-size:.87rem}
.rch-footer-links a{color:#e5eaf3!important;text-decoration:none}
.rch-footer-links a:hover{color:var(--rch-gold)!important}
.rch-footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:19px 0;margin-top:44px!important;gap:12px}
.rch-footer-bottom p{font-size:.73rem!important;color:#aebdd1!important;margin:0!important;line-height:1.5}
.rch-footer-bottom .wp-block-shortcode{display:inline!important;color:inherit;font-size:inherit}
/* Mobile navigation, tables, contrast, reduced motion */
@media(min-width:1250px){.rch-header-inner,.rch-topbar-inner,.rch-footer-top,.rch-footer-bottom{max-width:1200px!important}}
@media(max-width:1100px){.rch-brand{min-width:185px}.rch-header-inner{gap:13px}.rch-header .wp-block-navigation{gap:8px}.rch-header .wp-block-navigation .wp-block-navigation-item__content{font-size:.78rem}.rch-topbar-inner{padding-inline:20px}.rch-header-inner{padding-inline:20px}}
@media(max-width:850px){
 .rch-header-inner{min-height:72px}.rch-brand{min-width:0}.rch-brand .wp-block-site-title{font-size:1.16rem}
 .rch-header .wp-block-navigation .wp-block-navigation__responsive-container-open{display:flex!important;color:white!important;align-items:center;justify-content:center}
 .rch-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 .rch-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{display:flex!important;background:var(--rch-navy)!important;color:#fff!important;padding:26px!important;position:fixed;z-index:100;inset:0}
 .rch-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:#fff!important;font-size:1rem!important;padding:8px 0}
 .rch-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 0 18px!important}
 .rch-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:#e8eef5!important;padding:7px!important}
 .rch-header form.wp-block-search.rch-header-search{display:none}
 .rch-home-hero{min-height:560px!important;padding:3rem 23px!important}
 .rch-hero-copy{padding:3rem 0!important}
 .rch-hero-title{font-size:clamp(2.45rem,7vw,4rem)!important}
 .rch-quick-grid-wrap{margin-top:-24px!important}
 .rch-quick-grid{gap:12px!important}
 .rch-quick-card{padding:20px!important}
 .rch-footer-columns{flex-wrap:wrap!important}
 .rch-footer-columns>.wp-block-column{flex-basis:calc(50% - 16px)!important;flex-grow:1}
}
@media(max-width:640px){
 html{scroll-padding-top:80px}
 .rch-topbar-year{display:none}
 .rch-topbar-inner{justify-content:center!important}
 .rch-topbar-inner p{font-size:.56rem!important;text-align:center}
 .rch-header-inner{gap:10px;min-height:66px}
 .rch-brand .wp-block-site-logo img{max-width:38px;max-height:43px}
 .rch-brand .wp-block-site-title{font-size:1.11rem}
 .rch-brand-tagline{font-size:.45rem!important}
 .rch-header .wp-block-navigation{margin-left:auto}
 .rch-home-hero{min-height:555px!important;padding:2.5rem 20px 3.2rem!important}
 .rch-home-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(10,24,48,.96),rgba(14,27,53,.73))!important}
 .rch-hero-copy{padding:2.3rem 0!important}
 .rch-hero-title{font-size:clamp(2.3rem,10.5vw,3.5rem)!important;line-height:1.12!important}
 .rch-hero-lead{font-size:1rem!important;line-height:1.65!important}
 .rch-hero-buttons{align-items:stretch!important}
 .rch-hero-buttons .wp-block-button{width:100%}
 .rch-hero-buttons .wp-block-button__link{display:block;text-align:center;width:100%}
 .rch-quick-grid-wrap{margin-top:-21px!important;padding-inline:18px}
 .rch-quick-grid,.rch-story-columns,.rch-planning-grid,.rch-fact-grid{display:flex!important;flex-direction:column!important;gap:15px!important}
 .rch-home-section{margin-block:52px!important;padding-inline:19px}
 .rch-feature-card{min-height:285px;padding:30px!important}
 .rch-planning-band{padding:48px 19px!important}
 .rch-planning-card{padding:25px!important}
 .rch-page-main{padding:23px 20px 65px!important}
 .rch-page-title{font-size:clamp(2rem,8.5vw,2.9rem);margin-bottom:1.6rem!important}
 .rch-breadcrumbs{margin-bottom:1.1rem;font-size:.72rem}
 .rch-fact{padding:19px!important}
 .rch-editorial-intro{padding:14px 20px}
 .rch-footer{padding:50px 20px 0}
 .rch-footer-columns{gap:28px!important}
 .rch-footer-columns>.wp-block-column{flex-basis:100%!important}
 .rch-footer-bottom{flex-direction:column!important;align-items:flex-start!important}
 .wp-block-details summary{padding:17px}
 .wp-block-details>p,.wp-block-details>:not(summary){padding:17px}
 main .wp-block-table{margin-inline:-6px;width:calc(100% + 12px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.rch-header,.rch-topbar,.rch-footer,.rch-quick-grid-wrap{display:none!important}.rch-home-hero{min-height:0!important;color:#000!important}.rch-hero-title{color:#000!important;text-shadow:none}.rch-page-main{padding:0!important}a{text-decoration:underline!important}body{color:#000}}

/* Optional second image is a block-level Cover and can be replaced from the Page Editor. */
.rch-street-story{margin-top:0!important}
.rch-street-columns{gap:clamp(24px,4vw,64px)!important}
.rch-street-photo{border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#135a66,#c1306c)!important;box-shadow:var(--rch-shadow)}
.rch-street-photo .wp-block-cover__image-background{object-position:center center}
.rch-street-photo .wp-block-cover__background{background:transparent!important;opacity:.1!important}
.rch-street-story-copy{padding:10px 0}
.rch-street-story-copy h2{font-size:clamp(1.8rem,3vw,2.7rem)!important;line-height:1.17;margin-bottom:1.15rem!important}
.rch-street-story-copy p:not(.rch-eyebrow):not(.rch-text-link){color:var(--rch-muted);line-height:1.85}
@media(max-width:640px){.rch-street-columns{flex-direction:column!important}.rch-street-photo{min-height:260px!important}}


/* v1.1.0 - Visual audit fixes for live homepage with actual photographs.
 * The v1.0 design constrained columns inside alignwide containers to the
 * WordPress contentWidth (820px). These styles allow the approved 1200px
 * editorial grid and keep all blocks editable in the WordPress editor.
 */
:root{--rch-layout-wide:1140px}

/* Use an aligned editorial grid for hero cards, content columns and footer. */
.rch-home-main .rch-quick-grid-wrap.alignwide,
.rch-home-main .rch-home-section.alignwide,
.rch-home-main .rch-planning-inner.alignwide,
.rch-footer .rch-footer-top.alignwide,
.rch-footer .rch-footer-bottom.alignwide {
  width:calc(100% - 48px)!important;
  max-width:var(--rch-layout-wide)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.rch-home-main .rch-quick-grid-wrap > .rch-quick-grid,
.rch-home-main .rch-home-section > .rch-story-columns,
.rch-home-main .rch-home-section > .rch-street-columns,
.rch-home-main .rch-planning-inner > .rch-planning-grid,
.rch-footer .rch-footer-top > .rch-footer-columns {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* Prevent Gutenberg's 820px normal-content rule from overriding section grids. */
.rch-home-main .rch-quick-grid-wrap.is-layout-constrained > .rch-quick-grid,
.rch-home-main .rch-home-section.is-layout-constrained > .wp-block-columns,
.rch-home-main .rch-planning-inner.is-layout-constrained > .wp-block-columns,
.rch-footer .rch-footer-top.is-layout-constrained > .rch-footer-columns {
  max-width:100%!important;
}
.rch-home-main .rch-home-section > .rch-section-title,
.rch-home-main .rch-home-section > .rch-eyebrow,
.rch-home-main .rch-home-section > .rch-section-intro,
.rch-home-main .rch-planning-inner > .rch-section-title,
.rch-home-main .rch-planning-inner > .rch-eyebrow,
.rch-home-main .rch-planning-inner > .rch-section-intro {
  margin-left:0!important;
  margin-right:0!important;
}
.rch-home-main .rch-quick-grid-wrap{padding-inline:0!important;margin-top:-38px!important}
.rch-quick-grid{gap:18px!important}
.rch-quick-card{padding:28px!important;min-height:220px;display:flex;flex-direction:column;align-items:flex-start}
.rch-quick-card .rch-text-link{margin-top:auto!important}
.rch-quick-card h2{font-size:1.28rem!important;line-height:1.25!important}
.rch-quick-card > p:not(.rch-small-number):not(.rch-text-link){font-size:1rem;line-height:1.63}
.rch-small-number{font-size:.74rem!important}
.rch-quick-grid > .wp-block-column{min-width:0}

/* Background photography stays vivid on the right; left text contrast is stronger. */
.rch-home-hero .wp-block-cover__background {
  opacity:1!important;
  background:linear-gradient(90deg,
    rgba(7,20,39,.96) 0%, rgba(10,24,45,.9) 29%,
    rgba(12,28,50,.62) 54%,rgba(12,28,50,.25) 100%)!important;
}
.rch-home-hero .wp-block-cover__image-background{object-position:57% 45%}
.rch-home-hero .wp-block-cover__inner-container{
  max-width:var(--rch-layout-wide)!important;
  width:100%!important;
  padding-inline:16px;
}
.rch-hero-copy{max-width:675px!important}
.rch-hero-title{max-width:700px;font-size:clamp(2.7rem,4.6vw,4.45rem)!important;line-height:1.08!important}
.rch-hero-lead{max-width:625px;font-size:clamp(1.1rem,1.43vw,1.25rem)!important;line-height:1.65!important}
.rch-hero-eyebrow{font-size:.82rem!important}
.rch-hero-buttons .wp-block-button__link{font-size:.98rem!important}

/* Readable header, navigation and editorial card typography. */
.rch-topbar-inner p{font-size:.7rem!important;letter-spacing:.1em}
.rch-brand .wp-block-site-title{font-size:clamp(1.24rem,1.55vw,1.55rem)!important}
.rch-brand-tagline{font-size:.67rem!important;letter-spacing:.12em}
.rch-header .wp-block-navigation .wp-block-navigation-item__content{font-size:.95rem!important}
.rch-section-intro{font-size:1.1rem;line-height:1.78}
.rch-feature-card p:not(.rch-feature-marker){font-size:1.06rem;line-height:1.68}
.rch-feature-marker{font-size:.8rem!important}
.rch-planning-card h3{font-size:1.35rem!important}
.rch-planning-card p:not(.rch-text-link){font-size:1.02rem;line-height:1.67}
.rch-footer p{font-size:.96rem}
.rch-footer-links li{font-size:.94rem}
.rch-footer h3{font-size:1.04rem!important}
.rch-text-link a,.rch-card-link a{font-size:.94rem}

/* More consistent spacing and usable photograph/text proportions. */
.rch-home-section{margin-block:clamp(62px,6.7vw,96px)!important;padding-inline:0!important}
.rch-story-columns{gap:24px!important;margin-top:2rem!important}
.rch-feature-card{min-height:280px;padding:clamp(29px,3.2vw,44px)!important}
.rch-street-columns{gap:clamp(32px,4vw,66px)!important}
.rch-street-columns > .wp-block-column{min-width:0}
.rch-street-photo{min-height:370px!important}
.rch-street-story-copy p:not(.rch-eyebrow):not(.rch-text-link){font-size:1.04rem;line-height:1.77}
.rch-planning-band{padding-block:clamp(62px,6.8vw,95px)!important}
.rch-planning-grid{gap:22px!important}
.rch-planning-card{padding:30px!important}
.rch-home-main .rch-faq-home.alignwide{max-width:var(--rch-layout-wide)!important}
.rch-faq-home > .wp-block-details{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.rch-faq-home > .rch-historical-link{max-width:none!important;margin-left:0!important}
.rch-footer{padding-top:clamp(48px,5.4vw,74px)}
.rch-footer .rch-footer-top > .rch-footer-columns{gap:clamp(22px,3.5vw,52px)!important}

/* Tablet: adapt columns before they become narrow. */
@media (min-width:851px) and (max-width:1150px){
  .rch-header .wp-block-navigation .wp-block-navigation-item__content{font-size:.86rem!important}
  .rch-header-inner{gap:12px}
  .rch-brand{min-width:195px}
  .rch-quick-card{padding:23px!important}
}
@media (max-width:850px){
  .rch-home-main .rch-quick-grid-wrap.alignwide,
  .rch-home-main .rch-home-section.alignwide,
  .rch-home-main .rch-planning-inner.alignwide,
  .rch-footer .rch-footer-top.alignwide,
  .rch-footer .rch-footer-bottom.alignwide{width:calc(100% - 40px)!important}
  .rch-quick-card{min-height:215px;padding:22px!important}
  .rch-home-hero .wp-block-cover__inner-container{padding-inline:0}
  .rch-hero-copy{max-width:620px!important}
  .rch-street-photo{min-height:300px!important}
  .rch-header .wp-block-navigation .wp-block-navigation-item__content{font-size:1rem!important}
}
@media (max-width:640px){
  .rch-home-main .rch-quick-grid-wrap.alignwide,
  .rch-home-main .rch-home-section.alignwide,
  .rch-home-main .rch-planning-inner.alignwide,
  .rch-footer .rch-footer-top.alignwide,
  .rch-footer .rch-footer-bottom.alignwide{width:calc(100% - 32px)!important}
  .rch-home-main .rch-quick-grid-wrap{margin-top:-20px!important}
  .rch-home-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(7,20,39,.93),rgba(10,24,45,.72))!important}
  .rch-home-hero .wp-block-cover__image-background{object-position:62% center}
  .rch-hero-title{font-size:clamp(2.3rem,10vw,3.35rem)!important}
  .rch-hero-lead{font-size:1.04rem!important}
  .rch-quick-grid{gap:14px!important}
  .rch-quick-card{min-height:0;padding:24px!important}
  .rch-feature-card{min-height:260px!important}
  .rch-street-photo{min-height:280px!important}
  .rch-home-section{margin-block:58px!important;padding-inline:0!important}
  .rch-planning-band{padding:60px 16px!important}
  .rch-footer .rch-footer-columns>.wp-block-column{flex-basis:100%!important}
  .rch-brand .wp-block-site-title{font-size:1.15rem!important}
  .rch-brand-tagline{font-size:.55rem!important}
  .rch-topbar-inner p{font-size:.58rem!important}
}

/* Search shortcode wrapper is a flex item beside the WordPress Navigation block. */
.rch-header-inner > .wp-block-shortcode { margin:0!important; flex:0 0 auto; line-height:1; }
@media(max-width:640px){ .rch-header .rch-search-disclosure > summary{width:40px;height:40px} .rch-header-inner > .wp-block-shortcode{margin-left:0!important} }


/* V1.3 — Full-bleed editorial hero: keep the breadcrumb, remove its white band.
   Standard WordPress pages retain their normal breadcrumb placement. The 2027
   content already uses .r27-page; future full-bleed pages may opt into the
   same behavior by adding .rch-flush-hero-page to their outer content wrapper.
   These more-specific important rules intentionally override inline page CSS
   left by previously published HTML content; no page republishing is needed. */
body .wp-site-blocks main.rch-page-main:has(.r27-page),
body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) {
    position:relative!important;
    padding-block-start:0!important;
    margin-block-start:0!important;
}
body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-shortcode,
body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-shortcode {
    position:absolute!important;
    z-index:20!important;
    top:13px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(1160px, calc(100% - 44px))!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}
body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-shortcode .rch-breadcrumbs,
body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-shortcode .rch-breadcrumbs {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    font-size:.8rem;
    line-height:1.35;
}
body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-shortcode .rch-breadcrumbs a,
body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-shortcode .rch-breadcrumbs a {
    color:#ffd889!important;
}
body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-shortcode .rch-breadcrumbs li,
body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-shortcode .rch-breadcrumbs li {
    color:#f0f4ff!important;
}
body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-shortcode .rch-breadcrumbs li:not(:first-child)::before,
body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-shortcode .rch-breadcrumbs li:not(:first-child)::before {
    color:#d4dcef!important;
}
body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-post-content,
body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-post-content {
    margin-block-start:0!important;
    margin-block-end:0!important;
    padding-block-start:0!important;
}
@media (max-width:640px) {
    body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-shortcode,
    body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-shortcode {
        top:9px!important;
        width:calc(100% - 32px)!important;
    }
    body .wp-site-blocks main.rch-page-main:has(.r27-page) > .wp-block-shortcode .rch-breadcrumbs,
    body .wp-site-blocks main.rch-page-main:has(.rch-flush-hero-page) > .wp-block-shortcode .rch-breadcrumbs {
        font-size:.7rem;
    }
}

/* V1.4 — 2027 editorial hero. Server-side suppression prevents the breadcrumb
   row from being rendered. These explicit body-class rules remove any margins
   left by existing WordPress Site Editor templates (including DB overrides).
   Other pages continue to use their normal breadcrumb layout. */
body.rch-2027-fullbleed .wp-site-blocks > main.rch-page-main,
body.rch-2027-fullbleed .wp-site-blocks main#main-content.rch-page-main {
  padding:0!important;
  margin:0!important;
  max-width:none!important;
  width:100%!important;
  display:flow-root!important;
  background:transparent!important;
}
body.rch-2027-fullbleed .wp-site-blocks main.rch-page-main > .wp-block-shortcode,
body.rch-2027-fullbleed .wp-site-blocks main.rch-page-main > .rch-breadcrumbs,
body.rch-2027-fullbleed .wp-site-blocks main.rch-page-main > .wp-block-post-title {
  display:none!important;
  margin:0!important;
  padding:0!important;
}
body.rch-2027-fullbleed .wp-site-blocks main.rch-page-main > .wp-block-post-content {
  padding:0!important;
  margin:0!important;
  max-width:none!important;
  width:100%!important;
}
body.rch-2027-fullbleed .wp-site-blocks main.rch-page-main > .wp-block-post-content > .wp-block-html,
body.rch-2027-fullbleed .wp-site-blocks main.rch-page-main .r27-page {
  margin-block-start:0!important;
  margin-block-end:0!important;
}
body.rch-2027-fullbleed .wp-site-blocks > .wp-block-template-part + main.rch-page-main {
  margin-block-start:0!important;
}
