@charset "UTF-8";
.flag {
  display: inline-block;
  background: url("/bundles/klemeorcore/img/flags.png") no-repeat top left;
  width: 22px;
  height: 15px;
  vertical-align: middle;
}
.flag.ad {
  background-position: 0px -27px;
}
.flag.ae {
  background-position: 0px -62px;
}
.flag.af {
  background-position: 0px -93px;
}
.flag.ag {
  background-position: 0px -124px;
}
.flag.ai {
  background-position: 0px -154px;
}
.flag.al {
  background-position: 0px -185px;
}
.flag.am {
  background-position: 0px -216px;
}
.flag.an {
  background-position: 0px -247px;
}
.flag.ao {
  background-position: 0px -277px;
}
.flag.aq {
  background-position: 0px -308px;
}
.flag.ar {
  background-position: 0px -339px;
}
.flag.as {
  background-position: 0px -370px;
}
.flag.at {
  background-position: 0px -401px;
}
.flag.au {
  background-position: 0px -431px;
}
.flag.aw {
  background-position: 0px -462px;
}
.flag.ax {
  background-position: 0px -493px;
}
.flag.az {
  background-position: 0px -524px;
}
.flag.ba {
  background-position: 0px -555px;
}
.flag.bb {
  background-position: 0px -586px;
}
.flag.bd {
  background-position: 0px -616px;
}
.flag.be {
  background-position: 0px -647px;
}
.flag.bf {
  background-position: 0px -678px;
}
.flag.bg {
  background-position: 0px -709px;
}
.flag.bh {
  background-position: 0px -739px;
}
.flag.bi {
  background-position: 0px -770px;
}
.flag.bj {
  background-position: 0px -801px;
}
.flag.bl {
  background-position: 0px -832px;
}
.flag.bm {
  background-position: 0px -863px;
}
.flag.bn {
  background-position: 0px -894px;
}
.flag.bo {
  background-position: 0px -924px;
}
.flag.br {
  background-position: 0px -955px;
}
.flag.bs {
  background-position: 0px -986px;
}
.flag.bt {
  background-position: 0px -1017px;
}
.flag.bw {
  background-position: 0px -1047px;
}
.flag.by {
  background-position: 0px -1078px;
}
.flag.bz {
  background-position: 0px -1109px;
}
.flag.ca {
  background-position: 0px -1140px;
}
.flag.cc {
  background-position: 0px -1171px;
}
.flag.cd {
  background-position: 0px -1201px;
}
.flag.cf {
  background-position: 0px -1232px;
}
.flag.cg {
  background-position: 0px -1263px;
}
.flag.ch {
  background-position: 0px -1294px;
}
.flag.ci {
  background-position: 0px -1325px;
}
.flag.ck {
  background-position: 0px -1355px;
}
.flag.cl {
  background-position: 0px -1386px;
}
.flag.cm {
  background-position: 0px -1417px;
}
.flag.cn {
  background-position: 0px -1448px;
}
.flag.co {
  background-position: 0px -1479px;
}
.flag.cr {
  background-position: 0px -1510px;
}
.flag.cu {
  background-position: 0px -1540px;
}
.flag.cv {
  background-position: 0px -1571px;
}
.flag.cw {
  background-position: 0px -1602px;
}
.flag.cx {
  background-position: 0px -1633px;
}
.flag.cy {
  background-position: 0px -1664px;
}
.flag.cz {
  background-position: 0px -1694px;
}
.flag.de {
  background-position: 0px -1725px;
}
.flag.dj {
  background-position: 0px -1756px;
}
.flag.dk {
  background-position: 0px -1787px;
}
.flag.dm {
  background-position: 0px -1817px;
}
.flag.do {
  background-position: 0px -1848px;
}
.flag.dz {
  background-position: 0px -1879px;
}
.flag.ec {
  background-position: 0px -1910px;
}
.flag.ee {
  background-position: 0px -1941px;
}
.flag.eg {
  background-position: 0px -1971px;
}
.flag.eh {
  background-position: 0px -2002px;
}
.flag.er {
  background-position: 0px -2033px;
}
.flag.es {
  background-position: 0px -2064px;
}
.flag.et {
  background-position: 0px -2095px;
}
.flag.eu {
  background-position: 0px -2125px;
}
.flag.fi {
  background-position: 0px -2156px;
}
.flag.fj {
  background-position: 0px -2187px;
}
.flag.fk {
  background-position: 0px -2218px;
}
.flag.fm {
  background-position: 0px -2249px;
}
.flag.fo {
  background-position: 0px -2279px;
}
.flag.fr {
  background-position: 0px -2310px;
}
.flag.ga {
  background-position: 0px -2341px;
}
.flag.gb, .flag.en, .flag.uk {
  background-position: 0px -2372px;
}
.flag.gd {
  background-position: 0px -2403px;
}
.flag.ge {
  background-position: 0px -2433px;
}
.flag.gg {
  background-position: 0px -2464px;
}
.flag.gh {
  background-position: 0px -2495px;
}
.flag.gi {
  background-position: 0px -2526px;
}
.flag.gl {
  background-position: 0px -2557px;
}
.flag.gm {
  background-position: 0px -2587px;
}
.flag.gn {
  background-position: 0px -2618px;
}
.flag.gq {
  background-position: 0px -2649px;
}
.flag.gr {
  background-position: 0px -2680px;
}
.flag.gs {
  background-position: 0px -2711px;
}
.flag.gt {
  background-position: 0px -2741px;
}
.flag.gu {
  background-position: 0px -2772px;
}
.flag.gw {
  background-position: 0px -2803px;
}
.flag.gy {
  background-position: 0px -2834px;
}
.flag.hk {
  background-position: 0px -2865px;
}
.flag.hn {
  background-position: 0px -2896px;
}
.flag.hr {
  background-position: 0px -2926px;
}
.flag.ht {
  background-position: 0px -2957px;
}
.flag.hu {
  background-position: 0px -2988px;
}
.flag.ic {
  background-position: 0px -3019px;
}
.flag.id {
  background-position: 0px -3050px;
}
.flag.ie {
  background-position: 0px -3080px;
}
.flag.il {
  background-position: 0px -3111px;
}
.flag.im {
  background-position: 0px -3142px;
}
.flag.in {
  background-position: 0px -3173px;
}
.flag.iq {
  background-position: 0px -3204px;
}
.flag.ir {
  background-position: 0px -3235px;
}
.flag.is {
  background-position: 0px -3265px;
}
.flag.it {
  background-position: 0px -3296px;
}
.flag.je {
  background-position: 0px -3327px;
}
.flag.jm {
  background-position: 0px -3358px;
}
.flag.jo {
  background-position: 0px -3389px;
}
.flag.jp {
  background-position: 0px -3419px;
}
.flag.ke {
  background-position: 0px -3450px;
}
.flag.kg {
  background-position: 0px -3481px;
}
.flag.kh {
  background-position: 0px -3512px;
}
.flag.ki {
  background-position: 0px -3543px;
}
.flag.km {
  background-position: 0px -3573px;
}
.flag.kn {
  background-position: 0px -3604px;
}
.flag.kp {
  background-position: 0px -3635px;
}
.flag.kr {
  background-position: 0px -3666px;
}
.flag.kw {
  background-position: 0px -3696px;
}
.flag.ky {
  background-position: 0px -3727px;
}
.flag.kz {
  background-position: 0px -3758px;
}
.flag.la {
  background-position: 0px -3788px;
}
.flag.lb {
  background-position: 0px -3819px;
}
.flag.li {
  background-position: 0px -3850px;
}
.flag.lc {
  background-position: 0px -3881px;
}
.flag.lr {
  background-position: 0px -3912px;
}
.flag.lk {
  background-position: 0px -3943px;
}
.flag.ls {
  background-position: 0px -3973px;
}
.flag.lt {
  background-position: 0px -4004px;
}
.flag.lu {
  background-position: 0px -4035px;
}
.flag.lv {
  background-position: 0px -4066px;
}
.flag.ma {
  background-position: 0px -4096px;
}
.flag.ly {
  background-position: 0px -4127px;
}
.flag.md {
  background-position: 0px -4158px;
}
.flag.mc {
  background-position: 0px -4189px;
}
.flag.me {
  background-position: 0px -4220px;
}
.flag.mf {
  background-position: 0px -4251px;
}
.flag.mh {
  background-position: 0px -4281px;
}
.flag.mg {
  background-position: 0px -4312px;
}
.flag.mk {
  background-position: 0px -4343px;
}
.flag.ml {
  background-position: 0px -4374px;
}
.flag.mm {
  background-position: 0px -4404px;
}
.flag.mn {
  background-position: 0px -4435px;
}
.flag.mo {
  background-position: 0px -4466px;
}
.flag.mp {
  background-position: 0px -4497px;
}
.flag.mq {
  background-position: 0px -4528px;
}
.flag.mr {
  background-position: 0px -4559px;
}
.flag.ms {
  background-position: 0px -4589px;
}
.flag.mt {
  background-position: 0px -4620px;
}
.flag.mu {
  background-position: 0px -4651px;
}
.flag.mv {
  background-position: 0px -4682px;
}
.flag.mw {
  background-position: 0px -4713px;
}
.flag.mx {
  background-position: 0px -4743px;
}
.flag.my {
  background-position: 0px -4774px;
}
.flag.mz {
  background-position: 0px -4805px;
}
.flag.nc {
  background-position: 0px -4836px;
}
.flag.na {
  background-position: 0px -4867px;
}
.flag.ne {
  background-position: 0px -4897px;
}
.flag.nf {
  background-position: 0px -4928px;
}
.flag.ng {
  background-position: 0px -4959px;
}
.flag.ni {
  background-position: 0px -4990px;
}
.flag.nl {
  background-position: 0px -5020px;
}
.flag.no {
  background-position: 0px -5051px;
}
.flag.np {
  background-position: 0px -5080px;
  height: 19px;
}
.flag.nr {
  background-position: 0px -5113px;
}
.flag.nz {
  background-position: 0px -5144px;
}
.flag.nu {
  background-position: 0px -5175px;
}
.flag.om {
  background-position: 0px -5205px;
}
.flag.pa {
  background-position: 0px -5236px;
}
.flag.pf {
  background-position: 0px -5267px;
}
.flag.pe {
  background-position: 0px -5298px;
}
.flag.pg {
  background-position: 0px -5328px;
}
.flag.ph {
  background-position: 0px -5359px;
}
.flag.pk {
  background-position: 0px -5390px;
}
.flag.pl {
  background-position: 0px -5421px;
}
.flag.pn {
  background-position: 0px -5451px;
}
.flag.pr {
  background-position: 0px -5482px;
}
.flag.ps {
  background-position: 0px -5513px;
}
.flag.pt {
  background-position: 0px -5544px;
}
.flag.pw {
  background-position: 0px -5575px;
}
.flag.py {
  background-position: 0px -5606px;
}
.flag.ro {
  background-position: 0px -5637px;
}
.flag.qa {
  background-position: 0px -5667px;
}
.flag.ru {
  background-position: 0px -5698px;
}
.flag.rs {
  background-position: 0px -5729px;
}
.flag.sa {
  background-position: 0px -5760px;
}
.flag.rw {
  background-position: 0px -5791px;
}
.flag.sc {
  background-position: 0px -5821px;
}
.flag.sb {
  background-position: 0px -5852px;
}
.flag.sd {
  background-position: 0px -5883px;
}
.flag.se {
  background-position: 0px -5914px;
}
.flag.sg {
  background-position: 0px -5945px;
}
.flag.sh {
  background-position: 0px -5975px;
}
.flag.si {
  background-position: 0px -6006px;
}
.flag.sk {
  background-position: 0px -6037px;
}
.flag.sl {
  background-position: 0px -6068px;
}
.flag.sm {
  background-position: 0px -6098px;
}
.flag.sn {
  background-position: 0px -6129px;
}
.flag.so {
  background-position: 0px -6160px;
}
.flag.sr {
  background-position: 0px -6191px;
}
.flag.ss {
  background-position: 0px -6222px;
}
.flag.st {
  background-position: 0px -6252px;
}
.flag.sv {
  background-position: 0px -6283px;
}
.flag.sy {
  background-position: 0px -6314px;
}
.flag.sz {
  background-position: 0px -6345px;
}
.flag.tc {
  background-position: 0px -6376px;
}
.flag.td {
  background-position: 0px -6407px;
}
.flag.tf {
  background-position: 0px -6437px;
}
.flag.tg {
  background-position: 0px -6468px;
}
.flag.th {
  background-position: 0px -6499px;
}
.flag.tj {
  background-position: 0px -6530px;
}
.flag.tk {
  background-position: 0px -6560px;
}
.flag.tm {
  background-position: 0px -6591px;
}
.flag.tl {
  background-position: 0px -6622px;
}
.flag.tn {
  background-position: 0px -6653px;
}
.flag.to {
  background-position: 0px -6684px;
}
.flag.tr {
  background-position: 0px -6714px;
}
.flag.tt {
  background-position: 0px -6745px;
}
.flag.tw {
  background-position: 0px -6776px;
}
.flag.tv {
  background-position: 0px -6807px;
}
.flag.tz {
  background-position: 0px -6838px;
}
.flag.ua {
  background-position: 0px -6868px;
}
.flag.ug {
  background-position: 0px -6899px;
}
.flag.us {
  background-position: 0px -6930px;
}
.flag.uy {
  background-position: 0px -6961px;
}
.flag.uz {
  background-position: 0px -6992px;
}
.flag.va {
  background-position: 0px -7023px;
}
.flag.vc {
  background-position: 0px -7053px;
}
.flag.ve {
  background-position: 0px -7084px;
}
.flag.vg {
  background-position: 0px -7115px;
}
.flag.vi {
  background-position: 0px -7146px;
}
.flag.vn {
  background-position: 0px -7176px;
}
.flag.vu {
  background-position: 0px -7207px;
}
.flag.wf {
  background-position: 0px -7238px;
}
.flag.ye {
  background-position: 0px -7269px;
}
.flag.ws {
  background-position: 0px -7300px;
}
.flag.za {
  background-position: 0px -7330px;
}
.flag.yt {
  background-position: 0px -7361px;
}
.flag.zm {
  background-position: 0px -7392px;
}
.flag.zw {
  background-position: 0px -7423px;
}

