/* ---- components/page-system/system.css ---- */
/* ============================================================================
   BRIM · PAGE SYSTEM
   Tokens, reset, type scale, section shell, buttons, cards, panels, tables.
   Shared by every rebuilt page. Change here moves the whole site.
   Assembled from the BINX 00 reference by sync/assemble-innovation.js.
   Namespace renamed .binx -> .brim: this is the BRIM page system, not a
   one-page preview prefix.
============================================================================ */

/* ---- BINX block 7 (line 11644) ---- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,700&display=swap');



.brim{
  --nv:#02131F; --nv2:#041A29; --cr:#FAF8F3; --cr2:#F0ECE1;
  --gd:#C9A84C; --gdl:#E2C47A; --gdd:#A07830; --bl:#31547E;
  --ink:#02131F; --body:#3A4756; --mut:#7C8698; --ln:#EAE4D3;
  --loss:#B03838;
  
  --pg:#071823; --pnl:#0A2231; --pnl2:#0D2A3B; --pnl3:#123246; --tip:#062033;
  --t1:#EDF3F8; --t2:#D6E1EA; --t3:#C7D2DC; --t4:#AEBBCB; --t5:#9FB0C0;
  --t6:#8FA3B4; --t7:#7B8FA1; --t8:#6E8296; --t9:#5D7186;
  --pos:#7BD29C; --neg:#DC6A6A; --neg2:#E39A9A;
  --grid:rgba(255,255,255,.04); --hair:rgba(255,255,255,.09); --hair2:rgba(255,255,255,.07);
  --c-inn:#C9A84C; --c-sp:#93A6BA; --c-ndx:#6FA8E0; --c-emc:#C77FB8;
  --rad:18px; --rad-s:14px;
}


.brim{display:block !important;float:none !important;clear:both !important;width:100% !important;max-width:none !important;min-height:0 !important;margin:0 !important;border:0 !important;box-sizing:border-box !important;background:var(--cr) !important;color:var(--ink) !important;text-decoration:none !important;font-family:'DM Sans',Arial,Helvetica,sans-serif !important;font-size:15px !important;line-height:1.6 !important;text-align:left !important;-webkit-font-smoothing:antialiased;
}


.brim :where(div,span,p,h1,h2,h3,h4,a,header,section,figure,ul,ol,li,b,strong,small,button,table,thead,tbody,tr,td,th,input,label,canvas,img,aside,nav,blockquote){box-sizing:border-box !important;float:none !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;margin:0 !important;padding:0 !important;min-height:0 !important;max-width:none !important;width:auto !important;height:auto !important;color:inherit !important;text-transform:none !important;letter-spacing:normal !important;text-decoration:none !important;list-style:none !important;font-family:'DM Sans',Arial,Helvetica,sans-serif !important;font-size:inherit !important;font-weight:inherit !important;font-style:normal !important;line-height:inherit !important;text-align:inherit !important;position:static !important;
}
.brim a{color:inherit !important;text-decoration:none !important;cursor:pointer}
.brim button{font:inherit !important;cursor:pointer;-webkit-appearance:none;appearance:none}
.brim canvas{display:block !important}


.brim .brim-h1,.brim .brim-h2,.brim .brim-h3,.brim .brim-h4{font-family:'Cormorant Garamond',Georgia,serif !important;font-style:normal !important;line-height:1.12 !important;margin:0 !important;
}
.brim .brim-h1{font-size:clamp(42px,5.4vw,68px) !important;font-weight:400 !important;letter-spacing:-.015em !important}
.brim .brim-h2{font-size:clamp(30px,3.6vw,46px) !important;font-weight:500 !important}
.brim .brim-h3{font-size:clamp(21px,2.2vw,26px) !important;font-weight:600 !important;line-height:1.2 !important}
.brim .brim-h4{font-size:19px !important;font-weight:600 !important;line-height:1.25 !important}

.brim .brim-h1 em,.brim .brim-h2 em,.brim .brim-h3 em,.brim .brim-h4 em{font-family:inherit !important;font-style:normal !important;font-size:1em !important;font-weight:inherit !important;color:var(--gdd) !important;
}
.brim .brim-lede{font-size:16px !important;font-weight:300 !important;line-height:1.7 !important;color:var(--body) !important;max-width:660px !important}
.brim .brim-p{font-size:14.5px !important;line-height:1.72 !important;color:var(--body) !important}
.brim .brim-sm{font-size:12px !important;line-height:1.65 !important;color:var(--mut) !important}


.brim .brim-n{font-family:'DM Sans',Arial,Helvetica,sans-serif !important;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.01em !important;
}


.brim.brim-sec{padding:52px 0 56px !important;position:relative !important}
.brim.brim-sec--tight{padding:36px 0 40px !important}
.brim.brim-sec--seam{padding-bottom:0 !important}   
.brim.brim-sec--dark{background:linear-gradient(168deg,#041A29,#02131F 60%,#041A29) !important;color:#E8EDF3 !important}
.brim.brim-sec--warm{background:var(--cr2) !important}
/* ══ THE PAGE CONTAINER, DECLARED ONCE ═══════════════════════════════════════
   Container geometry lives in two custom properties so that everything which has to line up
   reads the same numbers. Before this, .brim-in stepped up on wide screens while .bstory-in,
   .brim-contact-inner and .brim-footer-inner each carried their own hardcoded max-width:
   1280px. At 1920 the page ran to 1400 and those three stayed at 1280, so the story player
   sat 60px narrower than the section above it and the bottom of the page — contact form,
   then footer — read as three different systems stitched together.

   The contact form additionally padded 60px against the page's 48px, putting its content
   12px inboard of every other section at every width.

   Contact and Footer stay universal Webflow components; they are not forked. This is the
   page system telling its own containers what width the page is, and only pages that load
   brim-system.css — the rebuilt ones — are affected. */
