.elementor-kit-5819{--e-global-color-primary:#024C8D;--e-global-color-secondary:#0F1E2E;--e-global-color-text:#28394B;--e-global-color-accent:#E8EFF6;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-weight:400;}.elementor-kit-5819 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:980px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:620px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --font-en:Plus Jakarta Sans; --font-bn:Noto Sans Bengali; --brand-primary:#024C8D; --brand-secondary:#123A5E; --brand-sky:#00ABF1; --text-default:#0B1F33; --text-muted:#35495E; --accent-verified:#0A6153; --surface-light:#F2F7FC; --surface-xlight:#EEF6FC; --ink-dark:#081D31; --line-default:#E2E8F0; --border-control:#64748B; --tint-verified:#E9F6F3; --tint-caution:#FDF6EA; --tint-gap:#FDF2F0; --text-caution:#784D02; --text-gap:#8F1E13; --text-official:#1A5C93; --size-h1:48px; --size-h2:36px; --size-h3:28px; --size-body:16px; --size-small:14px; --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --container-max:1180px; --leading-body:1.65; --leading-bangla:1.8; --ink-void:#0A0E13; --accent-verified-bright:#0FA394; --line-cool:#DCE7F0; --agb-canvas:#EFEDE6; --agb-paper:#FBFAF7; --agb-card:#FFFFFF; --agb-ink:#2F3437; --agb-muted:#6B6963; --agb-line:#EAE8E3; --agb-navy:#0A4074; --agb-sky:#1EA7E3; --agb-sky-ink:#0C6FA9; --agb-sky-tint:#E9F5FC; --agb-pill-blue-bg:#E1F3FE; --agb-pill-blue-tx:#1F6C9F; --agb-pill-green-bg:#EDF3EC; --agb-pill-green-tx:#346538; --agb-pill-amber-bg:#FBF3DB; --agb-pill-amber-tx:#956400; --agb-pill-red-bg:#FDEBEC; --agb-pill-red-tx:#9F2F2D; --agb-block:#0A2C52; --agb-block-ink:#EAF2FA; --agb-block-muted:#9FB6CE; --agb-whatsapp:#128A47; --agb-whatsapp-hover:#0E6E39; --agb-radius-sm:8px; --agb-radius:12px; --agb-radius-lg:18px; --agb-max-width:1180px; --agb-body-size:17px; --agb-display:Satoshi; --agb-body:Geist; --agb-mono:JetBrains Mono; --agb-bengali:Noto Serif Bengali; }
/* Start custom CSS */:root{
  --fs-display: clamp(2.05rem, 1.35rem + 2.9vw, 3.35rem);
  --fs-h2: clamp(1.45rem, 1.15rem + 1.30vw, 2.15rem);
  --fs-h3: clamp(1.06rem, 1.00rem + 0.30vw, 1.25rem);
  --fs-lead: clamp(1.00rem, 0.95rem + 0.28vw, 1.16rem);
  --fs-stat: clamp(2.15rem, 1.30rem + 3.6vw, 3.60rem);
  --lh-display:1.06; --lh-h2:1.14; --lh-h3:1.32; --lh-lead:1.55; --lh-body:1.70; --lh-sm:1.60;
  --tr-display:-0.030em; --tr-h2:-0.020em; --tr-h3:-0.012em;
  --m-display:19ch; --m-h2:26ch; --m-lead:56ch; --m-body:68ch;
}
.t-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--tr-display);font-weight:800;color:#0B2545;max-width:var(--m-display);margin:0}
.t-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--tr-h2);font-weight:800;color:#0B2545;max-width:var(--m-h2);margin:0}
.t-h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--tr-h3);font-weight:700;color:#0B2545;margin:0}
.t-lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:#3D5266;max-width:var(--m-lead);margin:0}
.t-body{font-size:1rem;line-height:var(--lh-body);color:#3D5266;max-width:var(--m-body);margin:0}
.t-sm{font-size:0.875rem;line-height:var(--lh-sm);color:#3D5266;margin:0}
.t-xs{font-size:0.78rem;line-height:1.55;color:#5F7186;margin:0}
.t-overline{font-size:0.688rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:#0E7C7B;margin:0 0 .5rem}
.t-stat{font-size:var(--fs-stat);line-height:1;font-weight:800;letter-spacing:-0.035em;color:#0B2545;font-variant-numeric:tabular-nums}
.t-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.t-bn{font-family:"Hind Siliguri",sans-serif;line-height:1.86}
.t-link{font-size:0.875rem;font-weight:700;color:#0E7C7B;text-decoration:none;white-space:nowrap}








/* AGB-HOME-V3-BEGIN */
/* =====================================================================
   AGB Home v3 — Elementor-scoped port of the approved stylesheet
   Source: AGB-HOME-medical.html <style>, lines 29-395.
   Scope:  body.elementor-page-6249 is carried by every top-level Elementor container
           on post 6249. Nothing here can reach wp-admin or another page.
   Values and declaration order are unchanged from the approved design.
   Every .elementor-kit-5819 rewrite is catalogued in agb-home-css-notes.md.
   ===================================================================== */

/* ---------- tokens — was :root ---------- */
body.elementor-page-6249{
  /* scale */
  --fs-display: clamp(2.05rem, 1.35rem + 2.9vw, 3.35rem);  /* 33 -> 54 */
  --fs-h2:      clamp(1.45rem, 1.15rem + 1.30vw, 2.15rem); /* 23 -> 34 */
  --fs-h3:      clamp(1.06rem, 1.00rem + 0.30vw, 1.25rem); /* 17 -> 20 */
  --fs-lead:    clamp(1.00rem, 0.95rem + 0.28vw, 1.16rem); /* 16 -> 18.5 */
  --fs-body:    1rem;      /* 16 */
  --fs-sm:      0.875rem;  /* 14 */
  --fs-xs:      0.78rem;   /* 12.5 */
  --fs-overline:0.688rem;  /* 11 */
  --fs-stat:    clamp(2.15rem, 1.30rem + 3.6vw, 3.6rem);   /* 34 -> 58 */

  /* leading */
  --lh-display:1.06; --lh-h2:1.14; --lh-h3:1.32;
  --lh-lead:1.55; --lh-body:1.70; --lh-sm:1.60;

  /* measure */
  --m-display:19ch; --m-h2:26ch; --m-lead:56ch; --m-body:68ch; --m-tight:46ch;

  /* tracking */
  --tr-display:-0.030em; --tr-h2:-0.020em; --tr-h3:-0.012em; --tr-overline:0.14em;

  /* colour */
  --navy:#123A5E; --navy-dk:#0B2545; --teal:#0E7C7B; --teal-lt:#E6F2F2;
  --orange:#C2461F;--orange-accent:#E8663D; --orange-dk:#A83A18; --ink:#0F1E2E; --ink2:#3D5266;
  --muted:#55677B; --line:#DFE6EE; --line2:#EDF1F5; --canvas:#F6F8FA; --paper:#fff;
  --wa:#147F3A; --wa-dk:#127A39;

  --shadow:0 1px 2px rgba(15,30,46,.04),0 4px 14px rgba(15,30,46,.06);
  --max:1140px;
  /* attachment 6261 — was an 87 KB base64 data URI */
  --hero-img:url("https://abroadguidebd.com/wp-content/uploads/2026/10/hero-landscape-6298.webp");
}

/* ---------- reset, scoped (was *{box-sizing}) ---------- */
body.elementor-page-6249,
body.elementor-page-6249 *,
body.elementor-page-6249 *::before,
body.elementor-page-6249 *::after{box-sizing:border-box}

/* was html{...} — smooth scrolling and text scaling stay inside the scope */
body.elementor-page-6249{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  body.elementor-page-6249{scroll-behavior:auto}
  body.elementor-page-6249 *,
  body.elementor-page-6249 *::before,
  body.elementor-page-6249 *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* was body{...} — typographic base now lives on the section wrapper */
body.elementor-page-6249{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Plus Jakarta Sans","Hind Siliguri",system-ui,-apple-system,sans-serif;
  font-size:var(--fs-body); line-height:var(--lh-body); font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* Bangla needs more leading than Latin at the same size */
body.elementor-page-6249 .bn{font-family:"Hind Siliguri",sans-serif; line-height:1.86}

/* --- semantic type roles --- */
body.elementor-page-6249 .display{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:800;
  letter-spacing:var(--tr-display);color:var(--navy-dk);max-width:var(--m-display);margin:0}
body.elementor-page-6249 .h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:800;
  letter-spacing:var(--tr-h2);color:var(--navy-dk);max-width:var(--m-h2);margin:0}
body.elementor-page-6249 .h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:700;
  letter-spacing:var(--tr-h3);color:var(--navy-dk);margin:0}
body.elementor-page-6249 .lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink2);
  max-width:var(--m-lead);margin:0}
body.elementor-page-6249 .body{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink2);
  max-width:var(--m-body);margin:0}
body.elementor-page-6249 .sm{font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--ink2);margin:0}
body.elementor-page-6249 .xs{font-size:var(--fs-xs);line-height:1.55;color:var(--muted);margin:0}
body.elementor-page-6249 .overline{font-size:var(--fs-overline);letter-spacing:var(--tr-overline);
  text-transform:uppercase;font-weight:700;color:var(--teal);margin:0 0 .5rem}
body.elementor-page-6249 .stat{font-size:var(--fs-stat);line-height:1;font-weight:800;letter-spacing:-0.035em;
  color:var(--navy-dk);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
body.elementor-page-6249 .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
body.elementor-page-6249 p{margin:0 0 .9rem}
body.elementor-page-6249 p:last-child{margin-bottom:0}
body.elementor-page-6249 a{color:var(--teal)}
body.elementor-page-6249 strong,body.elementor-page-6249 b{font-weight:700;color:var(--navy-dk)}
body.elementor-page-6249 img{max-width:100%;height:auto;display:block}

/* --- focus + skip (accessibility primitives, kept inside the scope) --- */
body.elementor-page-6249:focus-visible,
body.elementor-page-6249 :focus-visible{outline:3px solid var(--orange-accent);outline-offset:2px;border-radius:4px}
body.elementor-page-6249 .skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;
  padding:.75rem 1.1rem;z-index:999;font-weight:700;border-radius:0 0 .5rem 0}
body.elementor-page-6249 .skip:focus{left:0}

/* ---------- shell ---------- */
body.elementor-page-6249 .agb-wrap{max-width:1140px;margin:0 auto;padding:0 1.375rem;width:100%}
body.elementor-page-6249 .band{padding:3.75rem 0}

/* ---------------------------------------------------------------------
   Elementor tolerance layer.
   A classic container renders as .e-con > .e-con-inner > children, so a
   grid/flex declared on the parent would see one child instead of N.
   display:contents on the inner wrapper promotes the real children to
   grid/flex items — no extra markup, no class needed from the JSON author.
   --------------------------------------------------------------------- */
body.elementor-page-6249 .hero > .e-con-inner,
body.elementor-page-6249 .split-rail > .e-con-inner,
body.elementor-page-6249 .costgrid > .e-con-inner,
body.elementor-page-6249 .trust-in > .e-con-inner,
body.elementor-page-6249 .stepper > .e-con-inner,
body.elementor-page-6249 .drow > .e-con-inner,
body.elementor-page-6249 .crow > .e-con-inner,
body.elementor-page-6249 .anchor > .e-con-inner,
body.elementor-page-6249 .qgrid > .e-con-inner,
body.elementor-page-6249 .sec-head > .e-con-inner,
body.elementor-page-6249 .figrow > .e-con-inner,
body.elementor-page-6249 .reviewer > .e-con-inner,
body.elementor-page-6249 .hero-search > .e-con-inner,
body.elementor-page-6249 .fgrid > .e-con-inner{display:contents}

body.elementor-page-6249 .sec-canvas{background:var(--canvas);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.elementor-page-6249 .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;
  margin-bottom:1.5rem;flex-wrap:wrap}
body.elementor-page-6249 .link-more{font-size:var(--fs-sm);font-weight:700;color:var(--teal);text-decoration:none;white-space:nowrap}
body.elementor-page-6249 .link-more:hover{text-decoration:underline}

/* ---------- buttons ---------- */
body.elementor-page-6249 .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  border-radius:.5rem;padding:.7rem 1.05rem;font-size:var(--fs-sm);font-weight:700;
  border:1px solid transparent;text-decoration:none;cursor:pointer;
  min-height:44px;font-family:inherit;line-height:1;transition:background .15s,border-color .15s}
body.elementor-page-6249 .btn-p{background:var(--orange);color:#fff} body.elementor-page-6249 .btn-p:hover{background:var(--orange-dk)}
body.elementor-page-6249 .btn-s{background:var(--wa);color:#fff} body.elementor-page-6249 .btn-s:hover{background:var(--wa-dk)}
body.elementor-page-6249 .btn-o{background:transparent;color:var(--navy);border-color:#C6D2DD} body.elementor-page-6249 .btn-o:hover{border-color:var(--navy)}
body.elementor-page-6249 .btn-sm{padding:.55rem .8rem;font-size:var(--fs-xs);min-height:38px}

/* ---------- header ---------- */
body.elementor-page-6249 .hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);
  backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--line)}
body.elementor-page-6249 .hdr-in{display:flex;align-items:center;gap:1.2rem;padding:.7rem 1.375rem;
  max-width:var(--max);margin:0 auto}
body.elementor-page-6249 .logo{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:.97rem;
  color:var(--navy);letter-spacing:-0.02em;text-decoration:none;flex:none}
body.elementor-page-6249 .logo .mark{width:1.5rem;height:1.5rem;border-radius:.44rem;
  background:linear-gradient(135deg,var(--teal),var(--navy))}
body.elementor-page-6249 .nav{display:flex;gap:1.15rem;font-size:var(--fs-xs);font-weight:600}
body.elementor-page-6249 .nav a{color:var(--ink2);text-decoration:none;padding:.4rem 0;
  border-bottom:2px solid transparent}
body.elementor-page-6249 .nav a:hover,body.elementor-page-6249 .nav a[aria-current]{color:var(--navy);border-bottom-color:var(--teal)}
body.elementor-page-6249 .hdr-r{margin-left:auto;display:flex;align-items:center;gap:.5rem}
body.elementor-page-6249 .burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:.5rem;
  background:#fff;align-items:center;justify-content:center;padding:0;cursor:pointer}
body.elementor-page-6249 .burger span,body.elementor-page-6249 .burger span::before,body.elementor-page-6249 .burger span::after{display:block;width:18px;height:2px;
  background:var(--navy);border-radius:2px;position:relative}
body.elementor-page-6249 .burger span::before,body.elementor-page-6249 .burger span::after{content:"";position:absolute;left:0}
body.elementor-page-6249 .burger span::before{top:-6px} body.elementor-page-6249 .burger span::after{top:6px}

/* ---------- 01 HERO · asymmetric split ---------- */
body.elementor-page-6249 .hero{display:grid;grid-template-columns:1.02fr .98fr;background:#FBFDFE;
  border-bottom:1px solid var(--line);align-items:stretch}
body.elementor-page-6249 .hero-copy{padding:4rem 1.5rem 3.5rem;max-width:34rem;margin-left:auto;
  display:flex;flex-direction:column;justify-content:center}
body.elementor-page-6249 .hero-copy .wrap-pad{padding-left:max(0px,calc((100vw - var(--max))/2))}
body.elementor-page-6249 .hero .answer{margin-top:1.1rem}
body.elementor-page-6249 .hero-media{background:var(--hero-img) center/cover no-repeat;min-height:30rem}
body.elementor-page-6249 .hero-search{background:#fff;border:1px solid #C6D2DD;border-radius:.7rem;
  box-shadow:var(--shadow);padding:.375rem;display:grid;
  grid-template-columns:1.12fr .88fr auto;gap:.375rem;margin-top:1.4rem}
body.elementor-page-6249 .fld{display:flex;flex-direction:column;padding:.45rem .7rem;
  border-right:1px solid var(--line2);min-width:0}
body.elementor-page-6249 .fld:last-of-type{border-right:none}
body.elementor-page-6249 .fld label{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin-bottom:.1rem}
body.elementor-page-6249 .fld select,body.elementor-page-6249 .fld input{border:none;background:transparent;font-size:var(--fs-sm);
  color:var(--ink);font-family:inherit;padding:0;width:100%;min-height:1.4rem;}
body.elementor-page-6249 .hero-search .btn{min-height:3.1rem;background:var(--navy);color:#fff;padding:0 1.25rem}
body.elementor-page-6249 .hero-btns{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}
body.elementor-page-6249 .hero-note{margin-top:.85rem}

/* ---------- 02 TRUST · hairline bar ---------- */
body.elementor-page-6249 .trust{background:#fff;border-bottom:1px solid var(--line)}
body.elementor-page-6249 .trust-in{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:0 auto}
body.elementor-page-6249 .trust-in .tcell{padding:.95rem 1.1rem;border-right:1px solid var(--line2)}
body.elementor-page-6249 .trust-in .tcell:last-child{border-right:none}
body.elementor-page-6249 .trust-in .tbig,
body.elementor-page-6249 .trust-in b{display:block;font-size:1.05rem;font-weight:800;color:var(--navy-dk);
  letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
body.elementor-page-6249 .trust-in .tmeta,
body.elementor-page-6249 .trust-in span{font-size:var(--fs-xs);color:var(--muted)}

/* ---------- 03 CONDITIONS · rail + list ---------- */
body.elementor-page-6249 .split-rail{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:3rem}
body.elementor-page-6249 .rail{position:sticky;top:5.5rem;align-self:start}
body.elementor-page-6249 .clist{border-top:1px solid var(--line)}
body.elementor-page-6249 .crow{display:grid;grid-template-columns:1fr 11rem;gap:1rem;align-items:baseline;
  padding:1.05rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
body.elementor-page-6249 .crow:hover .nm{color:var(--teal)}
body.elementor-page-6249 .crow .nm{font-size:1.02rem;font-weight:800;color:var(--navy-dk);margin-bottom:.15rem;
  display:block;transition:color .15s}
body.elementor-page-6249 .crow .ds{font-size:var(--fs-xs);color:var(--muted);display:block;line-height:1.5;max-width:44ch}
body.elementor-page-6249 .crow .pr{text-align:right}
body.elementor-page-6249 .crow .pr .prb,
body.elementor-page-6249 .crow .pr b{display:block;font-size:.95rem;font-weight:800;color:var(--navy-dk);
  font-variant-numeric:tabular-nums}
body.elementor-page-6249 .crow .pr .prs,
body.elementor-page-6249 .crow .pr span{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}
body.elementor-page-6249 .crow .pr .golink{font-size:var(--fs-xs);font-weight:700;color:var(--teal)}
body.elementor-page-6249 .note{margin-top:1.1rem;max-width:76ch}

/* ---------- 04 COSTS · oversized numeral ---------- */
body.elementor-page-6249 .costgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:3rem;align-items:end}
body.elementor-page-6249 .cost-hero .stat{color:var(--navy-dk)}
body.elementor-page-6249 .cost-hero .cap{max-width:30ch;margin-top:.9rem}
body.elementor-page-6249 .cost-rows{border-top:1px solid var(--line)}
body.elementor-page-6249 .cost-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:1rem 0;border-bottom:1px solid var(--line)}
body.elementor-page-6249 .cost-row .lbl{font-size:var(--fs-sm);font-weight:700;color:var(--navy-dk)}
body.elementor-page-6249 .cost-row .src{font-size:var(--fs-xs);color:var(--muted);display:block;margin-top:.15rem;
  max-width:34ch;line-height:1.5}
body.elementor-page-6249 .cost-row .val{font-size:1.15rem;font-weight:800;color:var(--navy-dk);
  font-variant-numeric:tabular-nums;white-space:nowrap}
body.elementor-page-6249 .cost-row .cost-r{text-align:right}
body.elementor-page-6249 .cur{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:.5rem;
  padding:.125rem;margin-bottom:1.25rem}
body.elementor-page-6249 .cur button{border:none;background:transparent;font:inherit;font-size:var(--fs-xs);
  font-weight:700;padding:.45rem .8rem;border-radius:.375rem;cursor:pointer;
  color:var(--muted);min-height:34px}
body.elementor-page-6249 .cur button[aria-pressed="true"]{background:var(--navy);color:#fff}

/* ---------- 05 DESTINATIONS · proportional-bar rows ---------- */
body.elementor-page-6249 .drows{border-top:1px solid var(--line)}
body.elementor-page-6249 .drow{display:grid;grid-template-columns:11rem 1fr 8rem;gap:1.2rem;align-items:center;
  padding:1.15rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
body.elementor-page-6249 .drow:hover .dname{color:var(--teal)}
body.elementor-page-6249 .dname{font-size:1.05rem;font-weight:800;color:var(--navy-dk);display:block;
  margin-bottom:.2rem;transition:color .15s}
body.elementor-page-6249 .dmeta{font-size:var(--fs-xs);color:var(--muted);display:block;line-height:1.5}
body.elementor-page-6249 .dbar{height:.5rem;background:var(--line2);border-radius:99px;overflow:hidden}
body.elementor-page-6249 .dbar > i,
body.elementor-page-6249 .dbar .dfill{display:block;height:100%;background:var(--teal);border-radius:99px}
body.elementor-page-6249 .dbar.alt > i,
body.elementor-page-6249 .dbar.alt .dfill{background:#9BB8C9}
body.elementor-page-6249 .dval{text-align:right}
body.elementor-page-6249 .dval .dnum,
body.elementor-page-6249 .dval b{display:block;font-size:1rem;font-weight:800;color:var(--navy-dk);
  font-variant-numeric:tabular-nums}
body.elementor-page-6249 .dval .dsub,
body.elementor-page-6249 .dval span{font-size:var(--fs-xs);color:var(--muted)}
body.elementor-page-6249 .dlegend{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem;font-size:var(--fs-xs);color:var(--muted)}
body.elementor-page-6249 .dlegend i{display:inline-block;width:.6rem;height:.6rem;border-radius:2px;
  background:var(--teal);margin-right:.35rem;vertical-align:middle}
body.elementor-page-6249 .dlegend i.alt{background:#9BB8C9}

/* ---------- 06 HOW · horizontal stepper ---------- */
body.elementor-page-6249 .stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--line);margin-top:.5rem}
body.elementor-page-6249 .step{padding:1.4rem 1.2rem 0 0;position:relative}
body.elementor-page-6249 .step::before{content:"";position:absolute;top:-2px;left:0;width:2.5rem;height:2px;
  background:var(--teal)}
body.elementor-page-6249 .step .ord{font-size:2.1rem;font-weight:800;line-height:1;letter-spacing:-0.03em;
  color:#C9D6E0;font-variant-numeric:tabular-nums;display:block;margin-bottom:.6rem}
body.elementor-page-6249 .step h3{margin-bottom:.4rem}
body.elementor-page-6249 .step p{font-size:var(--fs-xs);color:var(--muted);line-height:1.6;max-width:26ch}

/* ---------- 07 VERIFY · narrow column + pull quote ---------- */
body.elementor-page-6249 .narrow{max-width:44rem;margin:0 auto}
body.elementor-page-6249 .pullquote{border:0;border-left:3px solid var(--teal);margin:2rem 0;padding:.25rem 0 .25rem 1.5rem}
body.elementor-page-6249 .pullquote p{font-size:var(--fs-lead);line-height:1.5;color:var(--navy-dk);font-weight:600;
  letter-spacing:-0.01em;max-width:38ch;margin:0}
body.elementor-page-6249 .figrow{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:2rem;border-top:1px solid var(--line);
  padding-top:1.4rem}
body.elementor-page-6249 .fig .fignum,
body.elementor-page-6249 .fig strong{display:block;font-size:1.6rem;font-weight:800;color:var(--navy-dk);
  letter-spacing:-0.02em;font-variant-numeric:tabular-nums;line-height:1.1}
body.elementor-page-6249 .fig .figcap,
body.elementor-page-6249 .fig span{font-size:var(--fs-xs);color:var(--muted)}

/* ---------- 08 PRIVACY · full-bleed dark band ---------- */
body.elementor-page-6249 .darkband{background:var(--navy-dk);color:#fff;padding:4rem 0}
body.elementor-page-6249 .darkband .inner{max-width:38rem;margin:0 auto;text-align:center;padding:0 1.375rem}
body.elementor-page-6249 .darkband .overline{color:#7FD1CE}
body.elementor-page-6249 .darkband h2{color:#fff;max-width:24ch;margin:0 auto .9rem;
  font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:800;letter-spacing:var(--tr-h2)}
body.elementor-page-6249 .darkband p{color:#B7CBDC;font-size:var(--fs-body);line-height:1.72;margin:0 auto .9rem;
  max-width:34rem}
body.elementor-page-6249 .darkband .plist{list-style:none;padding:0;margin:1.5rem auto .2rem;max-width:30rem;
  text-align:left;display:grid;gap:.55rem}
body.elementor-page-6249 .darkband .plist li{font-size:var(--fs-sm);color:#CFE0EC;padding-left:1.5rem;position:relative;
  line-height:1.6}
body.elementor-page-6249 .darkband .plist li::before{content:"";position:absolute;left:0;top:.5rem;width:.65rem;
  height:.65rem;border-radius:50%;background:var(--teal);opacity:.85}
body.elementor-page-6249 .darkband .btn{margin-top:1.6rem;background:#fff;color:var(--navy-dk);border-color:#fff}
body.elementor-page-6249 .darkband .btn:hover{background:#E8F1F6}
body.elementor-page-6249 .darkband .fine{font-size:var(--fs-xs);color:#8FA9BF;margin-top:1rem}

/* ---------- 09 PROOF · offset quotations ---------- */
body.elementor-page-6249 .qgrid{display:grid;gap:2.2rem}
body.elementor-page-6249 .qitem{max-width:34rem}
body.elementor-page-6249 .qitem:nth-child(2),
body.elementor-page-6249 .qitem.qoffset{margin-left:auto;padding-left:2rem;border-left:2px solid var(--line2)}
body.elementor-page-6249 .qmark{font-size:3rem;line-height:.6;color:var(--teal);opacity:.35;font-weight:800;
  display:block;margin-bottom:.6rem}
body.elementor-page-6249 .qitem blockquote{margin:0 0 .9rem;font-size:var(--fs-lead);line-height:1.58;
  color:var(--navy-dk);font-weight:500;letter-spacing:-0.008em}
body.elementor-page-6249 .qitem .attrib{font-size:var(--fs-xs);color:var(--muted);line-height:1.6}

/* ---------- 10 FAQ · centred single column ---------- */
body.elementor-page-6249 .faqwrap{max-width:46rem;margin:0 auto}
body.elementor-page-6249 .faq details{border-bottom:1px solid var(--line);padding:0}
body.elementor-page-6249 .faq details:first-of-type{border-top:1px solid var(--line)}
body.elementor-page-6249 .faq summary{padding:1.15rem 0;font-size:var(--fs-lead);font-weight:700;color:var(--navy-dk);
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1.2rem;
  align-items:baseline;letter-spacing:-0.008em}
body.elementor-page-6249 .faq summary::-webkit-details-marker{display:none}
body.elementor-page-6249 .faq summary::after{content:"+";font-size:1.3rem;color:var(--teal);font-weight:700;
  line-height:1;flex:none}
body.elementor-page-6249 .faq details[open] summary::after{content:"−"}
body.elementor-page-6249 .faq .a{padding:0 0 1.3rem;font-size:var(--fs-sm);line-height:1.75;color:var(--ink2);
  max-width:60ch}

/* ---------- 11 ANCHOR · bordered light panel ---------- */
body.elementor-page-6249 .anchor{border:1px solid var(--line);border-radius:.9rem;display:grid;
  grid-template-columns:1.35fr .65fr;overflow:hidden;background:#fff}
body.elementor-page-6249 .anchor-main{padding:2rem 2.1rem}
body.elementor-page-6249 .anchor-main h2{margin-bottom:.6rem}
body.elementor-page-6249 .anchor-side{background:var(--canvas);border-left:1px solid var(--line);padding:2rem 1.9rem;
  display:flex;flex-direction:column;justify-content:center}
body.elementor-page-6249 .anchor-side dt{font-size:var(--fs-overline);letter-spacing:var(--tr-overline);
  text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:.9rem}
body.elementor-page-6249 .anchor-side dt:first-child{margin-top:0}
body.elementor-page-6249 .anchor-side dd{margin:.15rem 0 0;font-size:var(--fs-sm);font-weight:700;color:var(--navy-dk)}

/* ---------- 12 REVIEWER ---------- */
body.elementor-page-6249 .reviewer{display:flex;gap:.9rem;align-items:flex-start;border-top:1px solid var(--line);
  padding-top:1.4rem;margin-top:2.6rem}
body.elementor-page-6249 .reviewer-mark{width:2.1rem;height:2.1rem;border-radius:.5rem;flex:none;background:var(--teal-lt)}
body.elementor-page-6249 .rv-body{font-size:var(--fs-xs);line-height:1.65;color:var(--ink2)}
body.elementor-page-6249 .rv-line{margin:0 0 .2rem;font-size:var(--fs-sm);color:var(--navy-dk);font-weight:800}
body.elementor-page-6249 .rv-meta{margin:0 0 .35rem;color:var(--muted)}
body.elementor-page-6249 .rv-date{margin:0;color:var(--muted)}
body.elementor-page-6249 .rv-date a{color:var(--teal);font-weight:600;text-decoration:none}

/* ---------- footer (only if a footer is placed inside the scope) ---------- */
body.elementor-page-6249 footer{background:#0F1E2E;color:#93A9BD;padding:3rem 0 2.2rem;font-size:var(--fs-xs);
  line-height:1.7}
body.elementor-page-6249 .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1.6rem}
body.elementor-page-6249 .fgrid h3{color:#fff;font-size:var(--fs-xs);margin:0 0 .7rem;font-weight:700;
  letter-spacing:.02em}
body.elementor-page-6249 .fgrid a{color:#93A9BD;text-decoration:none;display:block;padding:.2rem 0}
body.elementor-page-6249 .fgrid a:hover{color:#fff;text-decoration:underline}
body.elementor-page-6249 .fbrand{font-size:var(--fs-xs);line-height:1.75;max-width:32ch;margin:0}
body.elementor-page-6249 .fbottom{margin-top:2rem;padding-top:1.1rem;border-top:1px solid #22344A;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:var(--fs-overline)}

/* ---------- mobile CTA ---------- */
body.elementor-page-6249 .sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;gap:.5rem;
  padding:.55rem .75rem;background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -2px 12px rgba(15,30,46,.10)}
body.elementor-page-6249 .sticky .btn{flex:1;min-height:46px}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  body.elementor-page-6249 .split-rail{grid-template-columns:1fr;gap:1.6rem}
  body.elementor-page-6249 .rail{position:static}
  body.elementor-page-6249 .costgrid{grid-template-columns:1fr;gap:2rem}
  body.elementor-page-6249 .anchor{grid-template-columns:1fr}
  body.elementor-page-6249 .anchor-side{border-left:none;border-top:1px solid var(--line)}
}
@media (max-width:900px){
  body.elementor-page-6249 .hero{grid-template-columns:1fr}
  body.elementor-page-6249 .hero-copy{max-width:none;padding:2.6rem 1.375rem 2.2rem}
  body.elementor-page-6249 .hero-media{min-height:17rem;order:-1}
  body.elementor-page-6249 .stepper{grid-template-columns:1fr 1fr;border-top:none}
  body.elementor-page-6249 .step{border-top:2px solid var(--line);padding:1.2rem 1rem 1.2rem 0}
  body.elementor-page-6249 .step::before{display:none}
  body.elementor-page-6249 .qitem{max-width:none}
  body.elementor-page-6249 .qitem:nth-child(2),
  body.elementor-page-6249 .qitem.qoffset{margin-left:0;padding-left:0;border-left:none;
    border-top:1px solid var(--line2);padding-top:1.8rem}
  body.elementor-page-6249 .trust-in{grid-template-columns:1fr 1fr}
  body.elementor-page-6249 .trust-in .tcell:nth-child(2){border-right:none}
  body.elementor-page-6249 .fgrid{grid-template-columns:1fr 1fr}
  body.elementor-page-6249 .nav{display:none}
  body.elementor-page-6249 .burger{display:inline-flex}
  body.elementor-page-6249 .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;padding:.5rem 1.375rem 1rem;border-bottom:1px solid var(--line);
    box-shadow:0 6px 20px rgba(15,30,46,.08)}
  body.elementor-page-6249 .nav.open a{padding:.75rem 0;border-bottom:1px solid var(--line2);font-size:var(--fs-sm)}
  body.elementor-page-6249 .hdr-r .btn-s{display:none}
}
@media (max-width:620px){
  body.elementor-page-6249 .band{padding:2.6rem 0}
  body.elementor-page-6249 .hero-copy{padding:2rem 1.1rem 1.8rem}
  body.elementor-page-6249 .hero-media{min-height:13rem}
  body.elementor-page-6249 .hero-search{grid-template-columns:1fr;gap:0;padding:.4rem}
  body.elementor-page-6249 .fld{border-right:none;border-bottom:1px solid var(--line2);padding:.55rem .65rem}
  body.elementor-page-6249 .fld:last-of-type{border-bottom:none}
  body.elementor-page-6249 .hero-search .btn{min-height:48px;margin-top:.4rem}
  body.elementor-page-6249 .crow{grid-template-columns:1fr;gap:.4rem}
  body.elementor-page-6249 .crow .pr{text-align:left}
  body.elementor-page-6249 .drow{grid-template-columns:1fr;gap:.5rem}
  body.elementor-page-6249 .dval{text-align:left;display:flex;gap:.6rem;align-items:baseline}
  body.elementor-page-6249 .stepper{grid-template-columns:1fr}
  body.elementor-page-6249 .trust-in{grid-template-columns:1fr}
  body.elementor-page-6249 .trust-in .tcell{border-right:none;border-bottom:1px solid var(--line2)}
  body.elementor-page-6249 .fgrid{grid-template-columns:1fr}
  body.elementor-page-6249 .figrow{gap:1.4rem}
  body.elementor-page-6249 .anchor-main,body.elementor-page-6249 .anchor-side{padding:1.5rem 1.3rem}
  body.elementor-page-6249 .sticky{display:flex}
  /* was body{padding-bottom:4.2rem} — apply .pad-sticky to the last section */
  body.elementor-page-6249.pad-sticky{padding-bottom:4.2rem}
  body.elementor-page-6249 .darkband{padding:2.8rem 0}
}
/* ---- build-time reconciliation (lead) -----------------------------------
   §01 hero and §02 trust are <section>-equivalent bands in the source but
   carry no vertical rhythm of their own. Equal specificity to .band, so
   these must stay last in the file to win, including over the 620px block. */
body.elementor-page-6249 .hero,
body.elementor-page-6249 .trust{padding:0}

/* ---- native button widget sits inside our .btn shell: strip its chrome ---- */
body.elementor-page-6249 .btn .elementor-button,
body.elementor-page-6249 .btn .elementor-button:hover,
body.elementor-page-6249 .btn .elementor-button:focus{background:transparent;color:inherit;
  padding:0;border:0;box-shadow:none;font:inherit;min-height:0}
body.elementor-page-6249 .btn .elementor-button-content-wrapper{gap:0}
body.elementor-page-6249 .btn .elementor-button-text{font:inherit}
/* hero: media must sit in its own column, copy in the other */
body.elementor-page-6249 .hero > .e-con-inner{display:contents}

/* keyboard focus on the search fields — the base rule removed the outline,
   so the ring has to be restored explicitly */
body.elementor-page-6249 .fld input:focus-visible,
body.elementor-page-6249 .fld select:focus-visible{outline:3px solid var(--orange-accent);outline-offset:3px;border-radius:4px}

/* AGB-HOME-V3-END */

/* AGB-MOTION-LAYER-BEGIN */
/* Additive motion + density layer for page 6249. v4, 2026-10-17.
   Nothing above this marker is modified. No !important outside the
   reduced-motion kill-switch and the print safety override.
   Gating:  html.agb-js is added by JS, so a page with JS disabled or a
            page where the script throws before booting never hides anything.
   Hero:    the FIRST .agb-home is structurally exempt from the hide rule.
            The rule is written with the sibling combinator
            (.agb-home ~ .agb-home), so it can only ever match a section that
            has another section before it. The hero is therefore painted at
            opacity 1 by CSS alone: no timer, no observer, no boot flag, no
            first-paint dependency on JS, no background-tab throttling.
   Reveal:  .is-in is added to a section by IntersectionObserver, plus an
            immediate in-viewport sweep on load and on tab re-focus.
   Stagger: direct children receive --d (40ms steps, max 4) from JS for the
            duration of the reveal, then the property is removed. */

/* 1. reduced-motion kill-switch (also neutralises the whole reveal + stagger) */
@media (prefers-reduced-motion: reduce){
  html.agb-js body.elementor-page-6249 .agb-home,
  html.agb-js body.elementor-page-6249 .agb-home.is-in,
  html.agb-js body.elementor-page-6249 .agb-home > *,
  html.agb-js body.elementor-page-6249 .agb-home.is-in > *{opacity:1 !important;transform:none !important;transition:none !important}
  body.elementor-page-6249 .crow,
  body.elementor-page-6249 .drow,
  body.elementor-page-6249 .cost-row,
  body.elementor-page-6249 .trust-in .tcell,
  body.elementor-page-6249 .qitem,
  body.elementor-page-6249 .btn{transition:none !important}
}

/* 2. section reveal, gated on html.agb-js so a JS failure never hides content.
      Sibling combinator = the first section (hero) can never be selected, so
      it is visible from the first paint in every condition. */
html.agb-js body.elementor-page-6249 .agb-home ~ .agb-home{opacity:0;transform:translateY(8px);
  transition:opacity 240ms cubic-bezier(.2,.6,.2,1),transform 240ms cubic-bezier(.2,.6,.2,1)}
html.agb-js body.elementor-page-6249 .agb-home.is-in{opacity:1;transform:none}

/* 2b. child stagger: --d is set from JS during the reveal only (max 4 x 40ms).
       Same sibling gating, so hero children are never hidden either. */
html.agb-js body.elementor-page-6249 .agb-home ~ .agb-home > *{opacity:0;transform:translateY(6px);
  transition:opacity 240ms cubic-bezier(.2,.6,.2,1),transform 240ms cubic-bezier(.2,.6,.2,1);
  transition-delay:var(--d,0ms)}
html.agb-js body.elementor-page-6249 .agb-home.is-in > *{opacity:1;transform:none}

/* 3. hover/focus affordances, colour only at 160ms (no movement, no scale) */
body.elementor-page-6249 .crow,
body.elementor-page-6249 .drow,
body.elementor-page-6249 .cost-row,
body.elementor-page-6249 .trust-in .tcell,
body.elementor-page-6249 .qitem{transition:background-color 160ms ease,border-color 160ms ease,border-left-color 160ms ease}
body.elementor-page-6249 .crow:hover,
body.elementor-page-6249 .crow:focus-within,
body.elementor-page-6249 .drow:hover,
body.elementor-page-6249 .drow:focus-within,
body.elementor-page-6249 .cost-row:hover,
body.elementor-page-6249 .cost-row:focus-within{background-color:rgba(14,124,123,.045)}
body.elementor-page-6249 .trust-in .tcell:hover,
body.elementor-page-6249 .trust-in .tcell:focus-within{background-color:rgba(14,124,123,.055)}
/* .qitem only carries a left border above 900px (below that the scoped sheet
   drops it); the 2px border is compensated with margin so no text moves. */
@media (min-width:901px){
  body.elementor-page-6249 .qitem{border-left:2px solid transparent;margin-left:-2px}
}
body.elementor-page-6249 .qitem:hover,
body.elementor-page-6249 .qitem:focus-within{border-left-color:var(--teal)}
body.elementor-page-6249 .btn{transition:background-color 160ms ease,border-color 160ms ease}

/* 4. print / PDF / social-preview safety: nothing hidden, nothing offset */
@media print{
  body.elementor-page-6249 .agb-home,
  body.elementor-page-6249 .agb-home.is-in,
  body.elementor-page-6249 .agb-home > *,
  body.elementor-page-6249 .agb-home.is-in > *{opacity:1 !important;transform:none !important;transition:none !important;animation:none !important}
  body.elementor-page-6249 .crow,
  body.elementor-page-6249 .drow,
  body.elementor-page-6249 .cost-row,
  body.elementor-page-6249 .btn{opacity:1 !important;transform:none !important;transition:none !important}
}

/* AGB-MOTION-LAYER-END */

/* AGB-MIGRATED-START */
/* ===================================================================
   AGB — migrated from mu-plugins to Elementor Kit custom CSS
   Blocks: sticky consult CTA · destination table cards · site chrome
   =================================================================== */

/* ---------- 1. sticky consult CTA ---------- */
/* Light bar, dark control. The site's accent green is built for paper
   surfaces — on a near-black bar it reads as a competing brand, and a light
   button on a dark bar turns into a slab. Flipping the bar to paper lets the
   ink control sit naturally, with no colour invented and no third palette. */
.agb-sc-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:9990;
  display:flex;align-items:center;gap:8px;
  padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));
  background:var(--ink,#0F1E2E);
  border-top:1px solid rgba(238,246,252,.14);
  box-shadow:0 -8px 24px rgba(15,30,46,.18);
  transition:transform .28s cubic-bezier(.2,.7,.3,1);box-sizing:border-box;
}
.agb-sc-bar[hidden]{display:none!important}
.agb-sc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 16.8px;border-radius:8px;
  font:700 14px/1 "Plus Jakarta Sans","Hind Siliguri",system-ui,-apple-system,sans-serif;
  text-decoration:none;letter-spacing:normal;white-space:nowrap;
  border:1px solid transparent;box-sizing:border-box;
}
.agb-sc-btn:focus-visible{outline:2px solid #EEF6FC!important;outline-offset:2px}
/* Paper on ink. The site's green is a body-text accent sized for light
   surfaces; on a near-black bar it reads as a competing brand and fights the
   editorial tone. Paper (#f7f5f0) on ink (#12211f) is the pair the rest of the
   site already uses, so the bar inherits the design instead of interrupting it. */
/* Brand primary (#024C8D) — the exact blue the header's "Book a consultation"
   already uses, and this button goes to that same page. No new hue. */
.agb-sc-bar a.agb-sc-primary,.agb-sc-bar a.agb-sc-primary:visited{
  flex:1 1 auto;min-width:0;overflow:hidden;
  background:var(--brand-primary,#024C8D)!important;color:#fff!important;
}
.agb-sc-bar a.agb-sc-primary:hover,.agb-sc-bar a.agb-sc-primary:focus{background:#013A6B!important;color:#fff!important}
.agb-sc-bar a.agb-sc-primary:focus-visible{outline:2px solid #fff!important;outline-offset:2px}
.agb-sc-primary .agb-sc-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agb-sc-bar a.agb-sc-secondary,.agb-sc-bar a.agb-sc-secondary:visited{
  flex:0 0 auto;color:#EEF6FC!important;border-color:rgba(238,246,252,.42)!important;background:transparent!important;
}
.agb-sc-bar a.agb-sc-secondary:hover{border-color:rgba(238,246,252,.85)!important;color:#fff!important}
/* 0.72 alpha keeps the dismiss glyph at ≥4.5:1 on the dark bar; 0.55 measured
   3.69:1 and failed AA on the previous treatment. */
.agb-sc-close{
  flex:0 0 30px;width:30px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:0;padding:0;color:rgba(238,246,252,.72);font-size:19px;line-height:1;cursor:pointer;
}
.agb-sc-close:hover{color:#fff}
.agb-sc-close:focus-visible{outline:2px solid #EEF6FC;outline-offset:0;border-radius:6px}
.agb-sc-lbl-short{display:none}
@media (max-width:479px){
  .agb-sc-lbl-long{display:none}
  .agb-sc-lbl-short{display:inline}
  .agb-sc-btn{padding:0 13px;font-size:14px}
}
@media (max-width:860px){
  /* 9 + 44 + 9 + 1px border = 63px. Was 66, a 3px drift. */
  body.elementor-page-6249,body.elementor-page-559{padding-bottom:calc(63px + env(safe-area-inset-bottom,0px))}
}
.agb-sc-float{
  position:fixed;right:24px;bottom:24px;z-index:9990;display:none;align-items:center;gap:9px;
  min-height:44px;padding:0 20px;border-radius:8px;background:var(--brand-primary,#024C8D)!important;color:#fff!important;
  text-decoration:none;box-sizing:border-box;
  font:700 15px/1 "Plus Jakarta Sans","Hind Siliguri",system-ui,-apple-system,sans-serif;
  box-shadow:0 6px 20px rgba(2,76,141,.26),0 1px 0 rgba(255,255,255,.12) inset;
  opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,background .18s ease;
}
.agb-sc-float:focus-visible{outline:2px solid #12211f!important;outline-offset:3px}
.agb-sc-float:hover{background:#013A6B!important;color:#fff!important}
.agb-sc-float.is-on{opacity:1;transform:translateY(0);pointer-events:auto}
.agb-sc-float svg{width:17px;height:17px;flex:0 0 auto;stroke:#fff!important}
@media (min-width:861px){
  .agb-sc-bar{display:none}
  .agb-sc-float{display:inline-flex}
  body.elementor-page-6249 .site-footer,
  body.elementor-page-6249 footer.elementor-location-footer,
  body.elementor-page-559 .site-footer,
  body.elementor-page-559 footer.elementor-location-footer{padding-bottom:104px}
}
@media (prefers-reduced-motion:reduce){.agb-sc-bar,.agb-sc-float{transition:none}}
@media print{.agb-sc-bar,.agb-sc-float{display:none!important}}

/* ---------- 2. destination table → cards (page 559) ---------- */
body.elementor-page-559 .tablewrap table{
  width:100%;border-collapse:separate;border-spacing:0;
  font-size:14.5px;line-height:1.5;
  background:#fff;border:1px solid #ebe7dd;border-radius:10px;overflow:hidden;
}
body.elementor-page-559 .tablewrap thead th{
  text-align:left;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:#6b7c79;font-weight:700;padding:13px 18px;background:#fcfbf8;
  border-bottom:1px solid #d9d5cb;white-space:nowrap;
}
body.elementor-page-559 .tablewrap tbody td{
  padding:16px 18px;border-bottom:1px solid #ebe7dd;vertical-align:top;color:#3d4f4c;
}
body.elementor-page-559 .tablewrap tbody tr:last-child td{border-bottom:none}
body.elementor-page-559 .tablewrap tbody tr:hover td{background:#fbfaf6}
body.elementor-page-559 .tablewrap td strong{
  display:block;font-size:15px;font-weight:650;color:#12211f;margin-bottom:3px;letter-spacing:-.005em;
}
body.elementor-page-559 .tablewrap td strong + span,
body.elementor-page-559 .tablewrap td > span:first-child{font-size:11.5px;color:#6b7c79}
body.elementor-page-559 .tablewrap td:nth-of-type(3){
  font-size:15px;font-weight:700;color:#0E7C7B;text-align:center;font-variant-numeric:tabular-nums;
}
body.elementor-page-559 .tablewrap td:nth-of-type(4) span{
  display:inline-block;font-size:11px;font-weight:650;letter-spacing:.02em;
  padding:3px 8px;margin:0 4px 4px 0;border-radius:3px;
  background:#E6F4F4;color:#0E7C7B;white-space:nowrap;
}
@media (max-width:860px){
  body.elementor-page-559 .tablewrap table,
  body.elementor-page-559 .tablewrap thead,
  body.elementor-page-559 .tablewrap tbody,
  body.elementor-page-559 .tablewrap tr,
  body.elementor-page-559 .tablewrap td{display:block;width:100%}
  body.elementor-page-559 .tablewrap table{border:0;background:transparent;border-radius:0}
  body.elementor-page-559 .tablewrap thead{display:none}
  body.elementor-page-559 .tablewrap tr{
    background:#fff;border:1px solid #ebe7dd;border-radius:10px;
    padding:16px 16px 12px;margin:0 0 12px;
  }
  body.elementor-page-559 .tablewrap tr:hover td{background:transparent}
  body.elementor-page-559 .tablewrap td{border:0;padding:0;color:#3d4f4c}
  body.elementor-page-559 .tablewrap td:nth-of-type(2),
  body.elementor-page-559 .tablewrap td:nth-of-type(3),
  body.elementor-page-559 .tablewrap td:nth-of-type(4){margin-top:11px}
  body.elementor-page-559 .tablewrap td:nth-of-type(2)::before,
  body.elementor-page-559 .tablewrap td:nth-of-type(3)::before,
  body.elementor-page-559 .tablewrap td:nth-of-type(4)::before{
    content:attr(data-agb-label);display:block;
    font-size:10px;letter-spacing:.1em;text-transform:uppercase;
    color:#6b7c79;font-weight:700;margin-bottom:4px;
  }
  body.elementor-page-559 .tablewrap td:nth-of-type(3){text-align:left}
  body.elementor-page-559 .tablewrap td strong{font-size:16px}
}

/* ---------- 3. site chrome: header + footer ---------- */
[data-elementor-type="header"]{
  position:sticky!important;
  top:0;
  z-index:900;
}
.admin-bar [data-elementor-type="header"]{top:32px}
@media (max-width:782px){.admin-bar [data-elementor-type="header"]{top:46px}}
[data-elementor-type="header"] .elementor-nav-menu--dropdown,
[data-elementor-type="header"] .elementor-nav-menu__container{z-index:901}
@media (max-width:767px){
  [data-elementor-type="header"] .elementor-nav-menu--dropdown,
  [data-elementor-type="header"] .sub-menu.elementor-nav-menu--dropdown{
    position:fixed!important;top:104px!important;left:12px!important;right:12px!important;
    width:auto!important;min-width:0!important;max-width:none!important;
    transform:none!important;box-sizing:border-box;
  }
  [data-elementor-type="header"],
  [data-elementor-type="header"] > *,
  [data-elementor-type="header"] .e-con,
  [data-elementor-type="header"] .e-con-inner{flex-wrap:nowrap!important}
  [data-elementor-type="header"] img{max-height:34px;width:auto}
  [data-elementor-type="header"] .elementor-button,
  [data-elementor-type="header"] .e-button{font-size:13px;padding-left:12px;padding-right:12px}
  [data-elementor-type="header"] [class*="nav-menu"]{flex:0 0 auto;margin-left:auto}
  body{overflow-x:clip}
}
[data-elementor-type="footer"] a,
footer a,
.site-footer a{display:inline-flex!important;align-items:center!important;min-height:44px!important}
[data-elementor-type="footer"] a img,
footer a img{max-height:56px;width:auto}
:target,h1[id],h2[id],h3[id],section[id]{scroll-margin-top:110px}
@media print{[data-elementor-type="header"]{position:static!important}}

/* ===================================================================
   4. ACTION HIERARCHY
   Measured 18 Oct 2026: 12 distinct button styles across 14 controls,
   four competing "primary" colours, and two hero CTAs at identical
   weight so neither read as primary. One fill = one meaning.
   Primary  #024C8D  (declared brand primary, header CTA)
   Secondary: same blue as an outline, no fill
   Utility : neutral, no brand colour
   =================================================================== */

/* primary fill */
.elementor-widget-button.btn-p,
.btn.btn-p{background:var(--brand-primary,#024C8D)!important}

/* secondary becomes an outline, so it stops competing with the primary */
.elementor-widget-button.btn-s,
.btn.btn-s{
  background:transparent!important;
  border:1.5px solid var(--brand-primary,#024C8D)!important;
}
.btn.btn-s{color:var(--brand-primary,#024C8D)!important}
.elementor-widget-button.btn-s .elementor-button,
.btn.btn-s a,
.btn.btn-s .elementor-button-text{color:var(--brand-primary,#024C8D)!important}

/* utility submit (hero search) joins the same blue instead of a second navy */
button.btn{
  background:var(--brand-primary,#024C8D)!important;
  border-color:transparent!important;
}

/* the broken one: white text on a white fill, 1:1 contrast, no border */
a.c-btn-light,
.c-btn-light{
  background:#ffffff!important;
  color:#0B2545!important;
  border:1px solid rgba(11,37,69,.14)!important;
}
a.c-btn-light:hover,
.c-btn-light:hover{background:#F6F8FA!important;color:#0B2545!important}

/* leftover pink hairline on the booking primary */
.c-btn-primary{border-color:transparent!important}

/* same class rendered at 43, 46 and 53px; give every button one floor */
.e-button-base{min-height:44px}

@media print{
  .elementor-widget-button.btn-s{border-color:#0B2545!important}
}

/* ===================================================================
   5. DESIGN PASS — informed by 7 Dribbble references, measured against
      this site's own baseline. Only conventions that survive contact
      with an existing navy/white editorial system.
      NOT applied: section rhythm (60px flat vs a 96-120 target) — that
      is a whole-page change and needs a decision, see notes.
   =================================================================== */

/* --- 5.1 headings breathe when they wrap ---
   Measured: H1/H2/H3 all at line-height 1.00. At 1.00 a two-line heading
   collides descender-to-cap. Conventions cluster at 1.05-1.15. */
.elementor-widget-heading h1.elementor-heading-title{
  font-size:clamp(36px,3.4vw,52px)!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
}
.elementor-widget-heading h2.elementor-heading-title{
  line-height:1.15!important;
  letter-spacing:-.020em!important;
}
.elementor-widget-heading h3.elementor-heading-title{
  line-height:1.25!important;
  letter-spacing:-.010em!important;
}

/* --- 5.2 line length ---
   Longest measured line was 107 characters. Comfortable reading is 60-75.
   Body already sits at 49-54 cpl; this only bites where a container is
   very wide, which is exactly the fine-print case. */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li{max-width:68ch}
.elementor-widget-text-editor p:has(+ p){margin-bottom:.85em}

/* --- 5.3 focus visibility on text inputs ---
   Measured: every input computes outline-style:none with no shadow and no
   border change. Keyboard users cannot see where they are. Selects and
   buttons already had a 3px ring; inputs were the gap. */
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus-visible,
textarea:focus-visible{
  outline:3px solid #0E7C7B!important;
  outline-offset:2px!important;
}
/* the hero search shell should acknowledge focus too, not just the inner field */
.hero-search:focus-within{
  border-color:#0E7C7B!important;
  box-shadow:0 0 0 1px #0E7C7B,0 4px 14px rgba(15,30,46,.08)!important;
}

/* --- 5.4 control radius consistency ---
   Measured: buttons 8px, search shell 11.2px, cards 0. Three values for the
   same job. The shell joins the button radius; the 0-radius hairline panels
   are a deliberate editorial treatment and are left alone. */
.hero-search{border-radius:8px!important}

/* --- 5.5 paragraph measure inside the narrow columns ---
   Keeps the tighter columns from looking cramped now that headings grew. */
@media (max-width:860px){
  .elementor-widget-heading h1.elementor-heading-title{line-height:1.12!important}
  .elementor-widget-text-editor p{max-width:100%}
}

/* --- 5.6 corrections after first render --- */

/* The 68ch measure missed: paragraphs here are Elementor V4 `e-paragraph`
   elements, not `.elementor-widget-text-editor p`, so they kept running to
   105-109 characters per line at 12.5-14px. Measured failure, not taste. */
[data-elementor-type="wp-page"] p,
[data-elementor-type="wp-page"] .e-paragraph,
.e-paragraph{max-width:68ch}

/* H1 left a single orphan word ("Dhaka") on its third line at 1440.
   Balance distributes the lines instead of filling then spilling. */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title{text-wrap:balance}

/* The ring was landing on the search shell, not the field. Guarantee the
   field itself carries a visible indicator on :focus as well as :focus-visible. */
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus{
  outline:3px solid #0E7C7B!important;
  outline-offset:2px!important;
}

/* --- 5.7 second correction --- */
/* `ch` measures the width of the "0" glyph (10.25px at 14px type), not the
   average character (6.39px), so 68ch rendered 109 characters. `em` tracks
   font-size, so 34em holds ~72-75 characters at 12.5, 14 and 16px alike. */
[data-elementor-type="wp-page"] p,
[data-elementor-type="wp-page"] .e-paragraph,
.e-paragraph{max-width:34em}

/* The input ring still wasn't painting: a later equal-specificity !important
   rule was winning. Raise specificity and tuck the ring inside the shell. */
form.hero-search input:focus,
form.hero-search select:focus,
form.hero-search input:focus-visible,
form.hero-search select:focus-visible{
  outline:3px solid #0E7C7B!important;
  outline-offset:-1px!important;
}
form.hero-search:focus-within{
  box-shadow:0 0 0 2px #0E7C7B,0 4px 14px rgba(15,30,46,.08)!important;
}

/* --- 5.8 line-length, third attempt ---
   `em` resolved against the parent container (.e-paragraph, 20.5px), giving
   696px — the same as the old 68ch. Anchoring in `ch` on the paragraph itself
   is predictable: 1ch measures 10.248px at 14px, so 42ch ≈ 430px ≈ 67 chars. */
[data-elementor-type="wp-page"] p.body,
[data-elementor-type="wp-page"] p.body.sm,
[data-elementor-type="wp-page"] p{max-width:42ch!important}

/* --- 5.9 section rhythm ---
   Measured: nine content bands sat at a flat 60px top/bottom, against a
   96-120 convention across seven references. Raised to 88/48, which reads
   calmer without pushing proof content below the fold.
   Scoped to :nth-child(n+3) so band 1 (hero, 0 pad + 64/56 inner) and band 2
   (the 87px filter strip, 0 pad) are untouched. */
[data-elementor-type="wp-page"] > .e-con:nth-child(n+3){
  padding-top:88px!important;
  padding-bottom:88px!important;
}
@media (max-width:860px){
  [data-elementor-type="wp-page"] > .e-con:nth-child(n+3){
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
}

/* ===================================================================
   6. FORM CONTROLS — the native Elementor form needs the site's type,
      a height floor and a gutter at mobile.
      Measured before this: controls at 40px (30px file), borders 1px
      #69727D radius 3, system font, and the fields wrapper (-5px margin)
      ran edge-to-edge inside a 0-padding container causing 5px overflow.
   =================================================================== */

.elementor-form .elementor-field-group .elementor-field-label,
.elementor-form label{
  font-family:"Plus Jakarta Sans","Hind Siliguri",system-ui,-apple-system,sans-serif;
  font-weight:600;
  font-size:13px;
  color:#0B2545;
  margin-bottom:6px;
  display:block;
}

.elementor-form input[type="text"],
.elementor-form input[type="tel"],
.elementor-form input[type="email"],
.elementor-form select,
.elementor-form textarea{
  min-height:44px!important;
  font-family:"Plus Jakarta Sans","Hind Siliguri",system-ui,-apple-system,sans-serif!important;
  font-size:14.5px!important;
  color:#0F1E2E;
  background:#fff;
  border:1px solid #DFE6EE!important;
  border-radius:8px!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.elementor-form select{background-color:#fff}

.elementor-form input[type="file"]{
  min-height:44px!important;
  font-family:"Plus Jakarta Sans","Hind Siliguri",system-ui,-apple-system,sans-serif!important;
  font-size:13.5px!important;
  padding:10px 12px!important;
  border:1px solid #DFE6EE!important;
  border-radius:8px!important;
  background:#fff;
  width:100%;
}
.elementor-form input[type="file"]::file-.elementor-kit-5819-button{
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  color:#024C8D;
  background:#F6F8FA;
  border:1px solid #DFE6EE;
  border-radius:6px;
  padding:7px 12px;
  margin-right:12px;
  cursor:pointer;
}

.elementor-form .elementor-field-group{margin-bottom:16px}

/* the -5px wrapper margin only works when the container has side padding;
   here it has none, so it pushed the page 5px wide at 375 */
@media (max-width:767px){
  .elementor-form-fields-wrapper{
    margin-left:0!important;
    margin-right:0!important;
  }
  .elementor-form .elementor-field-group{padding-left:0;padding-right:0}
}

/* --- 6.2 form polish --- */
.elementor-form .elementor-button,
.elementor-form button[type="submit"]{
  font-family:"Plus Jakarta Sans","Hind Siliguri",system-ui,-apple-system,sans-serif!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
@media (max-width:767px){
  /* fields were sitting 5px from the edge while every other block keeps a
     real gutter; give the form the same breathing room as the page */
  .elementor-form{margin-left:16px;margin-right:16px}
}

/* --- 7.1 tap targets below the 44px floor ---
   Measured: menu toggle 33x33, bar close 30x46. The rest of the site now
   meets 44. Expanding the toggle grows the header, so the surrounding
   padding is reduced to absorb it. */
.elementor-menu-toggle{
  min-height:44px!important;
  min-width:44px!important;
  padding:5px!important;
}
@media (max-width:767px){
  [data-elementor-type="header"] .e-con-inner{padding-top:2px;padding-bottom:2px}
}
.agb-sc-close{
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
}

/* --- 7.2 hero media crop ---
   Measured at 390: box 375x208 (1.80) against a 1600x1067 (1.50) source —
   cover crops 16.8% vertically. At 1440 the box is 688x786 (0.876), a portrait
   shape from a landscape source, cropping 41.7% of the width. Nothing is
   stretched (no fill, no 100% 100%), but the crop takes the top of the frame,
   which is why the subject reads as distorted. Pull the focal point up. */
.hero-media{background-position:50% 38%!important}
@media (max-width:860px){
  .hero-media{background-position:50% 32%!important}
}

/* footer logo uses object-fit:fill at a 0.89% delta — harmless today, but a
   single source swap would stretch it. contain makes that impossible. */
[data-elementor-type="footer"] img,
footer img{object-fit:contain!important}

/* --- 7.3 hero: portrait crop at desktop ---
   Source is 1600x1067 (1.50). The desktop box is 688x786 (0.876), so cover was
   discarding 41.7% of the width. A 800x1067 portrait crop (0.75), offset to
   keep both hands and the folder, cuts that loss to ~14%. Mobile keeps the
   landscape source, which already fits its 1.80 box. */
@media (min-width:861px){
  .hero-media{
    background-image:url("https://abroadguidebd.com/wp-content/uploads/2026/10/hero-portrait-6298-v3.webp")!important;
    background-position:50% 42%!important;
    background-size:cover!important;
  }
}

/* AGB-MIGRATED-END */
/* AGB-BAR-SCOPE */
.agb-sc-wrap{display:none}
body.elementor-page-6249 .agb-sc-wrap,body.elementor-page-559 .agb-sc-wrap{display:contents}

/* ---------- hero cluster (subject-led composition, 20 Oct) ---------- */
body.elementor-page-6249 .hero-media{
  background-image:none!important;
  background-color:#EDF2F7!important;
  background-position:0 0!important;
  min-height:30rem;
  padding:1.5rem;
  display:flex;
  align-items:stretch;
}
body.elementor-page-6249 .hero-cluster{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto auto 1fr;
  gap:.7rem;
  width:100%;
  margin:0;
}
body.elementor-page-6249 .hero-cluster .hc{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:.5rem;
  background:#DCE5EE;
  box-shadow:0 1px 2px rgba(15,30,46,.07),0 10px 24px rgba(15,30,46,.10);
}
body.elementor-page-6249 .hero-cluster .hc img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
body.elementor-page-6249 .hero-cluster .hc-hospital{
  grid-column:1;
  grid-row:1 / span 3;
  aspect-ratio:3 / 4;
  align-self:start;
}
body.elementor-page-6249 .hero-cluster .hc-consult{
  grid-column:2;
  grid-row:1;
  aspect-ratio:3 / 2;
}
body.elementor-page-6249 .hero-cluster .hc-travel{
  grid-column:2;
  grid-row:2;
  aspect-ratio:3 / 2;
}
body.elementor-page-6249 .hero-cluster figcaption{
  position:absolute;
  left:.5rem;
  bottom:.5rem;
  font:600 .68rem/1 "Plus Jakarta Sans",system-ui,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0F1E2E;
  background:rgba(255,255,255,.94);
  border-radius:.25rem;
  padding:.34rem .5rem;
}
body.elementor-page-6249 .hero-cluster .hc-note{
  grid-column:2;
  grid-row:3;
  margin:.15rem 0 0;
  align-self:end;
  font-size:.72rem;
  line-height:1.45;
  color:#55677B;
}
@media (max-width:900px){
  body.elementor-page-6249 .hero-media{min-height:0;padding:.9rem}
  body.elementor-page-6249 .hero-cluster{gap:.55rem}
  body.elementor-page-6249 .hero-cluster .hc-note{font-size:.7rem}
}
/* ---------- end hero cluster ---------- */

/* travel card: airport photo is portrait with dead ceiling in the top third;
   the aircraft sits ~55-65% down, seating from ~63%. Keep that band. */
body.elementor-page-6249 .hero-cluster .hc-travel img{object-position:50% 78%}
/* centre the cluster in the tall hero column instead of top-aligning it */
@media (min-width:901px){
  body.elementor-page-6249 .hero-media{align-items:center;justify-content:center}
}/* End custom CSS */