/* Site-level additions on top of brand-identity.css — composition only, no new tokens. */

/* ── mobile nav (brand-identity.css hides .rt-nav-links at 768px with no
   replacement; this adds the toggle affordance) ── */
.rt-hamburger{display:none;flex:none;width:34px;height:34px;background:none;border:0;cursor:pointer;padding:0;align-items:center;justify-content:center;}
.rt-hamburger span{display:block;width:20px;height:1.5px;background:var(--rt-white);position:relative;transition:.2s;}
.rt-hamburger span::before,.rt-hamburger span::after{content:'';position:absolute;left:0;width:20px;height:1.5px;background:var(--rt-white);transition:.2s;}
.rt-hamburger span::before{top:-6px;} .rt-hamburger span::after{top:6px;}
.rt-hamburger.open span{background:transparent;}
.rt-hamburger.open span::before{transform:translateY(6px) rotate(45deg);}
.rt-hamburger.open span::after{transform:translateY(-6px) rotate(-45deg);}

/* the hamburger toggle wraps rt-nav-links + rt-nav-actions in rt-nav-menu so
   both can be shown/hidden together on mobile — brand-identity.css only
   styles the two children, so give the wrapper itself a desktop layout or
   it falls back to being a block box and the actions row drops beneath the
   links row. */
.rt-nav-menu{display:flex;align-items:center;gap:var(--rt-space-8);}

@media (max-width: 768px){
  .rt-hamburger{display:flex;}
  .rt-nav-menu{
    position:fixed; top:64px; left:0; right:0; z-index:99;
    background:var(--rt-navy); border-bottom:1px solid rgba(255,255,255,0.08);
    padding:8px var(--rt-space-5) 20px; max-height:calc(100vh - 64px); overflow-y:auto;
    transform:translateY(-12px); opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
  }
  .rt-nav-menu.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .rt-nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;}
  .rt-nav-links li{width:100%;border-bottom:1px solid rgba(255,255,255,0.08);}
  .rt-nav-link{display:block;padding:16px 0;}
  .rt-nav-link--active::after{display:none;}
  .rt-nav-menu .rt-nav-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-top:16px;}
  .rt-nav-menu .rt-nav-actions .rt-btn{width:100%;justify-content:center;display:inline-flex;}
}

/* ── sub-page hero (rt-hero is 90vh — right for the homepage, too tall elsewhere) ── */
.rt-hero--sub{min-height:auto;padding-top:var(--rt-space-16);padding-bottom:var(--rt-space-16);}
@media (max-width:768px){.rt-hero--sub{padding-top:var(--rt-space-10);padding-bottom:var(--rt-space-10);}}

/* ── hero photo layer (real photography behind the gradient) ── */
.rt-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.rt-hero-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(160deg, rgba(26,48,112,0.94) 0%, rgba(30,58,122,0.90) 55%, rgba(45,79,161,0.88) 100%);}
.rt-hero--sub .rt-hero-overlay{background:linear-gradient(160deg, rgba(26,48,112,0.93) 0%, rgba(45,79,161,0.86) 100%);}

/* ── photo feature panel (replaces a flat card with a real photo + caption) ── */
.rt-photo-card{position:relative;border-radius:var(--rt-radius-xl);overflow:hidden;min-height:320px;display:flex;align-items:flex-end;box-shadow:var(--rt-shadow-md);}
.rt-photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.rt-photo-card .rt-photo-overlay{position:absolute;inset:0;background:linear-gradient(0deg, rgba(13,13,13,0.75) 0%, rgba(13,13,13,0.05) 55%);}
.rt-photo-card .rt-photo-caption{position:relative;padding:var(--rt-space-6);z-index:1;}

/* ── icon badge used inside rt-card ── */
.rt-icon-badge{width:46px;height:46px;border-radius:var(--rt-radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--rt-space-4);}

/* ── checklist (investor benefits) ── */
.rt-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--rt-space-4) var(--rt-space-8);}
.rt-checklist li{display:flex;gap:var(--rt-space-3);align-items:flex-start;}
.rt-check-dot{width:22px;height:22px;border-radius:50%;background:var(--rt-copper);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:11px;margin-top:2px;}
.rt-checklist span{font-size:13.5px;color:var(--rt-gray-800);line-height:1.6;}
@media (max-width:768px){.rt-checklist{grid-template-columns:1fr;}}

/* ── numbered steps ── */
.rt-steps{display:flex;flex-direction:column;gap:var(--rt-space-5);}
.rt-step{display:flex;gap:var(--rt-space-4);align-items:flex-start;}
.rt-step-num{width:32px;height:32px;border-radius:50%;background:var(--rt-blue-pale);color:var(--rt-blue);font-family:var(--rt-font-body);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ── pricing / program row ── */
.rt-program-row{display:grid;grid-template-columns:1fr 1.6fr auto;gap:var(--rt-space-6);align-items:center;}
.rt-program-row .rt-prow-cta{text-align:right;min-width:150px;}
@media (max-width:768px){.rt-program-row{grid-template-columns:1fr;text-align:left;} .rt-program-row .rt-prow-cta{text-align:left;min-width:0;}}

/* ── misc ── */
.rt-eyebrow-row{display:flex;align-items:center;gap:8px;}
.rt-eyebrow-row .dot{width:6px;height:6px;border-radius:50%;background:var(--rt-copper);}
h1.rt-display-xl, h1.rt-display-lg { overflow-wrap: break-word; }
.rt-hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