.flagLang {
  display: inline-block;
  background: url("/bundles/klemeorcore/img/flags.png") no-repeat top left;
  width: 30px;
  height: 20px;
  vertical-align: middle;
}
.flagLang.fr {
  background-position: 0px -13px;
}
.flagLang.fr {
  background-position: 0px -10px;
}
.flagLang.en {
  background-position: 0px -51px;
}
.flagLang.ar {
  background-position: 0px -93px;
}
.flagLang.es {
  background-position: 0px -135px;
}

:root {
  --color-navy: #1A2A4F;
  --color-navy-2: #0F1B3A;
  --color-navy-hover: #253866;
  --color-gold: #C9A227;
  --color-gold-soft: #E4C770;
  --color-gold-dark: #A87F1A;
  --color-cream: #F6F1E8;
  --color-cream-2: #EFE8DA;
  --color-ink: #14182A;
  --color-text-body: #3B3F4A;
  --color-muted: #7A7F8C;
  --color-line: #E6DFD0;
  --color-line-2: #EFE9DB;
  --line: 1px solid #E6DFD0;
  --speed: .25s;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 18px;
  --r-full: 999px;
  --shadow-sm: 0 1px 2px rgba(20,24,42,.04), 0 2px 8px rgba(20,24,42,.03);
  --shadow-md: 0 2px 4px rgba(20,24,42,.04), 0 8px 24px rgba(20,24,42,.06);
  --shadow-lg: 0 4px 8px rgba(20,24,42,.05), 0 20px 60px rgba(20,24,42,.10);
  --color-text: #3B3F4A;
  --color-text-dark: #14182A;
  --color-text-light: #FFFFFF;
  --color-primaire: #1A2A4F;
  --color-primaire-dark: #0F1B3A;
  --color-primaire-light: rgba(26, 42, 79, 0.12);
  --color-primaire-transparent: rgba(26, 42, 79, 0.06);
  --real-theme-color-1: #1A2A4F;
  --real-theme-color-2: #C9A227;
  --color-secondaire: #C9A227;
  --color-secondaire-dark: #A87F1A;
  --color-secondaire-light: #E4C770;
  --color-bg-light: #F6F1E8;
  --color-bg-white: #FFFFFF;
  --color-bg-dark: #14182A;
  --color-danger: #c92523;
  --color-success: #40b521;
  --color-delete: #ff0000;
  --color-delete-light: #ffcdc0;
  --color-noir: #14182A;
  --color-gris: #7A7F8C;
}

