/* Roy Electric LLC — redesign. Prefix: rye- */
:root{
  --rye-navy:#0A2463; --rye-navy-2:#00205B; --rye-navy-3:#13337E;
  --rye-red:#A8180E; --rye-red-2:#C42A1A;
  --rye-blue:#4558CF; --rye-blue-h:#3446B8;
  --rye-amber:#F2B544;
  --rye-white:#FFFFFF; --rye-fog:#F4F5F8; --rye-line:#D9DCE3;
  --rye-text:#1D2330; --rye-mute:#535B6B; --rye-mute-d:#C5CDE0;
  --rye-r:3px; --rye-r-m:6px; --rye-r-l:10px;
  --rye-wide:1480px; --rye-mid:1180px; --rye-head-h:200px; --rye-bar-h:64px;
  --rye-sans:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --rye-disp:"Oswald","Arial Narrow",Impact,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--rye-sans);font-size:17px;line-height:1.65;color:var(--rye-text);background:var(--rye-white);overflow-x:hidden}
svg{max-width:100%}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--rye-disp);font-weight:600;line-height:1.1;letter-spacing:.005em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--rye-blue);outline-offset:3px}
.rye-on-dark :focus-visible,.rye-hero :focus-visible,.rye-foot :focus-visible,.rye-band :focus-visible{outline-color:var(--rye-amber)}
[id]{scroll-margin-top:calc(var(--rye-bar-h) + 24px)}
.rye-skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--rye-navy);color:#fff;padding:10px 16px;border-radius:var(--rye-r);font-weight:700;text-decoration:none}
.rye-skip:focus{top:12px}
.rye-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rye-wrap{width:min(100% - 48px,var(--rye-mid));margin-inline:auto}
.rye-wide{width:min(100% - 48px,var(--rye-wide));margin-inline:auto}

