@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&display=swap');
/* ==========================================================================
   Rizman Rappaport Court Reporters — master.css
   Body-only redesign engine. Loaded sitewide by rizman-master mu-plugin.
   Component styles are scoped to .rr-page (body class on redesigned pages).
   ========================================================================== */
:root{
  --rr-navy:#0c1a33; --rr-navy-2:#14294b; --rr-ink:#1a2233; --rr-slate:#425066;
  --rr-blue:#1c75bc; --rr-blue-2:#20419a; /* brand logo blues */
  --rr-gold:#c2a24c; --rr-gold-2:#a9863a; --rr-gold-soft:#e8dcae;
  --rr-paper:#ffffff; --rr-cream:#f7f4ee; --rr-cream-2:#efe9dd; --rr-line:#e3ddcf;
  --rr-shadow:0 18px 50px -22px rgba(13,27,42,.38);
  --rr-shadow-sm:0 8px 26px -16px rgba(13,27,42,.34);
  --rr-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --rr-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --rr-wrap:1200px; --rr-r:16px; --rr-r-sm:11px;
}

/* ---- neutralize theme chrome for redesigned pages ---- */
.rr-page .entry-header,
.rr-page .page-hero,
.rr-page .generate-page-header{display:none!important}
/* kill any theme sidebar/widget column and force full-width content */
.rr-page #right-sidebar,.rr-page #left-sidebar,.rr-page .widget-area,.rr-page .sidebar{display:none!important}
.rr-page .site-content{display:block!important;padding:0!important}
.rr-page .content-area,.rr-page #primary,.rr-page #content{width:100%!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important}
.rr-page .site-main,
.rr-page .entry-content{margin:0!important;padding:0!important;max-width:none!important}
.rr-page .entry-content > *{max-width:none}
.rr-page .site-content .content-area{margin:0!important}

/* ---- base ---- */
.rr-page .rr{font-family:var(--rr-sans);color:var(--rr-ink);line-height:1.68;font-size:17px;-webkit-font-smoothing:antialiased}
.rr-page .rr *{box-sizing:border-box}
.rr-page .rr img{max-width:100%;height:auto;display:block}
.rr-page .rr a{color:var(--rr-blue-2);text-decoration:none}
.rr-page .rr a:hover{color:var(--rr-gold-2)}
.rr-wrap{max-width:var(--rr-wrap);margin-inline:auto;padding-inline:clamp(20px,5vw,44px)}
.rr-band{padding-block:clamp(52px,7vw,92px)}
.rr-band--cream{background:var(--rr-cream)}
.rr-band--cream2{background:var(--rr-cream-2)}
.rr-band--paper{background:var(--rr-paper)}

/* ---- type ---- */
.rr h1,.rr h2,.rr h3,.rr h4{font-family:var(--rr-serif);color:var(--rr-navy);line-height:1.1;margin:0 0 .5em;font-weight:700}
.rr-eyebrow{font-family:var(--rr-serif);font-weight:600;font-size:clamp(.95rem,1.5vw,1.15rem);letter-spacing:.14em;text-transform:uppercase;color:var(--rr-gold-2);margin:0 0 .7rem}
.rr-h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
.rr-h3{font-size:clamp(1.3rem,2.2vw,1.7rem)}
.rr-lead{font-size:clamp(1.06rem,1.6vw,1.24rem);color:var(--rr-slate);max-width:64ch}
.rr-center{text-align:center}
.rr-center .rr-lead{margin-inline:auto}
.rr-prose p{margin:0 0 1.1em}
.rr-prose h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-top:1.6em}
.rr-prose h3{font-size:clamp(1.2rem,2vw,1.5rem);margin-top:1.4em}
.rr-prose ul,.rr-prose ol{margin:0 0 1.2em;padding-left:1.3em}
.rr-prose li{margin:.4em 0}
.rr-prose a{color:var(--rr-navy-2);text-decoration:underline;text-decoration-color:var(--rr-gold-soft);text-underline-offset:3px}

