/*
Theme Name: Ricardo Elementor
Description: Lightweight Elementor-first theme for the Ricardo website recreation.
Version: 1.0.0
Text Domain: ricardo-elementor
*/

:root{--navy:#20164f;--ink:#263349;--blue:#2364ab;--pale:#f1f5f8;--line:#dbe2e9;--white:#fff;--ricardo-font:"Nunito Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--ricardo-font);font-size:16px;font-weight:400;line-height:1.5;background:#fff}button,input,select,textarea,.elementor-widget-container{font-family:var(--ricardo-font)}h1,h2,h3,h4,h5,h6{font-family:var(--ricardo-font);font-weight:800;color:#2d3545}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-main{min-height:60vh}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{background:var(--navy);color:#fff;position:relative;z-index:50}.topbar{height:61px;display:flex;align-items:center;justify-content:space-between}.brand img{width:245px;max-height:38px;object-fit:contain;object-position:left center}.toplinks{display:flex;gap:25px;font-size:12px;font-weight:600;align-items:center}.mainnav{height:41px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between}.mainnav ul{display:flex;list-style:none;gap:31px;padding:0;margin:0}.mainnav a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.nav-tools{display:flex;gap:24px;font-size:11px;font-weight:600}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px}.elementor-page .site-main>.wrap{width:100%;max-width:none}.ricardo-home h1,.ricardo-home h2,.ricardo-home h3,.ricardo-home p{margin-top:0}.ricardo-home h2{font-size:34px;line-height:1.12}.hero{min-height:580px;background:linear-gradient(90deg,rgba(18,25,35,.64),rgba(18,25,35,.06)),url('assets/images/hero.jpg') center/cover;color:#fff;display:flex;align-items:center}.hero-inner{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.hero h1{font-size:62px;font-weight:800;letter-spacing:1.5px;line-height:1.02;max-width:640px;margin:14px 0 18px;color:#fff}.hero .lead{font-size:22px;line-height:1.25;font-weight:700;max-width:660px}.arrow-link{display:inline-block;margin-top:23px;font-weight:700;font-size:13px}.arrow-link:after{content:'  →';color:#4283c4}.intro{background:var(--pale);padding:82px 0}.intro p{font-size:28px;line-height:1.28;font-weight:600;max-width:930px;margin:auto}.section{padding:80px 0}.split-heading{display:grid;grid-template-columns:250px 1fr;gap:35px}.split-heading>.section-title h2{margin-bottom:12px}.section-title p{font-size:13px;font-weight:400;line-height:1.5}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card img{width:100%;height:225px;object-fit:cover}.card h3{font-size:17px;font-weight:800;line-height:1.25;margin:18px 0 10px}.card p{font-size:13px;line-height:1.45}.news{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0}.news-grid{display:grid;grid-template-columns:250px 1fr;gap:35px}.news-row{display:grid;grid-template-columns:130px 1fr 30px;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.news-row:last-child{border:0}.date{font-size:11px;font-weight:800;color:var(--blue)}.projects .card{background:#edf2f6;padding-bottom:25px}.projects .card h3,.projects .card .arrow-link{margin-left:20px;margin-right:20px}.markets{padding-top:15px}.markets .subhead{font-size:25px;font-weight:600;line-height:1.25;max-width:850px;margin-bottom:50px}.market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.market{height:265px;position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:24px;color:#fff;overflow:hidden}.market:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,23,42,.72),rgba(15,23,42,.05))}.market span{position:relative;z-index:1;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.purpose{min-height:520px;background:linear-gradient(90deg,rgba(18,20,17,.64),rgba(18,20,17,.05)),url('assets/images/purpose.jpg') center/cover;color:#fff;display:flex;align-items:center}.purpose h2{font-size:47px;font-weight:800;line-height:1.12;max-width:660px;color:#fff}.team{padding:95px 0}.team-grid{display:grid;grid-template-columns:1fr 1.7fr;align-items:center;gap:70px}.team h2{font-size:25px;font-weight:800}.team p{font-size:14px;font-weight:400;line-height:1.7}.team img{width:100%;height:430px;object-fit:cover}.site-footer{background:var(--navy);color:#fff;padding:58px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:45px}.footer-logo{width:170px;margin-bottom:25px}.footer-col h4{font-size:12px;font-weight:700;color:#aaa4c8;margin:0 0 18px}.footer-col a,.footer-col p{display:block;font-size:11px;font-weight:400;line-height:1.9;margin:0}.copyright{margin-top:45px;border-top:1px solid rgba(255,255,255,.08);padding:18px 0;font-size:9px;font-weight:400;color:#9993ba;display:flex;justify-content:space-between}
.ricardo-slider{height:580px;position:relative;overflow:hidden;background:#182136;color:#fff}.ricardo-slide{position:absolute;inset:0;display:flex;align-items:center;background-position:center;background-size:cover;opacity:0;visibility:hidden;transition:opacity .65s ease}.ricardo-slide.is-active{opacity:1;visibility:visible;z-index:2}.ricardo-slide h1{font-size:62px;line-height:1.02;max-width:640px;margin:14px 0 18px;color:#fff}.ricardo-slide .lead{font-size:22px;line-height:1.25;font-weight:700;max-width:660px}.slider-prev,.slider-next{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(0,0,0,.18);color:#fff;font-size:28px;cursor:pointer}.slider-prev{left:18px}.slider-next{right:18px}.slider-dots{position:absolute;z-index:4;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.slider-dots button{width:28px;height:3px;padding:0;border:0;background:rgba(255,255,255,.45);cursor:pointer}.slider-dots button.is-active{background:#fff}
.ricardo-home.e-con,.ricardo-home .e-con{--gap:0px}.ricardo-home .elementor-widget{margin:0}.eyebrow-widget p{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.hero-lead p{font-size:22px;line-height:1.25;font-weight:700;max-width:660px}.arrow-link-widget{width:auto!important;align-self:flex-start}.arrow-link-widget .elementor-button{padding:0;background:transparent;color:inherit;font-size:13px;font-weight:700}.arrow-link-widget .elementor-button:hover{background:transparent;color:var(--blue)}.arrow-link-widget .elementor-button-text:after{content:'  →';color:#4283c4}.intro-copy p{font-size:28px;line-height:1.28;font-weight:700;max-width:930px;margin:auto}.news-row p{margin:0}.news-arrow .elementor-heading-title{font-size:15px}.market .elementor-widget-heading{position:relative;z-index:2;align-self:flex-end}.market .elementor-heading-title{color:#fff;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.market:after{pointer-events:none}.team-image img{width:100%;height:430px;object-fit:cover}.project-card{padding-bottom:25px}.project-card>.elementor-widget-heading,.project-card>.arrow-link-widget{margin-left:20px;margin-right:20px}.purpose>.e-con{position:relative;z-index:2}
@media(max-width:900px){.mainnav ul{gap:14px}.mainnav a{font-size:10px}.hero{min-height:500px}.hero h1{font-size:48px}.split-heading,.news-grid{grid-template-columns:1fr}.market-grid{grid-template-columns:repeat(2,1fr)}.team-grid{gap:35px}.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.wrap,.hero-inner{width:min(100% - 32px,1180px)}.topbar{height:66px}.brand img{width:190px}.toplinks,.mainnav ul,.nav-tools{display:none}.mainnav{position:absolute;right:15px;top:13px;height:auto;border:0}.menu-toggle{display:block}.hero{min-height:520px;background-position:60% center}.hero h1{font-size:42px}.hero .lead{font-size:18px}.intro{padding:55px 0}.intro p{font-size:22px}.section{padding:58px 0}.ricardo-home h2{font-size:29px}.cards{grid-template-columns:1fr}.card img{height:250px}.news-row{grid-template-columns:95px 1fr 20px}.market-grid{grid-template-columns:1fr 1fr;gap:8px}.market{height:210px;padding:15px}.market span{font-size:11px}.purpose{min-height:430px}.purpose h2{font-size:35px}.team-grid{grid-template-columns:1fr}.team img{height:310px}.footer-grid{grid-template-columns:1fr 1fr}.copyright{gap:20px;flex-direction:column}.split-heading{gap:20px}}

/* Responsive safeguards for theme and custom Elementor widgets */
html,body{max-width:100%;overflow-x:hidden}.elementor,.elementor-element,.elementor-widget-container{min-width:0}.ricardo-slider,.intro,.section,.news,.purpose,.team{width:100%}.cards>*{min-width:0}.card h3,.news-row span,.market span{overflow-wrap:anywhere}.ricardo_projects .card{background:#edf2f6;padding-bottom:25px}.ricardo_projects .card h3,.ricardo_projects .card .arrow-link{margin-left:20px;margin-right:20px}
@media(max-width:1024px){.wrap,.hero-inner{width:min(100% - 48px,1180px)}.ricardo-slider{height:520px}.ricardo-slide h1{font-size:50px}.split-heading,.news-grid{grid-template-columns:210px minmax(0,1fr);gap:28px}.card img{height:200px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market{height:240px}.team-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:40px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}}
@media(max-width:767px){.wrap,.hero-inner{width:min(100% - 32px,1180px)}.ricardo-slider{height:520px}.ricardo-slide{background-position:60% center}.ricardo-slide h1{font-size:40px;line-height:1.05;letter-spacing:.5px;max-width:90%}.ricardo-slide .lead{font-size:18px;max-width:88%}.slider-prev,.slider-next{width:36px;height:36px;font-size:23px;top:auto;bottom:14px}.slider-prev{left:16px}.slider-next{right:16px}.slider-dots{bottom:30px}.intro{padding:52px 0}.intro p{font-size:22px}.section{padding:55px 0}.split-heading,.news-grid{grid-template-columns:1fr;gap:25px}.section-title p{max-width:420px}.cards{grid-template-columns:1fr}.card img{height:auto;aspect-ratio:16/10}.news{padding:35px 0}.news-row{grid-template-columns:92px minmax(0,1fr) 18px;gap:12px;font-size:13px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market{height:210px;padding:15px}.markets .subhead{font-size:21px;margin-bottom:32px}.purpose{min-height:420px;background-position:center}.purpose h2{font-size:35px;max-width:90%}.team{padding:60px 0}.team-grid{grid-template-columns:1fr;gap:32px}.team img{height:auto;aspect-ratio:4/3}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}.copyright{flex-direction:column;gap:12px}.site-header .mainnav{position:absolute;right:16px;top:13px;width:auto;height:auto;border:0}.menu-toggle{display:block;position:relative;z-index:3}.site-header.menu-open{position:relative}.site-header.menu-open .mainnav ul{display:flex;position:fixed;z-index:2;inset:66px 0 auto 0;background:var(--navy);padding:22px 24px 28px;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 14px 24px rgba(0,0,0,.22)}.site-header.menu-open .mainnav li{border-bottom:1px solid rgba(255,255,255,.12)}.site-header.menu-open .mainnav li:last-child{border:0}.site-header.menu-open .mainnav a{display:block;padding:15px 0;font-size:13px}.menu-toggle span{display:block;line-height:1}}
@media(max-width:480px){.ricardo-slider{height:500px}.ricardo-slide h1{font-size:34px;max-width:94%}.ricardo-slide .lead{font-size:16px;max-width:92%}.eyebrow{font-size:11px}.intro p{font-size:20px}.market-grid{grid-template-columns:1fr}.market{height:230px}.news-row{grid-template-columns:1fr 20px}.news-row .date{grid-column:1/-1}.purpose h2{font-size:30px}.footer-grid{grid-template-columns:1fr}.topbar .brand img{width:170px}}

/* Reference-accurate two-tier header */
.site-header{height:132px;border-bottom:1px solid #fff}.header-rule{height:3px;background:#b8a85b}.site-header>.wrap{width:min(1264px,calc(100% - 48px))}.site-header .topbar{height:78px}.site-header .brand img{width:385px;max-height:42px}.site-header .toplinks{gap:17px;font-size:14px;font-weight:700}.linkedin-link{display:grid;place-items:center;width:20px;height:20px;background:#fff;color:var(--navy);font-size:14px;font-weight:900;line-height:1}.contact-link{display:flex;align-items:center;gap:14px}.contact-link span{font-size:25px;font-weight:300;line-height:1}.site-header .mainnav{height:50px;border:0}.site-header .mainnav ul{gap:30px}.site-header .mainnav a{font-size:14px;font-weight:800;letter-spacing:0}.site-header .nav-tools{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.site-header .nav-tools a{text-transform:none;font-size:13px;font-weight:600}.search-toggle{width:25px;height:25px;padding:0;border:0;background:transparent;display:grid;place-items:center}.search-icon{position:relative;display:block;width:16px;height:16px;border:1px solid #fff;border-radius:50%}.search-icon:after{content:"";position:absolute;width:8px;height:1px;background:#fff;right:-6px;bottom:-3px;transform:rotate(48deg);transform-origin:left center}.header-search{position:absolute;z-index:60;top:132px;left:0;width:100%;background:#fff;color:var(--ink);box-shadow:0 10px 25px rgba(20,16,52,.22);border-bottom:4px solid var(--navy)}.header-search[hidden]{display:none}.search-form{height:108px;display:grid;grid-template-columns:auto minmax(240px,1fr) auto auto;align-items:center;gap:22px}.search-form label{font-size:18px;font-weight:800;white-space:nowrap}.search-form input{height:48px;border:0;border-bottom:2px solid var(--navy);outline:0;font-size:18px;padding:8px 2px;color:var(--ink)}.search-form input:focus{border-color:#0e4496}.search-form button[type=submit]{height:45px;border:0;background:#0e4496;color:#fff;padding:0 24px;font-weight:800}.search-close{border:0;background:transparent;color:var(--navy);font-size:31px;line-height:1;padding:5px}.search-open .search-icon:before,.search-open .search-icon:after{content:"";position:absolute;width:22px;height:1px;background:#fff;left:-4px;top:7px}.search-open .search-icon{border:0}.search-open .search-icon:before{transform:rotate(45deg)}.search-open .search-icon:after{transform:rotate(-45deg)}
@media(max-width:1024px) and (min-width:768px){.site-header .brand img{width:315px}.site-header .mainnav ul{gap:16px}.site-header .mainnav a{font-size:11px}.site-header .nav-tools{gap:18px}.site-header .nav-tools a{font-size:11px}.search-form{grid-template-columns:auto minmax(200px,1fr) auto auto}}
@media(max-width:767px){.site-header{height:67px}.header-rule{height:3px}.site-header .topbar{height:63px}.site-header>.wrap{width:min(100% - 32px,1264px)}.site-header .brand img{width:230px;max-height:32px}.site-header .toplinks{display:none}.site-header .mainnav{top:12px}.site-header .nav-tools{display:flex;position:absolute;right:50px;top:6px}.site-header .nav-tools>a{display:none}.site-header .search-toggle{display:grid}.header-search{top:67px}.search-form{width:min(100% - 32px,1264px);height:auto;padding:22px 0;grid-template-columns:1fr auto;gap:12px}.search-form label{grid-column:1/-1;font-size:16px}.search-form input{font-size:16px;min-width:0}.search-form button[type=submit]{padding:0 16px}.search-close{position:absolute;right:12px;top:8px}.site-header.menu-open .mainnav ul{inset:67px 0 auto 0}}
@media(max-width:480px){.site-header .brand img{width:200px}.search-form{grid-template-columns:1fr}.search-form button[type=submit]{width:100%}.search-close{position:absolute}.site-header .nav-tools{right:47px}}
.utility-menu{display:flex!important;align-items:center;gap:30px!important;list-style:none;margin:0;padding:0}.utility-menu li{margin:0;padding:0}@media(max-width:767px){.site-header .utility-menu{display:none!important}}
@media(max-width:767px){.site-header{z-index:999}.site-header #primary-menu{display:none!important}.site-header.menu-open #primary-menu{display:flex!important;position:fixed!important;z-index:998;top:67px;right:0;bottom:auto;left:0;width:100%;max-height:calc(100vh - 67px);overflow-y:auto;margin:0;padding:20px 24px 28px;background:var(--navy);flex-direction:column;align-items:stretch;gap:0!important;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 14px 24px rgba(0,0,0,.28)}.site-header.menu-open #primary-menu li{display:block;width:100%;margin:0;border-bottom:1px solid rgba(255,255,255,.13)}.site-header.menu-open #primary-menu li:last-child{border-bottom:0}.site-header.menu-open #primary-menu a{display:block;width:100%;padding:15px 0;color:#fff;font-size:13px;font-weight:800}.site-header .menu-toggle{display:block!important;visibility:visible;opacity:1;pointer-events:auto}}
.brand .custom-logo-link{display:block}.brand .custom-logo{width:385px;max-width:100%;max-height:42px;object-fit:contain;object-position:left center}.footer-logo{width:170px}.footer-logo .custom-logo-link{display:block}.footer-logo .custom-logo{width:170px;height:auto;max-height:40px;object-fit:contain;object-position:left center}.footer-menu{list-style:none;margin:0;padding:0}.footer-menu li{margin:0;padding:0}.footer-col .footer-menu a{display:block}.footer-identity>a{display:block;font-size:11px;line-height:1.9}@media(max-width:767px){.brand .custom-logo{width:230px;max-height:32px}}@media(max-width:480px){.brand .custom-logo{width:200px}}

/* October 2025 archive pages */
.archive-wrap{width:min(1160px,calc(100% - 48px));margin:auto}.archive-hero{min-height:430px;background-size:cover;background-position:center;display:flex;align-items:end;color:#fff;padding:58px 0}.archive-crumb{font-size:13px;margin:0 0 28px;color:#e7e3f4}.archive-crumb span{padding:0 8px}.archive-hero h1{color:#fff;font-size:59px;line-height:1.02;letter-spacing:-1.6px;max-width:790px;margin:0 0 18px}.archive-hero .archive-wrap>p:last-child{font-size:21px;line-height:1.35;max-width:680px;margin:0;font-weight:600}.archive-body{padding:74px 0 96px}.intro-copy{max-width:800px;margin:0 0 58px}.intro-copy h2,.two-col h2{font-size:34px;line-height:1.14;margin:0 0 19px}.intro-copy p,.two-col p{font-size:18px;line-height:1.62}.archive-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.archive-cards article{background:#f1f4f7;padding:0 23px 27px}.card-photo{height:205px;margin:0 -23px 21px;background-size:cover;background-position:center}.tag{margin:0 0 9px;color:#1364a7;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.archive-cards h3{font-size:21px;line-height:1.2;margin:0 0 24px}.archive-cards a{font-size:14px;font-weight:800}.archive-cards b,.job-list b{color:#1464aa;font-size:19px;padding-left:6px}.filter-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d9e0e6;padding:23px 0;margin:0 0 26px;font-size:20px}.filter-row button{border:1px solid #20164f;background:#fff;color:#20164f;font-weight:800;padding:12px 18px}.two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:86px;max-width:1020px}.two-col aside{background:#eef3f7;padding:27px;height:max-content}.two-col aside p{font-size:15px;line-height:1.5}.two-col ul{font-size:17px;line-height:1.8;padding-left:20px}.callout{background:#20164f!important;color:#fff}.callout h3{color:#fff;font-size:24px;margin-top:0}.form-card{background:#f0f4f7!important}.form-card h3,.download-card h3{margin-top:0;font-size:24px}.form-card label{font-size:12px;font-weight:800;display:block;margin:13px 0}.form-card input,.form-card textarea,.job-search input{display:block;width:100%;margin-top:5px;border:1px solid #b8c5d0;background:white;min-height:38px;padding:7px}.form-card textarea{min-height:85px}.primary-button{display:inline-block;border:0;background:#1364a7;color:#fff;padding:13px 22px;font-weight:800;font-size:14px}.contact-list{border-top:1px solid #d9e0e6;margin-top:30px}.job-search{background:#eff3f6;padding:25px;display:flex;gap:12px;margin-bottom:25px}.job-search input{margin:0;flex:1}.job-search button{background:#20164f;color:#fff;border:0;padding:0 28px;font-weight:800}.job-list{border-top:1px solid #dce2e7}.job-list a,.certificate-list a{display:flex;justify-content:space-between;align-items:center;padding:22px 6px;border-bottom:1px solid #dce2e7;font-size:19px;font-weight:800}.job-list small{display:block;color:#607086;font-size:13px;font-weight:400;padding-top:5px}.apply-card,.download-card{border-top:5px solid #b8a85b}.certificate-list{max-width:900px}.certificate-list b{font-size:13px;color:#1765a8;white-space:nowrap}@media(max-width:767px){.archive-wrap{width:min(100% - 32px,1160px)}.archive-hero{min-height:360px;padding:38px 0}.archive-hero h1{font-size:39px;letter-spacing:-.7px}.archive-hero .archive-wrap>p:last-child{font-size:18px}.archive-body{padding:50px 0 65px}.intro-copy h2,.two-col h2{font-size:28px}.intro-copy p,.two-col p{font-size:16px}.archive-cards{grid-template-columns:1fr}.two-col{grid-template-columns:1fr;gap:28px}.two-col aside{order:2}.filter-row{font-size:17px}.job-list a,.certificate-list a{font-size:16px;gap:15px}.certificate-list b{font-size:11px}.job-search{padding:16px}.job-search button{padding:0 17px}}

/* Elementor archive widgets: let stacked sections butt together, and form notices. */
.archive-body.pad-top-0{padding-top:0}.archive-body.pad-bottom-0{padding-bottom:0}
.form-success{background:#e7f3ea;border-left:4px solid #2e7d4f;color:#1d5334;padding:11px 14px;margin:0 0 14px;font-size:14px;font-weight:700}
.form-error{background:#fdeced;border-left:4px solid #b3261e;color:#8c1d18;padding:11px 14px;margin:0 0 14px;font-size:14px;font-weight:700}
.job-search input[type=search]{-webkit-appearance:none;appearance:none}
