/*
Theme Name: ReelRanker NoScript
Theme URI: https://reelranker.com/
Author: Mamba Digital
Author URI: https://mamba-digital.com/
Description: Responsive, no‑JS menu theme with accessible mobile/desktop navigation and Customizer controls for typography, layout, and footer.
Version: 3.11.10
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rr-noscript
*/

:root{
  --rr-bg: #ffffff;
  --rr-text: #111111;
  --rr-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol",sans-serif;
  --rr-base-size: 18px;
  --rr-headings: var(--rr-font);
  --rr-ui: var(--rr-font);
  --rr-container: 980px;
  --header-fg: #111111;
  --menu-fg: var(--header-fg);
  --footer-fg: #111111;
  --footer-link: var(--footer-fg);
  --footer-logo-max: 160px;
  --border: color-mix(in srgb, #000 14%, transparent);
  --hover-contrast: color-mix(in srgb, var(--menu-fg) 14%, transparent);
  --radius: 12px;
  --nav-top-height: 60px;
}

/* Base */
*,
*::before,*::after{box-sizing:border-box}
html{font-size:100%}
body{
  margin:0;
  background:var(--rr-bg);
  color:var(--rr-text);
  font-family: var(--rr-font);
  font-size: var(--rr-base-size);
  line-height:1.65;
}

/* Content (body copy) */
.site-main, .content-area, .entry-content, .entry-summary,
.site-sidebar, .widget, .wp-block, article, section { font-family: var(--rr-font); }

/* Headings */

/* UI: header, footer, nav, menus */

img,svg,video{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover,a:focus-visible{text-decoration:underline}
.container{width:100%;max-width:min(var(--rr-container-pct,92vw),var(--rr-container,980px));margin-inline:auto;padding-inline:clamp(12px,3vw,20px)}
.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:1000;background:#000;color:#fff;padding:.5rem .75rem;border-radius:8px}

/* Keep the rest of the CSS from v3.3 as-is */

/* HEADER (same as v3.2) */
.site-header{border-bottom:1px solid var(--border) border-top: 1px solid transparent; }
.nav-wrap{display:grid;grid-template-columns:auto 1fr auto;gap: clamp(8px, 2vw, 18px);align-items:center;min-height: var(--nav-top-height);padding-block: .5rem;position: relative;}
.nav-primary{order:2}
.rr-search-group{order:3}
.site-branding{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:center}
.site-logo img{max-height:54px;width:auto}
.site-title{margin:0;font-weight:800;font-size:clamp(1.125rem,1rem + .6vw,1.5rem)}
.site-title a{color:var(--menu-fg)}
.site-description{margin:0;color:color-mix(in srgb, var(--menu-fg) 65%, transparent);font-size:.9rem}

/* Desktop nav + dropdowns */
.nav-primary{display:flex;justify-content:flex-start;background:transparent}
.nav-primary .menu, .nav-primary ul{list-style:none;margin:0;padding:0}
.nav-primary > .menu{display:flex;gap: clamp(.6rem,1.4vw,1rem);align-items:center}
.nav-primary .menu > li{position:relative}
.nav-primary .menu > li > a{color: var(--menu-fg);padding: .5rem .7rem; border-radius:10px;display:inline-flex; align-items:center; min-height:44px;}
:root{ --nav-hover: color-mix(in srgb, var(--menu-fg) 14%, transparent); }
.nav-primary .menu > li > a:hover,.nav-primary .menu > li > a:focus-visible{ background: var(--nav-hover); text-decoration:none }
.nav-primary .menu-item-has-children > a::after{content:"▾";margin-left:.4rem;font-size:.85em;opacity:.85;color: var(--menu-fg)}
.nav-primary .menu > li::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.nav-primary .sub-menu{position:absolute; left:0; top:calc(100% + 0px);list-style:none; margin:0; padding:.45rem; min-width:220px;background:#fff; color:#111;border:1px solid var(--border); border-radius: var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.12);opacity:0; visibility:hidden; transform: translateY(6px);transition: opacity .15s ease, transform .15s ease, visibility .15s ease;z-index:60;}
.nav-primary li:hover > .sub-menu,.nav-primary li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-primary .sub-menu li{position:relative}
.nav-primary .sub-menu a{display:block;padding:.5rem .6rem;border-radius:8px;color:#111;white-space:nowrap}
.nav-primary .sub-menu a:hover,.nav-primary .sub-menu a:focus-visible{background: color-mix(in srgb, #000 8%, #fff); text-decoration:none}
.nav-primary .sub-menu .sub-menu{left:100%; top:0; margin-left:.25rem}

/* Search */
.rr-search-group{ position:relative; display:flex; align-items:center; }
.rr-search-toggle{position:absolute;left:-9999px}
.rr-search-icon{display:inline-flex; align-items:center; justify-content:center;width:36px; height:36px; border-radius:10px; color: var(--menu-fg);border: 1px solid color-mix(in srgb, var(--menu-fg) 30%, transparent);background: color-mix(in srgb, var(--menu-fg) 12%, transparent);}
.rr-search-icon:hover{ background: color-mix(in srgb, var(--menu-fg) 20%, transparent); }
.rr-search-dropdown{position:absolute; right: 0; top: calc(100% + 10px);width:min(420px,92vw); background:#fff; color:#111;border:1px solid var(--border); border-radius: var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.12);padding:.6rem; transform: translateY(-6px);opacity:0; visibility:hidden; transition: opacity .15s, transform .15s, visibility .15s;}
.rr-search-toggle:checked ~ .rr-search-dropdown{ opacity:1; visibility:visible; transform: translateY(0) }

/* Mobile */
.rr-nav-toggle{position:absolute;left:-9999px}
.rr-hamburger{display:none;cursor:pointer;width:34px;height:34px;position:relative;order:3}
.rr-hamburger span{position:absolute;left:6px;right:6px;height:2px;background:var(--menu-fg);transform-origin:left center;transition:transform .28s,opacity .2s}
.rr-hamburger span:nth-child(1){top:10px}
.rr-hamburger span:nth-child(2){top:16px}
.rr-hamburger span:nth-child(3){top:22px}
.rr-nav-toggle:checked + .rr-hamburger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.rr-nav-toggle:checked + .rr-hamburger span:nth-child(2){opacity:0}
.rr-nav-toggle:checked + .rr-hamburger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-drawer{display:none}
.drawer-inner{padding:.75rem}
.drawer-inner .menu, .drawer-inner .sub-menu{list-style:none;margin:0;padding:0}
.drawer-inner .menu > li{border-top:1px dashed var(--border)}
.drawer-inner a{display:block;padding:.75rem .35rem;color:#111}
.drawer-inner .sub-menu{padding-left:.9rem;border-left:2px solid color-mix(in srgb, #000 10%, transparent)}
.drawer-inner .sub-menu .sub-menu{padding-left:.9rem}
@media (max-width: 768px){
  .nav-primary{ display:none }
  .rr-hamburger{ display:block }
  .rr-search-group{ display:none }
  .nav-wrap{ grid-template-columns: auto 1fr auto; }
  .nav-drawer{display:block; position:fixed; inset: var(--nav-top-height) 0 auto 0;max-height:calc(100dvh - var(--nav-top-height)); overflow:auto;background:#fff; color:#111; border-bottom:1px solid var(--border);transform:translateY(-110%); transition:transform .28s ease; z-index:100;}
  .rr-nav-toggle:checked ~ .nav-drawer{ transform: translateY(0) }
}

/* Content & sidebar */
.site-main{ padding-block: clamp(1.2rem, 1rem + 1.2vw, 2rem); }
@media (min-width: 768px){
  .content-grid.with-sidebar{ display:grid; grid-template-columns: 1fr min(28ch, 32%); gap: 1.5rem; }
}
.site-sidebar .widget{ border:1px solid var(--border); border-radius:12px; padding:1rem; margin-bottom:1rem; }
.site-sidebar .widget-title{ margin-top:0; font-size:1rem; }
article{ display:grid; gap:1rem; padding-block:1rem; border-bottom:1px solid var(--border); }
.entry-title{ font-size: clamp(1.4rem,1.1rem + 1.4vw,2rem); margin:0; }
.post-meta{ font-size:.9rem; color: color-mix(in srgb, #000 50%, #fff); display:flex; gap:.6rem; flex-wrap:wrap; }

/* Footer */
.site-footer{ border-top:1px solid var(--border); color: var(--footer-fg); }
.site-footer a{ color: var(--footer-link); }
.footer-inner{ padding-block: clamp(1.2rem, 1rem + 1.2vw, 2rem); }
.footer-grid{ display:grid; gap: 1rem; }
.footer-grid.columns-1{ grid-template-columns: 1fr; }
.footer-grid.columns-2{ grid-template-columns: 1.2fr 1fr; }
.footer-grid.columns-3{ grid-template-columns: 1.2fr 1fr 1fr; }
.footer-logo img{ max-width: var(--footer-logo-max); height:auto; }
.footer-brand .brand-text{ margin-top:.5rem; opacity:.9; }
.footer-menu nav ul{ list-style:none; margin:0; padding:0; }
.footer-menu nav ul li{ margin:.35rem 0; }
.footer-menu.columns-2 nav ul{ column-count:2; column-gap: 2rem; }
.footer-menu.columns-3 nav ul{ column-count:3; column-gap: 2rem; }

/* Back to top */
.back-to-top{ position:fixed; right: clamp(12px,3vw,24px); bottom: clamp(12px,3vw,24px); width:44px; height:44px; line-height:44px; text-align:center; border-radius:999px; background: var(--rr-accent); color:#fff; font-weight:700; text-decoration:none; box-shadow:0 6px 24px rgba(0,0,0,.18); }
.back-to-top:hover{ filter:brightness(.95) }

/* Forms */
.search-form{ display:grid; grid-template-columns: 1fr auto; gap:.5rem }
input[type="search"]{ width:100%; padding:.6rem .7rem; border:1px solid var(--border); border-radius:8px; font:inherit }
.search-submit{ border:0; padding:.6rem .9rem; border-radius:8px; background:#111; color:#fff; font-weight:600; cursor:pointer }
.search-submit:hover{ filter:brightness(.95) }

* Many block themes use these title classes too */
h1.entry-title, .singular .entry-header .entry-title, .page .entry-title { font-family: var(--rr-font) !important; }

/* v3.6: single-site font */
body, .site-header, .site-footer, nav, .menu, .nav-primary, .nav-drawer,
.site-main, .content-area, .entry-content, .entry-summary,
.site-sidebar, .widget, .wp-block,
h1, h2, h3, h4, h5, h6, .site-title {
  font-family: var(--rr-font);
}

/* ===== v3.6.4: Search icon inherits color + sleek nav ===== */

/* Search trigger uses --menu-fg so the icon color follows header text */
.rr-search-btn{
  appearance:none;
  border:1px solid color-mix(in srgb, var(--menu-fg) 25%, transparent);
  background: transparent;
  color: var(--menu-fg);
  width: 38px; height: 38px;
  border-radius: 10px;
  display:inline-flex; align-items:center; justify-content:center;
  transition: box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.rr-search-btn:hover{ 
  background: color-mix(in srgb, var(--menu-fg) 8%, transparent);
  border-color: color-mix(in srgb, var(--menu-fg) 35%, transparent);
}
.rr-search-btn:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--menu-fg) 65%, #fff);
  outline-offset: 2px;
}
.rr-ico{ display:block; width:20px; height:20px; }

/* Sleeker primary nav */
.site-header .container{
  display:flex; gap: clamp(12px, 3vw, 28px);
  align-items:center; justify-content:space-between;
}

.nav-primary{ display:flex; align-items:center; }
.nav-primary > .menu{ 
  display:flex; gap: clamp(.6rem, 1.2vw, 1rem); 
  align-items:center; 
  margin:0; padding:0; list-style:none;
}

/* Top-level items */
.nav-primary .menu > li{ position:relative; }
.nav-primary .menu > li > a{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.55rem .65rem;
  border-radius: 8px;
  font-weight: 600;
  color: var(--menu-fg);
  text-decoration:none;
  line-height:1.2;
  position:relative;
}
.nav-primary .menu > li > a::after{
  content:"";
  position:absolute; left:.65rem; right:.65rem; bottom:.35rem;
  height:2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
  opacity:.85;
}
.nav-primary .menu > li:hover > a,
.nav-primary .menu > li:focus-within > a{
  background: color-mix(in srgb, var(--menu-fg) 8%, transparent);
}
.nav-primary .menu > li:hover > a::after,
.nav-primary .menu > li:focus-within > a::after{
  transform: scaleX(1);
}

/* Dropdowns */
.nav-primary .sub-menu{
  position:absolute; top: calc(100% + 10px); left:0;
  min-width: 220px; margin:0; padding:.4rem;
  list-style:none; border-radius: 12px;
  background: color-mix(in srgb, var(--menu-fg) 6%, var(--rr-bg));
  border: 1px solid color-mix(in srgb, var(--menu-fg) 22%, transparent);
  box-shadow: 0 12px 32px rgba(0,0,0,.15);
  opacity:0; visibility:hidden; transform: translateY(6px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index: 40;
}
.nav-primary li:hover > .sub-menu,
.nav-primary li:focus-within > .sub-menu{
  opacity:1; visibility:visible; transform: translateY(0);
}
.nav-primary .sub-menu > li{ position:relative; }
.nav-primary .sub-menu a{
  display:block; padding:.5rem .6rem; border-radius:8px;
  color: var(--rr-primary);
  white-space:nowrap; text-decoration:none;
}
.nav-primary .sub-menu a:hover,
.nav-primary .sub-menu a:focus-visible{
  background: color-mix(in srgb, var(--menu-fg) 10%, var(--rr-bg));
}
.nav-primary .sub-menu .sub-menu{
  top:0; left:100%; margin-left:.3rem;
}

/* Current page */
.nav-primary .current-menu-item > a,
.nav-primary .current-menu-ancestor > a{
  background: color-mix(in srgb, var(--menu-fg) 10%, transparent);
}

/* Mobile drawer polish */
@media (max-width: 768px){
  .nav-drawer .menu, .nav-drawer .sub-menu{ list-style:none; margin:0; padding:0; }
  .nav-drawer .menu > li{ border-top:1px dashed color-mix(in srgb, var(--menu-fg) 25%, transparent); }
  .nav-drawer a{ display:block; padding:.85rem .35rem; color:var(--menu-fg); }
  .nav-drawer .sub-menu{ padding-left:.9rem; border-left:2px solid color-mix(in srgb, var(--menu-fg) 18%, transparent); }
  .nav-drawer .menu-item-has-children > a::after{ content:""; }
}

/* Footer menus */
.site-footer .footer-menu .menu{
  list-style:none; margin:0; padding:0; display:grid; gap:.45rem;
}
.site-footer .footer-menu a{
  text-decoration:none;
  color: var(--footer-link);
}
.site-footer .footer-menu a:hover{ text-decoration:underline; }

/* v3.6.5 – header/nav alignment, icon outline, mobile drawer */

/* Force outline-only magnifier that inherits text color */
.rr-ico * { fill: none !important; }
.rr-ico circle { fill: transparent !important; }
.rr-ico *, .rr-ico circle, .rr-ico path { stroke: currentColor !important; }

/* Layout: put nav to the right by default (body class can override) */
.site-header .container{ display:flex; align-items:center; gap: clamp(12px, 3vw, 28px); }
.site-branding{ flex:0 1 auto; }
.nav-primary{ margin-left:auto; }

/* Alignment options via body classes from Customizer */
.rr-nav-left  .nav-primary{ margin-left:0; margin-right:0; }
.rr-nav-center .nav-primary{ margin-left:auto; margin-right:auto; }
.rr-nav-right .nav-primary{ margin-left:auto; }

/* Mobile behavior: hamburger only */
.nav-primary{ display:flex; }
.rr-nav-toggle, .rr-nav-icon, .nav-drawer{ display:none; }

@media (max-width:768px){
  .nav-primary{ display:none; }         /* hide desktop menu on phones */
  .rr-nav-icon{ display:inline-flex; }  /* show hamburger */
  .nav-drawer{ display:block; }         /* drawer activated */
}

/* Hamburger + Drawer (copied from v3.6.4 with tweaks) */
.rr-nav-icon{
  width:40px; height:40px; border-radius:10px;
  align-items:center; justify-content:center;
  border:1px solid color-mix(in srgb, var(--menu-fg) 25%, transparent);
  color: var(--menu-fg); background: transparent;
  cursor:pointer; position:relative;
}
.rr-nav-icon span,
.rr-nav-icon span::before,
.rr-nav-icon span::after{
  content:""; display:block; position:absolute; left:9px; right:9px;
  height:2px; background: currentColor; border-radius:2px;
  transition: transform .25s ease, opacity .2s ease;
}
.rr-nav-icon span{ top:50%; transform: translateY(-50%); }
.rr-nav-icon span::before{ top:-7px; }
.rr-nav-icon span::after{ top:7px; }

.nav-drawer{
  position: fixed; inset: 0 0 0 auto; width: 86vw; max-width: 360px;
  background: var(--rr-bg);
  border-left:1px solid color-mix(in srgb, var(--menu-fg) 20%, transparent);
  box-shadow: -24px 0 48px rgba(0,0,0,.18);
  transform: translateX(100%); transition: transform .3s ease;
  z-index: 1000; padding: 70px 18px 20px;
}
.nav-drawer .menu{ list-style:none; margin:0; padding:0; }
.nav-drawer .menu > li{ border-top:1px dashed color-mix(in srgb, var(--rr-text) 20%, transparent); }
.nav-drawer a{ display:block; padding:.9rem .35rem; color:var(--rr-text); text-decoration:none; }
.nav-drawer .sub-menu{ padding-left:.9rem; border-left:2px solid color-mix(in srgb, var(--rr-text) 12%, transparent); }

.rr-nav-toggle{ position:absolute; left:-9999px; }
.rr-nav-toggle:checked ~ .nav-drawer{ transform: translateX(0); }
.rr-nav-toggle:checked + .rr-nav-icon span{ opacity:0; }
.rr-nav-toggle:checked + .rr-nav-icon span::before{
  transform: translateY(7px) rotate(45deg);
  opacity:1;
}
.rr-nav-toggle:checked + .rr-nav-icon span::after{
  transform: translateY(-7px) rotate(-45deg);
  opacity:1;
}

/* v3.6.5.2: stronger icon no-fill + robust nav alignment */
.rr-search-btn svg, .rr-search-btn svg *, .rr-ico, .rr-ico * { fill: none !important; stroke: currentColor !important; }
.rr-ico circle { fill: transparent !important; }

/* Make header a flex row with ordered slots */
.site-header .container{ display:flex; align-items:center; gap: clamp(12px, 3vw, 28px); }
.site-branding{ order:1; flex:0 1 auto; }
.nav-primary{ order:2; flex:1 1 auto; display:flex; }
.rr-search-btn, .header-search, .rr-nav-icon{ order:3; }

/* Align nav contents based on body class */
body.rr-nav-left   .nav-primary{ justify-content:flex-start; margin-left:0; margin-right:0; }
body.rr-nav-center .nav-primary{ justify-content:center; margin-left:0; margin-right:0; }
body.rr-nav-right  .nav-primary{ justify-content:flex-end; margin-left:0; margin-right:0; }

/* Ensure the UL inside can wrap nicely */
.nav-primary > .menu{ margin:0; padding:0; list-style:none; display:flex; gap: clamp(.6rem, 1.2vw, 1rem); align-items:center; }

/* v3.6.5.3: Font Awesome search icon sizing */
.rr-search-icon .fa-solid{
  font: normal normal 900 20px/1 "Font Awesome 6 Free";
  color: currentColor; /* follow header/menu text color */
}

/* v3.6.5.4: Back-to-top visibility control (JS toggles .show) */
.back-to-top{opacity:0;visibility:hidden;transition:opacity .25s, visibility .25s;}
.back-to-top.show{opacity:1;visibility:visible;}

/* Build: v3.6.5.4 */

/* ===== RR NoScript: mobile drawer + devtools resize fixes (no JS) ===== */
/* Ensure CSS-only behavior independent of server-side UA sniffing */
@media (max-width: 1023.98px){
  /* Open the drawer when the checkbox is checked, even if not siblings */
  .site-header:has(#rr-nav-toggle:checked) .nav-drawer{
    transform: translateY(0) !important;
  }
  /* Prevent background scroll while drawer is open */
  body:has(#rr-nav-toggle:checked){
    overflow: hidden;
  }
}

/* Make intent clear for base vs mobile */
.nav-primary{ display:flex; }       /* visible on desktop */
.rr-hamburger{ display:none; }      /* hidden on desktop */
.nav-drawer{ display:none; }        /* drawer not used on desktop */

@media (max-width: 768px){
  .nav-primary{ display:none; }     /* hide desktop menu on phones */
  .rr-hamburger{ display:block; }   /* show hamburger */
  .nav-drawer{ display:block; }     /* drawer available */
}
/* ===== End fixes ===== */

/* ===== RR NoScript 3.5.1 – mobile drawer & dropdown fixes (CSS-only) ===== */

/* Desktop defaults */
.nav-primary{ display:flex; }
.rr-hamburger{ display:none; }
.nav-drawer{ display:none; }

/* Mobile: show hamburger + drawer, hide desktop menu */
@media (max-width: 768px){
  .nav-primary{ display:none; }
  .rr-hamburger{ display:block; }
  .nav-drawer{ display:block; }
}

/* Open the drawer when the checkbox is checked even if not siblings */
@media (max-width: 1023.98px){
  .site-header:has(#rr-nav-toggle:checked) .nav-drawer{
    transform: translateY(0) !important;
  }
  /* Prevent background scroll while open */
  body:has(#rr-nav-toggle:checked){
    overflow: hidden;
  }
  /* Backdrop that closes drawer when tapped */
  .drawer-backdrop{ display:none; }
  .site-header:has(#rr-nav-toggle:checked) .drawer-backdrop{
    display:block;
    position:fixed; inset:0;
    background: rgba(0,0,0,.35);
    z-index: 90; /* below drawer (which is z-index:100) */
  }
}

/* Mobile submenu behavior: collapsed by default, expand on focus */
@media (max-width: 768px){
  .nav-drawer .menu, .nav-drawer .sub-menu{ list-style:none; margin:0; padding:0; }
  .nav-drawer .menu-item-has-children > a{
    position:relative; padding-right: 34px;
  }
  .nav-drawer .menu-item-has-children > a::after{
    content: "▾"; position:absolute; right:8px; top:50%; transform: translateY(-50%);
    opacity:.85;
  }
  .nav-drawer .sub-menu{ display:none; }
  /* Expand when the parent receives focus (1st tap focuses, 2nd tap navigates) */
  .nav-drawer .menu-item-has-children:focus-within > .sub-menu,
  .nav-drawer .menu-item-has-children:has(> a:focus) > .sub-menu{
    display:block;
  }
  .nav-drawer .menu-item-has-children:focus-within > a::after,
  .nav-drawer .menu-item-has-children:has(> a:focus) > a::after{
    content: "▴";
  }
}

/* ===== End 3.5.1 fixes ===== */

/* ===== RR NoScript 3.5.2 – Mobile submenu caret + checkbox toggles (no JS) ===== */
@media (min-width: 769px){
  .nav-primary .rr-sub-toggle, .nav-primary .rr-caret { display:none !important; }
}
@media (max-width: 768px){
  .nav-drawer .menu-item-has-children{ position:relative; }
  .nav-drawer .rr-sub-toggle{ position:absolute; left:-9999px; }
  .nav-drawer .menu-item-has-children > a{ padding-right: 44px; }
  .nav-drawer .rr-caret{
    position:absolute; right:6px; top:50%; transform: translateY(-50%);
    width:36px; height:36px; display:inline-block; cursor:pointer;
    z-index:2; /* above link tap area */
  }
  .nav-drawer .rr-caret::after{
    content:"▾"; display:block; text-align:center; line-height:36px;
  }
  .nav-drawer .rr-sub-toggle:checked ~ .rr-caret::after{ content:"▴"; }
  .nav-drawer .menu-item-has-children > .sub-menu{ display:none; }
  .nav-drawer .rr-sub-toggle:checked ~ .sub-menu{ display:block; }
}
/* ===== End 3.5.2 mobile submenu toggles ===== */

/* ===== RR NoScript 3.5.3 – Mobile caret cleanup & reliability ===== */
@media (max-width: 768px){
  .nav-drawer .menu-item-has-children > a::after{ content:none !important; }
  .nav-drawer .menu-item-has-children:focus-within > .sub-menu{ display:none !important; }
  .nav-drawer .menu-item-has-children:focus-within > a::after{ content:none !important; }

  .nav-drawer .menu-item-has-children > .sub-menu{ display:none; }
  .nav-drawer .rr-sub-toggle:checked ~ .sub-menu{ display:block; }

  .nav-drawer .menu-item-has-children > a{ padding-right: 44px; }
  .nav-drawer .rr-caret{
    position:absolute; right:6px; top:50%; transform: translateY(-50%);
    width:36px; height:36px; display:inline-block; cursor:pointer;
    z-index:2;
  }
  .nav-drawer .rr-caret::after{ content:"▾"; display:block; text-align:center; line-height:36px; }
  .nav-drawer .rr-sub-toggle:checked ~ .rr-caret::after{ content:"▴"; }
  .nav-drawer .rr-caret{ -webkit-tap-highlight-color: transparent; }
}
/* ===== End 3.5.3 ===== */

/* ===== RR NoScript 3.5.4 – Mobile caret reliability (no-JS) ===== */
@media (max-width: 768px){
  /* Make each parent li a positioning context */
  .nav-drawer .menu-item-has-children{ position:relative; }

  /* Hide submenus by default */
  .nav-drawer .menu-item-has-children > .sub-menu{ display:none; }

  /* Hidden checkbox control */
  .nav-drawer .rr-sub-toggle{ position:absolute; left:-9999px; }

  /* Only the checked state opens submenus (win over any legacy styles) */
  .nav-drawer .rr-sub-toggle:checked ~ .sub-menu{ display:block !important; }

  /* Caret hit target (separate from the link) */
  .nav-drawer .menu-item-has-children > a{ padding-right: 44px; }
  .nav-drawer .rr-caret{
    position:absolute; right:6px; top:50%; transform: translateY(-50%);
    width:40px; height:40px; cursor:pointer; z-index:3; display:block;
    -webkit-tap-highlight-color: transparent;
  }
  .nav-drawer .rr-caret::after{ content:"▾"; display:block; text-align:center; line-height:40px; }
  .nav-drawer .rr-sub-toggle:checked ~ .rr-caret::after{ content:"▴"; }

  /* Neutralize any legacy hover/focus open rules without blocking the checked rule */
  .nav-drawer .menu-item-has-children:hover > .sub-menu,
  .nav-drawer .menu-item-has-children:focus-within > .sub-menu{ display:none; }
}
/* ===== End 3.5.4 ===== */

/* ===== RR NoScript 3.5.5 – Solid mobile caret & submenu (no JS) ===== */
@media (max-width: 768px){
  /* Structure: <li class="menu-item-has-children">
       <input.rr-sub-toggle> <div.rr-line> <a> … <label.rr-caret> </div> <ul.sub-menu> …
     */
  .nav-drawer .menu-item-has-children{ position:relative; }
  .nav-drawer .menu-item-has-children > .rr-line{
    position:relative; display:flex; align-items:center; min-height:44px;
  }
  .nav-drawer .menu-item-has-children > .rr-line > a{
    flex:1 1 auto; padding-right: 44px; display:block;
  }
  .nav-drawer .rr-caret{
    position:absolute; right:6px; top:12px; width:36px; height:36px;
    display:block; cursor:pointer; z-index:3; -webkit-tap-highlight-color: transparent;
  }
  .nav-drawer .rr-caret::after{ content:"▾"; display:block; text-align:center; line-height:36px; }
  .nav-drawer .rr-sub-toggle{ position:absolute; left:-9999px; }
  .nav-drawer .menu-item-has-children > .sub-menu{ display:none; }
  .nav-drawer .rr-sub-toggle:checked ~ .rr-line .rr-caret::after{ content:"▴"; }
  .nav-drawer .rr-sub-toggle:checked ~ .sub-menu{ display:block !important; }

  /* Neutralize any legacy open-on-focus/hover in mobile */
  .nav-drawer .menu-item-has-children:hover > .sub-menu,
  .nav-drawer .menu-item-has-children:focus-within > .sub-menu{ display:none; }

  /* Remove any arrows attached to the link itself */
  .nav-drawer .menu-item-has-children > a::after{ content:none !important; }
}
/* ===== End 3.5.5 ===== */

/* ===== RR NoScript 3.5.7 – Desktop Primary Nav refresh ===== */
@media (min-width: 769px){
  .nav-primary{ display:flex; align-items:center; }
  .nav-primary .menu{ display:flex; gap:.55rem; padding:0; margin:0; list-style:none; }
  .nav-primary .menu > li{ position:relative; }
  .nav-primary .menu > li > a{
    display:inline-block;
    padding:.45rem .70rem;
    border-radius:10px;
    line-height:1;
    text-decoration:none;
    font-weight:600;
    background: color-mix(in srgb, var(--header-fg, #fff) 10%, transparent);
    color: var(--header-fg, #fff);
    transition: background .18s ease, color .18s ease, transform .18s ease;
  }
  .nav-primary .menu > li > a:hover,
  .nav-primary .menu > li:hover > a{
    background: color-mix(in srgb, var(--header-fg, #fff) 18%, transparent);
  }
  .nav-primary .menu > li.current-menu-item > a,
  .nav-primary .menu > li.current-page-ancestor > a,
  .nav-primary .menu > li.current-menu-ancestor > a,
  .nav-primary .menu > li.current_page_item > a{
    background: color-mix(in srgb, var(--header-fg, #fff) 26%, transparent);
  }
  .nav-primary .menu > li > a:visited{ color: var(--header-fg, #fff); }
  .nav-primary .menu > li > a::before,
  .nav-primary .menu > li > a::after{ content:none !important; }
}
/* ===== End 3.5.7 ===== */

/* ===== RR NoScript 3.5.8 – Desktop nav (minimal, no pills) ===== */
@media (min-width: 769px){
  /* Layout */
  .nav-primary{ display:flex; align-items:center; }
  .nav-primary .menu{ display:flex; gap:1rem; padding:0; margin:0; list-style:none; }
  .nav-primary .menu > li{ position:relative; }

  /* Links: text-only, subtle underline on hover/active */
  .nav-primary .menu > li > a{
    display:inline-block;
    padding:.55rem .2rem;
    border-radius:0;
    background: transparent !important;
    color: var(--header-fg, #fff);
    text-decoration:none;
    font-weight:600;
    box-shadow: inset 0 -2px transparent;
    transition: box-shadow .18s ease, color .18s ease;
  }
  .nav-primary .menu > li > a:hover,
  .nav-primary .menu > li:focus-within > a{
    box-shadow: inset 0 -2px color-mix(in srgb, var(--header-fg, #fff) 55%, transparent);
  }
  /* Active/current states */
  .nav-primary .menu > li.current-menu-item > a,
  .nav-primary .menu > li.current_page_item > a,
  .nav-primary .menu > li.current-page-ancestor > a,
  .nav-primary .menu > li.current-menu-ancestor > a{
    box-shadow: inset 0 -2px currentColor;
  }

  /* Normalize visited and remove any legacy pseudo elements (e.g., Blog) */
  .nav-primary .menu > li > a:visited{ color: var(--header-fg, #fff); }
  .nav-primary .menu > li > a::before,
  .nav-primary .menu > li > a::after{ content:none !important; }
}
/* ===== End 3.5.8 ===== */

/* ===== RR NoScript 3.5.9 – Desktop nav (simple text, clean dropdowns) ===== */
@media (min-width: 769px){
  .nav-primary{ display:flex; align-items:center; }
  .nav-primary .menu{ display:flex; gap:1.1rem; padding:0; margin:0; list-style:none; }
  .nav-primary .menu > li{ position:relative; }

  /* Top-level: text only with subtle underline */
  .nav-primary .menu > li > a{
    display:inline-block;
    padding:.60rem 0;
    background: transparent !important;
    color: var(--header-fg, #111);
    text-decoration:none;
    font-weight:600;
    line-height:1;
    box-shadow: inset 0 -2px transparent;
    transition: box-shadow .15s ease, color .15s ease;
  }
  .nav-primary .menu > li > a:hover,
  .nav-primary .menu > li:focus-within > a{
    box-shadow: inset 0 -2px currentColor;
  }
  .nav-primary .menu > li.current-menu-item > a,
  .nav-primary .menu > li.current_page_item > a,
  .nav-primary .menu > li.current-menu-ancestor > a,
  .nav-primary .menu > li.current-page-ancestor > a{
    box-shadow: inset 0 -2px currentColor;
  }
  /* Normalize: no stray icons on anchors */
  .nav-primary .menu > li > a::before,
  .nav-primary .menu > li > a::after{ content:none !important; }

  /* Dropdown: white card, light border/shadow; subtle hover */
  .nav-primary .sub-menu{
    position:absolute; left:0; top:100%;
    min-width: 220px;
    margin-top:.5rem; padding:.4rem;
    background:#fff; border:1px solid rgba(0,0,0,.08);
    border-radius:10px; box-shadow:0 10px 25px rgba(0,0,0,.08);
    opacity:0; visibility:hidden; transform: translateY(6px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
    z-index:60;
  }
  .nav-primary li:hover > .sub-menu,
  .nav-primary li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform: translateY(0); }

  .nav-primary .sub-menu li{ position:relative; }
  .nav-primary .sub-menu a{
    display:block; padding:.55rem .8rem;
    border-radius:8px; color:#111; white-space:nowrap;
  }
  .nav-primary .sub-menu a:hover,
  .nav-primary .sub-menu a:focus-visible{ background:#f5f7fb; }
}
/* ===== End 3.5.9 ===== */

/* ===== RR NoScript 3.6.0 – Desktop Menu Redesign (simple text + underline) ===== */
@media (min-width: 1024px){
  .nav-primary{ display:flex; align-items:center; }

  /* Horizontal list with consistent gap */
  .nav-primary .menu{ display:flex; gap:1.25rem; padding:0; margin:0; list-style:none; }

  /* Reset legacy pills/backgrounds */
  .nav-primary .menu > li > a{
    position:relative;
    display:inline-block;
    padding:.75rem 0;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
    text-decoration:none;
    font-weight:600;
    color: var(--header-fg, #111);
    line-height:1;
    transition: color .18s ease;
  }
  .nav-primary .menu > li > a:visited{ color: var(--header-fg, #111); }
  .nav-primary .menu > li > a::before,
  .nav-primary .menu > li > a::after{ content:none; }

  /* Animated underline (uses current text color) */
  .nav-primary .menu > li > a::after{
    content:"";
    position:absolute; left:0; right:0; bottom:.45rem;
    height:2px; background: currentColor;
    transform: scaleX(0); transform-origin:left;
    transition: transform .18s ease;
  }
  .nav-primary .menu > li > a:hover::after,
  .nav-primary .menu > li:focus-within > a::after,
  .nav-primary .menu > li.current-menu-item > a::after,
  .nav-primary .menu > li.current_page_item > a::after,
  .nav-primary .menu > li.current-menu-ancestor > a::after,
  .nav-primary .menu > li.current-page-ancestor > a::after{
    transform: scaleX(1);
  }

  /* Indicate parents with a chevron (doesn't affect layout) */
  .nav-primary .menu > li.menu-item-has-children > a{
    padding-right: 1.0rem;
  }
  .nav-primary .menu > li.menu-item-has-children > a span.nav-caret,
  .nav-primary .menu > li.menu-item-has-children > a .nav-caret{ display:none; } /* in case theme injects */
  .nav-primary .menu > li.menu-item-has-children > a::before{
    content:"▾";
    position:absolute; right:.1rem; top:50%; transform: translateY(-50%);
    font-size:.85em; opacity:.8;
  }
  .nav-primary .menu > li:hover > a::before,
  .nav-primary .menu > li:focus-within > a::before{
    transform: translateY(-50%) rotate(180deg);
  }

  /* Dropdown panel */
  .nav-primary .sub-menu{
    position:absolute; left:0; top:100%;
    min-width: 220px;
    margin-top:.6rem; padding:.5rem;
    background:#fff; border:1px solid rgba(0,0,0,.08);
    border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.12);
    opacity:0; visibility:hidden; transform: translateY(6px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
    z-index:60;
  }
  .nav-primary li:hover > .sub-menu,
  .nav-primary li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform: translateY(0); }

  /* Submenu items */
  .nav-primary .sub-menu li{ position:relative; }
  .nav-primary .sub-menu a{
    display:block; padding:.55rem .8rem;
    border-radius:8px; color:#111; white-space:nowrap;
    text-decoration:none;
    transition: background .12s ease, color .12s ease;
  }
  .nav-primary .sub-menu a:hover,
  .nav-primary .sub-menu a:focus-visible{ background:#f5f7fb; }

  /* Position nested submenus to the right */
  .nav-primary .sub-menu .sub-menu{
    left:100%; top:0; margin-left:.4rem; margin-top:0;
  }
}
/* ===== End 3.6.0 ===== */

/* ===== RR NoScript 3.6.1 – Desktop dropdown polish (colors, no pills) ===== */
@media (min-width: 1024px){
  /* Palette tokens */
  :root{
    --dd-bg: #fff;
    --dd-border: rgba(0,0,0,.10);
    --dd-item: #111;
    --dd-hover: #f5f7fb;
  }

  /* Panel */
  .nav-primary .sub-menu{
    background: var(--dd-bg) !important;
    border: 1px solid var(--dd-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.10) !important;
  }

  /* Items: text-only (no inner bubbles), consistent spacing */
  .nav-primary .sub-menu a{
    background: transparent !important;
    color: var(--dd-item) !important;
    border-radius: 8px !important;
    padding: .55rem .8rem !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }
  .nav-primary .sub-menu a:hover,
  .nav-primary .sub-menu a:focus-visible{
    background: var(--dd-hover) !important;
  }

  /* Parent indicators inside dropdown (small chevron after text) */
  .nav-primary .sub-menu > .menu-item-has-children > a{
    padding-right: 1.1rem !important;
    position: relative;
  }
  .nav-primary .sub-menu > .menu-item-has-children > a::after{
    content: "▸";
    position:absolute; right:.45rem; top:50%; transform: translateY(-50%);
    opacity:.6; font-size:.85em;
  }

  /* Remove any legacy pseudo elements that add extra shapes/icons */
  .nav-primary .sub-menu a::before{ content:none !important; }
}
/* ===== End 3.6.1 ===== */

/* v3.8.1 — header align & back-to-top color independence */
.site-header .nav-wrap{display:flex;align-items:center;gap:24px}
.site-header .site-logo img{display:block;vertical-align:middle}
.site-header .primary-nav>ul{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}
.site-header .primary-nav a{line-height:1}
/* Back-to-top independent color */
.back-to-top, .back-to-top svg{color:var(--rr-backtop,#fff)!important;fill:currentColor}
.site-footer .back-to-top,
.site-footer .back-to-top a{color:var(--rr-backtop,#fff)!important}

/* Breadcrumbs */
.rr-breadcrumbs-container{margin: .25rem 0 1rem}
.rr-breadcrumbs{font-size:.875rem;color:var(--rr-muted,#6b7280)}
.rr-breadcrumbs a{color:inherit;text-decoration:none}
.rr-breadcrumbs a:hover{text-decoration:underline}
.rr-breadcrumbs .sep{margin:0 .4rem;opacity:.6}

/* v3.8.5 Breadcrumbs alignment + Yoast reset */
.rr-breadcrumbs-container{box-sizing:border-box;width:100%;max-width:var(--rr-container-max,1200px);margin-inline:auto;padding-inline:var(--rr-container-pad,16px)}
.rr-breadcrumbs, .rr-breadcrumbs #breadcrumbs{margin:0}
.rr-breadcrumbs #breadcrumbs{padding:0}

/* v3.8.7 Breadcrumbs container alignment hardening */
.rr-breadcrumbs-container{box-sizing:border-box;width:100%;max-width:var(--rr-container-max,1200px);margin-inline:auto;padding-inline:var(--rr-container-pad,16px)}
.rr-breadcrumbs,.rr-breadcrumbs #breadcrumbs{margin:0}
.rr-breadcrumbs #breadcrumbs{padding:0}

/* v3.8.8 Breadcrumbs robustness */
.rr-breadcrumbs-container{box-sizing:border-box;width:100%;max-width:var(--rr-container-max,1200px);margin-inline:auto;padding-inline:var(--rr-container-pad,16px);margin:.25rem auto 1rem}
.rr-breadcrumbs,.rr-breadcrumbs #breadcrumbs{margin:0}
.rr-breadcrumbs #breadcrumbs{padding:0}
.rr-breadcrumbs:empty{display:none!important}

/* v3.6.9: admin bar offset fix */
html { margin-top: 0 !important; }
@media (min-width: 783px) { .admin-bar .site-header { margin-top: 32px;  border-top: 1px solid transparent; } }
@media (max-width: 782px) { .admin-bar .site-header { margin-top: 46px;  border-top: 1px solid transparent; } }

/* Ensure header paints across all pages */
.site-header { background-color: var(--header-bg, #0e2b44);  border-top: 1px solid transparent; }

/* v3.7.1: Yoast breadcrumbs defaults */
.rr-breadcrumbs-container { padding-block: .5rem; font-size: clamp(.875rem, .86rem + .15vw, .95rem); color: var(--rr-text); }
.rr-breadcrumbs-container a { text-decoration: none; }
#breadcrumbs { display: block; }
#breadcrumbs .separator { opacity: .6; margin: 0 .35rem; }

/* v3.7.2: Yoast breadcrumbs defaults */
.rr-breadcrumbs-container { padding-block: .5rem; font-size: clamp(.875rem, .86rem + .15vw, .95rem); color: var(--rr-text); }
.rr-breadcrumbs-container a { text-decoration: none; }
#breadcrumbs { display: block; }
#breadcrumbs .separator { opacity: .6; margin: 0 .35rem; }

.rr-breadcrumbs-container{ margin-bottom:.75rem; }
.rr-breadcrumbs-container + .container,
.rr-breadcrumbs-container + .site-content,
.rr-breadcrumbs-container + .content-area,
.rr-breadcrumbs-container + main { margin-top:0; padding-top:0; }

/* Remove big top margin on the first H1 after breadcrumbs */
.rr-breadcrumbs-container + * h1.page-title,
.rr-breadcrumbs-container + * h1.entry-title,
.rr-breadcrumbs-container + * h1:first-child,
.rr-breadcrumbs-container + .container h1,
.rr-breadcrumbs-container + main h1 { margin-top:.25rem; }

/* Guard: if your main wrapper adds extra top padding, neutralize when it follows breadcrumbs */
.rr-breadcrumbs-container + .container:first-child,
.rr-breadcrumbs-container + main:first-child { padding-top:0; }

.rr-breadcrumbs-container #breadcrumbs { margin: 0; line-height: 1.4; }
.rr-bc--builtin { margin-bottom: .5rem; }
.rr-bc--builtin + *,
.rr-bc--builtin + .container,
.rr-bc--builtin + main { margin-top: 0; padding-top: 0; }

.rr-breadcrumbs-container + main.site-main,
.rr-breadcrumbs-container + main.site-main.page,
.rr-breadcrumbs-container + .site-content,
.rr-breadcrumbs-container + .content-area,
.rr-breadcrumbs-container + .container { margin-top: 0 !important; padding-top: 0 !important; }

/* When the first element inside main is an entry header or H1, trim its top margin */
.rr-breadcrumbs-container + main .entry-header:first-child,
.rr-breadcrumbs-container + main h1:first-child,
.rr-breadcrumbs-container + .container h1:first-child { margin-top: .25rem !important; }

/* Some themes add page-specific padding via .page .site-main — neutralize only when following breadcrumbs */
.rr-breadcrumbs-container + .page.site-main,
.rr-breadcrumbs-container + main.page.site-main { padding-top: 0 !important; }

.rr-breadcrumbs-container + main.site-main,
.rr-breadcrumbs-container + main#primary.site-main,
.rr-breadcrumbs-container + main.site-main.page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Also handle if a comment node or script sits between nav and main */
.rr-breadcrumbs-container + * + main.site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Breadcrumbs: unified spacing for Yoast + built-in */
.rr-breadcrumbs-container{ margin-bottom:.75rem; }
.rr-breadcrumbs-container #breadcrumbs{ margin:0; line-height:1.4; }
.rr-breadcrumbs-container + main.site-main,
.rr-breadcrumbs-container + main#primary.site-main,
.rr-breadcrumbs-container + main.site-main.page,
.rr-breadcrumbs-container + .site-content,
.rr-breadcrumbs-container + .content-area,
.rr-breadcrumbs-container + .container,
.rr-breadcrumbs-container + * + main.site-main{
  margin-top:0 !important; padding-top:0 !important;
}
.rr-breadcrumbs-container + * h1:first-child{ margin-top:.25rem !important; }

/* ==========================================================================
   Content Design System (scoped to <main> and .entry-content)
   ========================================================================== */
:root{
  --rr-font: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --rr-sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans";
  --rr-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --rr-text: #1e2430; --rr-muted:#55607a; --rr-bg:#fff; --rr-soft-bg:#f7f8fb; --rr-border:#e4e7ee;
  --rr-accent:#2257f5; --rr-accent-ink:#1739a5;
  --rr-code-bg:#0f172a08; --rr-code-ink:#0f172a; --rr-kbd-bg:#f2f4f8; --rr-kbd-ink:#111827; --rr-mark:#fff2a8;
  --rr-max: 75ch; --rr-lh:1.6;
  --rr-space-1:.25rem; --rr-space-2:.5rem; --rr-space-3:.75rem; --rr-space-4:1rem; --rr-space-5:1.5rem; --rr-space-6:2rem;
}
@media (prefers-color-scheme: dark){
  :root{
    --rr-text:#e8edf7; --rr-muted:#a3adbf; --rr-bg:#0b111f; --rr-soft-bg:#0f1525; --rr-border:#1a2340;
    --rr-accent:#7aa2ff; --rr-accent-ink:#cce0ff; --rr-code-bg:#1b233a; --rr-code-ink:#d7e0ff; --rr-kbd-bg:#1a2238; --rr-kbd-ink:#e8edf7; --rr-mark:#463c00;
  }
}
main, .entry-content{ color:var(--rr-text); font-family:var(--rr-sans); line-height:var(--rr-lh); font-size:clamp(16px, .96vw + 12px, 18px); background:transparent; }
main .entry-content { max-width: var(--rr-max); }
main h1,main h2,main h3,main h4,main h5,main h6,
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{
  font-family:var(--rr-font); color:var(--rr-text); line-height:1.2; letter-spacing:-.01em; margin-top:var(--rr-space-6); margin-bottom:var(--rr-space-3);
}
main h1,.entry-content h1{ font-size:clamp(2rem, 2.2vw + 1.5rem, 3rem); }
main h2,.entry-content h2{ font-size:clamp(1.6rem, 1.6vw + 1.1rem, 2.25rem); }
main h3,.entry-content h3{ font-size:clamp(1.35rem, 1.1vw + 1rem, 1.6rem); }
main h4,.entry-content h4{ font-size:1.15rem; }
main h5,.entry-content h5{ font-size:1.05rem; text-transform:uppercase; letter-spacing:.02em; }
main h6,.entry-content h6{ font-size:.95rem; color:var(--rr-muted); }
main p,.entry-content p{ margin:var(--rr-space-3) 0; }
main small,.entry-content small{ color:var(--rr-muted); font-size:.875em; }
main a,.entry-content a{ color:var(--rr-accent); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:.08em; }
main a:hover,.entry-content a:hover{ color:var(--rr-accent-ink); }
main ul,main ol,.entry-content ul,.entry-content ol{ margin:var(--rr-space-4) 0 var(--rr-space-4) var(--rr-space-5); padding:0; }
main li,.entry-content li{ margin:.35rem 0; }
main ul ul,main ol ol,.entry-content ul ul,.entry-content ol ol{ margin-top:.25rem; margin-bottom:.25rem; }
main ul{ list-style:disc; } main ul ul{ list-style:circle; } main ul ul ul{ list-style:square; } main ol{ list-style:decimal; }
main blockquote,.entry-content blockquote{ border-left:3px solid var(--rr-accent); padding:var(--rr-space-3) var(--rr-space-4); margin:var(--rr-space-5) 0; background:var(--rr-soft-bg); color:var(--rr-text); }
main blockquote cite,.entry-content blockquote cite{ display:block; margin-top:.5rem; color:var(--rr-muted); font-style:normal; }
main hr,.entry-content hr{ border:0; height:1px; background:var(--rr-border); margin:var(--rr-space-6) 0; }
main code,.entry-content code{ font-family:var(--rr-mono); background:var(--rr-code-bg); color:var(--rr-code-ink); padding:.15em .35em; border-radius:.3rem; }
main pre,.entry-content pre{ font-family:var(--rr-mono); background:var(--rr-code-bg); color:var(--rr-code-ink); border:1px solid var(--rr-border); padding:var(--rr-space-4); border-radius:.5rem; overflow:auto; }
main pre code,.entry-content pre code{ background:transparent; padding:0; }
main kbd,.entry-content kbd{ background:var(--rr-kbd-bg); color:var(--rr-kbd-ink); border:1px solid var(--rr-border); border-bottom-width:2px; border-radius:.35rem; padding:.1em .45em; font-size:.9em; white-space:nowrap; }
main mark,.entry-content mark{ background:var(--rr-mark); padding:.05em .2em; }
main abbr[title],.entry-content abbr[title]{ text-decoration:underline dotted; cursor:help; }
main sup,main sub,.entry-content sup,.entry-content sub{ font-size:.75em; line-height:0; position:relative; vertical-align:baseline; }
main sup,.entry-content sup{ top:-.4em; } main sub,.entry-content sub{ bottom:-.1em; }
main img,.entry-content img, main video,.entry-content video, main svg,.entry-content svg, main iframe,.entry-content iframe{ max-width:100%; height:auto; }
main figure,.entry-content figure{ margin:var(--rr-space-5) 0; }
main figcaption,.entry-content figcaption{ font-size:.9em; color:var(--rr-muted); margin-top:.35rem; text-align:center; }
main table,.entry-content table{ width:100%; border-collapse:collapse; margin:var(--rr-space-4) 0; font-variant-numeric:tabular-nums; }
main thead th,.entry-content thead th{ font-weight:600; background:var(--rr-soft-bg); }
main th,main td,.entry-content th,.entry-content td{ border:1px solid var(--rr-border); padding:.6rem .7rem; text-align:left; }
main tr:nth-child(even) td,.entry-content tr:nth-child(even) td{ background:color-mix(in oklab, var(--rr-soft-bg) 60%, transparent); }
main details,.entry-content details{ border:1px solid var(--rr-border); border-radius:.5rem; padding:.75rem 1rem; background:var(--rr-soft-bg); margin:var(--rr-space-4) 0; }
main details[open]{ background:color-mix(in oklab, var(--rr-soft-bg) 80%, transparent); }
main summary{ cursor:pointer; font-weight:600; }
main dl,.entry-content dl{ margin:var(--rr-space-4) 0; }
main dt,.entry-content dt{ font-weight:600; } main dd,.entry-content dd{ margin:0 0 var(--rr-space-2) var(--rr-space-4); }
main address,.entry-content address{ font-style:normal; color:var(--rr-muted); }
main q,.entry-content q{ quotes:"“" "”" "‘" "’"; } main q:before{ content:open-quote; } main q:after{ content:close-quote; }
main input[type="text"],main input[type="email"],main input[type="url"],main input[type="search"],main input[type="number"],main textarea,
.entry-content input[type="text"],.entry-content input[type="email"],.entry-content input[type="url"],.entry-content input[type="search"],.entry-content input[type="number"],.entry-content textarea{
  width:100%; max-width:100%; border:1px solid var(--rr-border); border-radius:.5rem; padding:.6rem .75rem; background:#fff; color:var(--rr-text); outline:none;
}
main textarea,.entry-content textarea{ min-height:7.5rem; resize:vertical; }
main input:focus,.entry-content input:focus, main textarea:focus,.entry-content textarea:focus{
  border-color: color-mix(in oklab, var(--rr-accent) 65%, var(--rr-border));
  box-shadow:0 0 0 3px color-mix(in oklab, var(--rr-accent) 20%, transparent);
}
main button,.entry-content button, main input[type="submit"],.entry-content input[type="submit"]{
  display:inline-block; border-radius:.6rem; border:1px solid transparent; padding:.55rem .9rem; background:var(--rr-accent); color:#fff; cursor:pointer;
}
main button:hover,.entry-content button:hover, main input[type="submit"]:hover,.entry-content input[type="submit"]:hover{ background:var(--rr-accent-ink); }
.wp-caption{ max-width:100%; } .wp-caption img{ width:100%; height:auto; } .wp-caption-text{ color:var(--rr-muted); text-align:center; font-size:.9em; margin-top:.35rem; }
.alignleft{ float:left; margin:.2rem 1rem .8rem 0; } .alignright{ float:right; margin:.2rem 0 .8rem 1rem; } .aligncenter{ display:block; margin-left:auto; margin-right:auto; }
.lead{ font-size:clamp(1.05rem, .6vw + .9rem, 1.35rem); color:var(--rr-text); } .muted{ color:var(--rr-muted); }
.callout{ border-left:4px solid var(--rr-accent); background:var(--rr-soft-bg); padding:.75rem 1rem; border-radius:.5rem; margin:var(--rr-space-4) 0; }
.note{ background:#fff7e6; border:1px solid #ffe5b3; padding:.75rem 1rem; border-radius:.5rem; }
main .entry-content > *:first-child{ margin-top:var(--rr-space-3); }
@media print{ a{ text-decoration:none; color:inherit; } pre,code{ background:transparent; } .callout,.note{ border-color:#bbb; background:#fff; } }

main .entry-content, main > article .entry-content{ max-width: 100%; }

/* Optional: use .prose on any inner wrapper to limit line length for long-form text */
.entry-content .prose{ max-width: min(100%, var(--rr-max)); margin-inline:auto; }
.entry-content .prose.rr-wide{ max-width:none; }
.entry-content .alignwide{ max-width: min(1200px, 92vw); margin-left:auto; margin-right:auto; }
.entry-content .alignfull{ max-width:none; width:100vw; margin-left:50%; transform:translateX(-50%); }



/* v3.11.8: enforce removal of any article bottom border globally */
.site-main > article,
article { border-bottom: 0 !important; }
