/* ============================================================
   Medical tools — shared page furniture + the four scoped tools
   Each tool's ORIGINAL stylesheet is retokenised to the locked
   palette and scoped to .tl-<key>. No rule was rewritten.
   ============================================================ */
.tl-sibs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:1000px;margin:0 auto}
.tl-sib{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:18px;
  text-decoration:none;border:1px solid var(--hb-border);
  background:linear-gradient(180deg,#FFFDF6,#F6EEDB);
  box-shadow:0 16px 32px -22px rgba(29,22,28,.3),inset 0 1px 0 #fff;
  transition:transform .16s ease,border-color .16s ease}
.tl-sib:hover{transform:translateY(-3px);border-color:#B08542}
.tl-sib .ic{flex:none;width:48px;height:48px;border-radius:14px;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)}
.tl-sib .ic img{width:24px;height:24px}
.tl-sib .tx b{display:block;font:700 16px/1.3 var(--hb-display);color:var(--hb-ink);margin-bottom:5px}
.tl-sib .tx i{display:block;font:500 13.5px/1.6 var(--hb-text);font-style:normal;color:var(--hb-muted)}
.tl-sib--hub{grid-column:1/-1;border-color:#B08542;
  background:linear-gradient(180deg,#FBF3E0,#F2E4C2)}
.tl-sib--hub .ic{background:radial-gradient(circle at 35% 30%,#8C3B32,var(--hb-burg) 55%,#5A1F1A)}
.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:820px){.tl-sibs{grid-template-columns:1fr}}

/* ---------- 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;
  }
}

/* container hygiene — the tool is a panel inside our page, not a page */
.tl-bmi{max-width:1120px;margin:0 auto;background:none}
.tl-bmi .wrap{width:auto;max-width:none;padding:0}
.tl-bmi .card{border-radius:22px;border:1.5px solid #D9A64C;
  box-shadow:0 34px 64px -34px rgba(29,22,28,.42),inset 0 1px 0 #fff}
.tl-bmi .note{margin-top:22px}
.tl-bmi .btn.solid{background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);color:#FCF7EA;
  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,.7)}
.tl-bmi .btn.solid:hover{transform:translateY(-2px)}


/* ---------- 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;
  }
}

/* container hygiene — the tool is a panel inside our page, not a page */
.tl-cvt{max-width:1120px;margin:0 auto;background:none}
.tl-cvt .wrap{width:auto;max-width:none;padding:0}
.tl-cvt .card{border-radius:22px;border:1.5px solid #D9A64C;
  box-shadow:0 34px 64px -34px rgba(29,22,28,.42),inset 0 1px 0 #fff}
.tl-cvt .note{margin-top:22px}
.tl-cvt .btn.solid{background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);color:#FCF7EA;
  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,.7)}
.tl-cvt .btn.solid:hover{transform:translateY(-2px)}


/* ---------- 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;
  }
}

/* container hygiene — the tool is a panel inside our page, not a page */
.tl-yfc{max-width:1120px;margin:0 auto;background:none}
.tl-yfc .wrap{width:auto;max-width:none;padding:0}
.tl-yfc .card{border-radius:22px;border:1.5px solid #D9A64C;
  box-shadow:0 34px 64px -34px rgba(29,22,28,.42),inset 0 1px 0 #fff}
.tl-yfc .note{margin-top:22px}
.tl-yfc .btn.solid{background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);color:#FCF7EA;
  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,.7)}
.tl-yfc .btn.solid:hover{transform:translateY(-2px)}


/* ---------- 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;
  }
}

/* container hygiene — the tool is a panel inside our page, not a page */
.tl-mfq{max-width:1120px;margin:0 auto;background:none}
.tl-mfq .wrap{width:auto;max-width:none;padding:0}
.tl-mfq .card{border-radius:22px;border:1.5px solid #D9A64C;
  box-shadow:0 34px 64px -34px rgba(29,22,28,.42),inset 0 1px 0 #fff}
.tl-mfq .note{margin-top:22px}
.tl-mfq .btn.solid{background:linear-gradient(180deg,#8C3B32,#7B2D26 58%,#5A1F1A);color:#FCF7EA;
  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,.7)}
.tl-mfq .btn.solid:hover{transform:translateY(-2px)}
