/* Rotaflow mega menu — from /reports/mega-menu-figma-spec.md */
:root{
  --rf-navy-800:#001D36; --rf-navy-500:#004987; --rf-navy-25:#FDFEFF; --rf-navy-100:#EAF5FF;
  --rf-orange-600:#F9500D; --rf-orange-100:#FFE5D5;
  --rf-g700:#414651; --rf-g600:#535862; --rf-g500:#717680; --rf-g300:#D5D7DA; --rf-g200:#E9EAEB; --rf-g100:#F5F5F5;
  --rf-shadow:0 4px 16px rgba(0,0,0,.25);
  --rf-container:1440px; --rf-pad:82px;
  --rf-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---- Header shell ---- */
.rf-header{position:sticky;top:0;z-index:1000;background:var(--rf-navy-25);border-bottom:1px solid var(--rf-g200);font-family:var(--rf-font);transition:background .25s ease,border-color .25s ease}

/* ---- Transparent overlay header (front page) ---- */
.rf-header--overlay{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom-color:transparent}
.rf-header--overlay .rf-nav__link{color:#fff}
.rf-header--overlay .rf-search{color:#fff}
.rf-header--overlay .rf-logo img{filter:brightness(0) invert(1)}
.rf-header--overlay .rf-burger span{background:#fff}
.rf-header--overlay .rf-nav__link:hover,
.rf-header--overlay .rf-nav__item.is-open>.rf-nav__link{color:var(--rf-orange-600)}
/* solidified: scrolled past top OR a panel is open */
.rf-header--overlay.is-solid{background:var(--rf-navy-25);border-bottom-color:var(--rf-g200)}
.rf-header--overlay.is-solid .rf-nav__link{color:var(--rf-navy-800)}
.rf-header--overlay.is-solid .rf-search{color:var(--rf-navy-500)}
.rf-header--overlay.is-solid .rf-logo img{filter:none}
.rf-header--overlay.is-solid .rf-burger span{background:var(--rf-navy-800)}
.rf-header--overlay.is-solid .rf-nav__item.is-open>.rf-nav__link{color:var(--rf-orange-600)}
.rf-header *{box-sizing:border-box}
.rf-header__inner{max-width:var(--rf-container);margin:0 auto;padding:12px var(--rf-pad);display:flex;align-items:center;justify-content:space-between;gap:16px}
.rf-logo{display:flex;align-items:center;flex:0 0 auto;padding-right:32px}
.rf-logo img{height:80px;width:auto;display:block}

/* ---- Nav ---- */
.rf-nav{flex:1 1 auto}
.rf-nav__list{display:flex;align-items:center;gap:16px;list-style:none;margin:0;padding:0}
.rf-nav__item{position:static}
.rf-nav__link{display:inline-flex;align-items:center;gap:4px;padding:8px;background:none;border:0;cursor:pointer;
  font-family:var(--rf-font);font-weight:600;font-size:16px;line-height:1.5;color:var(--rf-navy-800);text-decoration:none;white-space:nowrap}
.rf-nav__link:hover{color:var(--rf-orange-600)}
.rf-chev{transition:transform .2s ease}
/* open state */
.rf-nav__item.is-open>.rf-nav__link{color:var(--rf-orange-600);text-decoration:underline;text-underline-offset:4px}
.rf-nav__item.is-open>.rf-nav__link .rf-chev{transform:rotate(180deg)}

/* ---- Right side ---- */
.rf-header__right{display:flex;align-items:center;gap:24px;flex:0 0 auto}
.rf-search{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:0;cursor:pointer;color:var(--rf-navy-500)}
.rf-btn{display:inline-flex;align-items:center;justify-content:center;min-width:144px;padding:16px 28px;border-radius:56px;
  background:var(--rf-navy-500);border:1px solid var(--rf-navy-500);color:var(--rf-navy-25);
  font-weight:600;font-size:16px;line-height:1.5;text-decoration:none;white-space:nowrap}
.rf-btn:hover{background:#013a6b;border-color:#013a6b;color:#fff}

/* ---- Panels ---- */
.rf-panel{position:absolute;left:0;right:0;top:100%;background:var(--rf-navy-25);box-shadow:var(--rf-shadow);
  border-radius:0 0 24px 24px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:1001}
.rf-nav__item.is-open>.rf-panel{opacity:1;visibility:visible;transform:none}
.rf-panel__inner{max-width:var(--rf-container);margin:0 auto;padding:32px var(--rf-pad)}

/* generic columns */
.rf-col{display:flex;flex-direction:column;gap:16px}
.rf-link{display:inline-flex;align-items:center;gap:6px;font-weight:400;font-size:16px;line-height:1.5;color:var(--rf-g700);text-decoration:none}
a.rf-link:hover{color:var(--rf-orange-600)}
.rf-link--plain{color:var(--rf-navy-800);cursor:default;font-weight:600}
.rf-chev-right{color:var(--rf-orange-600);font-weight:700;font-size:1.1em;line-height:1}

/* ---- Solutions two-pane ---- */
.rf-solutions{display:grid;grid-template-columns:400px 1fr;gap:0}
.rf-solutions__cats{display:flex;flex-direction:column;gap:22px;padding-right:48px;border-right:1px solid var(--rf-g300)}
.rf-cat{display:flex;align-items:center;gap:12px;padding:0;background:none;border:0;cursor:pointer;text-align:left;text-decoration:none;color:var(--rf-navy-800)}
.rf-cat__icon{width:40px;height:40px;flex:0 0 auto}
.rf-cat__label{font-weight:600;font-size:18px;line-height:1.5;color:inherit;flex:1 1 auto}
.rf-cat .rf-chev-right{color:var(--rf-navy-800)}
.rf-cat.is-active{color:var(--rf-orange-600)}
.rf-cat.is-active .rf-cat__label{text-decoration:underline;text-underline-offset:4px}
.rf-cat.is-active .rf-chev-right{color:var(--rf-orange-600)}
.rf-solutions__content{padding-left:48px;position:relative;min-height:240px}
.rf-cat-panel{display:none;gap:48px}
.rf-cat-panel.is-active{display:flex}
.rf-cat-panel .rf-col{flex:1 1 0;min-width:0}
.rf-group-head .rf-link{font-weight:600;font-size:18px;color:var(--rf-navy-800)}

/* ---- Products grid ---- */
.rf-products{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}
.rf-product{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.rf-product__logo{height:48px!important;width:auto!important;max-width:160px;max-height:48px;object-fit:contain;align-self:flex-start}
.rf-product .rf-link{font-weight:600;color:var(--rf-navy-800)}
.rf-product--group{gap:8px}
.rf-product--group .rf-product__main{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.rf-product--group>.rf-link{padding-left:0;color:var(--rf-g700);font-weight:400}

/* ---- Resources / About / Careers ---- */
.rf-resources{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:48px}
.rf-careers{display:grid;grid-template-columns:1fr 1.2fr;gap:48px}
.rf-about{display:block}
.rf-col--blocks{gap:28px}
.rf-block .rf-link{font-weight:600;font-size:18px;color:var(--rf-navy-800)}
.rf-block__desc{margin:6px 0 0;font-weight:400;font-size:14px;line-height:1.5;color:var(--rf-g500);max-width:34ch}

/* article cards */
.rf-rail__head{display:block;font-size:14px;color:var(--rf-g500);margin-bottom:16px}
.rf-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rf-card{display:flex;flex-direction:column;text-decoration:none}
.rf-card__thumb{display:block;margin-bottom:12px}
.rf-card__img{width:100%;height:auto;border-radius:8px;display:block}
.rf-card__date{font-size:12px;color:var(--rf-g500);margin-bottom:6px}
.rf-card__title{font-weight:600;font-size:15px;line-height:1.4;color:var(--rf-navy-800);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.rf-card__more{font-weight:600;font-size:14px;color:var(--rf-navy-500)}
.rf-card:hover .rf-card__title{color:var(--rf-orange-600)}

/* job cards */
.rf-jobs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rf-job{display:flex;flex-direction:column;gap:6px}
.rf-job__date{font-size:14px;color:var(--rf-g500)}
.rf-job__title{font-weight:600;font-size:16px;color:var(--rf-navy-800);text-decoration:underline;text-underline-offset:3px}
.rf-job__title:hover{color:var(--rf-orange-600)}
.rf-job__meta{font-size:14px;color:var(--rf-g500)}
.rf-empty{color:var(--rf-g500);font-size:14px}

/* ---- Dim overlay ---- */
.rf-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(0,29,54,.45);z-index:999;opacity:0;transition:opacity .18s ease;pointer-events:none}
.rf-overlay.is-visible{opacity:1}

/* ---- Burger (mobile) ---- */
.rf-burger{display:none;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer}
.rf-burger span{display:block;width:24px;height:2px;background:var(--rf-navy-800);border-radius:2px;transition:.2s}

/* ---- Responsive ---- */
@media (max-width:1280px){
  :root{--rf-pad:40px}
  .rf-nav__list{gap:8px}
  .rf-nav__link{font-size:15px;padding:8px 6px}
  .rf-btn{min-width:auto;padding:12px 20px}
}
@media (max-width:1024px){
  .rf-burger{display:flex}
  .rf-nav,.rf-header__right .rf-btn{display:none}
  .rf-header__inner{padding:12px 20px}
  .rf-logo img{height:56px}
  /* off-canvas drawer */
  .rf-header.is-mobile-open .rf-nav{display:block;position:fixed;top:81px;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;padding:8px 20px 40px;z-index:1002}
  .rf-header.is-mobile-open .rf-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .rf-header.is-mobile-open .rf-nav__item{border-bottom:1px solid var(--rf-g200)}
  .rf-header.is-mobile-open .rf-nav__link{width:100%;justify-content:space-between;padding:16px 0;font-size:17px}
  .rf-header.is-mobile-open .rf-panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-radius:0;display:none}
  .rf-header.is-mobile-open .rf-nav__item.is-open>.rf-panel{display:block}
  .rf-header.is-mobile-open .rf-panel__inner{padding:0 0 16px}
  .rf-solutions,.rf-products,.rf-resources,.rf-careers{grid-template-columns:1fr;gap:24px}
  .rf-solutions__cats{border-right:0;padding-right:0}
  .rf-solutions__content{padding-left:0}
  .rf-cat-panel.is-active{flex-direction:column}
  .rf-cards,.rf-jobs{grid-template-columns:1fr 1fr}
}