:root {
  --real-font-regular: Fustat, system-ui, -apple-system, sans-serif;
  --real-font-italic: Fustat, system-ui, -apple-system, sans-serif;
  --real-font-bold: Fustat, system-ui, -apple-system, sans-serif;
  --real-font-black: Fustat, system-ui, -apple-system, sans-serif;
  --real-font-titre: Fustat, system-ui, -apple-system, sans-serif;
  --font-regular: Fustat, system-ui, -apple-system, sans-serif;
  --font-italic: Fustat, system-ui, -apple-system, sans-serif;
  --font-mono: JetBrains Mono, Courier New, monospace;
  --fw-light: 200;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fs-body-xs: 1.2rem;
  --fs-body-sm: 1.4rem;
  --fs-body-md: 1.6rem;
  --fs-body-lg: 1.7rem;
  --fs-body-xl: 1.8rem;
  --fs-display-sm: 2rem;
  --fs-display-md: 2.6rem;
  --fs-display-lg: clamp(3.2rem, 3.6vw, 4.8rem);
  --fs-display-xl: clamp(4rem, 5.2vw, 7.2rem);
  --fs-display-hero: clamp(4.8rem, 7vw, 10.4rem);
  --fs-display-hero-xl: clamp(5.6rem, 8.5vw, 12.8rem);
  --ls-tight: -0.035em;
  --ls-snug: -0.02em;
  --ls-mono: 0.06em;
  --ls-eyebrow: 0.18em;
  --lh-tight: 0.98;
  --lh-heading: 1.08;
  --lh-snug: 1.2;
  --lh-normal: 1.5;
  --lh-body: 1.6;
  --lh-loose: 1.75;
}

