:root{--rr-black:#05080c;--rr-charcoal:#0a0f15;--rr-silver:#d7d9dc;--rr-line:rgba(215,217,220,.25);--rr-white:#fff;--rr-max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.rr-site{margin:0;background:var(--rr-black);color:var(--rr-silver);font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;line-height:1.6;overflow-x:hidden}.rr-container{width:min(calc(100% - 64px),var(--rr-max));margin-inline:auto}.rr-screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rr-header{position:absolute;z-index:20;top:0;left:0;width:100%;padding:24px 0;background:linear-gradient(180deg,rgba(2,4,7,.8),transparent)}.rr-header-shell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:36px}.rr-header-logo{flex:0 0 auto}.rr-header-logo img{display:block;width:auto;max-width:190px;max-height:112px}.rr-header-navigation{margin-left:auto}.rr-header-navigation .ccm-area-block-list{display:flex;align-items:center;gap:36px}.rr-header-navigation ul{display:flex;align-items:center;gap:34px;margin:0;padding:0;list-style:none}.rr-header-navigation a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:.08em}.rr-header-navigation a:hover,.rr-header-navigation a:focus{color:#c9ccd1}.rr-header-navigation li:last-child>a{display:inline-block;padding:13px 22px;color:#080a0d;background:linear-gradient(180deg,#f1f2f3 0%,#b4b7bb 44%,#898d92 58%,#dfe1e3 100%);border:1px solid #aeb2b7;border-radius:2px;box-shadow:0 0 14px rgba(224,229,235,.3),inset 0 1px 0 rgba(255,255,255,.85);font-size:12px;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.5);white-space:nowrap}.rr-header-navigation li:last-child>a:hover,.rr-header-navigation li:last-child>a:focus{color:#05070a;background:linear-gradient(180deg,#fff 0%,#c7c9cc 44%,#999da2 58%,#eceeef 100%);box-shadow:0 0 18px rgba(235,240,245,.48),inset 0 1px 0 #fff}.rr-header-navigation .btn,.rr-header-navigation .ccm-block-button a{display:inline-block;padding:13px 22px;color:#080a0d;background:linear-gradient(180deg,#f1f2f3 0%,#b4b7bb 44%,#898d92 58%,#dfe1e3 100%);border:1px solid #aeb2b7;box-shadow:0 0 14px rgba(224,229,235,.3);font-weight:700;white-space:nowrap}.rr-menu-toggle{display:none}
.rr-hero{position:relative;min-height:620px;display:flex;align-items:center;background-color:#05080c;background-image:url('../images/hero-background.png');background-size:cover;background-position:center right}.rr-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,6,10,.98) 0%,rgba(3,6,10,.78) 40%,rgba(3,6,10,.12) 78%),linear-gradient(0deg,rgba(3,6,10,.25),transparent 35%)}.rr-hero-inner{position:relative;z-index:1;padding-top:145px;padding-bottom:90px}.rr-hero-area{max-width:560px}.rr-hero-area h1,.rr-hero-area h2{margin:0 0 18px;color:var(--rr-silver);font-size:clamp(42px,5.5vw,72px);font-weight:400;line-height:1.04;letter-spacing:.08em;text-transform:uppercase}.rr-hero-area p{max-width:520px;margin:0 0 26px;font-size:15px;letter-spacing:.12em;text-transform:uppercase}.rr-hero-area .btn,.rr-hero-area .ccm-block-button a{display:inline-block;min-width:174px;margin:8px 16px 8px 0;padding:13px 24px;border:1px solid #b9bcc0;color:#fff;background:rgba(4,7,10,.45);text-align:center;text-decoration:none;text-transform:uppercase;letter-spacing:.06em}.rr-hero-area .btn-primary,.rr-hero-area .ccm-block-button:first-of-type a{color:#080b0e;background:linear-gradient(145deg,#eee,#92969b 52%,#eee)}
.rr-main{min-height:520px;background:#f4f4f4;color:#15191e}.rr-main-area{padding-top:72px;padding-bottom:72px}.rr-main-area:empty{min-height:520px}.rr-default-page{min-height:65vh;padding-top:170px;background:#f4f4f4;color:#15191e}
.rr-footer{background:linear-gradient(120deg,#07101a,#02070d);border-top:1px solid rgba(255,255,255,.08);color:#d7d9dc}.rr-footer-columns{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:0;padding:36px 0 28px}.rr-footer-column{min-width:0;padding:0 48px;border-right:1px solid var(--rr-line)}.rr-footer-column:first-child{padding-left:0}.rr-footer-column:last-child{padding-right:0;border-right:0}.rr-footer-column img{max-width:180px;height:auto}.rr-footer h1,.rr-footer h2,.rr-footer h3,.rr-footer h4{color:#fff;text-transform:uppercase;letter-spacing:.06em}.rr-footer p,.rr-footer a{font-size:13px;color:#d7d9dc}.rr-footer a{text-decoration:none}.rr-footer a:hover{text-decoration:underline}.rr-footer hr{border:0;border-top:1px solid var(--rr-line)}.rr-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 0;border-top:1px solid var(--rr-line)}.rr-copyright{margin:0}.rr-footer-legal .ccm-area-block-list{display:flex;align-items:center;gap:28px}.rr-footer-legal p{margin:0}
.ccm-page .ccm-area-block-list:after{content:"";display:table;clear:both}body.ccm-edit-mode .rr-header{position:relative;background:#05080c}body.ccm-edit-mode .rr-hero-inner{padding-top:70px}body.ccm-edit-mode .rr-main-area:empty{min-height:180px}
@media(max-width:768px){.rr-container{width:min(calc(100% - 36px),var(--rr-max))}.rr-header{padding:16px 0}.rr-header-shell{min-height:72px}.rr-menu-toggle{display:flex;position:absolute;z-index:3;right:0;top:16px;width:44px;height:40px;padding:9px;border:1px solid rgba(255,255,255,.5);background:#080c11;flex-direction:column;justify-content:space-around}.rr-menu-toggle span:not(.rr-screen-reader-text){display:block;height:1px;background:#fff}.rr-header-navigation{display:none;position:absolute;top:88px;left:0;right:0;margin:0;padding:24px;background:rgba(5,8,12,.98)}.rr-header-navigation.is-open{display:block}.rr-header-navigation .ccm-area-block-list{display:block}.rr-header-navigation .ccm-area-block-list>div{margin:14px 0}.rr-header-navigation ul{display:block}.rr-header-navigation li{margin:14px 0}.rr-hero{min-height:650px;background-position:62% center}.rr-hero-overlay{background:rgba(3,6,10,.76)}.rr-hero-inner{padding-top:145px;padding-bottom:64px}.rr-hero-area h1,.rr-hero-area h2{font-size:clamp(38px,12vw,54px)}.rr-main{min-height:400px}.rr-main-area{padding-top:48px;padding-bottom:48px}.rr-footer-columns{display:block;padding-bottom:12px}.rr-footer-column{padding:24px 0;border-right:0;border-bottom:1px solid var(--rr-line)}.rr-footer-bottom{display:block}.rr-footer-legal .ccm-area-block-list{display:block}.rr-footer-legal .ccm-area-block-list>div{margin-top:10px}}
@media(max-width:420px){.rr-container{width:calc(100% - 28px)}.rr-header-area img{max-width:150px}.rr-hero-area .btn,.rr-hero-area .ccm-block-button a{width:100%;margin-right:0}.rr-hero-area p{font-size:13px}.rr-footer-area{padding-top:20px}}
@media(max-width:768px){.rr-header-navigation li:last-child{margin-top:22px}.rr-header-navigation li:last-child>a{width:100%;text-align:center}}

/* Hero content details and button motion. */
.rr-hero-content hr{width:340px;max-width:72%;margin:18px 0;border:0;border-top:1px solid rgba(235,237,240,.9)}
.rr-hero-content p{max-width:560px}
.rr-hero-area .btn,.rr-hero-area .ccm-block-button a,.rr-header-navigation li:last-child>a{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}
.rr-hero-area .btn:hover,.rr-hero-area .btn:focus,.rr-hero-area .ccm-block-button a:hover,.rr-hero-area .ccm-block-button a:focus,.rr-header-navigation li:last-child>a:hover,.rr-header-navigation li:last-child>a:focus{transform:translateY(-3px);box-shadow:0 8px 22px rgba(220,225,232,.28)}
.rr-hero-area .btn-primary:hover,.rr-hero-area .btn-primary:focus{background:linear-gradient(145deg,#fff,#aeb2b7 52%,#fff);box-shadow:0 8px 24px rgba(232,236,241,.38)}
@media(prefers-reduced-motion:reduce){.rr-hero-area .btn,.rr-hero-area .ccm-block-button a,.rr-header-navigation li:last-child>a{transition:none}.rr-hero-area .btn:hover,.rr-hero-area .btn:focus,.rr-hero-area .ccm-block-button a:hover,.rr-hero-area .ccm-block-button a:focus,.rr-header-navigation li:last-child>a:hover,.rr-header-navigation li:last-child>a:focus{transform:none}}

/* Let a final full-width section meet the footer without Main's default gap. */
.rr-main-area:has(.rr-coming:last-child){padding-bottom:0}
.rr-main-area:has(.rr-solutions){padding-top:0}

/* Compact image header used by the Default template on interior pages. */
.rr-interior-hero{position:relative;display:flex;min-height:350px;align-items:center;overflow:hidden;background:#05080c}
.rr-interior-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.rr-interior-hero-media .ccm-area,.rr-interior-hero-media .ccm-area-block-list,.rr-interior-hero-media .ccm-block-edit,.rr-interior-hero-media .ccm-block-edit-inline-active,.rr-interior-hero-media .ccm-block-image{width:100%;height:100%}
.rr-interior-hero-media picture{display:block;width:100%;height:100%}
.rr-interior-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.rr-interior-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,6,10,.92),rgba(3,6,10,.48) 58%,rgba(3,6,10,.2)),linear-gradient(0deg,rgba(3,6,10,.78),transparent 70%)}
.rr-interior-hero-inner{position:relative;z-index:1;padding-top:70px;padding-bottom:0}
.rr-interior-hero-area{max-width:800px}
.rr-interior-hero-area h1,.rr-interior-hero-area h2{margin:0;color:var(--rr-silver);font-size:clamp(34px,4.5vw,56px);font-weight:500;line-height:1.08;letter-spacing:.07em;text-transform:uppercase}
.rr-interior-hero-area p{max-width:700px;margin:10px 0 0;color:#fff;font-size:15px;letter-spacing:.06em}
body.ccm-edit-mode .rr-interior-hero-inner{padding-top:55px}
.rr-interior-image-editor{position:relative;z-index:30;margin-top:20px;margin-bottom:20px;padding:14px 18px 18px;background:#17202a;border:2px dashed rgba(255,255,255,.85);color:#fff}
.rr-interior-image-editor .rr-interior-image-help{padding-bottom:10px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.08em}
.rr-interior-image-editor .ccm-area,.rr-interior-image-editor .ccm-area-block-list{min-height:78px}
.rr-interior-image-editor img{display:block;max-width:280px;height:auto;margin:0 auto}
body.ccm-edit-mode .rr-interior-hero-inner{z-index:3;padding-top:55px;padding-bottom:40px}
/* Keep theme controls clear of Concrete's fixed editing toolbar. */
html.ccm-toolbar-visible body.ccm-edit-mode .ccm-page,body.ccm-toolbar-visible.ccm-edit-mode .ccm-page{padding-top:48px}
@media(max-width:768px){.rr-interior-hero{min-height:290px;background-position:65% center}.rr-interior-hero-inner{padding-top:70px;padding-bottom:0}.rr-interior-hero-area h1,.rr-interior-hero-area h2{font-size:clamp(30px,9vw,42px)}}

/* Standard Concrete form blocks. */
.rr-main-area form{width:100%;max-width:920px;margin:28px auto;padding:34px 38px;background:linear-gradient(145deg,#fff,#f1f1f1);border:1px solid #c8c9cb;box-shadow:0 12px 32px rgba(7,12,18,.1)}
.rr-main-area form fieldset{min-width:0;margin:0;padding:0;border:0}
.rr-main-area form legend{width:100%;margin:0 0 24px;padding:0 0 12px;border-bottom:1px solid #c8c9cb;color:#111;font-size:24px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
.rr-main-area form .form-group,.rr-main-area form .mb-3,.rr-main-area form .control-group{margin:0 0 20px}
.rr-main-area form label,.rr-main-area form .control-label{display:block;margin:0 0 7px;color:#15191e;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:.045em;text-transform:uppercase}
.rr-main-area form input[type="text"],.rr-main-area form input[type="email"],.rr-main-area form input[type="tel"],.rr-main-area form input[type="number"],.rr-main-area form input[type="date"],.rr-main-area form input[type="time"],.rr-main-area form input[type="url"],.rr-main-area form input[type="password"],.rr-main-area form select,.rr-main-area form textarea{display:block;width:100%;max-width:none;min-height:48px;padding:11px 13px;border:1px solid #a9adb2;border-radius:0;color:#111;background:#fff;font:inherit;font-size:16px;line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.rr-main-area form textarea{min-height:150px;resize:vertical}
.rr-main-area form input:focus,.rr-main-area form select:focus,.rr-main-area form textarea:focus{outline:0;border-color:#343a40;background:#fff;box-shadow:0 0 0 3px rgba(75,82,90,.16)}
.rr-main-area form .form-check,.rr-main-area form .checkbox,.rr-main-area form .radio{margin:12px 0}
.rr-main-area form .form-check label,.rr-main-area form .checkbox label,.rr-main-area form .radio label{display:inline;font-weight:400;text-transform:none}
.rr-main-area form input[type="checkbox"],.rr-main-area form input[type="radio"]{margin-right:8px;accent-color:#171c22}
.rr-main-area form button,.rr-main-area form input[type="submit"],.rr-main-area form .btn{display:inline-block;min-width:170px;margin-top:8px;padding:14px 26px;border:1px solid #aeb2b7;border-radius:2px;color:#080a0d;background:linear-gradient(180deg,#f5f6f7 0%,#b8bbc0 44%,#8e9297 58%,#e3e5e7 100%);box-shadow:0 0 14px rgba(100,108,118,.22),inset 0 1px 0 rgba(255,255,255,.9);font:inherit;font-size:13px;font-weight:700;letter-spacing:.07em;text-align:center;text-transform:uppercase;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.rr-main-area form button:hover,.rr-main-area form button:focus,.rr-main-area form input[type="submit"]:hover,.rr-main-area form input[type="submit"]:focus,.rr-main-area form .btn:hover,.rr-main-area form .btn:focus{transform:translateY(-3px);background:linear-gradient(180deg,#fff 0%,#c9ccd0 44%,#9ca0a5 58%,#f0f1f2 100%);box-shadow:0 9px 22px rgba(40,47,55,.24),inset 0 1px 0 #fff}
.rr-main-area form .help-block,.rr-main-area form .form-text,.rr-main-area form .text-muted{display:block;margin-top:5px;color:#646a70;font-size:12px}
.rr-main-area form .alert,.rr-main-area form .error,.rr-main-area form .help-block.has-error{color:#8c1d24}
@media(max-width:600px){.rr-main-area form{margin:16px auto;padding:24px 18px}.rr-main-area form button,.rr-main-area form input[type="submit"],.rr-main-area form .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.rr-main-area form button,.rr-main-area form input[type="submit"],.rr-main-area form .btn{transition:none}.rr-main-area form button:hover,.rr-main-area form button:focus,.rr-main-area form input[type="submit"]:hover,.rr-main-area form input[type="submit"]:focus,.rr-main-area form .btn:hover,.rr-main-area form .btn:focus{transform:none}}
