/*
 * BRAMY TECHNOLOGIES — home overrides on top of group-home.css.
 * Section scale matches Bramy Group (html zoom from group-home.css).
 */

/* Hero lead: keep copy inside the diagonal navy panel (no nowrap overflow). */
.hero--showcase .hpanel__in {
  width: min(42%, 560px) !important;
  max-width: min(560px, 46vw) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.hero--showcase .hpanel__lead,
.hero--showcase .hpanel__p {
  max-width: 100% !important;
}
.hero--showcase .hpanel__lead-line,
.hero--showcase .hpanel__p-line {
  display: block !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
}
.hero--showcase .hpanel__lead {
  font-size: clamp(16px, 1.35vw, 22px) !important;
  line-height: 1.5 !important;
}
.hero--showcase .hpanel__p {
  font-size: clamp(15px, 1.2vw, 19px) !important;
  line-height: 1.55 !important;
}

/* Mobile hero: full-bleed copy, room above floating docks, no clipped CTAs */
@media (max-width: 900px) {
  .hero--showcase .hpanel__in {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    text-align: center !important;
  }
  .hero--showcase .hpanel {
    /* clears a11y + WA + soc-dock stack at the bottom */
    padding: max(72px, env(safe-area-inset-top, 0px)) 18px
      calc(132px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .hero--showcase .hero__title {
    text-align: center !important;
    font-size: clamp(34px, 10.2vw, 46px) !important;
    line-height: 1.15 !important;
    overflow-wrap: break-word !important;
  }
  .hero--showcase .hpanel__lead,
  .hero--showcase .hpanel__p {
    text-align: center !important;
    margin-inline: auto !important;
    max-width: 100% !important;
  }
  .hero--showcase .hpanel__lead {
    font-size: clamp(17px, 5vw, 21px) !important;
    line-height: 1.55 !important;
  }
  .hero--showcase .hpanel__p {
    font-size: clamp(15.5px, 4.4vw, 19px) !important;
    line-height: 1.55 !important;
  }
  .hero--showcase .hpanel__lead-line,
  .hero--showcase .hpanel__p-line {
    white-space: normal !important;
  }
  .hero-showcase__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 12px !important;
    margin-top: 22px !important;
  }
  .hero-showcase__primary,
  .hero-showcase__secondary {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    box-sizing: border-box !important;
    min-height: 52px !important;
    font-size: 17px !important;
    padding: 14px 16px !important;
    line-height: 1.25 !important;
  }
  .hero-showcase__tags {
    letter-spacing: 0.08em !important;
    word-spacing: 0.15em !important;
    font-size: 14.5px !important;
    margin-top: 16px !important;
  }
  /* Floating chrome — sizes only apply when dock is visible (≤760px) */
  .soc-dock a {
    width: var(--a11y-fab-size, 56px) !important;
    height: var(--a11y-fab-size, 56px) !important;
    min-width: var(--a11y-fab-size, 56px) !important;
    min-height: var(--a11y-fab-size, 56px) !important;
    border-width: 3px !important;
  }
  .soc-dock a svg {
    width: 22px !important;
    height: 22px !important;
  }
}

/* Activity tiles: fill the full panel edge-to-edge (no letterbox bands). */
.activity-showcase__tile img {
  object-fit: cover !important;
  object-position: center 40% !important;
  width: 100% !important;
  height: 100% !important;
  inset: 0 !important;
}

/* Match group: title stays on intentional lines only (via <br>), no mid-phrase wrap. */
.activity-showcase__title {
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .activity-showcase__title {
    white-space: normal !important;
  }
  .activity-showcase__title .nw {
    white-space: nowrap;
  }
}

/* Center the footer brand block (logo, copy, mail, social). */
.ftr.ftr--pro .ftr-pro__brand {
  text-align: center !important;
}

.ftr.ftr--pro .brandlogo--ftr {
  align-items: center !important;
}

.ftr.ftr--pro .brandlogo--ftr::before {
  display: none !important;
}

.ftr.ftr--pro .ftr-pro__desc {
  margin-inline: auto !important;
  text-align: center !important;
  max-width: 42ch;
}

.ftr.ftr--pro .ftr-pro__brand-tools {
  justify-content: center !important;
}

.ftr.ftr--pro .ftr-pro__contacts--brand {
  justify-content: center !important;
}

.ftr.ftr--pro .ftr-pro__contact-txt {
  align-items: center !important;
}

/*
 * Bottom-of-page bug: body.home was navy so zoom hairlines between navy
 * chapters stay navy — but under the light pro footer that navy peeks as a
 * huge curved band on every page. Keep chrome white; sections keep own fills.
 */
html,
body,
body.home,
body.group-home-tech {
  background-color: #fff !important;
  background-image: none !important;
}

.ftr.ftr--pro {
  border-radius: 0 !important;
  border-start-start-radius: 0 !important;
  border-start-end-radius: 0 !important;
  border-end-start-radius: 0 !important;
  border-end-end-radius: 0 !important;
  margin: 0 !important;
  background: #eef3f8 !important;
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
}
@media (max-width: 760px) {
  /* just enough for the fixed button row not to cover the copyright */
  .ftr.ftr--pro {
    padding-bottom: calc(var(--a11y-fab-size, 54px) + 24px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

.ftr.ftr--pro .ftr-pro__bg {
  display: none !important;
}

.ftr.ftr--pro .ftr-pro__bar {
  justify-content: center !important;
}
@media (min-width: 901px) {
  /* .ftr-pro__main has uneven side padding; even it out so the copyright sits on the page centre */
  .ftr.ftr--pro .ftr-pro__bar {
    margin-left: calc(clamp(18px, 2.6vw, 36px) - clamp(8px, 1vw, 16px)) !important;
  }
}
.ftr.ftr--pro .ftr-pro__bar-mid {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding-inline: 0 !important;
  width: 100% !important;
}
.ftr.ftr--pro .ftr-pro__copy {
  white-space: normal !important;
  max-width: none !important;
  margin-inline: auto !important;
  text-align: center !important;
}

/* Mobile header: keep burger clear of the centered logo */
@media (max-width: 768px) {
  .hdr__wrap {
    grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    gap: 2px !important;
    padding-inline: 4px !important;
  }
  .hdr__wrap .brand {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding-inline: 4px !important;
  }
  .hdr__wrap .brandlogo {
    font-size: clamp(17px, 5.3vw, 26px) !important;
    letter-spacing: 0.02em !important;
    max-width: 100% !important;
  }
  .hdr__wrap .brandlogo small {
    font-size: clamp(6.5px, 2.1vw, 10px) !important;
    letter-spacing: 0.14em !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .hdr__burger {
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 2 !important;
  }
}

/* Articles heading: keep one clean line on phones */
@media (max-width: 700px) {
  .home-articles__title {
    font-size: clamp(24px, 6.8vw, 32px) !important;
    letter-spacing: -0.4px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
}

/* Social icons: mobile only, same size as a11y / WhatsApp, opposite side */
.ftr.ftr--pro .ftr-pro__soc {
  display: none !important;
}

.soc-dock {
  display: none !important;
  position: fixed;
  z-index: 1190;
  left: auto;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: calc(var(--qleadh, 0px) + var(--ckbarh, 0px) + var(--a11y-fab-bottom, 10px) + env(safe-area-inset-bottom, 0px));
  transform: none;
  align-items: center;
  gap: var(--a11y-fab-gap, 10px);
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  direction: ltr;
}

.soc-dock a {
  width: var(--a11y-fab-size, 68px);
  height: var(--a11y-fab-size, 68px);
  min-width: var(--a11y-fab-size, 68px);
  min-height: var(--a11y-fab-size, 68px);
  box-sizing: border-box;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--primary-2, #12294C);
  border: 3px solid #fff;
  box-shadow: 0 12px 34px rgba(0, 59, 122, 0.5), 0 0 0 1px rgba(0, 59, 122, 0.15);
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.soc-dock a svg {
  width: 32px;
  height: 32px;
  display: block;
}

.soc-dock a:hover,
.soc-dock a:focus-visible {
  background: var(--primary, #1A3A6B);
  color: #fff;
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 14px 38px rgba(0, 59, 122, 0.6);
  border-color: #fff;
}

.soc-dock a:focus-visible {
  outline: 3px solid #0f172a;
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .soc-dock {
    display: flex !important;
    gap: var(--a11y-fab-gap, 8px);
    padding: 0;
    border-radius: 0;
    max-width: calc(100vw - 140px);
  }
  .soc-dock a {
    width: var(--a11y-fab-size, 56px);
    height: var(--a11y-fab-size, 56px);
    min-width: var(--a11y-fab-size, 56px);
    min-height: var(--a11y-fab-size, 56px);
    border-radius: 50%;
    border-width: 3px;
  }
  .soc-dock a svg {
    width: 22px;
    height: 22px;
  }
}

@media print {
  .soc-dock {
    display: none !important;
  }
}

/* ── Home FAQ · light office plate (mockup 2026) ─────────────────────── */
.home-faq--tech{
  position:relative;
  background:#e8f2fb;
  background-image:var(--home-faq-hero);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  color:#0d2b55;
  padding:0 0 clamp(56px,6vw,88px);
  isolation:isolate;
}
.home-faq--tech::before{
  content:"";
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.38) 0%,
      rgba(248,252,255,.52) 42%,
      rgba(255,255,255,.58) 100%
    );
}
.home-faq--tech .home-faq__hero,
.home-faq--tech .home-faq__body{
  position:relative;z-index:1;
}
.home-faq--tech .home-faq__hero{
  background:transparent!important;
  min-height:0;
  padding:clamp(64px,7vw,100px) clamp(20px,4vw,48px) clamp(20px,2.5vw,28px)!important;
}
.home-faq--tech .home-faq__hero::after{display:none!important}
.home-faq--tech .home-faq__brand{
  margin:0 0 16px;
  font-size:clamp(11px,1vw,13px);
  font-weight:600;
  letter-spacing:.32em;
  color:#7a8fa8;
  text-transform:uppercase;
}
.home-faq--tech .home-faq__title{
  background:none!important;
  -webkit-background-clip:unset!important;background-clip:unset!important;
  color:#0d2b55!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none;
  font-size:clamp(40px,4.8vw,64px)!important;
  position:relative;
  letter-spacing:-.02em;
}
.home-faq--tech .home-faq__title-a{
  color:#2b7de9!important;
  -webkit-text-fill-color:#2b7de9!important;
}
.home-faq--tech .home-faq__title-b{
  color:#0d2b55!important;
  -webkit-text-fill-color:#0d2b55!important;
}
.home-faq--tech .home-faq__title::after{
  content:"";
  display:block;
  width:56px;height:3px;
  margin:16px auto 0;
  background:#2b7de9;
  border-radius:2px;
}
.home-faq--tech .home-faq__lead{
  max-width:40em;
  margin:20px auto 0!important;
  color:#4a5d73!important;
  font-size:clamp(15px,1.15vw,17px)!important;
  line-height:1.75;
  font-weight:500;
}
.home-faq--tech .home-faq__body{
  background:transparent!important;
  max-width:1040px;
  padding:clamp(28px,3.5vw,44px) clamp(18px,3vw,36px) 0!important;
}
.home-faq--tech .home-faq__body::before{display:none!important}
.home-faq--tech .home-faq__grid{gap:16px}
.home-faq--tech .home-faq__col{gap:16px}
.home-faq--tech .home-faq__card{
  background:#fff!important;
  border:1px solid rgba(13,43,85,.06)!important;
  border-radius:14px!important;
  box-shadow:0 10px 28px rgba(13,43,85,.08)!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:box-shadow .2s ease,transform .2s ease,background .2s ease;
}
.home-faq--tech .home-faq__card[open]{
  background:#f3f8fd!important;
  border-color:rgba(43,125,233,.14)!important;
  box-shadow:0 14px 32px rgba(13,43,85,.1)!important;
}
.home-faq--tech .home-faq__card-head{
  position:relative;
  padding:18px 18px 18px 16px!important;
  align-items:center;
  grid-template-columns:36px minmax(0,1fr) 52px!important;
  gap:12px!important;
  min-height:72px;
}
.home-faq--tech .home-faq__chev{
  width:34px;height:34px;
  border:1.5px solid #2b7de9!important;
  color:#2b7de9!important;
  background:#fff;
  flex:none;
  z-index:2;
  border-radius:50%;
}
.home-faq--tech .home-faq__chev::before{
  content:"+";
  border:0!important;
  width:auto!important;height:auto!important;
  margin:0!important;
  left:50%;top:50%;
  transform:translate(-50%,-52%)!important;
  font-size:22px;font-weight:400;line-height:1;
  color:inherit;
}
.home-faq--tech .home-faq__card[open] .home-faq__chev::before{
  content:"−";
  transform:translate(-50%,-54%)!important;
  color:#fff!important;
}
.home-faq--tech .home-faq__card[open] .home-faq__chev{
  color:#fff!important;
  border-color:#2b7de9!important;
  background:#2b7de9;
}
.home-faq--tech .home-faq__q{
  position:relative;z-index:2;
  color:#0d2b55!important;
  font-size:clamp(14px,1.05vw,16px)!important;
  font-weight:700;
  line-height:1.4!important;
  padding-inline-end:4px;
}
.home-faq--tech .home-faq__card[open] .home-faq__q{color:#0d2b55!important}
.home-faq--tech .home-faq__num{
  position:relative;z-index:1;
  justify-self:end;
  color:rgba(43,125,233,.16)!important;
  -webkit-text-stroke:0!important;
  opacity:1;
  font-size:clamp(28px,2vw,36px)!important;
  font-weight:300!important;
  line-height:1!important;
  padding:0!important;
}
.home-faq--tech .home-faq__a-wrap{
  position:relative;z-index:2;
  padding:0 18px 18px 62px!important;
}
.home-faq--tech .home-faq__a{
  color:#4a5d73!important;
  font-size:14px!important;
  line-height:1.75;
}
.home-faq--tech .home-faq__cta{display:none!important}
@media (hover:hover){
  .home-faq--tech .home-faq__card:not([open]):hover{
    box-shadow:0 14px 34px rgba(13,43,85,.12)!important;
    transform:translateY(-2px);
  }
  .home-faq--tech .home-faq__card:not([open]) .home-faq__card-head:hover .home-faq__q{
    color:#2b7de9!important;
  }
}
@media (max-width:960px){
  .home-faq--tech{
    background-position:center top;
    padding-bottom:44px;
  }
  .home-faq--tech::before{
    background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(248,252,255,.7) 100%);
  }
  .home-faq--tech .home-faq__hero{
    padding:48px 18px 16px!important;
  }
  .home-faq--tech .home-faq__title{
    white-space:normal!important;
    font-size:clamp(32px,9vw,42px)!important;
  }
  .home-faq--tech .home-faq__title::after{margin-top:12px;width:48px}
  .home-faq--tech .home-faq__body{padding:22px 16px 0!important}
  .home-faq--tech .home-faq__card-head{
    grid-template-columns:32px minmax(0,1fr) 44px!important;
    min-height:64px;
    padding:16px!important;
  }
  .home-faq--tech .home-faq__num{font-size:28px!important;opacity:.7}
  .home-faq--tech .home-faq__a-wrap{padding:0 16px 16px 54px!important}
}


/* ── Home contact · glass form on cinematic BG (mockup 2026) ───────────── */
.home-contact.home-contact--glass{
  min-height: clamp(640px, 72vw, 780px);
  background-color:#020b1a;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  padding: clamp(48px, 5vw, 72px) clamp(20px, 5vw, 80px);
  /* clear fixed a11y + WA (and mobile soc-dock) under the consent line */
  padding-bottom: calc(clamp(48px, 5vw, 72px) + 88px + env(safe-area-inset-bottom, 0px));
  overflow:hidden;
}
.home-contact.home-contact--glass::before{
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(2,10,28,.35) 0%, rgba(2,10,28,.15) 42%, rgba(2,10,28,.45) 100%);
}
.home-contact.home-contact--glass .home-contact__grid{
  max-width:1180px;
  grid-template-columns: minmax(320px, 460px) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 72px);
  align-items:center;
  direction:ltr;
}
.home-contact.home-contact--glass .home-contact__form{
  background: rgba(8, 28, 58, 0.42);
  border: 1px solid rgba(120, 190, 255, 0.28);
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(0, 8, 28, 0.45), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 28px 26px 22px;
  color:#fff;
}
.home-contact.home-contact--glass .home-contact__form h2{
  text-align:right;
  color:#fff !important;
  font-size: clamp(26px, 2.4vw, 34px);
  margin: 0 0 6px;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.home-contact.home-contact--glass .home-contact__lead{
  margin: 0 0 18px;
  color: rgba(220, 236, 255, 0.78);
  font-size: 13.5px;
  line-height: 1.55;
  text-align:right;
}
.home-contact.home-contact--glass .home-contact__flash{
  margin: 0 0 12px;
  font-weight: 800;
  text-align:right;
  color:#7CFFB2;
}
.home-contact.home-contact--glass .home-contact__hp{
  position:absolute; opacity:0; pointer-events:none;
}
.home-contact.home-contact--glass .home-contact__row{
  gap: 12px 14px;
}
.home-contact.home-contact--glass .home-contact__msg{
  grid-column: 1 / -1;
}
.home-contact.home-contact--glass .home-contact__lab{
  color: rgba(230, 242, 255, 0.92) !important;
  font-size: 12.5px;
  font-weight: 700;
  margin: 0 0 7px 2px;
}
.home-contact.home-contact--glass .home-contact__field{
  background: rgba(4, 16, 36, 0.55) !important;
  border: 1px solid rgba(140, 198, 255, 0.28) !important;
  border-radius: 12px !important;
  color: #fff !important;
  height: 48px;
  margin: 0 0 2px;
  box-shadow: none;
}
.home-contact.home-contact--glass .home-contact__field::placeholder{
  color: rgba(190, 214, 240, 0.55);
}
.home-contact.home-contact--glass .home-contact__field:focus{
  border-color: rgba(80, 180, 255, 0.85) !important;
  box-shadow: 0 0 0 3px rgba(40, 140, 255, 0.22) !important;
  outline: none;
}
.home-contact.home-contact--glass select.home-contact__field{
  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 fill='%9ec8ef' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-color: rgba(4, 16, 36, 0.55) !important;
  color:#fff !important;
}
.home-contact.home-contact--glass select.home-contact__field option{
  color:#0b1b37; background:#fff;
}
.home-contact.home-contact--glass textarea.home-contact__field{
  height: 96px;
  padding-top: 12px;
  padding-bottom: 28px;
  resize: vertical;
}
.home-contact.home-contact--glass .home-contact__field-wrap{
  position: relative;
  direction: ltr; /* icon + tel padding use physical left */
}
/* Tel inputs are LTR — keep icon + padding on the physical left so they never collide. */
.home-contact.home-contact--glass .home-contact__field--ico{
  direction: ltr !important;
  text-align: left !important;
  padding: 0 14px 0 48px !important;
}
.home-contact.home-contact--glass .home-contact__field-ic{
  position: absolute !important;
  left: 12px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%);
  margin: 0 !important;
  color: rgba(140, 200, 255, 0.85);
  display: grid;
  place-items: center;
  pointer-events: none;
  z-index: 2;
  width: 18px;
  height: 18px;
}
.home-contact.home-contact--glass .home-contact__field-ic svg{
  width: 16px; height: 16px; display:block;
}
.home-contact.home-contact--glass .home-contact__field-ic--br{
  top: auto !important;
  bottom: 12px !important;
  left: 14px !important;
  right: auto !important;
  transform: none;
}
.home-contact.home-contact--glass .home-contact__form button{
  margin-top: 14px;
  height: 52px;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #2f9dff 0%, #1478e6 100%) !important;
  box-shadow: 0 12px 28px rgba(20, 120, 230, 0.4) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 16px !important;
  font-weight: 800 !important;
}
.home-contact.home-contact--glass .home-contact__form button:hover{
  background: linear-gradient(180deg, #49aaff 0%, #1a86f0 100%) !important;
}
.home-contact.home-contact--glass .home-contact__form button svg{
  transform: scaleX(-1); /* RTL arrow points outward */
}
.home-contact.home-contact--glass .home-contact__consent{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 16px 0 0;
  color: rgba(210, 228, 250, 0.88);
  font-size: 12px;
  line-height: 1.65;
  font-weight: 500;
  text-align: start;
  cursor: pointer;
}
.home-contact.home-contact--glass .home-contact__consent input{
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #2b7de9;
  cursor: pointer;
}
.home-contact.home-contact--glass .home-contact__consent a{
  color: #8fd0ff;
  text-decoration: underline;
  font-weight: 700;
}
.home-contact.home-contact--glass .home-contact__consent a:hover{
  color: #fff;
}

.home-contact.home-contact--glass .home-contact__content{
  justify-self: stretch;
  max-width: min(560px, 100%);
  margin-inline-start: auto;
  padding: 8px 0;
}
.home-contact.home-contact--glass .home-contact__brand{
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.92);
}
.home-contact.home-contact--glass .home-contact__content h2{
  font-size: clamp(32px, 3.2vw, 48px);
  line-height: 1.12;
  font-weight: 900;
  color: #fff;
  margin: 0;
}
.home-contact.home-contact--glass .home-contact__content h2 span{
  color: #5ec8ff;
}
.home-contact.home-contact--glass .home-contact__content > p{
  margin: 16px 0 26px;
  color: rgba(220, 236, 255, 0.86);
  font-size: clamp(15px, 1.15vw, 17px);
  max-width: 38ch;
}

.home-contact.home-contact--glass .home-contact__details{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px 14px;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  border: 0;
  border-block: none;
  direction: rtl;
  padding: 0;
}
.home-contact.home-contact--glass .home-contact__details a{
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  text-align: start;
  padding: 6px 10px;
  color: #fff;
  text-decoration: none;
  border: 0 !important;
  background: transparent !important;
  white-space: nowrap;
  direction: ltr;
  min-width: 0;
  max-width: 100%;
}
.home-contact.home-contact--glass .home-contact__details a:hover,
.home-contact.home-contact--glass .home-contact__details a:focus-visible{
  color: #5ec8ff;
}
.home-contact.home-contact--glass .home-contact__ico{
  color: #5ec8ff !important;
  width: 16px; height: 16px;
  flex: 0 0 auto;
}
.home-contact.home-contact--glass .home-contact__ico svg{
  width: 14px; height: 14px;
}
.home-contact.home-contact--glass .home-contact__dtxt{
  display: block;
  min-width: 0;
}
.home-contact.home-contact--glass .home-contact__dtxt strong{
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-contact.home-contact--glass .home-contact__dtxt small{
  display: none;
}
.home-contact.home-contact--glass .home-contact__tags{
  display: none !important;
}

@media (max-width: 900px){
  .home-contact.home-contact--glass{
    min-height: 0;
    padding: 36px 16px calc(32px + 96px + env(safe-area-inset-bottom, 0px));
    background-position: 70% center;
  }
  .home-contact.home-contact--glass::before{
    background: linear-gradient(180deg, rgba(2,10,28,.72) 0%, rgba(2,10,28,.78) 100%);
  }
  .home-contact.home-contact--glass .home-contact__grid{
    grid-template-columns: 1fr;
    max-width: 520px;
    gap: 22px;
  }
  .home-contact.home-contact--glass .home-contact__content{
    order: 1;
    text-align: center;
    margin: 0;
    max-width: none;
  }
  .home-contact.home-contact--glass .home-contact__content > p{
    margin-inline: auto;
  }
  .home-contact.home-contact--glass .home-contact__brand{
    letter-spacing: 0.1em;
  }
  .home-contact.home-contact--glass .home-contact__form{
    order: 2;
    padding: 22px 18px 18px;
  }
  .home-contact.home-contact--glass .home-contact__form h2,
  .home-contact.home-contact--glass .home-contact__lead{
    text-align: center;
  }
  .home-contact.home-contact--glass .home-contact__row{
    grid-template-columns: 1fr;
  }
  .home-contact.home-contact--glass .home-contact__details{
    width: 100%;
    justify-content: center;
    gap: 8px;
  }
  .home-contact.home-contact--glass .home-contact__details a{
    flex: 1 1 auto;
    justify-content: center;
    max-width: 100%;
    padding: 8px 12px;
  }
  .home-contact.home-contact--glass .home-contact__dtxt strong{
    font-size: 12px;
  }
}

/* ── Home contact · light glass variant ─────────────────────────────────── */
.home-contact--glass.home-contact--light{
  background-color:#eaf2fb;
  min-height:0;
  padding-top:calc(clamp(48px, 5vw, 72px) + clamp(40px, 5vw, 72px));
  padding-bottom:clamp(48px, 5vw, 72px);
}
.home-contact--glass.home-contact--light::after{
  content:"";
  position:absolute; inset:0 0 auto; z-index:0; pointer-events:none;
  height:clamp(90px, 11vw, 170px);
  background:linear-gradient(180deg,#fff 0%,#fff 28%,rgba(255,255,255,.7) 58%,rgba(255,255,255,0) 100%);
}
.home-contact--glass.home-contact--light .home-contact__content h2{text-shadow:none}
.home-contact--glass.home-contact--light::before{
  background:
    linear-gradient(90deg, rgba(234,242,251,.72) 0%, rgba(234,242,251,.6) 40%, rgba(234,242,251,.45) 100%);
}
.home-contact--glass.home-contact--light .home-contact__form{
  background:rgba(255,255,255,.74);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 24px 60px rgba(18,41,76,.14), inset 0 1px 0 #fff;
  color:#12294c;
}
.home-contact--glass.home-contact--light .home-contact__form h2{color:#12294c !important}
.home-contact--glass.home-contact--light .home-contact__lead{color:#5b6c86}
.home-contact--glass.home-contact--light .home-contact__flash{color:#15803d}
.home-contact--glass.home-contact--light .home-contact__lab{color:#12294c !important}
.home-contact--glass.home-contact--light .home-contact__field,
.home-contact--glass.home-contact--light select.home-contact__field{
  background-color:rgba(241,246,252,.92) !important;
  border:1px solid #d6e2f0 !important;
  color:#12294c !important;
}
.home-contact--glass.home-contact--light select.home-contact__field{
  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 fill='none' stroke='%2312294c' stroke-width='1.6' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:left 16px center !important;
  background-size:12px 8px !important;
  padding-left:40px !important;
}
.home-contact--glass.home-contact--light .home-contact__field::placeholder{color:#8797ad}
.home-contact--glass.home-contact--light .home-contact__field:focus{
  border-color:#5aa9f5 !important;
  box-shadow:0 0 0 3px rgba(30,140,240,.16) !important;
}
.home-contact--glass.home-contact--light .home-contact__field-ic{color:#5b6c86}
.home-contact--glass.home-contact--light .home-contact__field--ico-rtl{
  direction:rtl !important;
  text-align:right !important;
  padding:0 14px 0 44px !important;
}
.home-contact--glass.home-contact--light .home-contact__form button{
  background:linear-gradient(180deg,#173463 0%,#0d2248 100%) !important;
  box-shadow:0 12px 26px rgba(13,34,72,.28) !important;
  color:#fff !important;
}
.home-contact--glass.home-contact--light .home-contact__form button:hover{
  background:linear-gradient(180deg,#1d3f76 0%,#12294c 100%) !important;
}
.home-contact--glass.home-contact--light .home-contact__consent{color:#5b6c86}
.home-contact--glass.home-contact--light .home-contact__consent a{color:#1478e6}
.home-contact--glass.home-contact--light .home-contact__consent a:hover{color:#12294c}
.home-contact--glass.home-contact--light .home-contact__content h2{color:#12294c}
.home-contact--glass.home-contact--light .home-contact__content h2 span{color:#1e9bff}
.home-contact--glass.home-contact--light .home-contact__content > p{color:#33465f}
.home-contact--glass.home-contact--light .home-contact__details a{color:#12294c}
.home-contact--glass.home-contact--light .home-contact__details a:hover,
.home-contact--glass.home-contact--light .home-contact__details a:focus-visible{color:#1478e6}
.home-contact--glass.home-contact--light .home-contact__ico{color:#1e9bff !important}
.home-contact--glass.home-contact--light .home-contact__feats{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  display:flex;
  direction:rtl;
  width:fit-content;
  max-width:100%;
}
.home-contact--glass.home-contact--light .home-contact__feats li{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:0 clamp(14px,2vw,26px);
  text-align:center;
  color:#12294c;
  font-size:13.5px;
  font-weight:600;
  line-height:1.4;
}
.home-contact--glass.home-contact--light .home-contact__feats li + li{border-inline-start:1px solid rgba(18,41,76,.18)}
.home-contact--glass.home-contact--light .home-contact__feats li:first-child{padding-inline-start:0}
.home-contact--glass.home-contact--light .home-contact__feat-ic{color:#1e9bff;width:28px;height:28px}
.home-contact--glass.home-contact--light .home-contact__feat-ic svg{width:28px;height:28px;display:block}
@media (max-width:900px){
  .home-contact--glass.home-contact--light::before{
    background:linear-gradient(180deg, rgba(240,246,253,.62) 0%, rgba(240,246,253,.4) 100%);
  }
  .home-contact--glass.home-contact--light{
    padding-top:calc(36px + 44px);
    padding-bottom:calc(32px + 96px + env(safe-area-inset-bottom, 0px));
  }
  .home-contact--glass.home-contact--light::after{height:110px}
  .home-contact--glass.home-contact--light .home-contact__feats{margin-inline:auto}
  .home-contact--glass.home-contact--light .home-contact__feats li{padding:0 12px;font-size:12.5px}
  .home-contact--glass.home-contact--light .home-contact__feats li:first-child{padding-inline-start:0}
  .home-contact--glass.home-contact--light .home-contact__feats li:last-child{padding-inline-end:0}
}

/* Hero copy wraps naturally across the whole column instead of hand-broken short lines */
.hero--showcase .hpanel__lead--full,
.hero--showcase .hpanel__p--full{max-width:none!important;width:100%!important;white-space:normal!important;text-wrap:pretty}

/* Site logo — bold sans wordmark, spaced grey tagline aligned under its start */
.sb__logo-name,
.hdr__wrap .brandlogo{font-family:Heebo,Arial,sans-serif!important;font-weight:800!important;letter-spacing:.02em!important;line-height:1.05!important}
.sb__logo-sub,
.hdr__wrap .brandlogo small{font-family:Heebo,Arial,sans-serif!important;font-weight:500!important;letter-spacing:.22em!important;color:#7a8699!important}
.sb__logo{align-items:flex-start!important}
.hdr__wrap .brandlogo{direction:ltr!important;justify-items:start!important;color:#0b2a55!important}
@media (min-width:769px){
  .sb__logo-name{font-size:25px!important;color:#0b2a55!important}
}
@media (max-width:768px){
  .sb__logo-name{font-size:21px!important;color:#fff!important}
  .sb__logo-sub{color:rgba(255,255,255,.6)!important}
  .sidebar .sb__logo{align-items:center!important}
}

/* Page-to-page: keep the current page painted until the next one is ready and
   cross-fade, instead of a blank (dark-theme black) canvas in between. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.16s}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