body.front .btn, body.front button.btn {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 2.2rem;
  border-radius: var(--r-full);
  font-family: "Fustat", system-ui, -apple-system, sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.6;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all var(--speed) var(--ease);
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.front .btn.btn-arrow::after, body.front button.btn.btn-arrow::after {
  content: "→";
  font-weight: 400;
  margin-left: 0.8rem;
  transition: transform var(--speed) var(--ease);
}
body.front .btn.btn-arrow:hover::after, body.front button.btn.btn-arrow:hover::after {
  transform: translateX(3px);
}
body.front .btn-sm {
  padding: 1rem 1.6rem;
  font-size: 1.4rem;
}
body.front .btn-lg {
  padding: 1.8rem 2.8rem;
  font-size: 1.6rem;
}
body.front .btn-primary {
  background: var(--color-navy);
  color: #fff;
  border-color: var(--color-navy);
}
body.front .btn-primary:hover {
  background: var(--color-navy-hover);
  border-color: var(--color-navy-hover);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(26, 42, 79, 0.25);
  color: #fff;
}
body.front .btn-secondary, body.front .btn-gold {
  background: var(--color-gold);
  color: #fff;
  border-color: var(--color-gold);
}
body.front .btn-secondary:hover, body.front .btn-gold:hover {
  background: var(--color-gold-dark);
  border-color: var(--color-gold-dark);
  transform: translateY(-1px);
  color: #fff;
}
body.front .btn-outline {
  background: transparent;
  color: var(--color-navy);
  border-color: rgba(26, 42, 79, 0.3);
}
body.front .btn-outline:hover {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: #fff;
}
body.front .btn-ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}
body.front .btn-ghost:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
body.front .btn-white {
  background: #fff;
  color: var(--color-navy);
  border-color: #fff;
}
body.front .btn-white:hover {
  background: var(--color-cream);
  border-color: var(--color-cream);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
  color: var(--color-navy);
}