/* ---- buttons ---- */
.rr-btn{display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:1rem;padding:.92em 1.6em;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer;border:0;line-height:1}
.rr-btn--gold,.rr-btn--gold:hover{background:linear-gradient(120deg,var(--rr-gold),var(--rr-gold-2));color:#20170a!important;box-shadow:0 12px 30px -12px rgba(169,134,58,.7)}
.rr-btn--gold:hover{transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(169,134,58,.85)}
.rr-btn--navy,.rr-btn--navy:hover{background:var(--rr-navy);color:#fff!important}
.rr-btn--navy:hover{transform:translateY(-2px);background:var(--rr-navy-2)}
.rr-btn--ghost,.rr-btn--ghost:hover{background:transparent;color:#fff!important;border:1.5px solid rgba(255,255,255,.55)}
.rr-btn--ghost:hover{background:rgba(255,255,255,.12)}
.rr-btn svg{width:1.15em;height:1.15em;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2}
.rr-btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---- hero ---- */
.rr-hero{position:relative;color:#fff;overflow:hidden;background:var(--rr-navy)}
.rr-hero__bg{position:absolute;inset:0;z-index:0}
.rr-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.34}
.rr-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(9,17,28,.93) 0%,rgba(13,27,42,.82) 46%,rgba(13,27,42,.55) 100%)}
.rr-hero__in{position:relative;z-index:1;max-width:var(--rr-wrap);margin-inline:auto;padding:clamp(46px,7vw,96px) clamp(20px,5vw,44px)}
.rr-crumbs{font-size:.86rem;letter-spacing:.02em;color:rgba(255,255,255,.72);margin-bottom:1.3rem}
.rr-crumbs a{color:rgba(255,255,255,.8)!important}
.rr-crumbs a:hover{color:var(--rr-gold-soft)!important}
.rr-hero h1{color:#fff;font-size:clamp(2.3rem,5.4vw,4rem);max-width:16ch}
.rr-hero__sub{font-size:clamp(1.1rem,1.8vw,1.32rem);color:rgba(255,255,255,.9);max-width:60ch;margin:.4rem 0 1.7rem}
.rr-hero .rr-btns{margin-top:.4rem}
.rr-hero__meta{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:.95rem;color:rgba(255,255,255,.82)}
.rr-hero__meta b{color:var(--rr-gold-soft);font-weight:700}

/* ---- stat strip ---- */
.rr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.rr-stat{background:var(--rr-paper);border:1px solid var(--rr-line);border-radius:var(--rr-r);padding:26px 22px;box-shadow:var(--rr-shadow-sm)}
.rr-stat b{display:block;font-family:var(--rr-serif);font-size:clamp(2rem,4vw,2.9rem);color:var(--rr-navy);line-height:1}
.rr-stat span{display:block;margin-top:.4rem;font-size:.95rem;color:var(--rr-slate)}

/* ---- cards ---- */
.rr-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rr-card{background:var(--rr-paper);border:1px solid var(--rr-line);border-radius:var(--rr-r);padding:28px;box-shadow:var(--rr-shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.rr-card:hover{transform:translateY(-4px);box-shadow:var(--rr-shadow)}
.rr-card__ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rr-blue-2),var(--rr-blue));margin-bottom:16px}
.rr-card__ic svg{width:24px;height:24px;stroke:var(--rr-gold-soft)}
.rr-card h3{font-size:1.24rem;margin-bottom:.4rem}
.rr-card p{margin:0;color:var(--rr-slate);font-size:.98rem}
.rr-card a.rr-more{display:inline-block;margin-top:.8rem;font-weight:700;color:var(--rr-gold-2);font-size:.95rem}

/* ---- author / E-E-A-T byline ---- */
.rr-author{display:flex;gap:20px;align-items:flex-start;background:var(--rr-paper);border:1px solid var(--rr-line);border-left:4px solid var(--rr-gold);border-radius:var(--rr-r);padding:24px 26px;box-shadow:var(--rr-shadow-sm)}
.rr-author__ph{flex:0 0 68px;width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--rr-blue-2),var(--rr-blue));display:grid;place-items:center;color:var(--rr-gold-soft);font-family:var(--rr-serif);font-size:1.5rem;font-weight:700}
.rr-author__b b{font-size:1.06rem;color:var(--rr-navy)}
.rr-author__b span{display:block;color:var(--rr-gold-2);font-weight:700;font-size:.9rem;margin:.15rem 0 .5rem}
.rr-author__b p{margin:0;color:var(--rr-slate);font-size:.96rem}

