/*
Theme Name: RIML Institute
Theme URI: https://rimlpk.com
Author: RIML Institute
Author URI: https://rimlpk.com
Description: A modern education institute theme for Elementor. Sticky navy header, hero, filterable course cards, trainer section and full Elementor editing. Courses are managed from the WordPress dashboard. Built for Roshaan Institute of Modern Learning, Faisalabad.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: riml
Tags: education, courses, custom-menu, custom-logo, featured-images, elementor, translation-ready
*/
:root{--riml-navy:#0A1F3A;--riml-navy2:#122E4D;--riml-gold:#F5B301;--riml-gold2:#FFB81C;--riml-bg:#EEF2F7;--riml-sky:#E8F1FF;--riml-text:#22304A;--riml-muted:#5B6B84;--riml-grad:linear-gradient(135deg,#FFB81C 0%,#F5B301 55%,#D99A00 100%);--riml-navgrad:linear-gradient(120deg,#0A1F3A 0%,#122E4D 60%,#163A63 100%);--riml-head:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--riml-body:'Inter','Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--riml-ease:cubic-bezier(.22,.8,.24,1);--riml-r:20px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--riml-text);font-family:var(--riml-body);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#B98200;text-decoration:none;transition:color .2s}
a:hover{color:var(--riml-navy)}
h1,h2,h3,h4{font-family:var(--riml-head);font-weight:700;line-height:1.15;margin:0 0 .5em;color:var(--riml-navy)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;background:#fff;padding:10px 16px;z-index:9999;top:8px;left:8px}
.riml-container{width:min(1240px,92%);margin-inline:auto}
::selection{background:var(--riml-gold2);color:var(--riml-navy)}
body .elementor-widget-heading .elementor-heading-title{font-family:var(--riml-head)}
body .elementor-widget-text-editor,body .elementor-widget-button .elementor-button{font-family:var(--riml-body)}
body .elementor-widget-button .elementor-button{background:var(--riml-grad);color:var(--riml-navy);border-radius:999px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:15px 32px;transition:transform .3s var(--riml-ease),box-shadow .3s}
body .elementor-widget-button .elementor-button:hover{transform:translateY(-3px);box-shadow:0 14px 28px -10px rgba(217,154,0,.55)}
.elementor .riml-section,.elementor-page .riml-section{max-width:none}

/* Buttons */
.riml-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--riml-grad);color:var(--riml-navy);border:0;border-radius:999px;padding:15px 32px;font-family:var(--riml-body);font-weight:700;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;cursor:pointer;transition:transform .35s var(--riml-ease),box-shadow .35s,background .3s,color .3s}
.riml-btn>span{position:relative;z-index:1}
.riml-btn:hover{color:var(--riml-navy);transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(217,154,0,.6)}
.riml-btn--ghost{background:transparent;color:var(--riml-navy);box-shadow:inset 0 0 0 1.5px rgba(10,31,58,.35)}
.riml-btn--ghost:hover{background:var(--riml-sky);box-shadow:inset 0 0 0 1.5px rgba(10,31,58,.35)}
.riml-btn--light{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,184,28,.85)}
.riml-btn--light:hover{color:var(--riml-navy);background:var(--riml-gold2)}
.riml-btn--dark{background:var(--riml-navy);color:#FFD35C}
.riml-btn--dark:hover{color:#fff}
.riml-btn--wa{background:#25D366;color:#06340F}
.riml-btn--wa:hover{color:#06340F;background:#2BE073}
.riml-btn--sm{padding:11px 24px;font-size:.76rem}
.riml-btn--lg{padding:18px 40px;font-size:.92rem}
.riml-btn--icon{padding:0;width:48px;height:48px;font-size:1.35rem;letter-spacing:0;flex-shrink:0}

/* Header */
.riml-header{position:sticky;top:0;left:0;right:0;z-index:900;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 34px -18px rgba(10,31,58,.35);transition:box-shadow .3s;border-bottom:3px solid var(--riml-gold)}
.admin-bar .riml-header{top:32px}
@media(max-width:782px){.admin-bar .riml-header{top:46px}}
.riml-header.is-scrolled{box-shadow:0 16px 40px -16px rgba(10,31,58,.45)}
.riml-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1320px;margin-inline:auto;padding:10px 4%}
.riml-logo{display:inline-flex;align-items:center;gap:12px;font-family:var(--riml-head);color:var(--riml-navy);line-height:1.1}
.riml-logo img,.custom-logo{height:56px;width:auto}
.custom-logo-link{display:inline-flex;align-items:center}
.riml-logo__badge{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--riml-navgrad);color:var(--riml-gold2);font-weight:800;font-size:.82rem;letter-spacing:.05em;border:2.5px solid var(--riml-gold);flex-shrink:0}
.riml-logo__text{display:flex;flex-direction:column}
.riml-logo__text strong{font-size:1.35rem;font-weight:800;letter-spacing:.14em}
.riml-logo__text small{font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--riml-muted)}
.riml-nav{display:flex;align-items:center}
.riml-menu-list{list-style:none;display:flex!important;visibility:visible!important;opacity:1!important;gap:28px;margin:0;padding:0;align-items:center}
.riml-menu-list li{list-style:none;margin:0;padding:0;position:relative}
.riml-menu-list a{position:relative;display:inline-block;color:var(--riml-navy);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;padding:8px 0;white-space:nowrap}
.riml-menu-list a::after{content:"";position:absolute;left:0;bottom:2px;height:2.5px;width:100%;background:var(--riml-grad);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--riml-ease)}
.riml-menu-list a:hover,.riml-menu-list .current-menu-item>a,.riml-menu-list .current_page_item>a{color:#B98200}
.riml-menu-list a:hover::after,.riml-menu-list .current-menu-item>a::after,.riml-menu-list .current_page_item>a::after{transform:scaleX(1);transform-origin:left}
.riml-menu-list .sub-menu{position:absolute;background:#fff;border-radius:14px;box-shadow:0 24px 50px -20px rgba(10,31,58,.4);padding:12px;min-width:220px;flex-direction:column;gap:2px;display:none;z-index:50}
.riml-menu-list li:hover>.sub-menu,.riml-menu-list li:focus-within>.sub-menu{display:flex}
.riml-header__cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
.riml-toggle{display:none;position:relative;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(10,31,58,.4);background:transparent;cursor:pointer;padding:0;flex-shrink:0}
.riml-toggle span{position:absolute;left:13px;right:13px;height:2px;background:var(--riml-navy);transition:transform .35s var(--riml-ease),opacity .25s}
.riml-toggle span:nth-child(1){top:17px}.riml-toggle span:nth-child(2){top:23px}.riml-toggle span:nth-child(3){top:29px}
.riml-nav-open .riml-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.riml-nav-open .riml-toggle span:nth-child(2){opacity:0}
.riml-nav-open .riml-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.riml-nav__mobile-cta{display:none}
@media(max-width:1080px){
.riml-toggle{display:block}
.riml-header__cta .riml-btn{display:none}
.riml-nav{position:fixed;inset:0;z-index:890;background:var(--riml-navy);flex-direction:column;justify-content:center;gap:28px;padding:110px 8% 40px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.riml-nav-open .riml-nav{opacity:1;visibility:visible}
.riml-nav .riml-menu-list{flex-direction:column;align-items:center;gap:8px}
.riml-nav .riml-menu-list a{font-family:var(--riml-head);font-size:1.9rem;letter-spacing:.01em;text-transform:none;font-weight:600;color:#fff}
.riml-nav .riml-menu-list a:hover,.riml-nav .riml-menu-list .current-menu-item>a{color:var(--riml-gold2)}
.riml-nav__mobile-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.riml-nav-open{overflow:hidden}
}
.site-main{min-height:40vh}

/* Sections */
.riml-section{position:relative;padding:clamp(60px,7vw,104px) 0;overflow:hidden}
.riml-section--compact{padding:clamp(40px,5vw,68px) 0}
.riml-section--grey{background:var(--riml-bg)}
.riml-section--sky{background:var(--riml-sky)}
.riml-section--dark{background:var(--riml-navgrad);color:#C9D6EA}
.riml-section--dark .riml-title,.riml-section--dark h3{color:#fff}
.riml-section--gold{background:var(--riml-grad);color:var(--riml-navy)}
.riml-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.74rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#B98200;margin-bottom:16px}
.riml-eyebrow::before,.riml-eyebrow::after{content:"";width:32px;height:2px;background:currentColor;opacity:.7}
.riml-align-left .riml-eyebrow::before{display:none}
.riml-section--dark .riml-eyebrow,.riml-hero .riml-eyebrow{color:var(--riml-gold2)}
.riml-title{font-size:clamp(2rem,4.4vw,3.4rem);letter-spacing:-.01em;margin-bottom:.4em;font-weight:800}
.riml-title em{font-style:normal;color:#D99A00}
.riml-hero .riml-title em,.riml-hero__title em{color:var(--riml-gold2)}
.riml-head{max-width:780px;margin:0 auto;text-align:center}
.riml-head.riml-align-left{margin-left:0;text-align:left}
.riml-head p{font-size:1.06rem;margin:0 0 26px;color:var(--riml-muted)}
.riml-section--dark .riml-head p{color:#C9D6EA}

/* Trust strip / stats */
.riml-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:900px){.riml-trust{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.riml-trust{grid-template-columns:1fr}}
.riml-trust__item{background:#fff;border-radius:var(--riml-r);padding:30px 26px;text-align:center;box-shadow:0 24px 50px -36px rgba(10,31,58,.5);border-top:4px solid var(--riml-gold)}
.riml-trust__icon{font-size:2rem;display:block;margin-bottom:10px}
.riml-trust__item h3{font-size:1.12rem;margin:0 0 4px}
.riml-trust__item p{margin:0;color:var(--riml-muted);font-size:.92rem}
.riml-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
@media(max-width:900px){.riml-stats{grid-template-columns:repeat(2,1fr)}}
.riml-stat__num{font-family:var(--riml-head);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--riml-gold2);line-height:1}
.riml-stat__label{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#C9D6EA;margin-top:8px}

/* Hero */
.riml-hero{position:relative;display:flex;align-items:center;min-height:82vh;background:var(--riml-navy);color:#fff;overflow:hidden;isolation:isolate;padding:96px 0 84px}
.riml-hero--medium{min-height:430px;padding:80px 0 60px}
.riml-hero__bg{position:absolute;inset:0;z-index:-3;background:radial-gradient(80% 90% at 78% 40%,#1D4470 0%,#122E4D 48%,#0A1F3A 100%);background-size:cover;background-position:center}
.riml-hero__overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(95deg,rgba(10,31,58,.95) 0%,rgba(10,31,58,.78) 50%,rgba(10,31,58,.35) 100%)}
.riml-hero__inner{max-width:760px}
.riml-hero__title{font-size:clamp(2.6rem,6.2vw,5rem);color:#fff;line-height:1.05;letter-spacing:-.02em;margin-bottom:.35em;font-weight:800}
.riml-hero__text{font-size:clamp(1.03rem,1.6vw,1.22rem);color:#D5E1F2;max-width:600px;margin:0 0 32px}
.riml-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.riml-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;list-style:none;padding:0}
.riml-hero__meta li{border:1px solid rgba(255,184,28,.55);color:#FFE3A1;border-radius:999px;padding:7px 16px;font-size:.8rem;font-weight:600;letter-spacing:.05em}

/* Feature / info boxes */
.riml-info{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:26px}
@media(max-width:900px){.riml-info{grid-template-columns:1fr}}
.riml-info__box{background:#fff;border-radius:var(--riml-r);padding:38px 32px;box-shadow:0 26px 55px -38px rgba(10,31,58,.5);transition:transform .45s var(--riml-ease),box-shadow .45s;border:1px solid #E2E9F3}
.riml-info__box:hover{transform:translateY(-8px);box-shadow:0 38px 65px -32px rgba(10,31,58,.55)}
.riml-info__icon{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:18px;background:var(--riml-navgrad);color:var(--riml-gold2);font-size:26px;border-radius:18px}
.riml-info__box h3{font-size:1.35rem}
.riml-info__box p{margin:0;color:var(--riml-muted)}
.riml-info__box ul{margin:10px 0 0;padding-left:18px;color:var(--riml-muted)}

/* Steps */
.riml-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:step}
@media(max-width:900px){.riml-steps{grid-template-columns:1fr}}
.riml-step{background:#fff;border-radius:var(--riml-r);padding:36px 30px;box-shadow:0 26px 55px -38px rgba(10,31,58,.5);position:relative}
.riml-step__num{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--riml-grad);color:var(--riml-navy);font-family:var(--riml-head);font-weight:800;font-size:1.3rem;margin-bottom:16px}
.riml-step h3{font-size:1.3rem}
.riml-step p{margin:0;color:var(--riml-muted)}

/* Trainer */
.riml-trainer{display:grid;grid-template-columns:420px 1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:900px){.riml-trainer{grid-template-columns:1fr}}
.riml-trainer__photo{border-radius:24px;overflow:hidden;box-shadow:0 40px 70px -40px rgba(10,31,58,.7);aspect-ratio:4/5;background:var(--riml-navgrad)}
.riml-trainer__photo img{width:100%;height:100%;object-fit:cover}
.riml-trainer__photo--placeholder{display:flex;align-items:center;justify-content:center;color:var(--riml-gold2);font-family:var(--riml-head);font-size:4rem;font-weight:800}
.riml-trainer__creds{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px}
.riml-trainer__creds li{display:flex;gap:12px;align-items:flex-start;color:var(--riml-text)}
.riml-trainer__creds li::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--riml-gold);color:var(--riml-navy);font-weight:800;font-size:.8rem;flex-shrink:0;margin-top:3px}

/* Courses */
.riml-bar{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:46px}
.riml-tabs{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:7px;background:#fff;border-radius:999px;box-shadow:0 18px 38px -26px rgba(10,31,58,.55);scrollbar-width:none;border:1px solid #E2E9F3}
.riml-tabs::-webkit-scrollbar{display:none}
.riml-tab{flex-shrink:0;border:0;background:transparent;color:var(--riml-text);font-family:var(--riml-body);font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:12px 21px;border-radius:999px;cursor:pointer;transition:background .3s,color .3s}
.riml-tab:hover{background:var(--riml-sky)}
.riml-tab.is-active{background:var(--riml-navy);color:var(--riml-gold2)}
.riml-tools{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.riml-search{width:min(340px,86vw);padding:12px 21px;border:1.5px solid rgba(10,31,58,.25);border-radius:999px;background:#fff;font-family:var(--riml-body);font-size:.95rem;color:var(--riml-text);outline:none}
.riml-search:focus{border-color:var(--riml-gold);box-shadow:0 0 0 4px rgba(245,179,1,.2)}
.riml-online-toggle{border:1.5px solid #1F9D57;background:transparent;color:#12703C;font-family:var(--riml-body);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:12px 21px;border-radius:999px;cursor:pointer;transition:background .3s,color .3s}
.riml-online-toggle[aria-pressed="true"]{background:#1F9D57;color:#fff}
.riml-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:30px}
@media(max-width:1020px){.riml-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.riml-grid{grid-template-columns:1fr}}
.riml-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--riml-r);overflow:hidden;box-shadow:0 26px 55px -38px rgba(10,31,58,.6);transition:transform .5s var(--riml-ease),box-shadow .5s;border:1px solid #E2E9F3}
.riml-card:hover{transform:translateY(-9px);box-shadow:0 40px 65px -32px rgba(10,31,58,.65)}
.riml-card[hidden]{display:none!important}
.riml-card__media{position:relative;display:block;width:100%;aspect-ratio:16/10;padding:0;border:0;overflow:hidden;background:radial-gradient(circle at 50% 40%,#FFE9B0,#E8F1FF)}
.riml-card__media img{position:relative;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--riml-ease)}
.riml-card:hover .riml-card__media img{transform:scale(1.07)}
.riml-card__emoji{position:relative;display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:4.2rem;filter:drop-shadow(0 12px 14px rgba(10,31,58,.22))}
.riml-badges{position:absolute;top:13px;left:13px;display:flex;flex-wrap:wrap;gap:6px;z-index:2}
.riml-badge{background:rgba(10,31,58,.9);color:#fff;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:5px 11px;border-radius:999px}
.riml-badge--online{background:#1F9D57}.riml-badge--featured{background:var(--riml-gold2);color:var(--riml-navy)}.riml-badge--both{background:#2B6CB0}
.riml-card__body{display:flex;flex-direction:column;gap:9px;padding:22px 24px 24px;flex:1}
.riml-card__cat{font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#B98200}
.riml-card__title{font-size:1.28rem;margin:0;line-height:1.25}
.riml-card__title a{color:var(--riml-navy)}
.riml-card__title a:hover{color:#B98200}
.riml-card__desc{margin:0;color:var(--riml-muted);font-size:.94rem}
.riml-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.riml-card__meta span{background:var(--riml-bg);border-radius:999px;padding:5px 12px;font-size:.74rem;font-weight:600;color:var(--riml-navy)}
.riml-card__fee{font-family:var(--riml-head);font-weight:700;color:#B98200}
.riml-card__actions{display:flex;gap:10px;margin-top:auto;padding-top:10px}
.riml-card__actions .riml-btn:not(.riml-btn--icon){flex:1}
.riml-empty{text-align:center;color:var(--riml-muted)}

/* Single course */
.riml-course{padding:clamp(40px,6vw,90px) 0 clamp(70px,9vw,110px)}
.riml-course__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,80px);align-items:start}
@media(max-width:860px){.riml-course__grid{grid-template-columns:1fr}}
.riml-course__media{aspect-ratio:4/3;border-radius:var(--riml-r);overflow:hidden;background:var(--riml-sky);display:flex;align-items:center;justify-content:center;font-size:7rem;box-shadow:0 44px 80px -46px rgba(10,31,58,.7)}
.riml-course__media img{width:100%;height:100%;object-fit:cover}
.riml-course__meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.riml-course__meta span{background:var(--riml-bg);border-radius:999px;padding:8px 16px;font-weight:600;font-size:.85rem;color:var(--riml-navy)}
.riml-course__desc{font-size:1.05rem;line-height:1.8;color:var(--riml-text)}
.riml-course__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* Blog tips preview */
.riml-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:900px){.riml-posts{grid-template-columns:1fr}}
.riml-post-card{background:#fff;border-radius:var(--riml-r);overflow:hidden;box-shadow:0 26px 55px -38px rgba(10,31,58,.55);border:1px solid #E2E9F3}
.riml-post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.riml-post-card__body{padding:22px 24px}
.riml-post-card h3{font-size:1.2rem}
.riml-post-card p{color:var(--riml-muted);margin:0 0 14px}

/* Page head + prose */
.riml-pagehead{position:relative;background:var(--riml-navgrad);text-align:center;padding:70px 0 60px;color:#fff}
.riml-pagehead h1{font-size:clamp(2.2rem,5.2vw,4rem);color:#fff;margin:0;font-weight:800}
.riml-pagehead .riml-eyebrow{color:var(--riml-gold2)}
.riml-pagehead p{color:#C9D6EA;max-width:680px;margin:14px auto 0}
.riml-prose{width:min(860px,92%);margin:0 auto;padding:54px 0 90px}
.riml-prose h2,.riml-prose h3{margin-top:1.5em}
.riml-post{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid rgba(10,31,58,.14)}
.riml-post h2 a{color:var(--riml-navy)}
.page-numbers{display:inline-block;padding:8px 14px;border-radius:999px;background:var(--riml-bg);margin:0 4px 6px;color:var(--riml-navy)}
.page-numbers.current{background:var(--riml-navy);color:var(--riml-gold2)}
.alignleft{float:left;margin:0 1.5em 1em 0}.alignright{float:right;margin:0 0 1em 1.5em}.aligncenter{margin-inline:auto;display:block}

/* CTA band */
.riml-cta{text-align:center}
.riml-cta .riml-title{color:#fff}
.riml-cta p{color:#C9D6EA;max-width:640px;margin:0 auto 28px}
.riml-cta .riml-hero__actions{justify-content:center}

/* Footer */
.riml-footer{position:relative;background:var(--riml-navy);color:#B9C8DE;padding:72px 0 26px;margin-top:0;border-top:4px solid var(--riml-gold)}
.riml-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:46px}
@media(max-width:900px){.riml-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.riml-footer__grid{grid-template-columns:1fr}}
.riml-footer h4{color:var(--riml-gold2);font-size:1.25rem;margin-bottom:16px}
.riml-footer p{margin:0 0 8px}
.riml-footer a{color:#fff}.riml-footer a:hover{color:var(--riml-gold2)}
.riml-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.riml-footer .riml-menu-list{flex-direction:column;align-items:flex-start;gap:8px}
.riml-footer .riml-menu-list a{color:#fff;text-transform:none;letter-spacing:.02em;font-size:.95rem;font-family:var(--riml-body)}
.riml-footer .riml-menu-list a::after{display:none}
.riml-flogo{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;color:#fff}
.riml-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.riml-social a{border:1px solid rgba(255,184,28,.5);border-radius:999px;padding:7px 15px;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;transition:background .3s,color .3s}
.riml-social a:hover{background:var(--riml-gold2);color:var(--riml-navy)}
.riml-footer__bottom{border-top:1px solid rgba(255,184,28,.2);margin-top:52px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.85rem}

/* Mobile sticky contact bar */
.riml-mbar{display:none}
@media(max-width:782px){
.riml-mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:850;background:var(--riml-navy);padding:10px 4%;border-top:2px solid var(--riml-gold);box-shadow:0 -12px 30px -14px rgba(0,0,0,.5)}
.riml-mbar .riml-btn{flex:1;padding:13px 10px;font-size:.78rem}
body.has-contact-bar{padding-bottom:72px}
}

/* Elementor helpers */
body.elementor-page .site-main,body.elementor-page .riml-page-wrap{max-width:none}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:1240px}
.riml-el-button-wrap{text-align:left}
.riml-el-button-wrap.align-center{text-align:center}
.riml-el-button-wrap.align-right{text-align:right}
.riml-img-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:20px;box-shadow:0 24px 50px -24px rgba(10,31,58,.45)}
.elementor-editor-active .riml-card,.elementor-editor-active .riml-hero{opacity:1!important;transform:none!important}

@media(max-width:620px){
.riml-hero{min-height:72vh;padding:66px 0 58px}
.riml-header__inner{padding:8px 4%}
.riml-logo img,.custom-logo{height:46px}
.riml-logo__badge{width:46px;height:46px;font-size:.74rem}
.riml-logo__text strong{font-size:1.15rem}
.riml-card__actions .riml-btn{padding:13px 16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ============================================================
   v1.0.1 Elementor Kit-proof styling
   Fixes already-seeded pages on live installs WITHOUT overwriting
   their Elementor data: Elementor Kit globals (e.g. sky-blue
   headings, small grey text) must never wash out the RIML design.
   ============================================================ */
body.elementor-page .site-main{margin-top:0;padding-top:0}
body.elementor-page .site-main .elementor > .elementor-section:first-child,
body.elementor-page .site-main .elementor > .e-con:first-child{margin-top:0}
body .elementor .elementor-widget-heading .elementor-heading-title,
body.elementor-page .elementor .elementor-widget-heading .elementor-heading-title{color:var(--riml-navy)!important;font-family:var(--riml-head)!important;font-weight:800;letter-spacing:-.01em;line-height:1.15}
body .elementor .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.2rem,5vw,3.4rem)}
body .elementor .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(1.8rem,4vw,2.6rem)}
body .elementor .elementor-widget-heading h3.elementor-heading-title{font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700}
body .elementor .elementor-widget-heading .riml-el-heading .elementor-heading-title,
body .elementor .riml-el-heading .elementor-heading-title{color:var(--riml-navy)!important;font-family:var(--riml-head)!important}
body .elementor .elementor-widget-text-editor,
body.elementor-page .elementor .elementor-widget-text-editor{color:var(--riml-text);font-family:var(--riml-body);font-size:16.5px;line-height:1.7}
body .elementor .elementor-widget-text-editor p{margin:0 0 14px}
body .elementor .elementor-widget-text-editor a{color:#B98200;font-weight:600}
body .elementor .elementor-widget-text-editor a:hover{color:var(--riml-navy)}
body .elementor .elementor-widget-button .elementor-button{background:var(--riml-grad);color:var(--riml-navy);font-family:var(--riml-body)}
/* Hero must be edge-to-edge: kill padding/margin on any Elementor wrapper that contains the RIML hero */
body .elementor .elementor-section:has(.riml-hero),
body .elementor .elementor-column:has(.riml-hero),
body .elementor .elementor-widget-wrap:has(.riml-hero),
body .elementor .e-con:has(.riml-hero){padding:0!important;margin-top:0!important}
body .elementor .elementor-section:has(.riml-hero) > .elementor-container{max-width:none;width:100%}
/* Readable container for normal (non-hero) full-width sections seeded by v1.0.0, e.g. About text stretching edge-to-edge */
body.elementor-page .elementor-section:not(:has(.riml-hero)) > .elementor-container{max-width:1240px;margin-left:auto;margin-right:auto}
body .elementor .elementor-widget-text-editor{max-width:none}
.riml-el-prose,.riml-el-prose .elementor-widget-container{max-width:860px;margin-left:auto;margin-right:auto}

/* ============================================================
   v1.0.2 Elementor Theme Parts: zero-gap header/footer wrappers
   When Header/Footer are edited as Elementor Theme Parts, their
   wrapper section/column must add no padding or margin (the new
   default part data is zero-padding too), so the header stays a
   clean sticky full-width bar and never floats again.
   ============================================================ */
body .elementor .elementor-section:has(.riml-header),
body .elementor .elementor-section:has(.riml-footer),
body .elementor .elementor-column:has(.riml-header),
body .elementor .elementor-column:has(.riml-footer),
body .elementor .elementor-widget-wrap:has(.riml-header),
body .elementor .elementor-widget-wrap:has(.riml-footer),
body .elementor .e-con:has(.riml-header),
body .elementor .e-con:has(.riml-footer){padding:0!important;margin:0!important}
body .elementor .elementor-section:has(.riml-header) > .elementor-container,
body .elementor .elementor-section:has(.riml-footer) > .elementor-container{max-width:none;width:100%}
body .elementor .elementor-widget-riml_header,
body .elementor .elementor-widget-riml_footer,
body .elementor .elementor-widget-riml_header .elementor-widget-container,
body .elementor .elementor-widget-riml_footer .elementor-widget-container{width:100%;margin:0;padding:0}
body .elementor .riml-header{position:sticky;top:0;left:0;right:0;z-index:900;width:100%;margin:0}
.admin-bar .elementor .riml-header{top:32px}
@media(max-width:782px){.admin-bar .elementor .riml-header{top:46px}}
body .elementor .riml-footer{width:100%;margin:0}

/* ============================================================
   v1.0.4 Customizer Header/Footer editing
   ============================================================ */
.riml-header.riml-header--static{position:static}
.riml-logo-img{height:56px;width:auto}
.riml-footer .riml-logo-img{height:56px;width:auto}
.riml-header__phone{color:var(--riml-navy);font-weight:600;font-size:.92rem;white-space:nowrap}
.riml-header__phone:hover{color:#B98200}
@media(max-width:1080px){.riml-header__phone{display:none}}

/* ============================================================
   v1.0.5 Announcement bar (scrolling marquee above header)
   Disabled by default in the Customizer; pure CSS loop, pauses
   on hover, and stays static when reduced-motion is requested.
   ============================================================ */
.riml-annbar{overflow:hidden;font-size:13.5px;font-weight:600;line-height:1.5}
.riml-annbar__viewport{max-width:1320px;margin-inline:auto;padding:7px 4%}
.riml-annbar__track{display:flex;width:max-content;animation:riml-ann-scroll var(--riml-ann-dur,30s) linear infinite}
.riml-annbar__chunk{white-space:nowrap;padding-right:3rem}
@keyframes riml-ann-scroll{to{transform:translateX(-50%)}}
.riml-annbar:hover .riml-annbar__track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.riml-annbar__track{animation:none;flex-wrap:wrap}}
@media(max-width:640px){.riml-annbar{font-size:12px}}