html, body {
  font-size: 10px;
}

html {
  min-height: 100%;
}

body {
  font-family: "Fustat", system-ui, -apple-system, sans-serif;
  font-weight: var(--fw-regular);
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body);
  background: var(--color-cream) !important;
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
@media print {
  body {
    background: #fff;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-regular);
  color: var(--color-ink);
  letter-spacing: var(--ls-snug);
  margin: 0;
  text-wrap: balance;
  line-height: var(--lh-heading);
}

h1 {
  font-size: var(--fs-display-xl);
  font-weight: var(--fw-extrabold);
  letter-spacing: var(--ls-tight);
}

h2 {
  font-size: var(--fs-display-lg);
  font-weight: var(--fw-bold);
}

h3 {
  font-size: var(--fs-display-md);
  font-weight: var(--fw-semibold);
}

h4 {
  font-size: var(--fs-display-sm);
  font-weight: var(--fw-semibold);
}

h5 {
  font-size: var(--fs-body-xl);
  font-weight: var(--fw-semibold);
}

h6 {
  font-size: var(--fs-body-lg);
  font-weight: var(--fw-semibold);
}

p {
  text-wrap: pretty;
  margin: 0 0 1rem;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none !important;
}

img {
  max-width: 100%;
  display: block;
}

.section-eyebrow,
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: var(--fs-body-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-navy);
}
.section-eyebrow::before,
.eyebrow::before {
  content: "";
  width: 2.4rem;
  height: 1px;
  background: currentColor;
  display: inline-block;
  flex-shrink: 0;
}