:root{ --brim-cw:1280px; --brim-cpx:48px }
@media (min-width:1680px){ :root{ --brim-cw:1400px; --brim-cpx:56px } }
@media (min-width:2100px){ :root{ --brim-cw:1520px; --brim-cpx:64px } }

.brim .brim-in,
.bstory-in,
.brim-contact-inner,
.brim-footer-inner{
  max-width:var(--brim-cw) !important;
  margin-left:auto !important; margin-right:auto !important;
  padding-left:var(--brim-cpx) !important;
  padding-right:var(--brim-cpx) !important;
}
.brim .brim-in{position:relative !important;z-index:2}

/* Section rhythm.
   .brim-sec declares 52px top / 56px bottom, so a transition between two sections should be
   108px of air. Measured on Equity Innovation it ranged 108-136: sections whose last child
   carries its own bottom margin were adding 22-28px on top of the section's own padding —
   the classic parent-padding + child-margin accumulation. The section owns the space below
   its content; the last child does not get a second say. */
.brim.brim-sec > .brim-in > *:last-child{margin-bottom:0 !important}

/* Wide-screen steps now live in the --brim-cw / --brim-cpx tokens above, so the story
   player, contact form and footer step with the page instead of staying at 1280. */

.brim .brim-head{display:grid !important;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:56px;align-items:end;margin:0 0 34px !important}
.brim .brim-ix{font-size:11px !important;font-weight:700 !important;letter-spacing:2.2px !important;text-transform:uppercase !important;color:var(--gdd) !important;margin:0 0 12px !important}
.brim.brim-sec--dark .brim-ix{color:var(--gdl) !important}
.brim.brim-sec--dark .brim-lede,.brim.brim-sec--dark .brim-p{color:#B7C0C7 !important}
.brim.brim-sec--dark .brim-h2,.brim.brim-sec--dark .brim-h3{color:#fff !important}
.brim.brim-sec--dark .brim-h2 em{color:var(--gdl) !important}

.brim .brim-eyebrow{display:flex !important;align-items:center;gap:12px;font-size:11px !important;font-weight:700 !important;letter-spacing:2.2px !important;text-transform:uppercase !important;color:var(--gdd) !important;margin:0 0 12px !important}
.brim .brim-eyebrow:before{content:"";width:28px !important;height:2px !important;background:linear-gradient(90deg,var(--gdd),var(--gd)) !important;flex:0 0 28px}
.brim .brim-eyebrow.is-light{color:var(--gdl) !important}
.brim .brim-eyebrow.is-light:before{background:var(--gdl) !important}


.brim .brim-btn{display:inline-flex !important;align-items:center;justify-content:center;gap:8px;padding:13px 22px !important;border-radius:8px !important;font-size:12.5px !important;font-weight:600 !important;letter-spacing:.2px !important;transition:transform .18s,border-color .18s,box-shadow .18s;border:1px solid rgba(2,19,31,.16) !important;color:var(--ink) !important;background:transparent !important;
}
.brim .brim-btn:hover{transform:translateY(-1px);border-color:rgba(2,19,31,.36) !important}
.brim .brim-btn.is-gold{background:linear-gradient(135deg,var(--gdd),var(--gd)) !important;border-color:transparent !important;color:#0A0A0A !important}
.brim .brim-btn.is-gold:hover{box-shadow:0 10px 24px rgba(201,168,76,.3) !important}
.brim .brim-btn.is-navy{background:linear-gradient(135deg,#16334F,#071C33) !important;border-color:rgba(110,150,190,.28) !important;color:#F2F6FA !important}
.brim .brim-btn.is-ghost{border-color:rgba(255,255,255,.24) !important;color:#F2F6FA !important}
.brim .brim-btn.is-ghost:hover{border-color:rgba(201,168,76,.6) !important}

.brim .brim-pill{display:inline-flex !important;align-items:center;gap:7px;border-radius:100px !important;padding:6px 13px !important;font-size:11.5px !important;font-weight:500 !important;border:1px solid rgba(2,19,31,.12) !important;color:#48505A !important;background:rgba(255,255,255,.5) !important}
.brim .brim-pill .brim-dot{width:6px !important;height:6px !important;border-radius:50% !important;background:var(--gd) !important;flex:0 0 6px}
.brim .brim-pill.is-dark{border-color:rgba(255,255,255,.14) !important;color:#CBD5E1 !important;background:rgba(255,255,255,.04) !important}


.brim .brim-card{background:#fff !important;border:1px solid var(--ln) !important;border-radius:var(--rad-s) !important;padding:26px !important;position:relative !important;overflow:hidden !important}
.brim .brim-card--edge:after{content:"";position:absolute !important;left:0;top:0;bottom:0;width:3px !important;background:linear-gradient(180deg,var(--gd),var(--gdd)) !important}
.brim .brim-card--edge{padding-left:29px !important}


.brim .brim-panel{position:relative !important;background:var(--pnl) !important;border:1px solid var(--hair) !important;border-radius:16px !important;padding:20px 18px !important;overflow:visible !important;color:var(--t2) !important;font-size:14px !important;line-height:1.5 !important;
}
.brim .brim-ptop{display:flex !important;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin:0 0 13px !important}
.brim .brim-ptitle{font-family:'DM Sans',Arial,sans-serif !important;font-size:23px !important;font-weight:500 !important;color:var(--t1) !important;line-height:1.25 !important}
.brim .brim-psub{font-size:11.5px !important;color:var(--t6) !important;margin-top:5px !important}


.brim .brim-ctlgrp{display:flex !important;align-items:center;gap:9px}
.brim .brim-ctlgrp .brim-lbl{font-size:9px !important;font-weight:700 !important;letter-spacing:1px !important;text-transform:uppercase !important;color:var(--t7) !important}
.brim .tgl{display:flex !important;border:1px solid rgba(255,255,255,.14) !important;border-radius:100px !important;overflow:hidden !important}
.brim .tgl button{padding:6px 12px !important;background:transparent !important;border:none !important;color:var(--t4) !important;font-size:11px !important;font-weight:500 !important}
.brim .tgl button.on{background:rgba(201,168,76,.16) !important;color:var(--gdl) !important}
.brim .brim-chips{display:flex !important;flex-wrap:wrap;gap:5px;margin:0 0 11px !important}
.brim .brim-chips button{padding:5px 11px !important;border-radius:100px !important;background:transparent !important;border:1px solid rgba(255,255,255,.11) !important;color:var(--t5) !important;font-size:11px !important;font-weight:500 !important;font-variant-numeric:tabular-nums}
.brim .brim-chips button.on{background:rgba(201,168,76,.14) !important;border-color:var(--gd) !important;color:var(--gdl) !important}


.brim .brim-feewrap{position:relative !important}
.brim .feepop{display:none !important;position:absolute !important;top:44px;right:0;z-index:30;width:340px !important;max-width:calc(100vw - 48px) !important;background:#062033 !important;border:1px solid rgba(201,168,76,.55) !important;border-radius:12px !important;padding:16px !important;box-shadow:0 20px 50px rgba(0,0,0,.4) !important}
.brim .feepop.open{display:block !important}
.brim .fp-tabs{display:flex !important;gap:6px;margin:0 0 12px !important}
.brim .fp-tabs button{flex:1 1 auto;background:transparent !important;border:1px solid rgba(255,255,255,.18) !important;color:#9FB0C0 !important;font-size:11px !important;font-weight:600 !important;letter-spacing:.6px !important;text-transform:uppercase !important;padding:9px !important;border-radius:6px !important}
.brim .fp-tabs button.on{background:var(--gd) !important;border-color:var(--gd) !important;color:var(--nv) !important}
.brim .fp-lbl{font-size:12px !important;color:#C7D2DC !important;line-height:1.55 !important;margin:0 0 10px !important}
.brim .fp-lbl b{color:var(--gdl) !important;font-weight:700 !important}
.brim .fp-tiers{display:flex !important;flex-direction:column;gap:6px}
.brim .fp-tiers button{display:flex !important;justify-content:space-between;align-items:center;background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.12) !important;color:#E8EDF3 !important;font-size:12.5px !important;font-weight:500 !important;padding:9px 12px !important;border-radius:7px !important}
.brim .fp-tiers button b{color:var(--gdl) !important;font-weight:700 !important;font-variant-numeric:tabular-nums}
.brim .fp-tiers button.on{border-color:var(--gd) !important;background:rgba(201,168,76,.14) !important}
.brim .fp-inrow{display:flex !important;align-items:center;gap:10px;flex-wrap:wrap}
.brim .fp-inrow input{width:74px !important;background:var(--nv) !important;border:1px solid rgba(255,255,255,.2) !important;color:var(--gdl) !important;font-size:15px !important;font-weight:700 !important;padding:8px 10px !important;border-radius:7px !important;font-variant-numeric:tabular-nums}
.brim .fp-plus{font-size:12px !important;color:#9FB0C0 !important;white-space:nowrap}
.brim .fp-apply{background:var(--gd) !important;border:0 !important;color:var(--nv) !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.6px !important;text-transform:uppercase !important;padding:10px 14px !important;border-radius:7px !important}
.brim .fp-total{margin-top:12px !important;padding-top:11px !important;border-top:1px solid rgba(255,255,255,.1) !important;font-size:12px !important;color:#9FB0C0 !important}
.brim .fp-total b{color:var(--gdl) !important;font-weight:700 !important;font-variant-numeric:tabular-nums}


.brim .brim-stat{display:inline-flex !important;align-items:center;gap:7px;border-radius:100px !important;padding:5px 11px !important;font-size:11px !important;font-weight:500 !important;background:rgba(201,168,76,.12) !important;border:1px solid rgba(201,168,76,.4) !important;color:#8A6E28 !important}
.brim .brim-stat .brim-dot{width:6px !important;height:6px !important;border-radius:50% !important;background:var(--gd) !important;flex:0 0 6px}
.brim .brim-stat.is-bad{background:rgba(176,56,56,.1) !important;border-color:rgba(176,56,56,.45) !important;color:#8E3030 !important}
.brim .brim-stat.is-bad .brim-dot{background:var(--loss) !important}
.brim.brim-sec--dark .brim-stat{color:var(--gdl) !important}


.brim .brim-lg{background:#fff !important;border:1px solid var(--ln) !important;border-radius:var(--rad-s) !important;overflow:hidden !important}
.brim .brim-lgh,.brim .brim-lgr{display:grid !important;align-items:center;gap:8px;padding:12px 18px !important}
.brim .brim-lgh{background:#F7F4EC !important;border-bottom:1px solid var(--ln) !important;font-size:9.5px !important;font-weight:700 !important;letter-spacing:1.1px !important;text-transform:uppercase !important;color:var(--mut) !important}
.brim .brim-lgr{border-bottom:1px solid #F3EFE4 !important;font-size:13.5px !important}
.brim .brim-lgr:last-child{border-bottom:0 !important}
.brim .brim-r{text-align:right !important;font-variant-numeric:tabular-nums;font-weight:500 !important}

.brim .brim-neg{color:var(--loss) !important}
.brim .brim-note{margin-top:14px !important;font-size:11.5px !important;line-height:1.65 !important;color:var(--mut) !important}
.brim .brim-link{color:var(--gdd) !important;font-weight:600 !important;border-bottom:1px solid rgba(160,120,48,.4) !important;padding-bottom:1px !important}
.brim.brim-sec--dark .brim-link{color:var(--gdl) !important;border-bottom-color:rgba(226,196,122,.4) !important}

@media(max-width:1000px){
  .brim .brim-head{grid-template-columns:1fr !important;gap:16px}
}
@media(max-width:900px){
  .brim.brim-sec{padding:40px 0 44px !important}
  .brim.brim-sec--tight{padding:28px 0 32px !important}
  .brim.brim-sec--seam{padding-bottom:0 !important}
  :root{ --brim-cpx:24px }
}
@media(prefers-reduced-motion:reduce){
  .brim *{transition:none !important;animation:none !important}
}