/* ============================================================
   about.css — page-specific styles for About Us
   Reuses design tokens (colors, radii, shadows) from style.css
   ============================================================ */

/* ---------- Shared small utilities used on this page ---------- */
.eyebrow-dark{color:var(--royal);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;display:inline-block;}
.hl{color:var(--orange);}

/* ---------- About Hero ---------- */
.about-hero{
  position:relative;
  padding:150px 0 60px;
  background:radial-gradient(ellipse 120% 80% at 15% 0%, #16277a 0%, var(--navy) 45%, var(--dark) 100%);
  overflow:hidden;
  isolation:isolate;
}
.about-hero::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background-image:
    radial-gradient(circle at 85% 15%, rgba(37,84,255,.32), transparent 45%),
    radial-gradient(circle at 8% 85%, rgba(255,140,26,.16), transparent 40%);
}
.about-hero .hero-grid-lines{position:absolute;inset:0;z-index:-1;opacity:.3;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 60% at 60% 30%, black 20%, transparent 75%);
}

/* ===== Animated background icons — travel / visa themed ===== */
.back-home{
  display:inline-flex;align-items:center;gap:6px;color:#B9C3E0;font-size:.85rem;font-weight:600;
  margin-bottom:22px;transition:.25s ease;
}
.back-home:hover{color:#fff;gap:9px;}

.about-hero h1{
  font-size:clamp(2.1rem,4vw,3.3rem);font-weight:800;color:#fff;line-height:1.14;margin:22px 0 20px;
}
.about-hero h1 .accent{color:var(--orange);}
.about-hero p.lead-copy{color:#B9C3E0;font-size:1.03rem;line-height:1.75;max-width:520px;margin-bottom:30px;}

.chip-row{display:flex;flex-wrap:wrap;gap:10px;}
.chip{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  color:#D6DEF5;font-size:.78rem;font-weight:600;padding:8px 15px;border-radius:999px;
  backdrop-filter:blur(6px);
}
.chip i{color:var(--orange);}
.chip .dot-ic{width:7px;height:7px;border-radius:50%;background:#22C55E;display:inline-block;}

/* ---------- About hero visual — circle images + floating info badges ---------- */
.about-hero-visual{
  position:relative;height:100%;min-height:380px;
  display:flex;align-items:center;justify-content:center;
}

/* Big circle */
.ah-circle-main{
  width:270px;height:270px;border-radius:50%;overflow:hidden;flex-shrink:0;z-index:2;
  box-shadow:0 36px 70px -24px rgba(0,0,0,.55);
  border:4px solid rgba(255,255,255,.18);
  position:relative;
}
.ah-circle-main img{width:100%;height:100%;display:block;object-fit:cover;}

/* Small circle — 40% of main = 108px, bottom-left, 30% overlap = ~32px into big circle */
.ah-circle-sm{
  position:absolute;
  width:108px;height:108px;border-radius:50%;overflow:hidden;z-index:3;
  box-shadow:0 16px 36px -10px rgba(0,0,0,.5);
  border:4px solid rgba(255,255,255,.28);
  bottom:calc(50% - 135px - 108px + 32px); /* 30% of 108 = 32px overlap up */
  left:calc(50% - 135px - 108px + 32px);   /* 30% of 108 = 32px overlap right */
}
.ah-circle-sm img{width:100%;height:100%;display:block;object-fit:cover;}

/* Floating info badges — all touching or overlapping the main circle */
.ah-badge{
  position:absolute;z-index:4;
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.6);border-radius:16px;
  padding:10px 14px;text-decoration:none;
  box-shadow:0 12px 30px -10px rgba(13,27,76,.32);
  transition:transform .3s ease, box-shadow .3s ease;
  animation:badgeBob 6s ease-in-out infinite;
}
.ah-badge:nth-child(3){animation-delay:0s;}
.ah-badge:nth-child(4){animation-delay:1.4s;}
.ah-badge:nth-child(5){animation-delay:2.6s;}
.ah-badge:nth-child(6){animation-delay:0.8s;}
.ah-badge:hover{transform:scale(1.07);box-shadow:0 18px 40px -12px rgba(13,27,76,.4);}
.ah-badge-ic{
  width:34px;height:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;
}
.ah-badge-title{font-weight:700;color:var(--navy);font-size:.78rem;line-height:1;}
.ah-badge-sub{color:#8B93B8;font-size:.65rem;margin-top:2px;}

/* Positions: all overlap ON the big circle boundary */
.ah-badge.b1{top:calc(50% - 190px);left:calc(50% - 170px);}   /* top-left ON circle */
.ah-badge.b2{top:calc(50% - 170px);right:calc(50% - 180px);}  /* top-right ON circle */
.ah-badge.b3{bottom:calc(50% - 170px);right:calc(50% - 200px);}/* mid-right ON circle */
.ah-badge.b4{bottom:calc(50% - 220px);left:calc(50% - 150px);}/* bottom-left ON circle */

@media (max-width:991px){
  .about-hero-visual{min-height:0;margin-top:50px;}
  .ah-circle-main{width:200px;height:200px;}
  .ah-circle-sm{
    width:80px;height:80px;
    bottom:calc(50% - 100px - 80px + 24px);
    left:calc(50% - 100px - 80px + 24px);
  }
  .ah-badge.b1{top:calc(50% - 140px);left:calc(50% - 130px);}
  .ah-badge.b2{top:calc(50% - 130px);right:calc(50% - 140px);}
  .ah-badge.b3{bottom:calc(50% - 130px);right:calc(50% - 150px);}
  .ah-badge.b4{bottom:calc(50% - 165px);left:calc(50% - 120px);}
}

/* ---------- Stats band variant (reuses .stats-band but with royal gradient) ---------- */
.stats-band.royal{background:linear-gradient(120deg,var(--royal),#173BCC);}

/* ---------- Our Story ---------- */
.story-section{padding:120px 0;position:relative;overflow:hidden;}
/* ---------- Our Story — asymmetric 3-photo collage ---------- */
.story-collage{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:14px;
  padding:20px 20px 44px 0;
}

/* Photo A — left column, spans full height of the grid */
.sca-a{
  grid-column:1;grid-row:1/3;
  border-radius:24px;overflow:hidden;
  box-shadow:var(--shadow-soft);border:1px solid rgba(13,27,76,.07);
}
.sca-a img{width:100%;height:100%;display:block;object-fit:cover;min-height:400px;}

/* Right column wrapper */
.sca-right{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:14px;}

/* Photo B — top of right column, shorter */
.sca-b{
  border-radius:20px;overflow:hidden;flex:0 0 auto;
  box-shadow:0 18px 42px -14px rgba(13,27,76,.25);border:1px solid rgba(13,27,76,.07);
  margin-top:36px;           /* pushes B down so it sits asymmetrically vs A */
}
.sca-b img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;}

/* Photo C — bottom of right column, taller */
.sca-c{
  border-radius:20px;overflow:hidden;flex:1 1 auto;
  box-shadow:0 18px 42px -14px rgba(13,27,76,.25);border:1px solid rgba(13,27,76,.07);
}
.sca-c img{width:100%;height:100%;display:block;object-fit:cover;min-height:160px;}

/* Dot-pattern deco behind the whole collage */
.sca-dots{
  position:absolute;bottom:-14px;left:-14px;
  width:120px;height:120px;z-index:-1;
  background-image:radial-gradient(var(--royal) 1.5px, transparent 1.5px);
  background-size:14px 14px;
  opacity:.18;border-radius:4px;
}

/* Floating trust badges — positioned to overlap seams between photos */
.sct-badge{
  position:absolute;z-index:4;
  display:flex;align-items:center;gap:11px;
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.6);border-radius:16px;
  padding:12px 16px;text-decoration:none;
  box-shadow:0 14px 36px -10px rgba(13,27,76,.28);
  animation:badgeBob 6s ease-in-out infinite;
  white-space:nowrap;
}
.sct-badge.tb1{animation-delay:0s;}
.sct-badge.tb2{animation-delay:1.6s;}
.sct-badge.tb3{animation-delay:3.2s;}
.sct-ic{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.sct-title{font-weight:700;color:var(--navy);font-size:.8rem;line-height:1;}
.sct-sub{color:#94A3B8;font-size:.68rem;margin-top:2px;}

/* Badge placements — all straddling photo edges for depth */
.sct-badge.tb1{top:-16px; left:50%;  transform:translateX(-50%);}   /* top centre seam */
.sct-badge.tb2{top:50%;   right:-20px;transform:translateY(-50%);}  /* right side mid */
.sct-badge.tb3{bottom:-16px;left:28%;}                               /* bottom seam */

@media (max-width:767px){
  .story-collage{grid-template-columns:1fr;padding-right:0;padding-bottom:60px;}
  .sca-right{flex-direction:row;}
  .sca-b,.sca-c{flex:1;}
  .sca-a img{min-height:240px;}
  .sca-b img{aspect-ratio:1/1;}
  .sct-badge.tb1{left:50%;top:-14px;}
  .sct-badge.tb2{right:0;top:auto;bottom:-14px;transform:none;}
  .sct-badge.tb3{bottom:-44px;left:10%;}
}

.story-copy .section-head{text-align:left;margin:0 0 20px;max-width:none;}
.story-copy h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;color:var(--navy);line-height:1.28;margin:10px 0 20px;}
.story-copy h2 .hl{color:var(--royal);}
.story-copy p{color:#5B647E;font-size:.98rem;line-height:1.8;margin-bottom:18px;}
.check-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px;}
.check-list li{display:flex;align-items:flex-start;gap:12px;font-size:.92rem;color:#374057;font-weight:500;}
.check-list li i{color:var(--royal);font-size:1.15rem;margin-top:1px;flex-shrink:0;}

/* ---------- Milestones timeline ---------- */
.timeline-section{padding:120px 0;background:linear-gradient(180deg,#EEF2FC,#E7ECFA);position:relative;overflow:hidden;}
.timeline-wrap{position:relative;max-width:900px;margin:70px auto 0;}
.timeline-wrap::before{
  content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);
  background:linear-gradient(180deg,var(--royal),var(--orange));
  opacity:.4;
}
.tl-item{position:relative;display:flex;margin-bottom:52px;min-height:1px;}
.tl-item:last-child{margin-bottom:0;}
.tl-card{
  background:#fff;border-radius:18px;padding:22px 26px;width:calc(50% - 46px);
  box-shadow:var(--shadow-card);border:1px solid rgba(13,27,76,.05);
  position:relative;
}
.tl-card .yr{color:var(--orange);font-family:'Manrope';font-weight:800;font-size:1.15rem;margin-bottom:6px;}
.tl-card p{margin:0;color:#5B647E;font-size:.88rem;line-height:1.6;}
.tl-dot{
  position:absolute;top:24px;left:50%;transform:translate(-50%,-50%);
  width:14px;height:14px;border-radius:50%;background:var(--royal);
  box-shadow:0 0 0 5px rgba(37,84,255,.18);z-index:2;
}
.tl-item.right{justify-content:flex-end;}
.tl-item.left{justify-content:flex-start;}

@media (max-width:767px){
  .timeline-wrap::before{left:18px;}
  .tl-item, .tl-item.right, .tl-item.left{justify-content:flex-start;padding-left:44px;}
  .tl-card{width:100%;}
  .tl-dot{left:18px;top:24px;}
}

/* ---------- Expert Services grid ---------- */
.services-grid-section{padding:120px 0;position:relative;overflow:hidden;}
.svc-card{
  background:#fff;border-radius:20px;padding:28px 24px;height:100%;
  border:1px solid rgba(13,27,76,.06);box-shadow:var(--shadow-card);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px -18px rgba(13,27,76,.22);}
.svc-ic{
  width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;margin-bottom:16px;
}
.svc-ic.c-blue{background:var(--royal-soft);color:var(--royal);}
.svc-ic.c-green{background:#DCFCE7;color:#16A34A;}
.svc-ic.c-orange{background:#FFF1E0;color:var(--orange);}
.svc-ic.c-red{background:#FEE2E2;color:#DC2626;}
.svc-ic.c-teal{background:#DFF7F5;color:#0F9C93;}
.svc-card h5{font-size:.98rem;font-weight:700;color:var(--navy);margin-bottom:8px;}
.svc-card p{font-size:.84rem;color:#64748B;line-height:1.6;margin:0;}

/* ---------- Core Values band ---------- */
.values-band{background:linear-gradient(120deg,var(--navy),#12235f);padding:80px 0;position:relative;overflow:hidden;}
.values-band .section-head h2{color:#fff;}
.values-band .section-head h2 .hl{color:var(--orange);}
.value-item{text-align:center;color:#fff;}
.value-item .vi-ic{
  width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;color:var(--orange);margin:0 auto 16px;transition:.3s ease;
}
.value-item:hover .vi-ic{background:rgba(255,140,26,.15);transform:translateY(-4px);}
.value-item h6{font-weight:700;font-size:.95rem;margin-bottom:6px;}
.value-item p{font-size:.8rem;color:#AEB9DC;margin:0;}

/* ---------- About CTA ---------- */
.about-cta{
  padding:100px 0;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(180deg,#F8FAFC,#EFF3FB);
}
.about-cta h2{font-weight:800;color:var(--navy);font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:10px;}
.about-cta h2 .hl{color:var(--orange);}
.about-cta p{color:#64748B;margin-bottom:30px;font-size:1rem;}
.about-cta .cta-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;align-items:center;}
.about-cta .back-home-link{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:600;font-size:.92rem;}
.about-cta .back-home-link:hover{color:var(--royal);}

/* ===== Contact page specific ===== */
.contact-info-cards{display:grid;gap:16px;margin-bottom:24px;}
.ci-card{
  display:flex;align-items:flex-start;gap:16px;
  background:#fff;border-radius:18px;padding:20px 22px;
  border:1px solid rgba(13,27,76,.06);box-shadow:var(--shadow-card);
  transition:transform .3s ease;
}
.ci-card:hover{transform:translateX(5px);}
.ci-ic{
  width:44px;height:44px;border-radius:13px;flex-shrink:0;
  background:var(--royal-soft);color:var(--royal);
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;
}
.ci-title{font-weight:700;color:var(--navy);font-size:.88rem;margin-bottom:6px;}
.ci-text{color:#5B647E;font-size:.84rem;line-height:1.7;}
.ci-text a{color:var(--royal);font-weight:600;}
.ci-text a:hover{color:var(--orange);}
.contact-map{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-card);border:1px solid rgba(13,27,76,.06);}
.contact-form .form-field select{
  width:100%;border:1.5px solid var(--gray);border-radius:12px;padding:13px 16px;
  font-size:.88rem;color:var(--text);background:#F8FAFC;transition:.25s ease;font-family:'Inter';
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
}
.contact-form .form-field select:focus{outline:none;border-color:var(--royal);background-color:#fff;box-shadow:0 0 0 4px var(--royal-soft);}