.lead {
  font-size: clamp(1.8rem, 1.4vw, 2.2rem);
  line-height: 1.5;
  color: var(--color-text);
  font-weight: var(--fw-regular);
}

.text-muted {
  color: var(--color-muted);
}

.text-gold {
  color: var(--color-gold);
}

.text-navy {
  color: var(--color-navy);
}

.text-ink {
  color: var(--color-ink);
}

.text-cream {
  color: var(--color-cream);
}

.text-center {
  text-align: center;
}

.text-mono {
  font-family: var(--font-mono);
  letter-spacing: var(--ls-mono);
}

.container {
  padding: 0;
  width: 95%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
@media only screen and (max-width: 1024px) {
  .container {
    max-width: 92%;
  }
}
@media only screen and (max-width: 660px) {
  .container {
    max-width: 100%;
    padding: 0 2rem;
  }
}

.container-narrow {
  max-width: 880px;
  margin: 0 auto;
  width: 95%;
}

section {
  padding: 9.6rem 0;
}

.section-tight {
  padding: 6.4rem 0;
}

.section-large {
  padding: 12.8rem 0;
}

.divider {
  height: 1px;
  background: var(--color-line);
  width: 100%;
}

.card {
  background: var(--color-bg-white);
  border-radius: var(--r-lg);
  padding: 3.6rem;
  border: 1px solid var(--color-line-2);
  box-shadow: var(--shadow-sm);
}

.card-lg {
  padding: 4.8rem;
}

.card-tight {
  padding: 2.4rem;
}

.card-navy {
  background: var(--color-navy);
  color: var(--color-cream);
  border-radius: var(--r-lg);
  padding: 4.8rem;
}
.card-navy h1, .card-navy h2, .card-navy h3, .card-navy h4, .card-navy h5, .card-navy h6 {
  color: #fff;
}

.card-cream {
  background: var(--color-cream);
  border-radius: var(--r-lg);
  padding: 3.6rem;
  border: 1px solid var(--color-line);
}

.grid {
  display: grid;
  gap: 2.4rem;
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

@media only screen and (max-width: 1024px) {
  .grid-2, .grid-3, .grid-4 {
    grid-template-columns: 1fr;
  }
}
.tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 1.2rem;
  border-radius: var(--r-full);
  font-size: var(--fs-body-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  background: var(--color-cream);
  color: var(--color-ink);
  border: 1px solid var(--color-line);
}

.tag-navy {
  background: var(--color-navy);
  color: #fff;
  border-color: var(--color-navy);
}

.tag-gold {
  background: var(--color-gold);
  color: #fff;
  border-color: var(--color-gold);
}

html {
  scrollbar-width: thin;
  scrollbar-color: var(--color-navy) var(--color-cream);
}

:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 3px;
}

.css_mce {
  font-family: "Fustat", system-ui, -apple-system, sans-serif;
  font-size: var(--fs-body-md);
  line-height: var(--lh-body);
  color: var(--color-text);
}
.css_mce p {
  margin: 0 0 1.2em;
}
.css_mce ul, .css_mce ol {
  margin: 0 0 1.2em;
  padding-left: 2em;
}
.css_mce li {
  margin-bottom: 0.4em;
}
.css_mce h1, .css_mce h2, .css_mce h3, .css_mce h4, .css_mce h5, .css_mce h6 {
  font-family: "Fustat", system-ui, -apple-system, sans-serif;
  color: var(--color-ink);
  letter-spacing: var(--ls-snug);
  font-weight: 700;
  line-height: var(--lh-heading);
  margin: 0 0 0.6em;
}
.css_mce h2 {
  font-size: var(--fs-display-lg);
}
.css_mce h3 {
  font-size: var(--fs-display-md);
}
.css_mce h4 {
  font-size: var(--fs-display-sm);
}
.css_mce a {
  color: var(--color-navy);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.css_mce a:hover {
  color: var(--color-gold);
}
.css_mce strong {
  font-weight: 700;
}
.css_mce em {
  font-style: italic;
}
.css_mce blockquote {
  margin: 2em 0;
  padding: 2rem 2.4rem;
  border-left: 3px solid var(--color-gold);
  background: var(--color-cream);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-size: var(--fs-body-xl);
  color: var(--color-ink);
  font-weight: 500;
}
.css_mce hr {
  border: none;
  border-top: 1px solid var(--color-line);
  margin: 2.4em 0;
}
.css_mce table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
}
.css_mce table th, .css_mce table td {
  padding: 1rem 1.4rem;
  border: 1px solid var(--color-line);
  text-align: left;
}
.css_mce table th {
  background: var(--color-navy);
  color: #fff;
  font-weight: 600;
}
.css_mce table tr:nth-child(even) td {
  background: var(--color-cream);
}
.css_mce .btn {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 2.2rem;
  border-radius: var(--r-full);
  font-family: "Fustat", system-ui, -apple-system, sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.6;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all var(--speed, 0.25s) var(--ease, ease);
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.css_mce .btn.btn-arrow::after {
  content: "→";
  font-weight: 400;
  margin-left: 0.8rem;
  transition: transform var(--speed, 0.25s);
}
.css_mce .btn.btn-arrow:hover::after {
  transform: translateX(3px);
}
.css_mce .btn-sm {
  padding: 1rem 1.6rem;
  font-size: 1.4rem;
}
.css_mce .btn-lg {
  padding: 1.8rem 2.8rem;
  font-size: 1.6rem;
}
.css_mce .btn-primary {
  background: var(--color-navy);
  color: #fff;
  border-color: var(--color-navy);
}
.css_mce .btn-primary:hover {
  background: var(--color-navy-hover);
  border-color: var(--color-navy-hover);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(26, 42, 79, 0.25);
  color: #fff;
}
.css_mce .btn-secondary, .css_mce .btn-gold {
  background: var(--color-gold);
  color: #fff;
  border-color: var(--color-gold);
}
.css_mce .btn-secondary:hover, .css_mce .btn-gold:hover {
  background: var(--color-gold-dark);
  border-color: var(--color-gold-dark);
  color: #fff;
}
.css_mce .btn-outline {
  background: transparent;
  color: var(--color-navy);
  border-color: rgba(26, 42, 79, 0.3);
}
.css_mce .btn-outline:hover {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: #fff;
}
.css_mce .btn-ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}
.css_mce .btn-ghost:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.css_mce .btn-white {
  background: #fff;
  color: var(--color-navy);
  border-color: #fff;
}
.css_mce .btn-white:hover {
  background: var(--color-cream);
  border-color: var(--color-cream);
  color: var(--color-navy);
}

/*# sourceMappingURL=site.css.map */