/* ==========================================================================
   Service-Areas hub
   ========================================================================== */
.rr-toc{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.rr-toc a{background:var(--rr-paper);border:1px solid var(--rr-line);border-radius:999px;padding:.5em 1.05em;font-weight:700;font-size:.94rem;color:var(--rr-navy);box-shadow:var(--rr-shadow-sm)}
.rr-toc a:hover{background:var(--rr-navy);color:#fff;border-color:var(--rr-navy)}
.rr-toc a b{color:var(--rr-gold-2);font-weight:700}
.rr-toc a:hover b{color:var(--rr-gold-soft)}

.rr-state{background:var(--rr-paper);border:1px solid var(--rr-line);border-radius:var(--rr-r);margin:16px 0;box-shadow:var(--rr-shadow-sm);overflow:hidden}
.rr-state>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 26px;background:linear-gradient(100deg,var(--rr-navy),var(--rr-blue-2));color:#fff}
.rr-state>summary::-webkit-details-marker{display:none}
.rr-state>summary .rr-st-name{font-family:var(--rr-serif);font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:700}
.rr-state>summary .rr-st-hub{margin-left:auto;font-size:.86rem;font-weight:700;color:var(--rr-gold-soft);border:1px solid rgba(232,220,174,.4);border-radius:999px;padding:.35em .9em;white-space:nowrap}
.rr-state>summary .rr-st-count{font-size:.9rem;color:rgba(255,255,255,.72);font-weight:600}
.rr-state>summary .rr-chev{margin-left:8px;transition:transform .2s ease;color:var(--rr-gold-soft);font-size:1.1rem}
.rr-state[open]>summary .rr-chev{transform:rotate(180deg)}
.rr-state__body{padding:8px 26px 26px}

.rr-county{border-top:1px solid var(--rr-line);padding-top:18px;margin-top:18px}
.rr-county:first-child{border-top:0;margin-top:6px}
.rr-county__h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rr-county__h a{font-family:var(--rr-serif);font-size:1.16rem;font-weight:700;color:var(--rr-navy)}
.rr-county__h a:hover{color:var(--rr-gold-2)}
.rr-county__h .rr-county__meta{font-size:.85rem;color:var(--rr-slate)}
.rr-citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 18px}
.rr-citygrid a{display:block;padding:.34em 0;font-size:.96rem;color:var(--rr-slate);border-bottom:1px dotted transparent}
.rr-citygrid a:hover{color:var(--rr-navy);border-bottom-color:var(--rr-gold-soft)}
.rr-citygrid a::before{content:"›";color:var(--rr-gold);font-weight:700;margin-right:.4em}

/* services rail on SA page */
.rr-svc-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:6px}
.rr-svc-rail a{display:flex;align-items:center;gap:10px;background:var(--rr-cream);border:1px solid var(--rr-line);border-radius:var(--rr-r-sm);padding:14px 16px;font-weight:700;color:var(--rr-navy);font-size:.98rem}
.rr-svc-rail a:hover{background:var(--rr-navy);color:#fff}
.rr-svc-rail svg{width:20px;height:20px;stroke:var(--rr-gold-2);flex:0 0 auto}
.rr-svc-rail a:hover svg{stroke:var(--rr-gold-soft)}

/* ---- CTA band ---- */
.rr-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--rr-navy) 0%,var(--rr-navy-2) 100%);color:#fff;text-align:center}
.rr-cta::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(194,162,76,.24),transparent 68%);top:-180px;right:-120px}
.rr-cta__in{position:relative;z-index:1;max-width:820px;margin-inline:auto;padding:clamp(48px,7vw,84px) clamp(20px,5vw,44px)}
.rr-cta h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.9rem)}
.rr-cta p{color:rgba(255,255,255,.86);font-size:1.15rem;max-width:56ch;margin:0 auto 1.6rem}
.rr-cta .rr-btns{justify-content:center}
.rr-cta__phone{margin-top:1.3rem;font-size:1.02rem;color:rgba(255,255,255,.8)}
.rr-cta__phone a{color:var(--rr-gold-soft)!important;font-weight:700}

