/* ========================================================================
   Accessible Era — Home Page
   Reference design styles only.
   Edit this file to change Home Page spacing, sizing and visual styling.
   Content remains editable from Elementor.
   ======================================================================== */

.ae-home-widget{
  --home-blue:#0757d8;
  --home-blue-dark:#0b2148;
  --home-text:#34445d;
  --home-border:#dbe4ef;
  --home-soft:#f7fbff;
  --home-container:1180px;
  color:var(--home-text);
  background:#fff;
  overflow:hidden;
}

.ae-home-widget .ae-container{
  width:min(var(--home-container),calc(100% - 36px));
  margin-inline:auto;
}

/* ------------------------------------------------------------------------
   1. Hero
   ------------------------------------------------------------------------ */
.ae-home-hero{
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  padding:18px 0 0;
}
.ae-home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center;
  gap:30px;
  min-height:430px;
}
.ae-home-hero-copy{
  padding:22px 0 34px;
}
.ae-home-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  color:var(--home-blue);
  font-size:12px;
  line-height:1.2;
  font-weight:800;
}
.ae-home-eyebrow .ae-editable-icon{
  width:22px;
  height:22px;
  object-fit:contain;
}
.ae-home-hero h1{
  max-width:610px;
  margin:0 0 17px;
  color:var(--home-blue-dark);
  font-size:46px;
  line-height:1.08;
  letter-spacing:-1.35px;
  font-weight:800;
}
.ae-home-hero h1 span{
  color:var(--home-blue);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:7px;
  text-decoration-color:#5a98ef;
}
.ae-home-lead{
  max-width:560px;
  margin:0 0 20px;
  color:#34445d;
  font-size:15px;
  line-height:1.7;
}
.ae-home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ae-home-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 20px;
  border-radius:7px;
  font-size:13px;
  line-height:1;
  font-weight:700;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.ae-home-btn:hover{transform:translateY(-1px)}
