/* ============================================================
   Medical Fitness Calculator — hub page
   ============================================================ */

/* — hero important plate — */
.mf-important{max-width:760px;margin:26px auto 0;padding:18px 24px;border-radius:16px;text-align:left;
  border:1px solid rgba(123,45,38,.3);background:#FBF1EC;
  box-shadow:0 16px 32px -22px rgba(90,31,26,.35),inset 0 1px 0 #fff}
.mf-important .k{display:inline-block;margin-bottom:8px;padding:6px 14px;border-radius:999px;
  font:700 10.5px/1 var(--hb-text);letter-spacing:.16em;text-transform:uppercase;color:#FCF7EA;
  background:linear-gradient(180deg,#8C3B32,var(--hb-burg) 58%,#5A1F1A)}
.mf-important p{margin:0;font:500 14px/1.7 var(--hb-text);color:#5A2620}

/* — tool cards — */
.mf-tools{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1080px;margin:0 auto}
.mf-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 24px 46px -28px rgba(29,22,28,.34),inset 0 1px 0 #fff;
  transition:transform .18s ease,border-color .18s ease}
.mf-card:hover{transform:translateY(-3px);border-color:#B08542}
.mf-shot{display:block;aspect-ratio:16/9;overflow:hidden;background:#F0E6CE;
  border-bottom:1px solid var(--hb-border)}
.mf-shot img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s cubic-bezier(.22,.8,.3,1)}
.mf-card:hover .mf-shot img{transform:scale(1.04)}
.mf-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.mf-num{display:inline-block;align-self:flex-start;margin-bottom:10px;padding:6px 13px;border-radius:999px;
  font:700 10.5px/1 var(--hb-text);letter-spacing:.16em;text-transform:uppercase;color:#3F2F10;
  background:linear-gradient(180deg,#F0CE83,var(--hb-gold) 58%,#C89440);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.2)}
.mf-card h3{margin:0 0 10px;font:700 19px/1.3 var(--hb-display);color:var(--hb-ink)}
.mf-card p{margin:0 0 12px;font:500 14px/1.7 var(--hb-text);color:var(--hb-body)}
.mf-helps{font-weight:700!important;color:var(--hb-ink)!important;margin-bottom:4px!important}
.mf-note{font-size:13px!important;color:#5A2620!important;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(123,45,38,.25);background:#FBF1EC}
.mf-cta{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:9px;
  padding:13px 22px;border-radius:999px;text-decoration:none;
  font:700 14px/1 var(--hb-text);color:#FCF7EA;
  background:linear-gradient(180deg,#8C3B32,var(--hb-burg) 58%,#5A1F1A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.3),
    0 12px 20px -11px rgba(90,31,26,.7);transition:transform .15s ease}
.mf-cta:hover{transform:translateY(-2px)}
.mf-cta::after{content:"";width:11px;height:11px;border-top:2.4px solid #F3D58C;
  border-right:2.4px solid #F3D58C;transform:rotate(45deg) scale(.8)}

/* — result language plate — */
.mf-lang{max-width:900px;margin:30px auto 0;padding:26px 28px;border-radius:20px;
  border:1px solid var(--hb-border);background:linear-gradient(180deg,#FFFDF6,#F7EFDC);
  box-shadow:0 20px 40px -26px rgba(29,22,28,.3),inset 0 1px 0 #fff}
.mf-lang h3{margin:0 0 14px;text-align:center;font:700 18px/1.3 var(--hb-display);color:var(--hb-ink)}
.mf-langlist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.mf-langlist li{position:relative;padding:11px 18px 11px 34px;border-radius:999px;
  font:600 13px/1 var(--hb-text);color:#1E4732;
  background:linear-gradient(180deg,#E4F0E6,#CFE6D8);border:1px solid rgba(44,106,71,.35)}
.mf-langlist li::before{content:"";position:absolute;left:14px;top:50%;width:11px;height:6px;
  border-left:2.4px solid var(--hb-green);border-bottom:2.4px solid var(--hb-green);
  transform:translateY(-70%) rotate(-45deg)}
.mf-avoid{margin:18px 0 0;padding:14px 18px;border-radius:14px;text-align:center;
  border:1px solid rgba(123,45,38,.3);background:#FBF1EC;
  font:500 13.5px/1.7 var(--hb-text);color:#5A2620}
.mf-avoid .k{display:inline-block;margin-right:8px;padding:5px 12px;border-radius:999px;
  font:700 10px/1 var(--hb-text);letter-spacing:.16em;text-transform:uppercase;color:#FCF7EA;
  background:linear-gradient(180deg,#8C3B32,var(--hb-burg) 58%,#5A1F1A)}

/* — examination areas — */
.mf-areas{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1080px;margin:0 auto}
.mf-area{padding:24px 24px 20px;border-radius:18px;border:1px solid var(--hb-border);
  background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 18px 36px -24px rgba(29,22,28,.3),inset 0 1px 0 #fff}
.mf-area h3{display:flex;align-items:center;gap:11px;margin:0 0 10px;
  font:700 17px/1.3 var(--hb-display);color:var(--hb-ink)}
.mf-area .ai{width:26px;height:26px;flex:none}
.mf-area p{margin:0 0 10px;font:500 14px/1.7 var(--hb-text);color:var(--hb-body)}

/* — course table — */
.mf-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:1040px;margin:0 auto}
.mf-table{width:100%;min-width:560px;border-collapse:separate;border-spacing:0;
  border:1.5px solid #D9A64C;border-radius:20px;overflow:hidden;
  box-shadow:0 26px 52px -30px rgba(29,22,28,.36)}
.mf-table th[scope=col]{padding:15px 18px;text-align:left;font:700 14px/1.2 var(--hb-display);
  color:#FCF7EA;background:linear-gradient(180deg,#7E5F31,var(--hb-bronze) 58%,#57411E)}
.mf-table th[scope=col]+th{border-left:1px solid rgba(255,255,255,.14)}
.mf-table th[scope=row]{width:210px;padding:14px 18px;text-align:left;vertical-align:top;
  font:700 14px/1.4 var(--hb-display);color:var(--hb-ink);
  background:#FBF3E0;border-top:1px solid var(--hb-border);border-right:1px solid var(--hb-border)}
.mf-table th[scope=row] a{color:var(--hb-burg);text-decoration:none;
  border-bottom:2px solid rgba(123,45,38,.35)}
.mf-table th[scope=row] a:hover{border-color:var(--hb-burg)}
.mf-table td{padding:14px 18px;font:500 13.8px/1.6 var(--hb-text);color:var(--hb-body);
  background:#FFFDF6;border-top:1px solid var(--hb-border);vertical-align:top}
.mf-table tbody tr:nth-child(even) th[scope=row]{background:#F6EBD2}
.mf-table tbody tr:nth-child(even) td{background:#F8F1DE}

/* — expectation rail — */
.mf-expect{list-style:none;margin:0 auto;padding:0;max-width:900px;position:relative}
.mf-expect::before{content:"";position:absolute;left:23px;top:14px;bottom:14px;width:3px;border-radius:3px;
  background:linear-gradient(180deg,#ECCE77,#B08542 40%,#7B2D26 75%,#2C6A47)}
.mf-expect>li{position:relative;padding:0 0 26px 76px}
.mf-expect>li:last-child{padding-bottom:0}
.mf-expect .n{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;font:800 17px/1 var(--hb-display);
  box-shadow:inset 0 2px 3px rgba(255,255,255,.45),inset 0 -2px 3px rgba(0,0,0,.35),
    0 9px 16px -8px rgba(29,22,28,.5)}
.mf-expect>li:nth-child(-n+2) .n{color:#4A3714;background:radial-gradient(circle at 35% 30%,#F3DA9A,#ECCE77 55%,#C9A44E)}
.mf-expect>li:nth-child(3) .n,.mf-expect>li:nth-child(4) .n{color:#FCF7EA;
  background:radial-gradient(circle at 35% 30%,#8A6A38,#6E5327 55%,#4A3714)}
.mf-expect>li:nth-child(5) .n{color:#FCF7EA;
  background:radial-gradient(circle at 35% 30%,#35815B,#2C6A47 55%,#1E4732)}
.mf-expect h3{margin:4px 0 8px;font:700 17px/1.3 var(--hb-display);color:var(--hb-ink)}
.mf-expect p{margin:0;font:500 14.5px/1.7 var(--hb-text);color:var(--hb-body);max-width:66ch}

/* — fake claim plates — */
.mf-fake{list-style:none;margin:14px auto 0;padding:0;max-width:760px;
  display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mf-fake li{position:relative;padding:13px 16px 13px 42px;border-radius:14px;
  border:1px solid rgba(123,45,38,.28);background:#FBF1EC;
  font:600 13.5px/1.5 var(--hb-text);color:#5A2620}
.mf-fake li::before{content:"";position:absolute;left:16px;top:15px;width:13px;height:13px;
  background:linear-gradient(45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%),
    linear-gradient(-45deg,transparent 42%,var(--hb-burg) 42%,var(--hb-burg) 58%,transparent 58%)}

/* — course chips — */
.mf-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto}
.mf-chip{display:inline-flex;align-items:center;padding:11px 18px;border-radius:999px;
  text-decoration:none;font:700 13px/1 var(--hb-text);color:#3F2F10;
  background:linear-gradient(180deg,#F6E4B4,#EBD190 58%,#D9B96A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 0 rgba(0,0,0,.16),
    0 8px 14px -9px rgba(143,106,46,.55);transition:transform .15s ease}
.mf-chip:hover{transform:translateY(-1px)}

.hb-btn.hbx-app{color:#FCF7EA;background:linear-gradient(180deg,#8A6A38,#6E5327 55%,#4A3714);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -2px 0 rgba(0,0,0,.3),
    0 10px 18px -9px rgba(74,55,20,.6)}
.hb-btn.hbx-app:hover{color:#FCF7EA;transform:translateY(-1px)}

@media (max-width:920px){
  .mf-tools{grid-template-columns:1fr}
  .mf-areas{grid-template-columns:1fr}
}
@media (max-width:600px){
  .mf-fake{grid-template-columns:1fr}
  .mf-expect::before{left:19px}
  .mf-expect>li{padding-left:62px}
  .mf-expect .n{width:40px;height:40px;font-size:15px}
  .mf-table th[scope=row]{width:auto}
}

/* — tool switcher — */
.mf-segs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1080px;margin:0 auto 22px}
.mf-seg{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;cursor:pointer;
  text-align:left;border:1.5px solid var(--hb-border);
  background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 14px 28px -20px rgba(29,22,28,.3),inset 0 1px 0 #fff;
  transition:transform .15s ease,border-color .15s ease}
.mf-seg:hover{transform:translateY(-2px);border-color:#B08542}
.mf-seg .ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#F3D58C,var(--hb-gold) 55%,#B08542);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 2px rgba(0,0,0,.2)}
.mf-seg .ic img{width:20px;height:20px}
.mf-seg .tx b{display:block;font:800 14.5px/1.2 var(--hb-display);color:var(--hb-ink)}
.mf-seg .tx i{display:block;font:600 11.5px/1.4 var(--hb-text);font-style:normal;color:var(--hb-muted);margin-top:3px}
.mf-seg.on{border-color:#8F6A2E;background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.3),
    0 14px 24px -12px rgba(90,31,26,.6)}
.mf-seg.on .tx b{color:#F3D58C}
.mf-seg.on .tx i{color:rgba(252,247,234,.8)}
.mf-seg.on .ic{background:radial-gradient(circle at 35% 30%,#F3DA9A,#ECCE77 55%,#C9A44E)}
.mf-seg:focus-visible{outline:3px solid rgba(226,177,93,.75);outline-offset:2px}

/* card CTAs are buttons now (they mount a tool, not navigate) */
.mf-shot{display:block;width:100%;padding:0;border:0;cursor:pointer;background:#F0E6CE;
  aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--hb-border)}
.mf-cta{border:0;cursor:pointer;font-family:var(--hb-text)}
.mf-shot:focus-visible,.mf-cta:focus-visible{outline:3px solid rgba(226,177,93,.8);outline-offset:2px}

/* per-tool panel heading (colour vision writes into these) */
.tl-tool .tl-head{text-align:center;margin:0 0 18px}
.tl-tool .tl-head h3{margin:0 0 8px;font:800 clamp(21px,2.4vw,27px)/1.25 var(--hb-display);color:var(--hb-ink)}
.tl-tool .tl-head h3 em{color:var(--hb-burg);font-style:normal}
.tl-tool .tl-head p{margin:0 auto;max-width:70ch;font:500 14.5px/1.7 var(--hb-text);color:var(--hb-muted)}

@media (max-width:900px){.mf-segs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.mf-segs{grid-template-columns:1fr}}


/* — tool switcher — */
.mf-segs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1080px;margin:0 auto 22px}
.mf-seg{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;cursor:pointer;
  text-align:left;border:1.5px solid var(--hb-border);
  background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 14px 28px -20px rgba(29,22,28,.3),inset 0 1px 0 #fff;
  transition:transform .15s ease,border-color .15s ease}
.mf-seg:hover{transform:translateY(-2px);border-color:#B08542}
.mf-seg .ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#F3D58C,var(--hb-gold) 55%,#B08542);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 2px rgba(0,0,0,.2)}
.mf-seg .ic img{width:20px;height:20px}
.mf-seg .tx b{display:block;font:800 14.5px/1.2 var(--hb-display);color:var(--hb-ink)}
.mf-seg .tx i{display:block;font:600 11.5px/1.4 var(--hb-text);font-style:normal;color:var(--hb-muted);margin-top:3px}
.mf-seg.on{border-color:#8F6A2E;background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.3),
    0 14px 24px -12px rgba(90,31,26,.6)}
.mf-seg.on .tx b{color:#F3D58C}
.mf-seg.on .tx i{color:rgba(252,247,234,.8)}
.mf-seg.on .ic{background:radial-gradient(circle at 35% 30%,#F3DA9A,#ECCE77 55%,#C9A44E)}
.mf-seg:focus-visible{outline:3px solid rgba(226,177,93,.75);outline-offset:2px}

/* card CTAs are buttons now (they mount a tool, not navigate) */
.mf-shot{display:block;width:100%;padding:0;border:0;cursor:pointer;background:#F0E6CE;
  aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--hb-border)}
.mf-cta{border:0;cursor:pointer;font-family:var(--hb-text)}
.mf-shot:focus-visible,.mf-cta:focus-visible{outline:3px solid rgba(226,177,93,.8);outline-offset:2px}

/* per-tool panel heading (colour vision writes into these) */
.tl-tool .tl-head{text-align:center;margin:0 0 18px}
.tl-tool .tl-head h3{margin:0 0 8px;font:800 clamp(21px,2.4vw,27px)/1.25 var(--hb-display);color:var(--hb-ink)}
.tl-tool .tl-head h3 em{color:var(--hb-burg);font-style:normal}
.tl-tool .tl-head p{margin:0 auto;max-width:70ch;font:500 14.5px/1.7 var(--hb-text);color:var(--hb-muted)}

@media (max-width:900px){.mf-segs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.mf-segs{grid-template-columns:1fr}}


/* — tool switcher — */
.mf-segs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1080px;margin:0 auto 22px}
.mf-seg{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;cursor:pointer;
  text-align:left;border:1.5px solid var(--hb-border);
  background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 14px 28px -20px rgba(29,22,28,.3),inset 0 1px 0 #fff;
  transition:transform .15s ease,border-color .15s ease}
.mf-seg:hover{transform:translateY(-2px);border-color:#B08542}
.mf-seg .ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#F3D58C,var(--hb-gold) 55%,#B08542);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 2px rgba(0,0,0,.2)}
.mf-seg .ic img{width:20px;height:20px}
.mf-seg .tx b{display:block;font:800 14.5px/1.2 var(--hb-display);color:var(--hb-ink)}
.mf-seg .tx i{display:block;font:600 11.5px/1.4 var(--hb-text);font-style:normal;color:var(--hb-muted);margin-top:3px}
.mf-seg.on{border-color:#8F6A2E;background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.3),
    0 14px 24px -12px rgba(90,31,26,.6)}
.mf-seg.on .tx b{color:#F3D58C}
.mf-seg.on .tx i{color:rgba(252,247,234,.8)}
.mf-seg.on .ic{background:radial-gradient(circle at 35% 30%,#F3DA9A,#ECCE77 55%,#C9A44E)}
.mf-seg:focus-visible{outline:3px solid rgba(226,177,93,.75);outline-offset:2px}

/* card CTAs are buttons now (they mount a tool, not navigate) */
.mf-shot{display:block;width:100%;padding:0;border:0;cursor:pointer;background:#F0E6CE;
  aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--hb-border)}
.mf-cta{border:0;cursor:pointer;font-family:var(--hb-text)}
.mf-shot:focus-visible,.mf-cta:focus-visible{outline:3px solid rgba(226,177,93,.8);outline-offset:2px}

/* per-tool panel heading (colour vision writes into these) */
.tl-tool .tl-head{text-align:center;margin:0 0 18px}
.tl-tool .tl-head h3{margin:0 0 8px;font:800 clamp(21px,2.4vw,27px)/1.25 var(--hb-display);color:var(--hb-ink)}
.tl-tool .tl-head h3 em{color:var(--hb-burg);font-style:normal}
.tl-tool .tl-head p{margin:0 auto;max-width:70ch;font:500 14.5px/1.7 var(--hb-text);color:var(--hb-muted)}

@media (max-width:900px){.mf-segs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.mf-segs{grid-template-columns:1fr}}

/* ---------- scoped calculator tools ---------- */
/* ---- bmi-calculator ---- */
.tl-bmi{
  
  --navy: #1D161C;
  --navy-2: #2E2129;
  --gold: #E2B15D;
  --gold-deep: #B08542;
  --green: #2C6A47;
  --red: #7B2D26;
  --cream: #FCF7EA;
  --muted: #543C2C;
  --line: #ECD093;

  
  --c: var(--green);

  
  --fd: 'Sora','Sora Fallback',ui-sans-serif, system-ui, sans-serif;             
  --fb: 'Inter','Inter Fallback','Segoe UI', system-ui, -apple-system, sans-serif; 
}.tl-bmi .under,.tl-bmi .over{ --c: var(--gold-deep); }.tl-bmi .healthy{ --c: var(--green); }.tl-bmi .obese{ --c: var(--red); }.tl-bmi *{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}.tl-bmi{
  font-family: var(--fb);
  color: var(--navy);
  background: var(--cream);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}.tl-bmi a{ color: var(--gold); }.tl-bmi .hide{ display: none !important; }.tl-bmi .wrap{
  max-width: 760px;
  margin: 0 auto;
  padding: 0 18px;
}.tl-bmi .head{
  background: radial-gradient(ellipse at top right, #26304F 0%, var(--navy) 45%, var(--navy-2) 100%);
  color: var(--cream);
  padding: 46px 0 40px;
}.tl-bmi .eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 7px 15px;
  border: 1px solid rgba(212, 162, 76, .34);
  border-radius: 22px;
  background: rgba(212, 162, 76, .12);
  color: var(--gold);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: 2.3px;
  text-transform: uppercase;
}.tl-bmi .eyebrow b{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}.tl-bmi .head h1{
  margin-bottom: 12px;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(2.1rem, 5vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.5px;
}.tl-bmi .head h1 em{
  font-style: italic;
  color: var(--gold);
}.tl-bmi .head p{
  max-width: 600px;
  color: rgba(250, 246, 238, .82);
  font-weight: 300;
  font-size: 1.02rem;
}.tl-bmi .card{
  margin: -26px auto 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #FFF;
  box-shadow: 0 24px 60px rgba(26, 31, 58, .10);
  overflow: hidden;
}.tl-bmi .pad{ padding: 26px 26px 30px; }.tl-bmi .slabel{
  margin-bottom: 14px;
  color: var(--gold-deep);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}.tl-bmi .fields{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 18px;
}.tl-bmi .field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}.tl-bmi .field.full{ grid-column: 1 / -1; }.tl-bmi .field label{
  font-size: .78rem;
  font-weight: 600;
}.tl-bmi .field .hint{
  color: var(--muted);
  font-size: .7rem;
  font-weight: 400;
}.tl-bmi .req{
  color: var(--red);
  font-weight: 700;
}.tl-bmi .field input,.tl-bmi .field select{
  width: 100%;
  padding: 11px 12px;
  border: 1.4px solid var(--line);
  border-radius: 10px;
  background: #FFF;
  color: var(--navy);
  font-family: inherit;
  font-size: .92rem;
  transition: .15s;
}.tl-bmi .field input:focus,.tl-bmi .field select:focus{
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(212, 162, 76, .16);
}.tl-bmi .field.bad input,.tl-bmi .field.bad select{
  border-color: var(--red);
  background: rgba(197, 59, 58, .04);
}.tl-bmi .fld-err{
  display: none;
  color: var(--red);
  font-size: .72rem;
  font-weight: 600;
}.tl-bmi .field.bad .fld-err{ display: block; }.tl-bmi .ht{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
}.tl-bmi .ht.ft{ grid-template-columns: auto 1fr 1fr; }.tl-bmi .ht select{
  width: auto;
  min-width: 92px;
}.tl-bmi .seg{
  display: flex;
  gap: 8px;
}.tl-bmi .seg button{
  flex: 1;
  padding: 11px;
  border: 1.4px solid var(--line);
  border-radius: 10px;
  background: #FFF;
  color: var(--muted);
  font-family: inherit;
  font-size: .86rem;
  font-weight: 600;
  cursor: pointer;
  transition: .15s;
}.tl-bmi .seg button.on{
  border-color: var(--gold-deep);
  background: var(--cream);
  color: var(--navy);
}.tl-bmi .actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}.tl-bmi .btn{
  display: inline-block;
  padding: 13px 24px;
  border: none;
  border-radius: 11px;
  font-family: inherit;
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: .15s;
  cursor: pointer;
}.tl-bmi .btn.solid{
  background: linear-gradient(135deg, var(--gold), var(--gold-deep));
  color: #FFF;
  box-shadow: 0 8px 20px rgba(181, 131, 46, .28);
}.tl-bmi .btn.solid:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
}.tl-bmi .btn.ghost{
  border: 1.4px solid var(--line);
  background: transparent;
  color: var(--muted);
}.tl-bmi .btn.navy{
  background: var(--navy);
  color: #FFF;
}.tl-bmi .btn.outline{
  border: 1.4px solid var(--navy);
  background: #FFF;
  color: var(--navy);
}.tl-bmi .result{
  display: none;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}.tl-bmi .result.show{
  display: block;
  animation: fade .35s ease;
}
@keyframes fade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}.tl-bmi .score{
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 4px;
}.tl-bmi .score .n{
  color: var(--c);
  font-family: var(--fd);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}.tl-bmi .score .band{
  color: var(--c);
  font-size: 1.05rem;
  font-weight: 700;
}.tl-bmi .score .u{
  color: var(--muted);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}.tl-bmi .msg{
  margin-bottom: 18px;
  color: var(--muted);
  font-size: .88rem;
}.tl-bmi .bar-wrap{ margin: 22px 0 8px; }.tl-bmi .bar{
  position: relative;
  height: 14px;
  border-radius: 9px;
  overflow: hidden;
  
  background: linear-gradient(90deg,
    #C9A24C 0 18.5%,
    var(--green) 18.5% 62.5%,
    #D99A3C 62.5% 75%,
    var(--red) 75% 100%);
}.tl-bmi .bar .marker{
  position: absolute;
  top: -5px;
  width: 4px;
  height: 24px;
  border-radius: 3px;
  background: #FFF;
  box-shadow: 0 0 0 2px var(--navy);
  transition: left .7s cubic-bezier(.22, 1, .36, 1);
}.tl-bmi .scale{
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  color: var(--muted);
  font-size: .64rem;
  font-weight: 600;
}.tl-bmi .legend{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 16px;
}.tl-bmi .legend div{
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--cream);
  color: var(--muted);
  font-size: .66rem;
  font-weight: 600;
  text-align: center;
}.tl-bmi .legend b{
  display: block;
  margin-top: 2px;
  font-size: .78rem;
}.tl-bmi .legend .l-under b,.tl-bmi .legend .l-over b{ color: var(--gold-deep); }.tl-bmi .legend .l-healthy b{ color: var(--green); }.tl-bmi .legend .l-obese b{ color: var(--red); }.tl-bmi .legend div.active{
  border-color: var(--c);
  background: #FFF;
  box-shadow: 0 4px 12px rgba(26, 31, 58, .08);
}.tl-bmi .advice{
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid var(--c);
  border-radius: 12px;
  background: var(--cream);
  font-size: .85rem;
}.tl-bmi .advice b{ color: var(--navy); }.tl-bmi .cta{
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(212, 162, 76, .45);
  border-radius: 14px;
  background: #F5EAD8;
}.tl-bmi .cta h3{
  margin-bottom: 5px;
  font-family: var(--fd);
  font-size: 1.2rem;
  font-weight: 700;
}.tl-bmi .cta p{
  margin-bottom: 13px;
  color: #6A5A35;
  font-size: .85rem;
}.tl-bmi .cta .row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}.tl-bmi .cta .btn{
  padding: 10px 17px;
  font-size: .85rem;
}.tl-bmi .note{
  margin: 0 auto 30px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.6;
}.tl-bmi .note b{ color: var(--navy); }.tl-bmi .foot{
  padding: 24px 0;
  background: var(--navy);
  color: rgba(250, 246, 238, .72);
  font-size: .78rem;
  text-align: center;
}.tl-bmi .foot .sig{
  margin-bottom: 5px;
  color: var(--cream);
  font-family: var(--fd);
  font-size: 1.05rem;
  font-weight: 600;
}


@media (max-width: 600px) {.tl-bmi .fields{ grid-template-columns: 1fr; }.tl-bmi .legend{ grid-template-columns: 1fr 1fr; }.tl-bmi .card{ margin-top: -18px; }
}.tl-bmi .btn:focus-visible,.tl-bmi .seg button:focus-visible,.tl-bmi a:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {.tl-bmi *,.tl-bmi .result.show,.tl-bmi .bar .marker,.tl-bmi .btn.solid:hover{
    animation: none !important;
    transition: none !important;
  }
}

/* ---- colour-vision-test ---- */
.tl-cvt{
  
  --navy: #1D161C;
  --navy-2: #2E2129;
  --gold: #E2B15D;
  --gold-deep: #B08542;
  --green: #2C6A47;
  --red: #7B2D26;
  --cream: #FCF7EA;
  --muted: #543C2C;
  --line: #ECD093;

  
  --c: var(--green);

  
  --fd: 'Sora','Sora Fallback',ui-sans-serif, system-ui, sans-serif;             
  --fb: 'Inter','Inter Fallback','Segoe UI', system-ui, -apple-system, sans-serif; 
}.tl-cvt .normal{ --c: var(--green); }.tl-cvt .review{ --c: var(--red); }.tl-cvt *{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}.tl-cvt{
  font-family: var(--fb);
  color: var(--navy);
  background: var(--cream);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}.tl-cvt a{ color: var(--gold); }.tl-cvt .hide{ display: none !important; }.tl-cvt .center{ text-align: center; }.tl-cvt .wrap{
  max-width: 680px;
  margin: 0 auto;
  padding: 0 18px;
}.tl-cvt .head{
  background: radial-gradient(ellipse at top right, #26304F 0%, var(--navy) 45%, var(--navy-2) 100%);
  color: var(--cream);
  padding: 44px 0 38px;
}.tl-cvt .eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  padding: 7px 15px;
  border: 1px solid rgba(212, 162, 76, .34);
  border-radius: 22px;
  background: rgba(212, 162, 76, .12);
  color: var(--gold);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: 2.3px;
  text-transform: uppercase;
}.tl-cvt .eyebrow b{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}.tl-cvt .head h1{
  margin-bottom: 10px;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(2rem, 5vw, 2.8rem);
  line-height: 1.05;
  letter-spacing: -.5px;
}.tl-cvt .head h1 em{
  font-style: italic;
  color: var(--gold);
}.tl-cvt .head p{
  max-width: 560px;
  color: rgba(250, 246, 238, .82);
  font-weight: 300;
  font-size: 1rem;
}.tl-cvt .card{
  margin: -24px auto 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #FFF;
  box-shadow: 0 24px 60px rgba(26, 31, 58, .10);
  overflow: hidden;
}.tl-cvt .pad{ padding: 26px 24px 30px; }.tl-cvt .h3{
  margin-bottom: 12px;
  font-family: var(--fd);
  font-size: 1.5rem;
  font-weight: 700;
}.tl-cvt .rules{
  list-style: none;
  margin: 6px 0 4px;
  counter-reset: r;
}.tl-cvt .rules li{
  counter-increment: r;
  position: relative;
  padding: 9px 0 9px 30px;
  border-bottom: 1px dashed var(--line);
  font-size: .9rem;
}.tl-cvt .rules li:last-child{ border-bottom: none; }.tl-cvt .rules li::before{
  content: counter(r);
  position: absolute;
  left: 0;
  top: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--gold);
  border-radius: 50%;
  background: var(--cream);
  color: var(--gold-deep);
  font-size: .7rem;
  font-weight: 800;
}.tl-cvt .btn{
  display: inline-block;
  padding: 13px 26px;
  border: none;
  border-radius: 11px;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: .15s;
  cursor: pointer;
}.tl-cvt .btn.solid{
  background: linear-gradient(135deg, var(--gold), var(--gold-deep));
  color: #FFF;
  box-shadow: 0 8px 20px rgba(181, 131, 46, .28);
}.tl-cvt .btn.solid:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
}.tl-cvt .btn.ghost{
  border: 1.4px solid var(--line);
  background: transparent;
  color: var(--muted);
}.tl-cvt .btn.navy{
  background: var(--navy);
  color: #FFF;
}.tl-cvt .btn.outline{
  border: 1.4px solid var(--navy);
  background: #FFF;
  color: var(--navy);
}.tl-cvt .warnbox{
  margin-top: 16px;
  padding: 13px 15px;
  border: 1px solid rgba(212, 162, 76, .45);
  border-radius: 12px;
  background: #F5EAD8;
  color: #6A5A35;
  font-size: .82rem;
}.tl-cvt .warnbox b{ color: var(--navy); }.tl-cvt .qtop{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}.tl-cvt .counter{
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .5px;
}.tl-cvt .timer{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: .95rem;
  font-weight: 800;
}.tl-cvt .timer .ring{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 2.5px solid var(--gold);
  border-radius: 50%;
  font-size: .78rem;
}.tl-cvt .timer.low .ring{
  border-color: var(--red);
  color: var(--red);
}.tl-cvt .pbar{
  height: 7px;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--cream);
  overflow: hidden;
}.tl-cvt .pbar i{
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--gold), var(--gold-deep));
  transition: width .3s;
}.tl-cvt .plate{
  display: block;
  width: 300px;
  max-width: 78vw;
  margin: 0 auto;
  border-radius: 50%;
  box-shadow: 0 10px 30px rgba(26, 31, 58, .12);
}.tl-cvt .qq{
  margin: 16px 0 14px;
  color: var(--muted);
  font-size: .92rem;
  text-align: center;
}.tl-cvt .opts{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}.tl-cvt .opt{
  padding: 16px 0;
  border: 1.6px solid var(--line);
  border-radius: 13px;
  background: #FFF;
  color: var(--navy);
  font-family: var(--fd);
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  transition: .12s;
}.tl-cvt .opt:hover{ border-color: var(--gold); }.tl-cvt .opt.sel{
  border-color: var(--navy);
  background: var(--navy);
  color: #FFF;
}.tl-cvt .opt:disabled{
  cursor: default;
  opacity: .85;
}.tl-cvt .tline{
  height: 5px;
  margin-top: 18px;
  border-radius: 4px;
  background: var(--cream);
  overflow: hidden;
}.tl-cvt .tline i{
  display: block;
  width: 100%;
  height: 100%;
  background: var(--gold-deep);
  transition: width 1s linear;
}.tl-cvt .tline.low i{ background: var(--red); }.tl-cvt .qactions{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
}.tl-cvt .score{
  margin-bottom: 6px;
  text-align: center;
}.tl-cvt .score .n{
  color: var(--c);
  font-family: var(--fd);
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1;
}.tl-cvt .score .of{
  color: var(--muted);
  font-size: 1rem;
  font-weight: 600;
}.tl-cvt .band{
  margin-bottom: 6px;
  color: var(--c);
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
}.tl-cvt .rmsg{
  max-width: 480px;
  margin: 0 auto 18px;
  color: var(--muted);
  font-size: .9rem;
  text-align: center;
}.tl-cvt .rbar{
  height: 12px;
  margin: 0 auto 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--cream);
  overflow: hidden;
}.tl-cvt .rbar i{
  display: block;
  width: 0;
  height: 100%;
  background: var(--c);
  transition: width .8s cubic-bezier(.22, 1, .36, 1);
}.tl-cvt .cta{
  margin-top: 20px;
  padding: 18px 20px;
  border: 1px solid rgba(212, 162, 76, .45);
  border-radius: 14px;
  background: #F5EAD8;
}.tl-cvt .cta h3{
  margin-bottom: 5px;
  font-family: var(--fd);
  font-size: 1.2rem;
  font-weight: 700;
}.tl-cvt .cta p{
  margin-bottom: 13px;
  color: #6A5A35;
  font-size: .85rem;
}.tl-cvt .cta .row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}.tl-cvt .cta .btn{
  padding: 10px 17px;
  font-size: .85rem;
}.tl-cvt .note{
  margin: 0 auto 30px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.6;
}.tl-cvt .note b{ color: var(--navy); }.tl-cvt .foot{
  padding: 24px 0;
  background: var(--navy);
  color: rgba(250, 246, 238, .72);
  font-size: .78rem;
  text-align: center;
}.tl-cvt .foot .sig{
  margin-bottom: 5px;
  color: var(--cream);
  font-family: var(--fd);
  font-size: 1.05rem;
  font-weight: 600;
}


@media (max-width: 560px) {.tl-cvt .opts{ grid-template-columns: 1fr 1fr; }.tl-cvt .card{ margin-top: -18px; }
}.tl-cvt .btn:focus-visible,.tl-cvt .opt:focus-visible,.tl-cvt a:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {.tl-cvt *,.tl-cvt .pbar i,.tl-cvt .tline i,.tl-cvt .rbar i,.tl-cvt .btn.solid:hover{
    transition: none !important;
    animation: none !important;
  }
}

/* ---- yellow-fever-centres ---- */
.tl-yfc{
  
  --navy: #1D161C;
  --navy-2: #2E2129;
  --gold: #E2B15D;
  --gold-deep: #B08542;
  --green: #2C6A47;
  --red: #7B2D26;
  --cream: #FCF7EA;
  --muted: #543C2C;
  --line: #ECD093;

  
  --fd: 'Sora','Sora Fallback',ui-sans-serif, system-ui, sans-serif;             
  --fb: 'Inter','Inter Fallback','Segoe UI', system-ui, -apple-system, sans-serif; 
}.tl-yfc *{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}.tl-yfc{
  font-family: var(--fb);
  color: var(--navy);
  background: var(--cream);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}.tl-yfc a{ color: var(--gold); }.tl-yfc .wrap{
  max-width: 860px;
  margin: 0 auto;
  padding: 0 18px;
}.tl-yfc .head{
  background: radial-gradient(ellipse at top right, #26304F 0%, var(--navy) 45%, var(--navy-2) 100%);
  color: var(--cream);
  padding: 44px 0 38px;
}.tl-yfc .eyebrow{
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 16px;
  padding: 7px 15px;
  border: 1px solid rgba(212, 162, 76, .34);
  border-radius: 22px;
  background: rgba(212, 162, 76, .12);
  color: var(--gold);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: 2.3px;
  text-transform: uppercase;
}.tl-yfc .eyebrow b{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}.tl-yfc .pro{
  display: inline-block;
  margin-left: 6px;
  padding: 3px 9px;
  border: 1px solid rgba(14, 143, 99, .45);
  border-radius: 20px;
  background: rgba(14, 143, 99, .18);
  color: #BDEBD6;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: 1.3px;
}.tl-yfc .head h1{
  margin-bottom: 10px;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(2rem, 5vw, 2.9rem);
  line-height: 1.05;
  letter-spacing: -.5px;
}.tl-yfc .head h1 em{
  font-style: italic;
  color: var(--gold);
}.tl-yfc .head p{
  max-width: 630px;
  color: rgba(250, 246, 238, .82);
  font-weight: 300;
  font-size: 1rem;
}.tl-yfc .card{
  margin: -24px auto 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #FFF;
  box-shadow: 0 24px 60px rgba(26, 31, 58, .10);
  overflow: hidden;
}.tl-yfc .pad{ padding: 24px 24px 26px; }.tl-yfc .seafarer{
  margin-bottom: 20px;
  padding: 13px 15px;
  border: 1px solid rgba(212, 162, 76, .45);
  border-radius: 13px;
  background: #F5EAD8;
  color: #6A5A35;
  font-size: .83rem;
}.tl-yfc .seafarer b{ color: var(--navy); }.tl-yfc .controls{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}.tl-yfc .field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}.tl-yfc .field.full{ grid-column: 1 / -1; }.tl-yfc .field label{
  color: var(--gold-deep);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
}.tl-yfc .field select,.tl-yfc .field input{
  width: 100%;
  padding: 12px;
  border: 1.4px solid var(--line);
  border-radius: 11px;
  background: #FFF;
  color: var(--navy);
  font-family: inherit;
  font-size: .95rem;
}.tl-yfc .field select:focus,.tl-yfc .field input:focus{
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(212, 162, 76, .16);
}.tl-yfc .field select:disabled{
  background: var(--cream);
  color: var(--muted);
}.tl-yfc .count{
  margin: 20px 0 12px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 700;
}.tl-yfc .count b{ color: var(--navy); }.tl-yfc .centre{
  margin-bottom: 12px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #FFF;
  transition: .15s;
}.tl-yfc .centre:hover{
  border-color: var(--gold);
  box-shadow: 0 6px 18px rgba(181, 131, 46, .08);
}.tl-yfc .cn{
  margin-bottom: 6px;
  font-family: var(--fd);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}.tl-yfc .tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}.tl-yfc .tag{
  padding: 4px 9px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--cream);
  color: var(--muted);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}.tl-yfc .tag.code{
  border-color: rgba(181, 131, 46, .4);
  color: var(--gold-deep);
}.tl-yfc .row{
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 7px;
  font-size: .85rem;
}.tl-yfc .row .ic{
  flex-shrink: 0;
  width: 17px;
  margin-top: 1px;
  color: var(--gold-deep);
  font-weight: 700;
  text-align: center;
}.tl-yfc .row a{
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  text-decoration: none;
}.tl-yfc .row a:hover{ border-color: var(--gold); }.tl-yfc .tim{ color: var(--muted); }.tl-yfc .maplink{
  display: inline-block;
  margin-top: 6px;
  color: var(--gold-deep);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}.tl-yfc .maplink:hover{ text-decoration: underline; }.tl-yfc .empty{
  padding: 30px 10px;
  color: var(--muted);
  font-size: .9rem;
  text-align: center;
}.tl-yfc .note{
  margin: 6px auto 30px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.6;
}.tl-yfc .note b{ color: var(--navy); }.tl-yfc .foot{
  padding: 24px 0;
  background: var(--navy);
  color: rgba(250, 246, 238, .72);
  font-size: .78rem;
  text-align: center;
}.tl-yfc .foot .sig{
  margin-bottom: 5px;
  color: var(--cream);
  font-family: var(--fd);
  font-size: 1.05rem;
  font-weight: 600;
}


@media (max-width: 560px) {.tl-yfc .controls{ grid-template-columns: 1fr; }.tl-yfc .card{ margin-top: -18px; }
}.tl-yfc .row a:focus-visible,.tl-yfc .maplink:focus-visible,.tl-yfc a:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {.tl-yfc *,.tl-yfc .centre{
    transition: none !important;
    animation: none !important;
  }
}

/* ---- medical-faqs ---- */
.tl-mfq{
  
  --navy: #1D161C;
  --navy-2: #2E2129;
  --gold: #E2B15D;
  --gold-deep: #B08542;
  --green: #2C6A47;
  --red: #7B2D26;
  --cream: #FCF7EA;
  --muted: #543C2C;
  --line: #ECD093;

  
  --fd: 'Sora','Sora Fallback',ui-sans-serif, system-ui, sans-serif;             
  --fb: 'Inter','Inter Fallback','Segoe UI', system-ui, -apple-system, sans-serif; 
}.tl-mfq *{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}.tl-mfq{
  font-family: var(--fb);
  color: var(--navy);
  background: var(--cream);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}.tl-mfq a{ color: var(--gold); }.tl-mfq .wrap{
  max-width: 820px;
  margin: 0 auto;
  padding: 0 18px;
}.tl-mfq .head{
  background: radial-gradient(ellipse at top right, #26304F 0%, var(--navy) 45%, var(--navy-2) 100%);
  color: var(--cream);
  padding: 46px 0 40px;
}.tl-mfq .eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  padding: 7px 15px;
  border: 1px solid rgba(212, 162, 76, .34);
  border-radius: 22px;
  background: rgba(212, 162, 76, .12);
  color: var(--gold);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: 2.3px;
  text-transform: uppercase;
}.tl-mfq .eyebrow b{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}.tl-mfq .head h1{
  margin-bottom: 10px;
  font-family: var(--fd);
  font-weight: 600;
  font-size: clamp(2.1rem, 5vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.5px;
}.tl-mfq .head h1 em{
  font-style: italic;
  color: var(--gold);
}.tl-mfq .head p{
  max-width: 600px;
  color: rgba(250, 246, 238, .82);
  font-weight: 300;
  font-size: 1rem;
}.tl-mfq .card{
  margin: -26px auto 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #FFF;
  box-shadow: 0 24px 60px rgba(26, 31, 58, .10);
  overflow: hidden;
}.tl-mfq .pad{ padding: 24px 24px 28px; }.tl-mfq .banner{
  margin-bottom: 22px;
  padding: 14px 16px;
  border: 1px solid rgba(212, 162, 76, .45);
  border-radius: 13px;
  background: #F5EAD8;
  color: #6A5A35;
  font-size: .83rem;
}.tl-mfq .banner b{ color: var(--navy); }.tl-mfq .chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}.tl-mfq .chip{
  padding: 7px 13px;
  border: 1.4px solid var(--line);
  border-radius: 20px;
  background: var(--cream);
  color: var(--navy);
  font-size: .74rem;
  font-weight: 600;
  text-decoration: none;
  transition: .15s;
}.tl-mfq .chip:hover{
  border-color: var(--gold);
  color: var(--gold-deep);
}.tl-mfq .cat{
  margin-top: 26px;
  scroll-margin-top: 18px;
}.tl-mfq .cat h2{
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--gold);
  color: var(--navy);
  font-family: var(--fd);
  font-size: 1.5rem;
  font-weight: 700;
}.tl-mfq .qa{
  margin-bottom: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #FFF;
  overflow: hidden;
  transition: .15s;
}.tl-mfq .qa.open{
  border-color: var(--gold);
  box-shadow: 0 6px 18px rgba(181, 131, 46, .10);
}.tl-mfq .q{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 15px 16px;
  border: none;
  background: #FFF;
  color: var(--navy);
  font-family: inherit;
  font-size: .94rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}.tl-mfq .q:hover{ background: var(--cream); }.tl-mfq .chev{
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1.5px solid var(--gold);
  border-radius: 50%;
  background: var(--cream);
  color: var(--gold-deep);
  font-size: 1rem;
  font-weight: 800;
  transition: .2s;
  padding-bottom: 5px;
}.tl-mfq .qa.open .chev{
  transform: rotate(45deg);
  border-color: var(--gold);
  background: var(--gold);
  color: #FFF;
}.tl-mfq .a{
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}.tl-mfq .a p{
  padding: 0 16px 16px;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.65;
}.tl-mfq .tools{
  margin-top: 26px;
  padding: 22px;
  border-radius: 16px;
  background: var(--navy);
  color: var(--cream);
}.tl-mfq .tools h3{
  margin-bottom: 6px;
  color: var(--gold);
  font-family: var(--fd);
  font-size: 1.4rem;
  font-weight: 700;
}.tl-mfq .tools p{
  margin-bottom: 14px;
  color: rgba(250, 246, 238, .8);
  font-size: .85rem;
}.tl-mfq .tools .row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}.tl-mfq .btn{
  display: inline-block;
  padding: 11px 17px;
  border-radius: 10px;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
  transition: .15s;
  cursor: pointer;
}.tl-mfq .btn.gold{
  background: linear-gradient(135deg, var(--gold), var(--gold-deep));
  color: #FFF;
}.tl-mfq .btn.line{
  border: 1.4px solid rgba(250, 246, 238, .4);
  background: transparent;
  color: var(--cream);
}.tl-mfq .btn:hover{ transform: translateY(-1px); }.tl-mfq .note{
  margin: 18px auto 30px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.6;
}.tl-mfq .note b{ color: var(--navy); }.tl-mfq .foot{
  padding: 24px 0;
  background: var(--navy);
  color: rgba(250, 246, 238, .72);
  font-size: .78rem;
  text-align: center;
}.tl-mfq .foot .sig{
  margin-bottom: 5px;
  color: var(--cream);
  font-family: var(--fd);
  font-size: 1.05rem;
  font-weight: 600;
}


@media (max-width: 560px) {.tl-mfq .card{ margin-top: -18px; }
}.tl-mfq .q:focus-visible,.tl-mfq .chip:focus-visible,.tl-mfq .btn:focus-visible,.tl-mfq a:focus-visible{
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {.tl-mfq *,.tl-mfq .a,.tl-mfq .chev,.tl-mfq .btn:hover{
    transition: none !important;
    animation: none !important;
  }
}