/* ---- FAQ ---- */
.rr-faq{max-width:860px;margin-inline:auto}
.rr-faq details{background:var(--rr-paper);border:1px solid var(--rr-line);border-radius:var(--rr-r-sm);margin-bottom:12px;box-shadow:var(--rr-shadow-sm);overflow:hidden}
.rr-faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:700;font-size:1.08rem;color:var(--rr-navy);display:flex;gap:14px;align-items:center}
.rr-faq summary::-webkit-details-marker{display:none}
.rr-faq summary::after{content:"+";margin-left:auto;color:var(--rr-gold-2);font-size:1.5rem;font-weight:400;transition:transform .2s ease}
.rr-faq details[open] summary::after{transform:rotate(45deg)}
.rr-faq details > div{padding:0 24px 22px;color:var(--rr-slate)}
.rr-faq details > div a{color:var(--rr-navy-2);font-weight:700}

/* ---- Courts directory + court blocks ---- */
.rr-courts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.rr-courts li{padding:14px 16px;background:var(--rr-paper);border:1px solid var(--rr-line);border-left:3px solid var(--rr-blue);border-radius:var(--rr-r-sm);box-shadow:var(--rr-shadow-sm)}
.rr-courts li a{font-weight:700;color:var(--rr-navy)!important;display:block;text-decoration:none}
.rr-courts li a:hover{color:var(--rr-blue-2)!important}
.rr-court__addr{display:block;color:var(--rr-slate);font-size:.9rem;margin-top:3px}
/* size inline icons used in NAP / contact rows so they never render huge */
.rr-ft__nap svg{width:1.05em;height:1.05em;flex:0 0 auto;stroke:var(--rr-gold-2);fill:none;vertical-align:-.14em;margin-right:.4em}
.rr-courts-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:24px}
@media (max-width:800px){.rr-courts-grid{grid-template-columns:1fr}}

