/* elc-formation.css — the per-emirate and per-free-zone pages */
.fm-hero{ background:#8B1A1A; color:#fff; padding:56px 0 48px; }
.fm-hero .wrap{ max-width:1180px; margin:0 auto; padding:0 34px; }
.fm-hero .eyebrow{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:#F7D9D7; margin:0 0 12px; }
.fm-hero h1{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:clamp(2rem,4vw,3rem); line-height:1.12; letter-spacing:-.02em; margin:0 0 14px; max-width:16ch; }
.fm-hero p{ font-size:18.24px; line-height:29.5488px; color:rgba(255,255,255,.90); margin:0; max-width:62ch; }
.fm-hero .fm-from{ display:inline-block; margin-top:22px; padding:9px 18px; border-radius:999px; background:#fff; color:#8B1A1A; font-weight:700; font-variant-numeric:tabular-nums; }

.fm-sec{ padding:52px 0; }
.fm-sec .wrap{ max-width:1180px; margin:0 auto; padding:0 34px; }
.fm-sec--tint{ background:#FBF2F1; border-block:1px solid #F3E3E2; }
.fm-sec h2{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.2; letter-spacing:-.015em; color:#1A1A1A; margin:0 0 10px; }
.fm-sec .lede{ font-size:17px; line-height:28.05px; color:#55555C; margin:0 0 24px; max-width:68ch; }

.fm-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid #E3E3E6; border-radius:12px; overflow:hidden; font-variant-numeric:tabular-nums; }
.fm-table th, .fm-table td{ padding:11px 16px; border-bottom:1px solid #E3E3E6; font-size:.93rem; text-align:left; }
.fm-table th{ background:#F6F6F8; font-weight:600; color:#1A1A1A; }
.fm-table td:last-child, .fm-table th:last-child{ text-align:right; white-space:nowrap; }
.fm-table tr:last-child td{ border-bottom:0; }
.fm-table tr.is-total td{ background:#F3E3E2; font-weight:700; color:#8B1A1A; }
.fm-scroll{ overflow-x:auto; }

.fm-calc{ display:grid; grid-template-columns:1fr 360px; gap:22px; align-items:start; margin-top:8px; }
.fm-calc-in{ background:#fff; border:1px solid #E3E3E6; border-radius:14px; padding:22px; }
.fm-field{ margin-bottom:16px; }
.fm-field label{ display:block; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:#6E6E6E; margin:0 0 6px; }
.fm-field select, .fm-field input{
  width:100%; padding:11px 13px; border:1px solid #E3E3E6; border-radius:9px;
  font-family:'Source Sans 3',system-ui,sans-serif; font-size:15px; color:#1A1A1A; background:#fff;
}
.fm-field select:focus, .fm-field input:focus{ outline:2px solid #8B1A1A; outline-offset:1px; }
.fm-out{ background:#8B1A1A; color:#fff; border-radius:14px; padding:24px 22px; position:sticky; top:84px; }
.fm-out .k{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:#F7D9D7; }
.fm-out .v{ font-family:'Newsreader',Georgia,serif; font-size:2.3rem; line-height:1.05; font-weight:700; margin:6px 0 4px; font-variant-numeric:tabular-nums; }
.fm-out .note{ font-size:.84rem; line-height:1.5; color:rgba(255,255,255,.86); margin:10px 0 0; }
.fm-out ul{ list-style:none; margin:16px 0 0; padding:14px 0 0; border-top:1px solid rgba(255,255,255,.26); }
.fm-out li{ display:flex; justify-content:space-between; gap:12px; font-size:.88rem; padding:5px 0; color:rgba(255,255,255,.92); font-variant-numeric:tabular-nums; }
.fm-cta{ display:inline-block; margin-top:18px; width:100%; text-align:center; background:#fff; color:#8B1A1A; border-radius:999px; padding:12px 20px; font-weight:700; text-decoration:none; }
.fm-cta:hover{ background:#F3E3E2; color:#6E1515; }

.fm-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
.fm-card{ background:#fff; border:1px solid #E3E3E6; border-radius:12px; padding:20px; }
.fm-card h3{ font-family:'Newsreader',Georgia,serif; font-weight:600; font-size:1.06rem; margin:0 0 6px; color:#1A1A1A; }
.fm-card p{ margin:0; font-size:.92rem; line-height:1.55; color:#55555C; }

.fm-note{ font-size:.86rem; line-height:1.55; color:#6E6E6E; margin-top:14px; }
.fm-faq{ margin-top:10px; }
.fm-faq details{ border-bottom:1px solid #E3E3E6; padding:14px 0; }
.fm-faq summary{ cursor:pointer; font-weight:600; color:#1A1A1A; font-size:1rem; }
.fm-faq p{ margin:10px 0 0; font-size:.94rem; line-height:1.6; color:#55555C; }

@media (max-width:980px){
  .fm-calc{ grid-template-columns:1fr; }
  .fm-out{ position:static; }
  .fm-grid{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .fm-hero{ padding:40px 0 34px; }
  .fm-hero .wrap, .fm-sec .wrap{ padding:0 18px; }
}

.fm-card--link{ display:block; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.fm-card--link:hover{ transform:translateY(-2px); box-shadow:0 2px 4px rgba(26,8,8,.06),0 12px 28px rgba(26,8,8,.09); border-color:#D9C3C3; }
.fm-go{ display:inline-block; margin-top:12px; font-size:.86rem; font-weight:600; color:#8B1A1A; }
.fm-chooser .fm-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:980px){ .fm-chooser .fm-grid{ grid-template-columns:1fr; } }

/* the from-price under the hero lede, on the white hero */
.fm-pricepill{
  display:inline-block;
  margin:0 0 18px;
  padding:8px 16px;
  border-radius:999px;
  background:#F3E3E2;
  border:1px solid #E4C9C7;
  color:#8B1A1A;
  font-weight:700;
  font-size:.95rem;
  font-variant-numeric:tabular-nums;
}
