/* Reddy Power 2.0: one stylesheet. Big Shoulders Display (headlines) + IBM Plex Sans (text), self-hosted. */
@font-face{font-family:"Big Shoulders Display";src:url(../fonts/BigShoulders-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url(../fonts/BigShoulders-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(../fonts/Plex-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(../fonts/Plex-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(../fonts/Plex-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(../fonts/Plex-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
 --paper:#f2f5f8;--panel:#fff;--steel-100:#e4eaf0;--steel-200:#d2dbe4;--steel-400:#93a3b4;--steel-600:#4b5b6c;
 --ink:#0f1b2a;--navy:#0b2a52;--navy-deep:#071c38;--link:#0a4b97;--orange:#ff8a00;--orange-d:#e67a00;--teal:#0e7c78;
 --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;--text:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --wrap:1240px;--r:3px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--text);font-size:17px;line-height:1.7;color:var(--ink);background:var(--paper);font-feature-settings:"lnum","tnum" 0}
img,video{max-width:100%;height:auto}
a{color:var(--link);text-decoration-thickness:.07em;text-underline-offset:.2em}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.skip{position:absolute;left:-9999px;background:var(--orange);color:var(--navy);padding:10px 16px;font-weight:600;z-index:100}.skip:focus{left:12px;top:12px}
h1,h2,h3,h4{margin:0}
.wrap-in{max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px}

/* ---------- buttons ---------- */
.btn,.rgi-enquiry button,.button{display:inline-block;font:600 16px/1.2 var(--text);padding:14px 22px;border-radius:var(--r);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn-primary,.rgi-enquiry button,.button-primary{background:var(--orange);color:var(--navy-deep)}
.btn-primary:hover,.rgi-enquiry button:hover{background:var(--orange-d);color:var(--navy-deep)}
.btn-line{border-color:currentColor;color:var(--navy);background:transparent}.btn-line:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.on-dark .btn-line,.hero-in .btn-line{color:#fff}.on-dark .btn-line:hover,.hero-in .btn-line:hover{background:#fff;color:var(--navy);border-color:#fff}.r8-home .hero-in .btn-line{color:var(--navy)}.r8-home .hero-in .btn-line:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- header ---------- */
.site-head{background:var(--panel);border-bottom:1px solid var(--steel-200);position:sticky;top:0;z-index:40}
.head-inner{max-width:var(--wrap);margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);flex:none}
.brand img{width:62px;height:auto;aspect-ratio:125/96;clip-path:inset(0 0 18% 0);margin-bottom:-10px}
.brand-line{display:flex;flex-direction:column;line-height:1}
.brand-name{font:800 30px/1 var(--display);letter-spacing:.02em;color:var(--navy)}
.brand-tagline{font-size:12px;color:var(--steel-600);margin-top:3px}
.nav{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:nowrap}
.nav a,.nav li a{display:block;color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;padding:10px 12px;border-bottom:3px solid transparent;white-space:nowrap}
.nav a:hover{color:var(--navy);border-bottom-color:var(--orange)}
.nav a[aria-current="page"],.nav .current-menu-item>a{border-bottom-color:var(--navy)}
.nav li{list-style:none;margin:0;padding:0}
.nav .cta{background:var(--orange);color:var(--navy-deep);border-radius:var(--r);border-bottom:0;margin-left:10px;font-weight:600;padding:11px 16px}
.nav .cta:hover{background:var(--orange-d);color:var(--navy-deep)}
.menu-toggle{display:none;margin-left:auto;font:600 15px var(--text);color:var(--navy);background:transparent;border:2px solid var(--navy);border-radius:var(--r);padding:9px 14px;min-height:44px;cursor:pointer}
@media(max-width:1080px){
 .menu-toggle{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--panel);border-bottom:1px solid var(--steel-200);flex-direction:column;align-items:stretch;padding:8px 24px 18px;max-height:calc(100dvh - 70px);overflow-y:auto;box-shadow:0 14px 24px #071c3822}
 .nav.open{display:flex}.nav a{padding:13px 4px;border-bottom:1px solid var(--steel-100)}.nav .cta{margin:12px 0 0;text-align:center}
}
@media(max-width:520px){.brand-name{font-size:23px}.brand-tagline{display:none}.brand img{width:50px}.head-inner{padding:8px 16px;gap:12px}}

/* ---------- heroes ---------- */
.hero{background:var(--navy);color:#fff;border-bottom:4px solid var(--orange)}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:46px 24px 52px}
.crumbs{font-size:14px;color:#b9c8d9;margin:0 0 18px}.crumbs a{color:#dfe9f4;text-decoration:none}.crumbs a:hover{text-decoration:underline;color:#fff}.crumbs span[aria-hidden]{margin:0 7px;color:#7f95ad}
.hero h1{font:800 clamp(38px,5.2vw,68px)/.98 var(--display);letter-spacing:.005em;max-width:20ch}
.hero .deck{margin:18px 0 0;max-width:62ch;font-size:19px;line-height:1.6;color:#d6e2ef}
.hero .eyebrow{display:none}

/* home hero: light, with the rating plate */
.r8-home .hero{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--steel-200);background-image:linear-gradient(var(--steel-100) 1px,transparent 1px),linear-gradient(90deg,var(--steel-100) 1px,transparent 1px);background-size:44px 44px;background-position:-1px -1px}
.r8-home .hero-in{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;align-items:center;padding:64px 24px 76px}
.r8-home .hero h1{color:var(--navy);font-size:clamp(46px,5.6vw,78px);line-height:.96;max-width:12ch}
.r8-home .hero .deck{color:var(--steel-600);font-size:20px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-photo{position:relative;margin:0 0 40px}
.hero-photo img{display:block;width:100%;height:clamp(320px,38vw,470px);object-fit:cover;border-radius:var(--r);box-shadow:0 22px 40px -22px #071c38aa}
.plate{position:absolute;left:-28px;bottom:-40px;width:min(330px,86%);background:linear-gradient(160deg,#16365f,var(--navy-deep));color:#fff;border-radius:4px;padding:20px 24px 18px;box-shadow:0 18px 34px -14px #071c38cc,inset 0 0 0 1px #ffffff1f,inset 0 0 0 5px #0000002e;
 background-image:radial-gradient(circle at 12px 12px,#8fa5bd 0 3px,transparent 3.5px),radial-gradient(circle at calc(100% - 12px) 12px,#8fa5bd 0 3px,transparent 3.5px),radial-gradient(circle at 12px calc(100% - 12px),#8fa5bd 0 3px,transparent 3.5px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),#8fa5bd 0 3px,transparent 3.5px),linear-gradient(160deg,#16365f,var(--navy-deep));
 animation:plate-in .7s .25s cubic-bezier(.2,.7,.2,1) both}
.plate dl{margin:0;display:grid;gap:11px}.plate dt{font-size:12.5px;color:#a9bcd1;line-height:1.2}.plate dd{margin:1px 0 0;font:700 25px/1.1 var(--display);letter-spacing:.03em}.plate dd.small{font:600 15px/1.35 var(--text);letter-spacing:0}.plate a{color:#fff;text-decoration:none}.plate a:hover{color:var(--orange)}
.plate .since{color:var(--orange)}
@keyframes plate-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.plate{animation:none}html{scroll-behavior:auto}}
@media(max-width:900px){.r8-home .hero-in{grid-template-columns:1fr;gap:34px;padding:40px 20px 56px}.hero-photo{margin-bottom:0}.plate{position:relative;left:0;bottom:0;margin:-34px 14px 0;width:auto}.hero-photo img{height:260px}}

/* ---------- page layout ---------- */
.layout{max-width:var(--wrap);margin:0 auto;padding:48px 24px 72px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.layout>*{min-width:0}
.rgi-library-layout{grid-template-columns:1fr}.r8-home .layout{padding-top:8px;padding-bottom:24px}.r8-home .article{max-width:74ch;margin:0 auto}
.article{max-width:74ch}
.article h2{font:800 clamp(28px,3.1vw,38px)/1.05 var(--display);color:var(--navy);margin:2.3em 0 .55em;padding-top:16px;position:relative;scroll-margin-top:92px}
.article h2::before{content:"";position:absolute;top:0;left:0;width:44px;height:4px;background:var(--orange)}
.article>h2:first-child,.article>.rg-answer+h2{margin-top:1.6em}
.article h3{font:600 20px/1.3 var(--text);color:var(--navy);margin:1.8em 0 .4em;scroll-margin-top:92px}
.article p{margin:0 0 1.05em}
.article ul,.article ol{padding-left:1.3em;margin:0 0 1.2em}.article li{margin:.3em 0}.article li::marker{color:var(--orange)}
.article hr{border:0;border-top:1px solid var(--steel-200);margin:2.2em 0}
.article blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--steel-400);font-style:italic;color:var(--steel-600)}
.article blockquote p:last-child{margin-bottom:0}
.article a{overflow-wrap:anywhere}
.article strong{font-weight:600;color:var(--navy)}
.rg04-lead{font-size:1.14em;color:var(--ink)}
.rg04-reference{font-size:.9em;color:var(--steel-600)}
.rg-callout{margin:1.1em 0;padding:.15em 0 .15em 16px;border-left:3px solid var(--steel-400);color:var(--ink)}
.rg-answer{background:var(--panel);border:1px solid var(--steel-200);border-left:6px solid var(--orange);border-radius:var(--r);padding:18px 22px;font-size:1.1em;line-height:1.6;margin:0 0 1.6em}
.rg-answer strong{color:var(--navy)}
.rg-formula,.rg-equation{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-size:18px;line-height:1.7;background:var(--steel-100);border-left:4px solid var(--navy);padding:12px 18px;margin:1.2em 0;overflow-x:auto;color:var(--ink)}
.rg-formula sub,.rg-formula sup,.rg-formula-inline sub,.rg-formula-inline sup{font-size:.72em}.rg-formula-inline{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;white-space:nowrap}
.rg-table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--steel-200);border-radius:var(--r);background:var(--panel)}
.article table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.article th,.article td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--steel-100)}
.article thead th{background:var(--navy);color:#fff;font-weight:600;border-bottom:0}
.article tbody tr:nth-child(even){background:#f8fafc}
.rg-pair-table th{background:var(--steel-100);color:var(--navy);font-weight:600;width:34%}
.article>table{margin:1.4em 0;border:1px solid var(--steel-200)}
.rgi-tool-note{background:#fff6e8;border:1px solid #ffd49a;border-left:5px solid var(--orange);border-radius:var(--r);padding:12px 16px;font-size:15px;margin:1.2em 0}
.rgi-children{list-style:none;padding:0;display:grid;gap:8px}.rgi-children a{font-weight:500}

/* side rail */
.side{position:sticky;top:96px;display:grid;gap:18px}
.side-card{background:var(--panel);border:1px solid var(--steel-200);border-radius:var(--r);padding:18px 20px}
.side-card h2{font:800 22px/1 var(--display);color:var(--navy);margin:0 0 12px;letter-spacing:.01em}
.side-card a{display:block;padding:7px 0;text-decoration:none;color:var(--link);font-size:15px;line-height:1.4;border-top:1px solid var(--steel-100)}
.side-card a:first-of-type{border-top:0}.side-card a:hover{color:var(--navy);text-decoration:underline}
.side-card.contact{background:var(--navy);border-color:var(--navy);color:#fff}.side-card.contact h2{color:#fff}.side-card.contact a{color:#fff;border-color:#ffffff26}.side-card.contact a:hover{color:var(--orange)}
.rg-toc a{border-left:3px solid transparent;padding-left:11px;margin-left:-2px}.rg-toc a.on{border-left-color:var(--orange);color:var(--navy);font-weight:600}
.rg-toc[hidden]{display:none}
.searchbox input{width:100%;border:1px solid var(--steel-400);border-radius:var(--r);padding:10px 12px;font:inherit;background:#fff}
.results{margin-top:8px}.results .result{padding:9px 0}.results small{color:var(--steel-600)}
@media(max-width:980px){.layout{grid-template-columns:1fr;gap:32px;padding:32px 20px 56px}.side{position:static}.rg-toc{display:none}body{font-size:16.5px}}

/* ---------- media ---------- */
.r7-page-media{margin:2.4rem 0;padding:1.3rem 0;border-top:1px solid var(--steel-200);border-bottom:1px solid var(--steel-200)}
.r7-page-media h2{margin-top:0!important}
.media-grid,.r7-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px}
.r7-card,.media-card{margin:0;padding:10px;border:1px solid var(--steel-200);border-radius:var(--r);background:var(--panel);min-width:0;overflow:hidden}
.r7-card img{display:block;width:100%;height:240px;object-fit:contain;background:var(--steel-100)}
.r7-card video{display:block;width:100%;height:380px;max-height:70vh;object-fit:contain;background:#0b1522}
.r7-card figcaption{padding:10px 2px 2px;line-height:1.5;font-size:14.5px;color:var(--steel-600)}
.r7-more{margin:18px 0}.r7-more summary{cursor:pointer;font-weight:600;padding:10px 0;color:var(--navy)}
.r7-library-link{text-align:center}.r7-library{max-width:1300px;margin:auto;padding:24px}.r7-library input,.r7-library select{padding:12px;margin:8px;max-width:90%;font:inherit;border:1px solid var(--steel-400);border-radius:var(--r)}.r7-library article[hidden]{display:none}.r7-library article{min-width:0}.r7-library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}

/* ---------- forms (enquiry) ---------- */
.rgi-enquiry{display:grid;gap:16px;background:var(--panel);border:1px solid var(--steel-200);border-radius:var(--r);padding:24px;max-width:640px}
.rgi-enquiry label{display:grid;gap:6px;font-size:15px;font-weight:500;color:var(--navy)}
.rgi-enquiry input,.rgi-enquiry textarea{width:100%;border:1px solid var(--steel-400);border-radius:var(--r);padding:12px;font:400 16px var(--text);background:#fff}
.rgi-enquiry input:focus,.rgi-enquiry textarea:focus{border-color:var(--navy);outline:3px solid #ff8a0066;outline-offset:0}
.rgi-form-note{font-size:14px!important;color:var(--steel-600)}
.rgi-honeypot{position:absolute!important;left:-9999px;height:1px;overflow:hidden}
.rgi-form-status{background:#e9f6f2;border:1px solid #a9d8cb;border-left:5px solid var(--teal);border-radius:var(--r);padding:12px 16px}

/* ---------- homepage sections ---------- */
.band{max-width:var(--wrap);margin:0 auto;padding:72px 24px}
.band-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:end;margin-bottom:34px}
.band h2{font:800 clamp(34px,4.4vw,54px)/.98 var(--display);color:var(--navy);max-width:18ch}
.band-head p{margin:0;color:var(--steel-600);font-size:18px;max-width:54ch}
@media(max-width:820px){.band{padding:52px 20px}.band-head{grid-template-columns:1fr;gap:12px}}
.sheet{border-top:3px solid var(--navy);background:var(--panel);border-bottom:1px solid var(--steel-200)}
.sheet-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.5fr) minmax(0,1.3fr) 150px;gap:8px 32px;padding:24px 24px;border-top:1px solid var(--steel-200);align-items:start}
.sheet-row:first-child{border-top:0}
.sheet-row h3{font:800 32px/1 var(--display);color:var(--navy)}.sheet-row h3 a{color:inherit;text-decoration:none}.sheet-row h3 a:hover{color:var(--link)}
.sheet-row p{margin:0;font-size:16px;line-height:1.6}.sheet-row .send{color:var(--steel-600)}.sheet-row .send b{display:none;color:var(--navy);font-weight:600;font-size:14px;margin-bottom:2px}
.sheet-row .go{font-weight:600;white-space:nowrap;align-self:center}
.sheet-head{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.5fr) minmax(0,1.3fr) 150px;gap:32px;padding:12px 24px;background:var(--navy);color:#cfdbea;font-size:14px;font-weight:500}.sheet-head span:last-child{visibility:hidden}
@media(max-width:900px){.sheet-row .send b{display:block}.sheet-head{display:none}.sheet-row{grid-template-columns:1fr;gap:8px;padding:22px 18px}.sheet-row .go{justify-self:start}}
.sectors{display:flex;flex-wrap:wrap;gap:10px}.sectors a{display:block;padding:11px 18px;background:var(--panel);border:1px solid var(--steel-200);border-radius:var(--r);color:var(--navy);text-decoration:none;font-weight:500}.sectors a:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.run{background:var(--navy-deep);color:#fff;max-width:none;padding-left:max(24px,calc((100% - var(--wrap))/2 + 24px));padding-right:max(24px,calc((100% - var(--wrap))/2 + 24px))}
.run h2{color:#fff}.run .band-head p{color:#b9c8d9}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;border-top:1px solid #ffffff33}
.steps li{padding:26px 24px 8px 0;margin-right:24px;border-right:1px solid #ffffff1f;counter-increment:s}.steps li:last-child{border-right:0;margin-right:0}
.steps li::before{content:counter(s);display:block;font:800 52px/1 var(--display);color:var(--orange);margin-bottom:10px}
.steps h3{font:600 19px/1.3 var(--text);margin-bottom:6px}.steps p{margin:0;color:#b9c8d9;font-size:15.5px;line-height:1.6}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps li{border-right:0;margin-right:0;padding-right:12px;border-bottom:1px solid #ffffff1f;padding-bottom:20px}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.faq{max-width:860px}.faq details{border-top:1px solid var(--steel-200)}.faq details:last-child{border-bottom:1px solid var(--steel-200)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;font-size:18px;color:var(--navy);position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:12px;font:700 28px/1 var(--display);color:var(--orange);transition:transform .2s}.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 20px;max-width:64ch;color:var(--ink)}
.cta-plate{background:var(--navy);color:#fff;border-radius:4px;padding:48px 44px;display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:28px;align-items:center;border-bottom:5px solid var(--orange)}
.cta-plate h2{color:#fff;font-size:clamp(32px,4vw,48px);max-width:16ch}.cta-plate .btn-line{color:#fff}.cta-plate .btn-line:hover{background:#fff;color:var(--navy)}.cta-plate p{margin:10px 0 0;color:#c9d7e7;max-width:48ch}.cta-plate .acts{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:820px){.cta-plate{grid-template-columns:1fr;padding:34px 24px}}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep);color:#c9d7e7;margin-top:0}
.footer-inner{max-width:var(--wrap);margin:0 auto;padding:56px 24px 36px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px}
.footer-title{font:800 22px/1 var(--display);color:#fff;margin-bottom:14px;letter-spacing:.02em}
.site-footer p{margin:0 0 10px;font-size:15px;line-height:1.6}.site-footer a{color:#e6eef7;text-decoration:none;font-size:15px}.site-footer a:hover{color:var(--orange);text-decoration:underline}
.footer-inner a{display:inline-block;padding:3px 0}
.footer-address,.footer-hours{margin:8px 0;color:#c9d7e7}
.footer-base{max-width:var(--wrap);margin:0 auto;padding:18px 24px 28px;border-top:1px solid #ffffff1f;font-size:14px;color:#9fb3c9;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.r7-library-link{padding:0 24px 20px;margin:0;text-align:center}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;padding-top:40px}}@media(max-width:560px){.footer-inner{grid-template-columns:1fr}}

/* ---------- mobile action bar + staging badge ---------- */
.rp-mobile-actions{display:none}
.preview-badge{position:fixed;right:12px;bottom:12px;background:#fff;border:1px solid var(--steel-400);color:var(--steel-600);font-size:11px;padding:5px 9px;border-radius:var(--r);z-index:60}
@media(max-width:760px){
 .rp-mobile-actions{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--navy-deep);box-shadow:0 -6px 18px #071c3844}
 .rp-mobile-actions a{flex:1;text-align:center;color:#fff;font-weight:600;font-size:15px;padding:14px 6px;text-decoration:none;border-left:1px solid #ffffff22}
 .rp-mobile-actions a:first-child{border-left:0;background:var(--orange);color:var(--navy-deep)}
 body{padding-bottom:52px}.preview-badge{bottom:60px}
}
