/* RSN header search — generated by build/tools/build_css.py from proposal/mockup/home.html + search.html. Do not edit here. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/wp-content/themes/rsn-child/assets/fonts/DMSans-var.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url('/wp-content/themes/rsn-child/assets/fonts/PlayfairDisplay-var.woff2') format('woff2');}
body .rsn-hs{--ink:#191817;--paper:#fff;--line:#d9d3c9;--hero:#e7dfd5;--band:#e7c7be;
  --red-ink:#9b301f;      
  --muted:#655f59;--body:#4f4a45;--band-ink:#57514b;
  --serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1320px;
  
  --t-label:12px;   
  --t-ui:13px;      
  --t-meta:15px;    
  --t-body:16px;    
  --t-lede:18px;
  display:flex;align-items:center;order:1;margin-left:calc(2 * var(--e-nav-menu-horizontal-menu-item-margin, 18px));color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
body .rsn-hs *,body .rsn-hs *::before,body .rsn-hs *::after{box-sizing:border-box}
body .rsn-hs a{color:inherit;text-decoration:none}
body .rsn-hs :focus-visible{outline:2px solid var(--red-ink);outline-offset:3px}
body .rsn-hs button{font:inherit;color:inherit;background:none;border:0;border-radius:0;padding:0;cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none}
body .rsn-hs input{border-radius:0;box-shadow:none}
body .rsn-hs .search{display:inline-flex;align-items:center;gap:10px;font-size:var(--t-ui);font-weight:600;letter-spacing:.14em;text-transform:uppercase;min-height:44px}
body .rsn-hs .search svg{width:18px;height:18px}
@media(max-width:640px){
body .rsn-hs .search span{display:none}
body .rsn-hs .search{width:44px;justify-content:flex-end}
body .rsn-hs .search svg{width:21px;height:21px}
}
body .rsn-hs .sbox{background:var(--hero);padding:30px 9% 34px}
body .rsn-hs .sbox[hidden]{display:none}
body .rsn-hs .sbox-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}
body .rsn-hs .sbox label{font-size:var(--t-label);text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--red-ink);line-height:1.4}
body .rsn-hs .sbox-close{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;color:var(--ink);
  font:600 var(--t-ui)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
body .rsn-hs .sbox-close svg{width:18px;height:18px}
body .rsn-hs .sbox-row{display:flex;align-items:flex-end;gap:24px;margin-top:6px}
body .rsn-hs .sbox input{flex:1;min-width:0;height:64px;margin:0;padding:0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);
  font:500 34px/1.2 var(--serif);letter-spacing:-.01em;-webkit-appearance:none;appearance:none}
body .rsn-hs .sbox input:focus-visible{outline:0;border-bottom-color:var(--red-ink);box-shadow:0 1px 0 var(--red-ink)}
body .rsn-hs .sbox input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
body .rsn-hs .sbox-row button{flex:none;min-width:180px;min-height:56px;padding:0 36px;border:0;cursor:pointer;background:var(--ink);color:#fff;
  font:700 var(--t-ui)/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
body .rsn-hs .sbox-hint{margin-top:14px;font-size:var(--t-meta);line-height:1.6;color:var(--body)}
@media(max-width:900px){
body .rsn-hs .sbox{padding:26px 7% 30px}
}
@media(max-width:640px){
body .rsn-hs .sbox{padding:20px 22px 26px}
body .rsn-hs .sbox-close{width:44px;justify-content:flex-end}
body .rsn-hs .sbox-close span{display:none}
body .rsn-hs .sbox-row{flex-wrap:wrap;gap:16px;margin-top:2px}
body .rsn-hs .sbox input{flex-basis:100%;height:56px;font-size:26px}
body .rsn-hs .sbox-row button{width:100%}
body .rsn-hs .sbox-hint{margin-top:12px}
}
@media(max-width:400px){
body .rsn-hs .sbox label{letter-spacing:.1em}
}
/* placement (not in the mockups): the control after the menu on one line with it; on phones before the menu button */
body.rsn-header .elementor-location-header .elementor-widget-nav-menu:has(.rsn-hs){position:static}
body.rsn-header .elementor-location-header .elementor-widget-nav-menu:has(.rsn-hs) > .elementor-widget-container{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}
body.rsn-header .elementor-location-header .elementor-widget-nav-menu:has(.rsn-hs) .elementor-menu-toggle{order:2}
body.rsn-header .elementor-location-header .e-con.e-parent:has(.rsn-hs){position:relative}
/* the panel: under the bar, across the content width, over the page (the header is pinned on scroll) */
body .rsn-hs .sbox{position:absolute;z-index:1000;top:100%;left:var(--rsn-side,24px);right:var(--rsn-side,24px);box-shadow:0 18px 40px rgba(25,24,23,.16)}
/* (the gap before it = the gap between menu items: Elementor's item margin, on both sides of each gap — header.css) */
@media(min-width:768px) and (max-width:991px){body.rsn-header .elementor-location-header .elementor-widget-nav-menu:has(.rsn-hs) > .elementor-widget-container{justify-content:center}}  /* the menu's own row, centred (header.css 4) */
/* 768–819: six items + Search fit one row only with the item gap at 28 (34 at 820–900, header.css) */
@media(min-width:768px) and (max-width:819px){body.rsn-header .elementor-location-header .elementor-widget-nav-menu:has(.rsn-hs){--e-nav-menu-horizontal-menu-item-margin:14px}}
@media(max-width:767px){body .rsn-hs{margin-left:0}}
/* under 380 the logo (244) + two 44px targets need 4px more than the row has: the two targets share 4px of their
   empty edges (each icon sits at its target's right), so the menu button stays on the content edge */
@media(max-width:379px){body .rsn-hs{margin-right:-4px}}