/* ---- footer credit (outside .rr-page — global) ---- */
.rr-credit{background:#0a1420;padding:16px 20px;text-align:center}
.rr-credit__in{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.rr-credit__in span{color:rgba(255,255,255,.55);font-size:.82rem;letter-spacing:.03em;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.rr-credit__in img{height:20px;width:auto;opacity:.92;display:block}
.rr-credit__in a{display:inline-flex;transition:opacity .2s ease}
.rr-credit__in a:hover{opacity:1}

/* ---- scroll reveal — FAIL-OPEN: only hidden once JS marks <html class="rr-js"> ---- */
@media (prefers-reduced-motion:no-preference){
  html.rr-js .rr-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
  html.rr-js .rr-reveal.is-in{opacity:1;transform:none}
}

/* ---- responsive ---- */
@media (max-width:900px){
  .rr-cards{grid-template-columns:repeat(2,1fr)}
  .rr-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .rr-cards,.rr-stats{grid-template-columns:1fr}
  .rr-state>summary{flex-wrap:wrap;gap:8px 14px;padding:18px 18px}
  .rr-state>summary .rr-st-hub{margin-left:0}
  .rr-state__body{padding-inline:18px}
  .rr-citygrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}

/* ==========================================================================
   ANIMATIONS + CONVERSION (added per client: modern, strong CTAs, motion)
   ========================================================================== */
/* transform-only: never leaves hero content invisible if the animation is paused */
@keyframes rrUp{from{transform:translateY(26px)}to{transform:none}}
@keyframes rrKen{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes rrShine{0%,55%{left:-70%}100%{left:140%}}
@keyframes rrBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes rrSweep{0%{transform:translateX(-30%)}100%{transform:translateX(130%)}}
@keyframes rrPulseRing{0%{box-shadow:0 0 0 0 rgba(194,162,76,.55)}70%{box-shadow:0 0 0 14px rgba(194,162,76,0)}100%{box-shadow:0 0 0 0 rgba(194,162,76,0)}}
@media (prefers-reduced-motion:no-preference){
  .rr-hero__in>*{animation:rrUp .8s cubic-bezier(.2,.7,.2,1) both}
  .rr-hero__in>.rr-crumbs{animation-delay:.02s}
  .rr-hero__in>h1{animation-delay:.10s}
  .rr-hero__in>.rr-hero__sub{animation-delay:.18s}
  .rr-hero__in>.rr-btns{animation-delay:.26s}
  .rr-hero__in>.rr-hero__meta{animation-delay:.34s}
  .rr-hero__bg img{animation:rrKen 16s ease-out both}
}
/* gold button shimmer */
.rr-btn--gold{position:relative;overflow:hidden;isolation:isolate}
.rr-btn--gold::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);z-index:-1}
@media (prefers-reduced-motion:no-preference){.rr-btn--gold::after{animation:rrShine 5s ease-in-out infinite}}
/* CTA band moving light line */
.rr-cta::after{content:"";position:absolute;left:-140px;bottom:-200px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(28,117,188,.20),transparent 68%);z-index:0}
/* section sweep divider */
.rr-band+.rr-band::before,.rr-cta::before{}
.rr-sweep{height:2px;border:0;margin:0;background:linear-gradient(90deg,transparent,var(--rr-gold),transparent);opacity:.5}

/* ---- Sticky mobile Call/Schedule bar (server-rendered on redesigned pages) ---- */
.rr-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:none;box-shadow:0 -10px 30px rgba(0,0,0,.28)}
.rr-cta-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.5em;padding:15px 8px;font-weight:800;font-size:1.02rem;text-decoration:none;letter-spacing:.01em}
.rr-cta-bar a svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2}
.rr-cta-bar .call{background:var(--rr-navy);color:#fff}
.rr-cta-bar .sched{background:linear-gradient(120deg,var(--rr-gold),var(--rr-gold-2));color:#20170a}
@media (max-width:820px){.rr-cta-bar{display:flex} body.rr-page{padding-bottom:58px}}
/* ---- Floating desktop call pill ---- */
.rr-callpill{position:fixed;right:22px;bottom:22px;z-index:9985;display:inline-flex;align-items:center;gap:.55em;background:linear-gradient(120deg,var(--rr-gold),var(--rr-gold-2));color:#20170a;font-weight:800;padding:.9em 1.35em;border-radius:999px;box-shadow:0 16px 38px -12px rgba(169,134,58,.85);font-size:1rem;text-decoration:none}
.rr-callpill svg{width:18px;height:18px;stroke:#20170a;fill:none;stroke-width:2.2}
.rr-callpill:hover{color:#20170a;transform:translateY(-2px)}
@media (prefers-reduced-motion:no-preference){.rr-callpill{animation:rrBob 3.2s ease-in-out infinite}}
@media (max-width:820px){.rr-callpill{display:none}}

/* ==========================================================================
   CUSTOM CHROME — header + mega menu + footer (mu-plugin injected sitewide)
   ========================================================================== */
:root{--rr-hd-h:76px}
/* hide GeneratePress default chrome when our chrome is active */
.rr-chrome #masthead,.rr-chrome .site-header,.rr-chrome .site-footer,.rr-chrome .generate-back-to-top{display:none!important}
.rr-chrome .site-content,.rr-chrome #page{padding-top:0!important}

.rr-hd{position:sticky;top:0;z-index:9970;background:rgba(13,27,42,.97);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid rgba(194,162,76,.28);font-family:var(--rr-sans)}
.rr-hd,.rr-hd__in{max-width:100%}
.rr-hd__in{max-width:1320px;margin-inline:auto;height:var(--rr-hd-h);display:flex;align-items:center;gap:18px;padding-inline:clamp(16px,4vw,34px);flex-wrap:nowrap}
.rr-brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;flex:0 0 auto}
.rr-brand b{font-family:var(--rr-serif);color:#fff;font-size:1.32rem;font-weight:700;letter-spacing:.01em}
.rr-brand span{color:var(--rr-gold);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;margin-top:4px;font-weight:700}
.rr-brand__logo{height:36px;width:auto;display:block;flex:0 0 auto;filter:brightness(0) invert(1)} /* their logo, rendered all-white on dark chrome */
@media (max-width:520px){.rr-brand__logo{height:30px}}
.rr-nav{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:nowrap}
.rr-nav>a,.rr-nav__has>button{background:none;border:0;cursor:pointer;font:inherit;color:rgba(255,255,255,.88);font-weight:600;font-size:.92rem;padding:.55em .6em;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;gap:.3em;white-space:nowrap}
.rr-nav>a:hover,.rr-nav__has>button:hover{color:#fff;background:rgba(255,255,255,.08)}
.rr-nav__has>button svg{width:14px;height:14px;stroke:var(--rr-gold);fill:none;stroke-width:2.4;transition:transform .2s}
.rr-nav__has:hover>button svg{transform:rotate(180deg)}
.rr-hd__cta{display:inline-flex;align-items:center;gap:.5em;background:linear-gradient(120deg,var(--rr-gold),var(--rr-gold-2));color:#20170a!important;font-weight:800;padding:.62em 1.15em;border-radius:999px;text-decoration:none;font-size:.95rem;white-space:nowrap;animation:rrPulseRing 2.6s ease-out infinite}
.rr-hd__cta svg{width:16px;height:16px;stroke:#20170a;fill:none;stroke-width:2.3}
.rr-burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;margin-left:6px}
.rr-burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.25s}

/* mega dropdown */
.rr-nav__has{position:relative}
.rr-mega{position:absolute;top:calc(100% + 10px);right:0;width:560px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--rr-line);border-radius:14px;box-shadow:0 30px 70px -24px rgba(13,27,42,.5);padding:22px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;display:grid;grid-template-columns:1fr 1fr;gap:8px 26px}
.rr-nav__has:hover .rr-mega,.rr-nav__has:focus-within .rr-mega{opacity:1;visibility:visible;transform:none}
.rr-mega h4{grid-column:1/-1;font-family:var(--rr-serif);color:var(--rr-navy);font-size:1rem;margin:0 0 4px}
.rr-mega a{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:9px;text-decoration:none;color:var(--rr-ink)}
.rr-mega a:hover{background:var(--rr-cream)}
.rr-mega a svg{width:20px;height:20px;stroke:var(--rr-gold-2);fill:none;stroke-width:1.8;flex:0 0 auto;margin-top:2px}
.rr-mega a b{display:block;font-size:.96rem;color:var(--rr-navy);font-weight:700}
.rr-mega a small{color:var(--rr-slate);font-size:.82rem}
.rr-mega__all{grid-column:1/-1;margin-top:6px;text-align:center;font-weight:800;color:var(--rr-gold-2)!important;padding:10px;border-top:1px solid var(--rr-line)}

/* mobile nav overlay */
.rr-mobile{position:fixed;inset:0;z-index:9995;background:var(--rr-navy);color:#fff;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;display:flex;flex-direction:column;padding:20px 22px 40px}
.rr-mobile.open{transform:none}
.rr-mobile__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.rr-mobile__close{background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}
.rr-mobile details{border-bottom:1px solid rgba(255,255,255,.12)}
.rr-mobile details>summary{list-style:none;cursor:pointer;padding:16px 4px;font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:space-between}
.rr-mobile details>summary::-webkit-details-marker{display:none}
.rr-mobile details>summary::after{content:"+";color:var(--rr-gold);font-size:1.5rem;font-weight:400}
.rr-mobile details[open]>summary::after{content:"–"}
.rr-mobile__sub{padding:0 4px 14px;display:flex;flex-direction:column;gap:2px}
.rr-mobile__sub a{color:rgba(255,255,255,.82);padding:9px 0;text-decoration:none;font-size:1rem;border-bottom:1px dotted rgba(255,255,255,.08)}
.rr-mobile>a.rr-mobile__link{color:#fff;padding:16px 4px;font-size:1.1rem;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.12)}
.rr-mobile__cta{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.rr-mobile__cta a{justify-content:center}
body.rr-menu-open{overflow:hidden}

@media (max-width:1180px){
  .rr-nav>a,.rr-nav__has{display:none}
  .rr-burger{display:flex}
  .rr-hd__cta{margin-left:auto}
}
@media (max-width:520px){
  .rr-hd__cta span{display:none}
  .rr-hd__cta{padding:.6em}
  .rr-brand b{font-size:1.12rem}
}
/* kill any horizontal overflow the chrome/full-bleed sections could introduce
   (overflow-x:clip keeps position:sticky working, unlike overflow-x:hidden) */
html,body.rr-chrome{overflow-x:clip;max-width:100%}
.rr-page .rr,.rr-hd,.rr-ft{overflow-x:clip}

/* ---- Footer ---- */
.rr-ft{background:var(--rr-navy);color:rgba(255,255,255,.78);font-family:var(--rr-sans);padding:58px 0 30px}
.rr-ft__in{max-width:1240px;margin-inline:auto;padding-inline:clamp(18px,5vw,40px);display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.rr-ft h5{color:#fff;font-family:var(--rr-serif);font-size:1.08rem;margin:0 0 14px;font-weight:700}
.rr-ft__brand b{font-family:var(--rr-serif);color:#fff;font-size:1.5rem;display:block;line-height:1}
.rr-ft__brand span{color:var(--rr-gold);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;display:block;margin:6px 0 16px}
.rr-ft__brand p{margin:0 0 14px;font-size:.95rem;max-width:34ch}
.rr-ft a{color:rgba(255,255,255,.78);text-decoration:none}
.rr-ft a:hover{color:var(--rr-gold)}
.rr-ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.95rem}
.rr-ft__nap{font-size:.95rem;line-height:1.7}
.rr-ft__nap a{color:var(--rr-gold-soft);font-weight:700}
.rr-ft__badge{display:inline-block;margin-top:12px;font-size:.8rem;color:var(--rr-gold-soft);border:1px solid rgba(232,220,174,.35);border-radius:999px;padding:.35em .9em}
.rr-ft__bar{max-width:1240px;margin:34px auto 0;padding:20px clamp(18px,5vw,40px) 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;font-size:.85rem}
.rr-ft__bar nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.rr-ft__credit{max-width:1240px;margin:18px auto 0;padding:18px 20px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.rr-ft__credit span{color:rgba(255,255,255,.5);font-size:.82rem;letter-spacing:.03em}
.rr-ft__credit img{height:20px;width:auto;opacity:.92;display:block}
.rr-ft__credit a{display:inline-flex;transition:opacity .2s}
.rr-ft__credit a:hover{opacity:1}
@media (max-width:900px){.rr-ft__in{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rr-ft__in{grid-template-columns:1fr}}

/* ==========================================================================
   MOBILE RESPONSIVENESS + EQUAL-WIDTH BUTTONS (polish pass — overrides win)
   ========================================================================== */
/* equal-width buttons within any button group */
.rr-btns{align-items:stretch}
.rr-btns .rr-btn{flex:1 1 0;justify-content:center;min-width:180px;max-width:300px}
.rr-cta .rr-btns{max-width:600px;margin-inline:auto}

/* inline grids (process 4-col, authority 2-col) MUST collapse on mobile.
   [style] + !important is required to beat per-element inline grid-template-columns. */
@media (max-width:960px){ .rr-page .rr-cards[style]{grid-template-columns:repeat(2,1fr)!important} }
@media (max-width:640px){
  .rr-page .rr-cards[style]{grid-template-columns:1fr!important}
  .rr-btns .rr-btn{max-width:none}
}
/* inline two-column content grids (contact page) collapse on mobile */
@media (max-width:820px){ .rr-page .rr-wrap[style*="grid-template-columns"]{grid-template-columns:1fr!important} }

/* header: guarantee a visible hamburger on mobile; wide wordmark must not crowd it */
@media (max-width:1180px){ .rr-burger{display:flex;margin-left:auto} .rr-brand__logo{height:34px} }
@media (max-width:760px){ .rr-hd__cta{display:none} .rr-brand__logo{height:30px} }
@media (max-width:380px){ .rr-brand__logo{height:26px} }

/* general small-screen tightening */
@media (max-width:640px){
  .rr-band{padding-block:46px}
  .rr-hero__in{padding-block:42px}
  .rr-wrap,.rr-hero__in{padding-inline:18px}
  .rr-courts-grid{grid-template-columns:1fr}
  .rr-svc-rail{grid-template-columns:1fr 1fr}
}