.ae-home-btn-primary{
  background:var(--home-blue);
  color:#fff!important;
  box-shadow:0 8px 18px rgba(7,87,216,.16);
}
.ae-home-btn-primary:hover{background:#004dbf}
.ae-home-btn-secondary,
.ae-home-btn-outline{
  background:#fff;
  border:1px solid #8eb6ee;
  color:var(--home-blue)!important;
}
.ae-home-btn-secondary:hover,
.ae-home-btn-outline:hover{background:#f3f7ff}
.ae-home-trust{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 18px;
  max-width:590px;
  margin-top:22px;
}
.ae-home-trust-item{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  color:#33435c;
  font-size:11px;
  line-height:1.25;
  font-weight:700;
}
.ae-home-trust-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:none;
  border-radius:50%;
  background:#edf5ff;
}
.ae-home-trust-icon .ae-editable-icon{width:17px;height:17px;object-fit:contain}

.ae-home-hero-visual{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.ae-home-hero-visual::before{
  content:"";
  position:absolute;
  z-index:0;
  width:92%;
  height:92%;
  right:2%;
  top:4%;
  border-radius:50% 50% 12% 12%;
  background:radial-gradient(circle at 50% 48%,#e8f4ff 0%,#eef8ff 55%,rgba(238,248,255,0) 73%);
}
.ae-home-hero-media{
  position:relative;
  z-index:2;
  width:100%;
  max-width:650px;
  align-self:flex-end;
}
.ae-home-hero-media .ae-home-media-fit,
.ae-home-hero-media img,
.ae-home-hero-media video,
.ae-home-hero-media iframe{
  display:block;
  width:100%;
  height:auto;
  max-height:445px;
  aspect-ratio:1.24/1;
  object-fit:cover;
  border-radius:20px 20px 0 0;
}
.ae-home-hero-media .ae-video-frame{
  aspect-ratio:1.24/1;
  overflow:hidden;
  border-radius:20px 20px 0 0;
}
.ae-home-hero-media .ae-video-frame iframe{height:100%;border:0}
.ae-home-hero-orbit{
  position:absolute;
  z-index:1;
  border:1px dashed #d5e7fa;
  border-radius:50%;
  pointer-events:none;
}
.ae-home-hero-orbit.orbit-one{width:290px;height:290px;right:22%;top:17%}
.ae-home-hero-orbit.orbit-two{width:420px;height:420px;right:8%;top:1%}
.ae-home-float-icon{
  position:absolute;
  z-index:3;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid #e1eaf5;
  border-radius:50%;
  background:#fff;
  box-shadow:0 9px 22px rgba(26,72,130,.12);
}
.ae-home-float-icon .ae-editable-icon{width:24px;height:24px;object-fit:contain}
.ae-home-float-icon.fi-speaker{left:3%;top:25%}
.ae-home-float-icon.fi-keyboard{left:0;top:43%}
.ae-home-float-icon.fi-eye{right:19%;top:13%}
.ae-home-float-icon.fi-access{right:0;top:35%}

/* ------------------------------------------------------------------------
   Shared section heading
   ------------------------------------------------------------------------ */
.ae-home-section{padding:36px 0}
.ae-home-section-head{margin-bottom:20px}
.ae-home-center{text-align:center}
.ae-home-eyebrow-text{
  margin:0 0 7px;
  color:var(--home-blue);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.04em;
  font-weight:800;
  text-transform:uppercase;
}
.ae-home-section-head h2,
.ae-home-why h2,
.ae-home-cases h2,
.ae-home-faq h2{
  margin:0 0 7px;
  color:#0b1831;
  font-size:25px;
  line-height:1.2;
  letter-spacing:-.45px;
  font-weight:800;
}
.ae-home-section-head>p:last-child{
  max-width:690px;
  margin:0 auto;
  color:#566278;
  font-size:13px;
  line-height:1.65;
}

/* ------------------------------------------------------------------------
   4. Services
   ------------------------------------------------------------------------ */
.ae-home-services{background:#fff}
.ae-home-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ae-home-service-card{
  display:flex;
  flex-direction:column;
  min-height:375px;
  overflow:hidden;
  border:1px solid #dbe4ef;
  border-radius:15px;
  background:var(--ae-card-bg,#f2f7ff);
}
.ae-home-service-media{
  margin:10px 10px 0;
  min-height:170px;
  aspect-ratio:1.6/1;
  overflow:hidden;
  border-radius:10px;
  background:#fff;
}
.ae-home-service-media img,
.ae-home-service-media video,
.ae-home-service-media iframe,
.ae-home-service-media-fit{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ae-home-service-media .ae-video-frame{width:100%;height:100%;overflow:hidden}
.ae-home-service-media .ae-video-frame iframe{border:0}
.ae-home-service-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:17px 19px 19px;
}
.ae-home-service-body h3{
  margin:0 0 9px;
  color:#111d35;
  font-size:18px;
  line-height:1.16;
  font-weight:800;
}
.ae-home-service-body p{
  margin:0 0 16px;
  color:#47556b;
  font-size:13px;
  line-height:1.58;
}
.ae-home-card-btn{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:7px;
  min-height:38px;
  margin-top:auto;
  padding:0 17px;
  border-radius:999px;
  background:var(--home-blue);
  color:#fff!important;
  font-size:12px;
  line-height:1;
  font-weight:700;
}
.ae-home-card-btn:hover{background:#004dbf}

/* ------------------------------------------------------------------------
   5. Statistics
   ------------------------------------------------------------------------ */
.ae-home-stats{padding:0 0 30px}
.ae-home-stats-bar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:78px;
  overflow:hidden;
  border-radius:9px;
  background:linear-gradient(90deg,#0648b7,#075bd6);
  color:#fff;
}
.ae-home-stat{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 20px;
}
.ae-home-stat:not(:last-child)::after{
  content:"";
  position:absolute;
  top:19px;
  right:0;
  bottom:19px;
  width:1px;
  background:rgba(255,255,255,.28);
}
.ae-home-stat-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:none;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.ae-home-stat-icon .ae-editable-icon{width:22px;height:22px;filter:brightness(0) invert(1)}
.ae-home-stat-copy{display:flex;flex-direction:column}
.ae-home-stat-copy strong{font-size:19px;line-height:1.05}
.ae-home-stat-copy small{margin-top:3px;font-size:10px;line-height:1.3;opacity:.95}

/* ------------------------------------------------------------------------
   6. Why Accessibility
   ------------------------------------------------------------------------ */
.ae-home-why{padding-top:31px}
.ae-home-why-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  gap:30px;
}
.ae-home-why-copy{padding-right:8px}
.ae-home-why-copy h2{max-width:380px;margin-bottom:12px;font-size:24px}
.ae-home-why-copy>p:not(.ae-home-eyebrow-text){
  max-width:410px;
  margin:0 0 17px;
  color:#4d5a6f;
  font-size:13px;
  line-height:1.65;
}
.ae-home-why-visual{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:18px;
}
.ae-home-why-art{position:relative}
.ae-home-why-art img,
.ae-home-why-art video,
.ae-home-why-art iframe,
.ae-home-why-media{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.ae-home-why-art .ae-video-frame{aspect-ratio:1.25/1;overflow:hidden}
.ae-home-why-art .ae-video-frame iframe{height:100%;border:0}
.ae-home-benefits{
  padding:14px 15px;
  border:1px solid #e1e8f1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 28px rgba(18,48,89,.06);
}
.ae-home-benefits>div{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 0;
  color:#314057;
  font-size:11px;
  line-height:1.35;
  font-weight:600;
}
.ae-home-benefits .ae-editable-icon{width:17px;height:17px;flex:none}

/* ------------------------------------------------------------------------
   7. Case Studies
   ------------------------------------------------------------------------ */
.ae-home-cases{padding-top:30px}
.ae-home-section-title-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.ae-home-section-title-row h2{margin-bottom:0}
.ae-home-text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border:1px solid #82aee9;
  border-radius:7px;
  color:var(--home-blue)!important;
  font-size:11px;
  line-height:1;
  font-weight:700;
}
.ae-home-text-link:hover{background:#f3f7ff}
.ae-home-case-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.ae-home-case-card{
  display:grid;
  grid-template-columns:1.06fr .94fr;
  min-height:156px;
  overflow:hidden;
  border:1px solid #e0e6ee;
  border-radius:9px;
  background:#fff;
}
.ae-home-case-copy{padding:12px 10px 10px}
.ae-home-tag{
  display:inline-flex;
  margin-bottom:7px;
  padding:4px 7px;
  border-radius:999px;
  background:#edf5ff;
  color:var(--home-blue);
  font-size:9px;
  line-height:1.2;
  font-weight:700;
}
.ae-home-case-copy h3{
  margin:0 0 6px;
  color:#1a2942;
  font-size:13px;
  line-height:1.24;
  font-weight:800;
}
.ae-home-case-copy p{
  margin:0 0 8px;
  color:#5b6779;
  font-size:9.5px;
  line-height:1.45;
}
.ae-home-case-copy>a{color:var(--home-blue)!important;font-size:9.5px;font-weight:700}
.ae-home-case-media{min-height:100%;background:#eef4fa;overflow:hidden}
.ae-home-case-media-fit,
.ae-home-case-media img,
.ae-home-case-media video,
.ae-home-case-media iframe{display:block;width:100%;height:100%;object-fit:cover}
.ae-home-case-media .ae-video-frame{width:100%;height:100%;overflow:hidden}
.ae-home-case-media .ae-video-frame iframe{border:0}

/* ------------------------------------------------------------------------
   8. FAQ
   ------------------------------------------------------------------------ */
.ae-home-faq{padding-top:10px;padding-bottom:32px}
.ae-home-faq-head{margin-bottom:8px}
.ae-home-faq-head h2{margin-bottom:9px;font-size:24px}
.ae-home-faq-head p{color:#5b6779;font-size:13px}
.ae-home-faq-list{border-top:1px solid #b9c2cf}
.ae-home-faq-item{border-bottom:1px solid #b9c2cf;background:#fff}
.ae-home-faq-item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 4px;
  color:#111c31;
  font-size:16px;
  line-height:1.3;
  font-weight:500;
  cursor:pointer;
  list-style:none;
}
.ae-home-faq-item summary::-webkit-details-marker{display:none}
.ae-home-faq-icon{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  flex:none;
  border:1px solid #aab5c4;
  border-radius:50%;
  font-size:16px;
  line-height:1;
  transition:transform .18s ease;
}
.ae-home-faq-item[open] .ae-home-faq-icon{transform:rotate(180deg)}
.ae-home-faq-answer{
  padding:0 45px 17px 4px;
  color:#596579;
  font-size:13px;
  line-height:1.65;
}
.ae-home-faq-answer p:last-child{margin-bottom:0}

/* ------------------------------------------------------------------------
   Language and accessibility controls
   ------------------------------------------------------------------------ */
html[lang^="bn"] .ae-home-widget,
html[lang^="bn"] .ae-home-widget *{
  font-family:var(--ae-bn-font);
}
html[lang^="bn"] .ae-home-hero h1{
  letter-spacing:-.3px;
  line-height:1.18;
}
html[lang^="bn"] .ae-home-lead,
html[lang^="bn"] .ae-home-section-head>p:last-child,
html[lang^="bn"] .ae-home-service-body p,
html[lang^="bn"] .ae-home-why-copy>p:not(.ae-home-eyebrow-text),
html[lang^="bn"] .ae-home-faq-answer{
  line-height:1.85;
}

/* ------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------ */
@media (max-width:1024px){
  .ae-home-hero-grid{grid-template-columns:1fr;min-height:0;gap:18px}
  .ae-home-hero-copy{max-width:720px}
  .ae-home-hero-visual{min-height:380px}
  .ae-home-service-grid,
  .ae-home-case-grid{grid-template-columns:1fr 1fr}
  .ae-home-service-card:last-child{grid-column:1/-1}
  .ae-home-why-grid{grid-template-columns:1fr}
  .ae-home-why-copy{max-width:700px}
  .ae-home-why-visual{max-width:850px}
}

@media (max-width:700px){
  .ae-home-widget .ae-container{width:calc(100% - 24px)}
  .ae-home-hero{padding-top:12px}
  .ae-home-hero h1{font-size:35px;letter-spacing:-.8px}
  .ae-home-lead{font-size:15px}
  .ae-home-actions{flex-direction:column}
  .ae-home-actions .ae-home-btn{width:100%}
  .ae-home-trust{grid-template-columns:1fr 1fr;gap:10px}
  .ae-home-hero-visual{min-height:300px;margin-top:4px}
  .ae-home-hero-media{max-width:100%}
  .ae-home-hero-media .ae-home-media-fit,
  .ae-home-hero-media img,
  .ae-home-hero-media video,
  .ae-home-hero-media .ae-video-frame{border-radius:15px 15px 0 0}
  .ae-home-float-icon{width:39px;height:39px}
  .ae-home-float-icon .ae-editable-icon{width:19px;height:19px}
  .ae-home-hero-orbit.orbit-one{width:200px;height:200px;right:18%;top:22%}
  .ae-home-hero-orbit.orbit-two{width:280px;height:280px;right:5%;top:8%}
  .ae-home-service-grid,
  .ae-home-case-grid{grid-template-columns:1fr}
  .ae-home-service-card:last-child{grid-column:auto}
  .ae-home-service-card{min-height:0}
  .ae-home-stats-bar{grid-template-columns:1fr 1fr}
  .ae-home-stat{min-height:75px;padding:11px 12px}
  .ae-home-stat:nth-child(2)::after{display:none}
  .ae-home-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .ae-home-why-visual{grid-template-columns:1fr}
  .ae-home-section-title-row{align-items:flex-start;flex-direction:column}
  .ae-home-faq-item summary{font-size:14px}
  .ae-home-faq-answer{padding-right:8px}
}

@media (max-width:420px){
  .ae-home-hero h1{font-size:31px}
  .ae-home-trust{grid-template-columns:1fr}
  .ae-home-stats-bar{grid-template-columns:1fr}
  .ae-home-stat:not(:last-child)::after{display:none}
  .ae-home-stat{border-bottom:1px solid rgba(255,255,255,.18)}
  .ae-home-stat:last-child{border-bottom:0}
}