/* buttons */
.rye-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 17px/1 var(--rye-sans);padding:15px 22px;border-radius:var(--rye-r);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .16s,color .16s,border-color .16s}
.rye-btn-blue{background:var(--rye-blue);color:#fff}
.rye-btn-blue:hover{background:var(--rye-blue-h)}
.rye-btn-red{background:var(--rye-red);color:#fff}
.rye-btn-red:hover{background:#8E1309}
.rye-btn-ghost{border-color:currentColor;background:transparent}
.rye-btn-ghost:hover{background:rgba(255,255,255,.1)}
.rye-btn:focus-visible{outline:3px solid var(--rye-amber);outline-offset:3px}
.rye-link{font-weight:600;color:var(--rye-blue);text-decoration:underline;text-underline-offset:4px}
.rye-link:hover{color:var(--rye-red)}

/* header: tall white masthead with centered logo, nav flanked by rules */
.rye-head{background:#fff;border-top:5px solid var(--rye-navy);position:relative;z-index:50}
.rye-logo-row{display:flex;justify-content:center;padding:34px 0 18px}
.rye-logo{display:inline-block;text-decoration:none;line-height:0}
.rye-logo svg{width:300px;height:auto}
.rye-bar{position:sticky;top:0;z-index:100;height:var(--rye-bar-h);background:#fff;transition:background-color .25s,box-shadow .25s}
.rye-bar::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transition:opacity .25s;z-index:-1}
.rye-bar.is-scrolled{background:transparent;box-shadow:0 1px 0 var(--rye-line)}
.rye-bar.is-scrolled::before{opacity:1}
.rye-bar-in{height:100%;display:flex;align-items:center;gap:24px}
.rye-rule{flex:1;height:1px;background:#BFC4CE}
.rye-mini{display:flex;align-items:center;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s;pointer-events:none;text-decoration:none}
.rye-mini svg{width:118px;height:auto}
.rye-bar.is-scrolled .rye-mini{opacity:1;transform:none;pointer-events:auto}
.rye-bar.is-scrolled .rye-rule-l{display:none}
.rye-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.rye-nav a{display:block;padding:13px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:14.5px;color:#4A5160;transition:color .15s,background-color .15s}
.rye-nav a:hover{color:var(--rye-navy);background:var(--rye-fog)}
.rye-nav a.is-active{color:var(--rye-navy);background:#ECEEF2;font-weight:600}
.rye-bar-cta{padding:11px 16px;font-size:15px}
.rye-burger{display:none;width:46px;height:46px;border:1px solid var(--rye-line);background:#fff;border-radius:var(--rye-r);position:relative;cursor:pointer;color:var(--rye-navy)}
.rye-burger span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.rye-burger span:nth-child(1){top:15px}.rye-burger span:nth-child(2){top:22px}.rye-burger span:nth-child(3){top:29px}
.rye-bar.is-open .rye-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rye-bar.is-open .rye-burger span:nth-child(2){opacity:0}
.rye-bar.is-open .rye-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.rye-nav .rye-nav-cta{display:none}
@media (max-width:900px){
  .rye-logo-row{padding:24px 0 10px}.rye-logo svg{width:230px}
  .rye-rule,.rye-bar-cta{display:none}
  .rye-mini{opacity:1;transform:none;pointer-events:auto;margin-right:auto}
  .rye-burger{display:block}
  .rye-bar{box-shadow:0 1px 0 var(--rye-line)}
  .rye-nav{position:absolute;left:0;right:0;top:var(--rye-bar-h);background:#fff;border-bottom:3px solid var(--rye-navy);padding:8px 24px 22px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .rye-bar.is-open .rye-nav{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
  .rye-nav ul{flex-direction:column}
  .rye-nav a{padding:15px 8px;border-bottom:1px solid var(--rye-line);font-size:16px}
  .rye-nav a.is-active{background:transparent;box-shadow:inset 4px 0 0 var(--rye-red);padding-left:16px}
  .rye-nav .rye-nav-cta{display:flex;margin-top:16px}
}

/* hero: full-bleed warm interior with pendant coils, centered copy + quote form */
.rye-hero{position:relative;color:#fff;overflow:hidden;background:#2A231D}
.rye-hero-bg{position:absolute;inset:0;width:100%;height:100%}
.rye-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.55),rgba(20,16,12,.35) 40%,rgba(20,16,12,.7))}
.rye-hero-in{position:relative;z-index:1;padding:80px 0 96px;text-align:center}
.rye-hero-kicker{font-family:var(--rye-disp);font-size:clamp(16px,1.6vw,20px);letter-spacing:.06em;text-transform:uppercase;font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.6);margin-bottom:18px}
.rye-h1{font-size:clamp(46px,7vw,96px);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:.98;text-shadow:0 4px 24px rgba(0,0,0,.55)}
.rye-h1 em{font-style:italic;font-family:"Georgia",serif;text-transform:none;font-weight:400;color:var(--rye-amber)}
.rye-hero-sub{font-size:clamp(18px,1.7vw,21px);max-width:56ch;margin:22px auto 0;color:#F1ECE6;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.rye-hero-call{margin:22px 0 0;font-family:var(--rye-disp);text-transform:uppercase;font-size:clamp(17px,1.8vw,22px);letter-spacing:.03em;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.rye-hero-call a{text-decoration:none;font-size:1.3em;color:#fff;border-bottom:2px solid var(--rye-amber)}
.rye-hero-call a:hover{color:var(--rye-amber)}
.rye-hero-ctas{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.rye-avail{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;color:#F1ECE6;background:rgba(0,0,0,.35);padding:7px 14px;border-radius:30px}
.rye-dot{width:9px;height:9px;border-radius:50%;background:#62D38A;flex:none}

/* quote form */
.rye-form{margin:52px auto 0;max-width:980px;text-align:left;background:rgba(18,14,10,.58);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);border-radius:var(--rye-r-l);padding:30px 32px 28px}
.rye-form-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.rye-form-h h2{font-size:28px;text-transform:uppercase;letter-spacing:.03em}
.rye-form-h p{margin:0;font-size:14.5px;color:#E6DFD6}
.rye-req{color:#FF7B6E}
.rye-form-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:16px 24px}
.rye-field label{display:block;font-size:16px;margin-bottom:6px;color:#fff}
.rye-field input,.rye-field textarea{width:100%;font:16px/1.4 var(--rye-sans);padding:11px 12px;border:1px solid #C8CCD4;border-radius:2px;background:#fff;color:var(--rye-text)}
.rye-field textarea{min-height:142px;resize:vertical}
.rye-field input:focus-visible,.rye-field textarea:focus-visible{outline:3px solid var(--rye-amber);outline-offset:1px}
.rye-desc{grid-column:3;grid-row:1/3}
.rye-form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}
.rye-form-foot p{margin:0;font-size:14.5px;color:#E6DFD6;max-width:58ch}
.rye-form-msg{margin-top:12px;font-size:15px;color:#FFD9A0;min-height:1.2em}
@media (max-width:860px){.rye-form-grid{grid-template-columns:1fr}.rye-desc{grid-column:auto;grid-row:auto}.rye-form{padding:24px 18px}}

/* service-area strip */
.rye-areas{background:var(--rye-navy-2);color:#fff;padding:22px 0}
.rye-areas-in{display:flex;align-items:center;gap:20px 36px;flex-wrap:wrap;justify-content:center}
.rye-areas p{margin:0;font-size:14.5px;color:var(--rye-mute-d)}
.rye-areas ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:center}
.rye-areas li{font-family:var(--rye-disp);text-transform:uppercase;letter-spacing:.08em;font-size:19px}
.rye-areas li::before{content:"";display:inline-block;width:7px;height:7px;background:var(--rye-red-2);transform:rotate(45deg);margin-right:12px;vertical-align:middle}

/* section scaffolding */
.rye-sec{padding:104px 0}
.rye-fog{background:var(--rye-fog)}
.rye-dark{background:var(--rye-navy);color:#fff}
.rye-dark p{color:var(--rye-mute-d)}
.rye-title{text-align:center;margin-bottom:56px}
.rye-title h2{font-size:clamp(34px,4.4vw,54px);text-transform:uppercase;letter-spacing:.02em;display:inline-flex;align-items:center;gap:22px}
.rye-title h2::before,.rye-title h2::after{content:"";width:60px;height:1px;background:currentColor;opacity:.35}
.rye-title p{max-width:62ch;margin:16px auto 0;color:var(--rye-mute);font-size:18px}
.rye-dark .rye-title p{color:var(--rye-mute-d)}
@media (max-width:700px){.rye-sec{padding:76px 0}.rye-title h2::before,.rye-title h2::after{width:24px}.rye-title h2{gap:12px}}

/* services: staggered 2-col */
.rye-svc{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px}
.rye-svc-item{background:#fff;border:1px solid var(--rye-line);border-top:4px solid var(--rye-navy);border-radius:var(--rye-r-m);padding:28px 30px;display:grid;grid-template-columns:52px 1fr;gap:6px 20px;transition:transform .18s,border-color .18s}
.rye-svc-item:nth-child(even){transform:translateY(42px);border-top-color:var(--rye-red)}
.rye-svc-item:hover{border-color:#AEB5C4}
.rye-svc-ic{grid-row:1/3;width:52px;height:52px;border-radius:50%;background:var(--rye-fog);color:var(--rye-navy);display:grid;place-items:center;font-size:20px}
.rye-svc-item h3{font-size:24px;text-transform:uppercase;letter-spacing:.02em;color:var(--rye-navy)}
.rye-svc-item p{margin:6px 0 0;color:var(--rye-mute);font-size:16px}
.rye-svc-meta{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:12px}
.rye-tag{display:inline-flex;align-items:center;gap:7px;font-size:14px;padding:5px 10px;border-radius:30px;background:var(--rye-fog);color:#323A4A}
.rye-tag i{color:var(--rye-red)}
.rye-svc-buy{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--rye-line)}
.rye-price{font-family:var(--rye-disp);font-size:32px;font-weight:600;color:var(--rye-text);line-height:1}
.rye-price small{font-family:var(--rye-sans);font-size:13px;font-weight:400;color:var(--rye-mute);margin-left:6px}
.rye-svc-buy .rye-btn{padding:10px 16px;font-size:15px}
.rye-svc-note{margin:84px auto 0;max-width:820px;text-align:center;font-size:15.5px;color:var(--rye-mute)}
@media (max-width:900px){.rye-svc{grid-template-columns:1fr}.rye-svc-item:nth-child(even){transform:none}.rye-svc-note{margin-top:36px}}
@media (max-width:480px){.rye-svc-item{grid-template-columns:1fr;padding:24px 20px}.rye-svc-ic{grid-row:auto}.rye-svc-meta,.rye-svc-buy{grid-column:1}}

/* process: vertical timeline, centered spine */
.rye-proc{list-style:none;margin:0 auto;padding:0;max-width:960px;position:relative}
.rye-proc::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:2px;background:rgba(255,255,255,.22);transform:translateX(-1px)}
.rye-proc li{position:relative;width:50%;padding:0 54px 48px 0;text-align:right}
.rye-proc li:nth-child(even){margin-left:50%;padding:0 0 48px 54px;text-align:left}
.rye-proc li:last-child{padding-bottom:0}
.rye-proc-n{position:absolute;right:-24px;top:0;width:48px;height:48px;border-radius:50%;background:var(--rye-red);color:#fff;font-family:var(--rye-disp);font-size:22px;display:grid;place-items:center;border:3px solid var(--rye-navy);box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.rye-proc li:nth-child(even) .rye-proc-n{left:-24px;right:auto}
.rye-proc h3{font-size:24px;text-transform:uppercase;letter-spacing:.03em;margin:8px 0 8px}
.rye-proc p{margin:0 0 10px}
.rye-proc-t{display:inline-block;font-size:14px;color:#fff;border:1px solid rgba(255,255,255,.3);padding:4px 10px;border-radius:30px}
@media (max-width:760px){
  .rye-proc::before{left:24px}
  .rye-proc li,.rye-proc li:nth-child(even){width:auto;margin-left:0;padding:0 0 40px 76px;text-align:left}
  .rye-proc-n,.rye-proc li:nth-child(even) .rye-proc-n{left:0;right:auto}
}

/* guarantee band */
.rye-band{background:var(--rye-red);color:#fff;padding:40px 0}
.rye-band-in{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}
.rye-band svg{width:84px;height:84px}
.rye-band h2{font-size:clamp(26px,3vw,36px);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px}
.rye-band p{margin:0;color:#FFE8E4;max-width:72ch}
.rye-band a{color:#fff;font-weight:700;text-underline-offset:4px}
@media (max-width:800px){.rye-band-in{grid-template-columns:1fr;gap:16px}.rye-band svg{width:64px;height:64px}}

/* comparison: 3-col strip */
.rye-cmp{border:1px solid var(--rye-line);border-radius:var(--rye-r-l);overflow:hidden;background:#fff}
.rye-cmp-row{display:grid;grid-template-columns:1.05fr 1.2fr 1.2fr;border-top:1px solid var(--rye-line)}
.rye-cmp-row:first-child{border-top:0}
.rye-cmp-row>*{padding:18px 22px;margin:0;font-size:16px}
.rye-cmp-head>*{font-family:var(--rye-disp);text-transform:uppercase;letter-spacing:.04em;font-size:18px;font-weight:600}
.rye-cmp-row.rye-cmp-head .rye-cmp-us{background:var(--rye-navy);color:#fff}
.rye-cmp-row .rye-cmp-us{background:#EEF1F9}
.rye-cmp-row b{font-weight:600}
.rye-cmp-row i{margin-right:8px}
.rye-ok{color:#1E7A45}.rye-no{color:var(--rye-red)}
@media (max-width:760px){
  .rye-cmp-head{display:none}
  .rye-cmp-row{grid-template-columns:1fr}
  .rye-cmp-row>*{padding:10px 18px}
  .rye-cmp-row b{padding-top:18px;font-family:var(--rye-disp);text-transform:uppercase;letter-spacing:.04em;font-size:18px}
  .rye-cmp-row>*:last-child{padding-bottom:18px}
  .rye-cmp-row .rye-cmp-us::before{content:"Roy Electric: ";font-weight:600}
  .rye-cmp-row .rye-cmp-them::before{content:"Typical alternative: ";font-weight:600}
}

/* FAQ: numbered expand-in-place */
.rye-faq{max-width:900px;margin:0 auto;counter-reset:rye-q;border-top:1px solid var(--rye-line)}
.rye-acc{border-bottom:1px solid var(--rye-line)}
.rye-acc h3{margin:0;font:inherit}
.rye-acc-btn{width:100%;display:grid;grid-template-columns:52px 1fr 28px;align-items:center;gap:10px;background:none;border:0;text-align:left;padding:22px 4px;cursor:pointer;font:600 18.5px/1.35 var(--rye-sans);color:var(--rye-text)}
.rye-acc-btn:hover{color:var(--rye-navy)}
.rye-acc-n{font-family:var(--rye-disp);font-size:22px;color:var(--rye-red);font-weight:500}
.rye-acc-ic{width:24px;height:24px;position:relative}
.rye-acc-ic::before,.rye-acc-ic::after{content:"";position:absolute;left:5px;right:5px;top:11px;height:2px;background:var(--rye-navy);transition:transform .2s}
.rye-acc-ic::after{transform:rotate(90deg)}
.rye-acc-btn[aria-expanded="true"] .rye-acc-ic::after{transform:rotate(0)}
.rye-acc-panel{padding:0 44px 24px 66px;color:var(--rye-mute);font-size:16.5px}
.rye-acc-panel p{margin:0}
html.js-ready .rye-acc-panel:not(.is-open){display:none}
@media (max-width:600px){.rye-acc-btn{grid-template-columns:36px 1fr 24px;font-size:17px}.rye-acc-panel{padding:0 8px 22px 50px}}

/* about: prose over large background visual */
.rye-about{position:relative;overflow:hidden}
.rye-about-bg{position:absolute;right:-60px;top:50%;width:min(760px,62vw);transform:translateY(-50%);opacity:.95;pointer-events:none}
.rye-about-in{position:relative;z-index:1;max-width:660px}
.rye-about-in h2{font-size:clamp(34px,4.4vw,54px);text-transform:uppercase;letter-spacing:.02em;color:var(--rye-navy);margin-bottom:24px}
.rye-about-in p{font-size:17.5px;color:#2C3445}
.rye-about-card{background:rgba(255,255,255,.92);border:1px solid var(--rye-line);border-left:5px solid var(--rye-red);border-radius:var(--rye-r-m);padding:34px 36px}
.rye-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;background:var(--rye-navy);color:#fff;border-radius:var(--rye-r-l)}
.rye-stat{padding:30px 26px;text-align:center}
.rye-stat+.rye-stat{border-left:1px solid rgba(255,255,255,.18)}
.rye-stat b{display:block;font-family:var(--rye-disp);font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.1;text-transform:uppercase}
.rye-stat span{display:block;margin-top:8px;font-size:15px;color:var(--rye-mute-d)}
.rye-team{position:relative;z-index:1;margin-top:56px;display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}
.rye-team h3{font-size:30px;text-transform:uppercase;color:var(--rye-navy);margin-bottom:10px}
.rye-team-lede{color:var(--rye-mute);margin:0}
.rye-person{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--rye-line);border-radius:var(--rye-r-m);padding:26px}
.rye-av{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-family:var(--rye-disp);font-size:22px;flex:none;color:#fff}
.rye-av-1{background:var(--rye-navy)}.rye-av-2{background:var(--rye-red)}.rye-av-3{background:#5C6476}.rye-av-4{background:#1E7A45}
.rye-person b{display:block;font-size:19px}
.rye-person small{display:block;color:var(--rye-mute);font-size:15px;margin-bottom:8px}
.rye-person p{margin:0;color:#2C3445}
@media (max-width:1000px){.rye-about-bg{position:static;transform:none;width:100%;margin-top:32px;opacity:1}.rye-about-in{max-width:none}}
@media (max-width:760px){.rye-stats{grid-template-columns:1fr 1fr}.rye-stat:nth-child(3){border-left:0}.rye-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}.rye-team{grid-template-columns:1fr}.rye-about-card{padding:26px 22px}}

/* reviews: alternating full-width bands */
.rye-rev{display:grid;gap:18px;max-width:1040px;margin:0 auto}
.rye-rev-row{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;padding:28px 32px;border:1px dashed #AEB5C4;border-radius:var(--rye-r-l);background:#fff}
.rye-rev-row:nth-child(even){grid-template-columns:1fr auto;background:var(--rye-fog)}
.rye-rev-row:nth-child(even) .rye-rev-who{order:2;text-align:right}
.rye-rev-who{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:150px;text-align:center}
.rye-rev-who b{font-size:16px}
.rye-rev-who small{color:var(--rye-mute);font-size:14px}
.rye-rev-row blockquote{margin:0;font-size:18px;color:#3A4254;font-style:italic}
.rye-rev-flag{display:inline-block;font-style:normal;font-size:13px;font-weight:600;color:var(--rye-red);border:1px solid currentColor;border-radius:30px;padding:2px 10px;margin-bottom:10px}
.rye-rev-cta{text-align:center;margin-top:30px}
@media (max-width:700px){.rye-rev-row,.rye-rev-row:nth-child(even){grid-template-columns:1fr;padding:24px 20px}.rye-rev-row:nth-child(even) .rye-rev-who{order:0;text-align:center}}

/* inner page hero */
.rye-phero{position:relative;color:#fff;background:#2A231D;overflow:hidden}
.rye-phero .rye-hero-bg{opacity:.85}
.rye-phero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,12,.8),rgba(20,16,12,.35))}
.rye-phero-in{position:relative;z-index:1;padding:84px 0 80px}
.rye-phero h1{font-size:clamp(40px,5.4vw,72px);text-transform:uppercase;letter-spacing:.01em;max-width:16ch}
.rye-phero p{font-size:clamp(18px,1.6vw,21px);color:#F1ECE6;max-width:56ch;margin:18px 0 0}

/* contact */
.rye-ct{display:grid;grid-template-columns:1.6fr 1fr;gap:26px}
.rye-ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.rye-ct-card{border:1px solid var(--rye-line);border-top:4px solid var(--rye-navy);border-radius:var(--rye-r-m);padding:28px;background:#fff}
.rye-ct-card i{font-size:22px;color:var(--rye-red);margin-bottom:14px;display:block}
.rye-ct-card h2{font-family:var(--rye-sans);font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rye-mute);font-weight:600;margin-bottom:8px}
.rye-ct-card p,.rye-ct-card a{margin:0;font-size:19px;font-weight:600;color:var(--rye-text);word-break:break-word}
.rye-ct-card a{color:var(--rye-navy);text-decoration:underline;text-underline-offset:4px}
.rye-ct-side{background:var(--rye-navy);color:#fff;border-radius:var(--rye-r-l);padding:34px;display:flex;flex-direction:column;gap:16px}
.rye-ct-side h2{font-size:30px;text-transform:uppercase}
.rye-ct-side p,.rye-ct-side li{color:var(--rye-mute-d);margin:0}
.rye-ct-side ul{margin:0;padding-left:20px;font-size:15.5px}
.rye-map{margin-top:26px;border:1px solid var(--rye-line);border-radius:var(--rye-r-l);overflow:hidden;height:400px;background:var(--rye-fog)}
.rye-map iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:1000px){.rye-ct{grid-template-columns:1fr}}
@media (max-width:600px){.rye-ct-grid{grid-template-columns:1fr}.rye-map{height:340px}}

/* legal */
.rye-legal-intro{font-size:18px;color:#2C3445;max-width:74ch}
.rye-legal-nav{position:sticky;top:var(--rye-bar-h);z-index:20;background:rgba(255,255,255,.95);border-bottom:1px solid var(--rye-line);margin-top:28px}
.rye-legal-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto}
.rye-legal-nav a{display:block;padding:15px 14px;white-space:nowrap;text-decoration:none;font-weight:600;font-size:15px;color:var(--rye-mute)}
.rye-legal-nav a:hover{color:var(--rye-navy)}
.rye-legal-nav a.is-current{color:var(--rye-navy);box-shadow:inset 0 -3px 0 var(--rye-red)}
.rye-doc{padding:60px 0;border-bottom:1px solid var(--rye-line);max-width:78ch;scroll-margin-top:calc(var(--rye-bar-h) + 70px)}
.rye-doc h2{font-size:clamp(30px,3.4vw,42px);text-transform:uppercase;color:var(--rye-navy);margin-bottom:8px}
.rye-upd{color:var(--rye-mute);font-size:15px;margin-bottom:24px}
.rye-doc h3{font-family:var(--rye-sans);font-size:19px;font-weight:700;margin:28px 0 10px}
.rye-doc p,.rye-doc li{font-size:16.5px;color:#2C3445}
.rye-doc ul{padding-left:22px}

/* footer */
.rye-foot{background:var(--rye-navy-2);color:#E2E7F2;padding:76px 0 0}
.rye-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:40px;padding-bottom:52px}
.rye-foot h2{font-size:18px;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:16px}
.rye-foot ul{list-style:none;margin:0;padding:0}
.rye-foot li{margin-bottom:10px;font-size:15.5px}
.rye-foot a{color:#D2DAEA;text-decoration:none}
.rye-foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.rye-foot-logo{display:inline-block;background:#fff;padding:12px 14px;border-radius:var(--rye-r-m);line-height:0}
.rye-foot-logo svg{width:190px;height:auto}
.rye-foot-brand p{margin:18px 0 0;color:#C5CDE0;font-size:15.5px;max-width:36ch}
.rye-foot-ct li{display:grid;grid-template-columns:22px 1fr;gap:10px}
.rye-foot-ct i{color:var(--rye-amber);margin-top:5px}
.rye-foot-bar{border-top:1px solid rgba(255,255,255,.16);padding:22px 0 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:#C5CDE0}
.rye-foot-bar ul{display:flex;gap:18px;flex-wrap:wrap}
.rye-foot-bar li{margin:0;font-size:14px}
@media (max-width:900px){.rye-foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rye-foot-grid{grid-template-columns:1fr}}

/* sticky CTA + cookie */
.rye-sticky{position:fixed;right:20px;bottom:20px;z-index:90;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .25s,transform .25s,visibility 0s .25s;box-shadow:0 10px 26px rgba(0,20,60,.35)}
.rye-sticky.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s}
@media (max-width:520px){.rye-sticky{left:12px;right:12px;bottom:12px}}
.rye-cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:150;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--rye-line);border-left:6px solid var(--rye-navy);border-radius:var(--rye-r-m);padding:20px 22px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;box-shadow:0 18px 40px rgba(0,20,60,.25);transform:translateY(calc(100% + 40px));visibility:hidden;transition:transform .35s ease,visibility 0s .35s}
.rye-cookie.is-on{transform:none;visibility:visible;transition:transform .35s ease}
.rye-cookie div{flex:1 1 320px}
.rye-cookie h2{font-size:19px;text-transform:uppercase;color:var(--rye-navy);margin-bottom:4px}
.rye-cookie p{margin:0;font-size:15px;color:var(--rye-mute)}
.rye-cookie p a{color:var(--rye-navy);font-weight:600}
.rye-cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
.rye-cookie .rye-btn{padding:11px 16px;font-size:15px}
.rye-cookie .rye-btn-ghost{color:var(--rye-navy)}
.rye-cookie .rye-btn-ghost:hover{background:var(--rye-fog)}
.rye-cookie .rye-btn:focus-visible{outline-color:var(--rye-navy)}

/* placeholder marker (content the client must supply) */
.rye-fill{border-bottom:2px dashed var(--rye-amber)}

/* reveal */
html.js-ready .rye-rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
html.js-ready .rye-rv.is-in{opacity:1;transform:none}
.rye-coil-glow{animation:rye-glow 4s ease-in-out infinite alternate}
@keyframes rye-glow{from{opacity:.75}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html.js-ready .rye-rv{opacity:1!important;transform:none!important}
  .rye-coil-glow{opacity:1!important}
}
.rye-stat b .rye-fill{display:inline;font-size:inherit;margin:0;color:#fff;border-bottom-color:var(--rye-amber)}
