:root{
  --brand-bg:#EDEAE5;
  --brand-surface:#FFFFFF;
  --brand-surface-raised:#F5F7F8;
  --brand-border:#D4D9DC;
  --brand-primary:#0B3D6E;
  --brand-primary-dark:#062A4D;
  --brand-mint:#8DDCF2;
  --brand-cream:#F7FBFC;
  --brand-yellow:#e3ac11;
  --brand-light:#FFFFFF;
  --brand-gold:#e3ac11;
  --brand-gold-2:#FFD86B;
  --brand-text:#10212F;
  --brand-muted:#66747D;

  --bs-body-color: var(--brand-text);
  --bs-body-bg: var(--brand-bg);
  --bs-secondary-color: var(--brand-muted);
}

html,body{
  height:100%;
  background:#EDEAE5;
}

main > section {
  position: relative;
}

main > section:not(.hero) {
  padding-top: clamp(4rem, 8vw, 7rem) !important;
  padding-bottom: clamp(4rem, 8vw, 7rem) !important;
}

body{
  background:#EDEAE5;
  color:var(--brand-text);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --bs-body-color: var(--brand-text);
  --bs-body-bg: var(--brand-bg);
  --bs-secondary-color: var(--brand-muted);
}

.fw-black{font-weight:900!important;}

.form-label{color:var(--brand-text);}

a{color:inherit;}

a:hover{color:var(--brand-gold);}

.bg-brand{background:var(--brand-bg)!important;}
.bg-surface{background:var(--brand-surface)!important;}
.border-brand{border-color:rgba(172,188,191,.35)!important;}
.text-muted-brand{color:var(--brand-muted)!important;}

.text-gold{color:var(--brand-yellow)!important;}

.gold-gradient-text{
  color:#0B3D6E;
  -webkit-text-fill-color:#0B3D6E;
  text-shadow:0 2px 18px rgba(141,220,242,.28);
  animation:title-glow 4.5s ease-in-out infinite alternate;
}

@keyframes title-glow{
  0%{text-shadow:0 2px 14px rgba(141,220,242,.18);}
  100%{text-shadow:0 3px 24px rgba(141,220,242,.48);}
}

@keyframes gold-shine{
  0%{background-position:0% 50%;}
  100%{background-position:100% 50%;}
}

@media (prefers-reduced-motion: reduce){
  .gold-gradient-text{animation:none;text-shadow:none;}
}

.hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--brand-border);
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 18%, rgba(141,220,242,.30), transparent 32%),
    linear-gradient(135deg, #EDEAE5 0%, #F7FBFC 48%, #DDE5E9 100%);
  --hero-overlay-top: 0.55;
  --hero-overlay-bottom: 0.9;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(to bottom, rgba(237,234,229,.28), rgba(237,234,229,.88));
  opacity:1;
  z-index:1;
  pointer-events:none;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.32;
  background-image:linear-gradient(rgba(11,61,110,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(11,61,110,.08) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom, black, transparent 80%);
}

.prism-container{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
}

.hero > .container{
  position:relative;
  z-index:2;
}

.hero .display-2,
.hero .display-6,
.hero .lead{
  text-shadow:0 2px 20px rgba(255,255,255,.55);
}

.hero .btn{
  min-width:180px;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(11,61,110,.18);
}

.home-hero-content{
  position:relative;
  z-index:2;
}

.home-hero-content > .mb-1 img{
  max-width:360px !important;
  filter:drop-shadow(0 20px 28px rgba(11,61,110,.22));
}

.home-hero-content h5{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
  color:#0B3D6E;
}

.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  color:var(--brand-primary);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.section-kicker::before{
  content:"";
  width:28px;
  height:2px;
  background:var(--brand-yellow);
}

.stat-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(145deg, #fff, var(--brand-surface-raised));
}

.stat-card::after{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-28px;
  top:-28px;
  border-radius:50%;
  background:rgba(141,220,242,.28);
}

.tech-card{
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.35rem;
}

.tech-card i{color:var(--brand-primary)!important;transition:transform 180ms ease,color 180ms ease;}
.tech-card:hover i{color:var(--brand-gold)!important;transform:translateY(-4px) scale(1.08);}

.btn-gold{
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-color:#F4FCFB;
  --bs-btn-hover-bg:var(--brand-mint);
  --bs-btn-hover-border-color:var(--brand-mint);
  --bs-btn-hover-color:#10212F;
  font-weight:700;
}

.btn-outline-gold{
  --bs-btn-color: var(--brand-primary);
  --bs-btn-border-color: rgba(244,252,251,.45);
  --bs-btn-hover-color: var(--brand-mint);
  --bs-btn-hover-border-color: var(--brand-mint);
  --bs-btn-hover-bg: transparent;
  font-weight:700;
}

.card-surface{
  background:var(--brand-surface);
  border:1px solid var(--brand-border);
  color:var(--brand-text);
  border-radius:18px;
  box-shadow:0 12px 30px rgba(17,19,21,.08);
}

.hover-scale{
  position:relative;
  transition: transform 220ms cubic-bezier(.2,.8,.2,1), box-shadow 220ms cubic-bezier(.2,.8,.2,1);
  transform-origin:center;
  will-change: transform;
}

@media (hover: hover){
  .hover-scale:hover{
    transform: translateY(-2px) scale(1.06);
    z-index:3;
    box-shadow: 0 18px 42px rgba(17,19,21,.16);
  }
}

.hover-scale:focus-visible{
  transform: translateY(-2px) scale(1.06);
  z-index:3;
  box-shadow: 0 18px 42px rgba(17,19,21,.16);
  outline: 2px solid rgba(82,137,173,.65);
  outline-offset: 2px;
}

.badge-tech{
  background:rgba(11,61,110,.08);
  color:var(--brand-primary);
  border:1px solid rgba(11,61,110,.18);
}

.footer{
  border-top:1px solid var(--brand-border);
  background:#D7DADC;
}

.team-img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 8px;
}

/* Navbar tipo espejo (glass) */
.navbar-glass {
  width:min(1380px, calc(100% - 32px));
  margin:18px auto 0;
  padding:.35rem 1.15rem;
  background:rgba(255,255,255,.88);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  box-shadow:0 18px 48px rgba(11,61,110,.10);
}

/* Mejora: un brillo sutil arriba tipo “reflejo” */
.navbar-glass::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius:inherit;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.10),
    rgba(255, 255, 255, 0.02) 35%,
    rgba(255, 255, 255, 0.00) 70%
  );
}

/* Importante para que el ::before funcione bien */
.navbar-glass {
  position: sticky;
  top: 14px;
  z-index: 1030; /* estándar navbar bootstrap */
}

.navbar-glass .navbar-collapse {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-radius: 14px;
  padding: 0.5rem 0.75rem;
}

.navbar-glass .navbar-brand,
.navbar-glass .nav-link {
  color:#0B2035 !important;
}

.navbar-glass .nav-link {
  font-weight: 600;
  padding:.8rem .25rem !important;
  position:relative;
  transition: color 180ms ease, opacity 180ms ease;
}

.navbar-glass .nav-link:hover,
.navbar-glass .nav-link:focus {
  color:#087E94 !important;
}

.navbar-glass .nav-link.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.2rem;
  height:3px;
  border-radius:3px;
  background:#1596A8;
}

.navbar-brand span{font-size:1.35rem;letter-spacing:-.03em;}
.nav-quote{padding:.7rem 1.35rem!important;border-radius:12px!important;}

.home-hero{
  min-height:calc(100svh - 6.5rem);
  height:auto;
  box-sizing:border-box;
  margin-top:0;
  padding-top:clamp(3.5rem,7vw,6rem)!important;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 72% 45%, rgba(141,220,242,.34), transparent 34%),
    linear-gradient(115deg,#F7F8F9 0%,#FFFFFF 44%,#DFF3F7 100%);
}

.home-hero::before{background:linear-gradient(110deg,rgba(255,255,255,.38),rgba(223,243,247,.12));}
.home-hero::after{opacity:.4;background-size:52px 52px;}
.home-hero .prism-container{opacity:.25;}
.home-hero-content{text-align:left;}

/* El hero ocupa el ancho disponible en pantallas grandes, sin pegarse a los bordes. */
.home-hero > .home-hero-content{
  width:calc(100% - 64px);
  max-width:1320px;
}

.hero-decor{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}
.decor-grid{position:absolute;inset:0 0 17% 48%;opacity:.38;background-image:linear-gradient(rgba(255,255,255,.72) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.72) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 88%,transparent);}
.decor-dots{position:absolute;width:220px;height:220px;opacity:.3;background-image:radial-gradient(circle,#1596A8 1.5px,transparent 1.7px);background-size:15px 15px;mask-image:radial-gradient(circle,#000,transparent 70%);}
.decor-dots-left{left:1.5%;top:15%;}
.decor-dots-right{right:0;bottom:5%;}
.decor-wave{position:absolute;right:-8%;width:68%;height:42%;border-radius:50%;border-top:2px solid rgba(255,255,255,.72);transform:rotate(-10deg);}
.decor-wave-one{bottom:8%;background:linear-gradient(165deg,transparent 42%,rgba(141,220,242,.22) 43%,rgba(21,150,168,.18) 70%,transparent 71%);}
.decor-wave-two{bottom:-4%;right:-13%;opacity:.68;background:linear-gradient(165deg,transparent 36%,rgba(255,255,255,.7) 37%,rgba(141,220,242,.2) 65%,transparent 66%);}
.decor-arc{position:absolute;border:1px solid rgba(255,255,255,.75);border-radius:50%;transform:rotate(-14deg);}
.decor-arc-one{width:72%;height:38%;right:-12%;top:22%;}
.decor-arc-two{width:62%;height:30%;right:-8%;top:32%;}

.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  padding:.7rem 1rem;
  border-radius:999px;
  background:rgba(141,220,242,.14);
  color:#087E94;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-eyebrow span{width:11px;height:11px;border-radius:50%;background:#1596A8;box-shadow:0 0 0 5px rgba(21,150,168,.10);}

.hero-title{font-size:clamp(2.55rem,4.35vw,4.65rem);line-height:1.04;letter-spacing:-.055em;color:#071D34;white-space:nowrap;}
.hero-title span{color:#11869A;}
.hero-copy{max-width:620px;color:#52677A;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.65;}

.home-hero .btn{padding:.9rem 1.35rem;border-radius:13px;font-size:1rem;}
.home-hero .btn-gold{background:#073967;border-color:#073967;color:#fff;}
.home-hero .btn-gold:hover{background:#0B4C80;border-color:#0B4C80;color:#fff;transform:translateY(-2px);}
.home-hero .btn-outline-gold{background:#fff;border-color:#E1E7EA;color:#0B2035;box-shadow:0 10px 28px rgba(11,61,110,.08);}
.home-hero .btn-outline-gold:hover{background:#F6FBFC;border-color:#8DDCF2;color:#087E94;transform:translateY(-2px);}

.hero-logo-stage{position:relative;min-height:520px;display:grid;place-items:center;}
.hero-logo{position:relative;z-index:2;width:min(100%,520px);height:auto;filter:drop-shadow(0 30px 36px rgba(11,61,110,.24));animation:logo-float 5s ease-in-out infinite;}
.hero-platform{position:absolute;z-index:1;bottom:2%;width:62%;height:58px;border:2px solid rgba(21,150,168,.34);border-radius:50%;background:radial-gradient(ellipse,rgba(141,220,242,.45),rgba(141,220,242,.08) 56%,transparent 68%);box-shadow:0 0 44px rgba(141,220,242,.38);}
.hero-platform::before,.hero-platform::after{content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(21,150,168,.34);border-radius:50%;transform:translate(-50%,-50%);}
.hero-platform::before{width:128%;height:150%;}
.hero-platform::after{width:160%;height:210%;opacity:.5;}
@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.hero-benefits{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 18px 48px rgba(11,61,110,.10);overflow:hidden;}
.benefit-item{display:flex;align-items:center;gap:1rem;padding:1.5rem;position:relative;}
.benefit-item:not(:last-child)::after{content:"";position:absolute;right:0;top:22%;bottom:22%;width:1px;background:#DCE4E7;}
.benefit-icon{flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#E7F5F7;color:#087E94;font-size:1.6rem;}
.benefit-item strong{display:block;color:#0B2035;font-size:.98rem;margin-bottom:.25rem;}
.benefit-item small{display:block;color:#647784;line-height:1.45;}

@media (max-width:991.98px){
  .navbar-glass{border-radius:24px;}
  .navbar-glass .navbar-collapse{padding:1rem 0;}
  .home-hero{margin-top:0;padding-top:clamp(3rem,8vw,5rem)!important;min-height:auto;height:auto;}
  .home-hero-content{text-align:center;}
  .home-hero > .home-hero-content{width:calc(100% - 32px);}
  .hero-copy{margin-left:auto;margin-right:auto;}
  .hero-title{white-space:normal;}
  .home-hero-content .d-flex{justify-content:center;}
  .hero-logo-stage{min-height:390px;}
  .hero-logo{width:min(78vw,410px);}
  .hero-benefits{grid-template-columns:repeat(2,1fr);text-align:left;}
  .decor-grid{inset:45% 0 12% 20%;}
  .decor-wave{width:110%;right:-35%;}
  .benefit-item:nth-child(2)::after{display:none;}
}

@media (max-width:575.98px){
  .navbar-glass{width:calc(100% - 20px);margin-top:10px;top:8px;}
  .hero-title{font-size:2.55rem;}
  .home-hero > .home-hero-content{width:100%;}
  .hero-logo-stage{min-height:300px;}
  .hero-benefits{grid-template-columns:1fr;}
  .benefit-item::after{display:none!important;}
}

.stack-section{
  background:linear-gradient(180deg,#F7FAFB 0%,#EEF5F7 100%)!important;
  border:0!important;
  padding:4.5rem 0!important;
}

.stack-shell{
  position:relative;
  overflow:hidden;
  padding:3.5rem 4rem;
  border:1px solid rgba(255,255,255,.95);
  border-radius:24px;
  background:linear-gradient(115deg,rgba(255,255,255,.88),rgba(239,248,250,.78));
  box-shadow:0 18px 55px rgba(11,61,110,.09);
}

.stack-shell::before{
  content:"";
  position:absolute;
  width:270px;
  height:270px;
  right:-50px;
  top:65px;
  border-radius:48% 52% 56% 44%;
  opacity:.22;
  background:repeating-radial-gradient(ellipse at center,transparent 0 8px,rgba(21,150,168,.28) 9px 10px);
  transform:rotate(-18deg);
}

.stack-shell::after{
  content:"";
  position:absolute;
  width:125px;
  height:125px;
  left:22px;
  top:20px;
  opacity:.28;
  background-image:radial-gradient(circle,#1596A8 1.4px,transparent 1.6px);
  background-size:14px 14px;
}

.stack-shell > *{position:relative;z-index:1;}
.stack-accent{width:72px;height:2px;background:var(--brand-yellow);position:relative;}
.stack-accent::after{content:"";position:absolute;right:-3px;top:-2px;width:6px;height:6px;border-radius:50%;background:var(--brand-yellow);}
.stack-shell h2{font-size:clamp(1.9rem,3vw,2.75rem);color:#071D34;}

.stack-shell .tech-card{
  min-height:190px;
  border-color:rgba(223,230,234,.9);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:0 15px 34px rgba(11,61,110,.09);
}

.stack-shell .tech-card::after{
  content:"";
  position:absolute;
  left:30%;
  right:30%;
  bottom:0;
  height:3px;
  border-radius:3px 3px 0 0;
  background:#1596A8;
}

.stack-shell .tech-card i{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#F8FBFC,#E9F1F4);
  font-size:2.75rem!important;
}

.process-section{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(160deg,rgba(255,255,255,.94),rgba(236,246,249,.82)),
    var(--brand-bg);
}

.process-section::before{
  content:"";
  position:absolute;
  width:82%;
  height:70%;
  right:-18%;
  top:6%;
  border-radius:50%;
  background:linear-gradient(145deg,transparent 30%,rgba(141,220,242,.18) 31%,rgba(11,61,110,.06) 70%,transparent 71%);
  transform:rotate(-7deg);
}

.process-section .container{position:relative;z-index:1;}
.process-section h2{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.04em;color:#071D34;}
.process-section h2::first-line{color:#071D34;}
.process-section .section-kicker{color:#087E94;}

.process-card{
  position:relative;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:1.5rem;
  min-height:210px;
  border-color:#E0E7EA;
  background:rgba(255,255,255,.92);
  box-shadow:0 15px 36px rgba(11,61,110,.09);
}

.process-card::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34%;
  height:3px;
  border-radius:0 3px 0 18px;
  background:#1596A8;
}

.process-icon{
  flex:0 0 78px;
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#087E94;
  background:#E7F5F7;
  font-size:2rem;
}

.process-number{display:block;color:#087E94;font-size:2.15rem;line-height:1;font-weight:900;}
.process-number::after{content:"";display:block;width:36px;height:2px;margin-top:.55rem;background:var(--brand-yellow);}
.process-card h3{color:#071D34;}

@media (max-width:991.98px){
  .stack-shell{padding:3rem 1.5rem;}
  .process-card{align-items:flex-start;}
}

@media (max-width:575.98px){
  .stack-shell{padding:2.5rem 1rem;}
  .process-card{flex-direction:column;align-items:flex-start;}
}

.closing-section{
  position:relative;
  background:linear-gradient(180deg,#F7FAFB 0%,#EEF5F7 100%);
}

.closing-section::after{
  content:"";
  position:absolute;
  right:2%;
  bottom:-25px;
  width:170px;
  height:170px;
  opacity:.24;
  background-image:radial-gradient(circle,#1596A8 1.4px,transparent 1.6px);
  background-size:14px 14px;
  mask-image:radial-gradient(circle,#000,transparent 72%);
}

.closing-card{
  position:relative;
  z-index:1;
  max-width:960px;
  margin:auto;
  overflow:hidden;
  padding:2.25rem clamp(1.25rem,5vw,5rem);
  border:1px solid rgba(141,220,242,.42);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,248,250,.9));
  box-shadow:0 18px 50px rgba(11,61,110,.09);
}

.closing-card::before{
  content:"";
  position:absolute;
  inset:auto -7% -75% 15%;
  height:125%;
  border-radius:50%;
  opacity:.22;
  background:repeating-radial-gradient(ellipse at center,transparent 0 11px,rgba(21,150,168,.24) 12px 13px);
  pointer-events:none;
}

.closing-card > *{position:relative;z-index:1;}
.closing-icon{width:58px;height:58px;margin:0 auto 1rem;display:grid;place-items:center;border:1px solid rgba(21,150,168,.35);border-radius:50%;color:#1596A8;font-size:1.45rem;background:rgba(255,255,255,.7);}
.closing-card h2{color:#071D34;font-size:clamp(1.8rem,3vw,2.6rem);}
.closing-primary{width:min(100%,370px);padding:.85rem 1.5rem;border-radius:10px;}

.site-footer{
  position:relative;
  border-top:2px solid #20A7B6;
  background:linear-gradient(135deg,#F5F8F9,#EAF3F5);
  color:#52677A;
}

.site-footer::before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;background:#F2F7F8;border-left:2px solid #20A7B6;border-bottom:2px solid #20A7B6;transform:translateX(-50%) rotate(-45deg);}
.footer-grid{display:grid;grid-template-columns:1fr 1.8fr auto auto;align-items:center;gap:2rem;}
.footer-brand{display:inline-flex;align-items:center;gap:.75rem;color:#0B2035;text-decoration:none;}
.footer-brand strong{font-size:1.05rem;}
.footer-copy{font-size:.85rem;}
.footer-legal{display:flex;align-items:center;gap:.75rem;font-size:.85rem;}
.footer-legal a{color:#0B2035;}
.footer-social{display:flex;gap:.55rem;}
.footer-social a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(21,150,168,.35);border-radius:50%;color:#078999;background:rgba(255,255,255,.55);transition:transform 180ms ease,background 180ms ease;}
.footer-social a:hover{transform:translateY(-2px);background:#DFF5F7;color:#056B77;}

@media (max-width:991.98px){
  .footer-grid{grid-template-columns:1fr 1fr;text-align:center;}
  .footer-brand,.footer-social,.footer-legal{justify-content:center;}
}

@media (max-width:575.98px){
  .footer-grid{grid-template-columns:1fr;gap:1rem;}
  .closing-card{padding:2rem 1rem;}
}

.navbar-glass .navbar-toggler {
  border-color: var(--brand-border);
}

.navbar-glass .navbar-toggler-icon {
  filter: invert(20%);
    }

    /* About page */
    .about-root,.about-body,.about-page{background:#F7F9FA;}
    .about-page > .about-hero{padding:clamp(3.5rem,5vw,5rem) 0 clamp(2rem,3vw,3rem)!important;background:#F7F9FA;}
    .about-kicker{color:#087E94;font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;}
    .about-title{max-width:920px;margin-inline:auto;color:#071D34;font-size:clamp(2.6rem,6vw,5.25rem);font-weight:900;letter-spacing:-.055em;line-height:1.02;}
    .about-title span{color:#11869A;}
    .about-intro{max-width:780px;margin-inline:auto;color:#52677A;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.65;}
    .about-page > .about-editorial-section{padding:0 0 clamp(4rem,7vw,6.5rem)!important;background:#F7F9FA;}
    .about-editorial-panel{padding:clamp(1.25rem,4vw,4rem);border:1px solid #E2EAED;border-radius:22px;background:#EFF6F8;}
    .about-philosophy{display:flex;flex-direction:column;padding:clamp(.5rem,2vw,1.5rem) 0;}
    .about-heading-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;}
    .about-heading-rule{flex:0 0 38px;width:38px;height:2px;background:#1596A8;}
    .about-section-title{color:#071D34;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;letter-spacing:-.035em;}
    .about-body-copy{max-width:650px;color:#52677A;font-size:1.02rem;line-height:1.75;}
    .about-metrics{margin-top:auto;padding-top:2.25rem;}
    .about-metric{display:flex;flex-direction:column;align-items:center;padding:1.4rem 1rem;border:1px solid #DDE6E9;border-radius:14px;background:rgba(255,255,255,.82);text-align:center;}
    .about-metric-icon,.about-principle-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#E4F4F6;color:#087E94;}
    .about-metric-icon{width:54px;height:54px;margin-bottom:1rem;font-size:1.45rem;}
    .about-metric strong{color:#087E94;font-size:1.65rem;font-weight:900;line-height:1.1;}
    .about-metric > span:last-child{margin-top:.35rem;color:#52677A;}
    .about-principles{display:flex;flex-direction:column;gap:.9rem;}
    .about-principle{display:flex;gap:1rem;flex:1;padding:1.25rem;border:1px solid #DDE6E9;border-radius:14px;background:rgba(255,255,255,.88);}
    .about-principle > div{min-width:0;}
    .about-principle-icon{width:52px;height:52px;font-size:1.4rem;}
    .about-principle-title{margin:0 0 .35rem;color:#071D34;font-size:1.05rem;font-weight:800;}
    .about-principle p{margin:0;color:#52677A;font-size:.9rem;line-height:1.55;}
    .about-page > .about-team-section{padding:clamp(4rem,7vw,6rem) 0!important;border-top:1px solid #E1E8EB;border-bottom:1px solid #E1E8EB;background:#FFFFFF;}
    .about-section-header{margin-bottom:2.5rem;}
    .about-team-member{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #DDE6E9;background:#FFFFFF;}
    .about-team-img{flex:0 0 72px;width:72px;height:72px;border-radius:50%;object-fit:cover;}
    .about-team-member h3{margin:0 0 .2rem;color:#071D34;font-size:1rem;font-weight:800;}
    .about-team-member p{margin:0;color:#66747D;font-size:.88rem;}
    .about-page > .about-cta-section{padding:clamp(4rem,7vw,6rem) 0!important;background:#F7F9FA;}
    .about-cta{padding:clamp(1.5rem,4vw,3.5rem);border-left:4px solid #1596A8;background:#FFFFFF;}
    .about-cta h2{margin:0 0 .65rem;color:#071D34;font-size:clamp(1.65rem,3vw,2.45rem);font-weight:900;letter-spacing:-.035em;}
    .about-cta p{margin:0;color:#52677A;line-height:1.65;}
    .about-cta-button{min-height:48px;padding:.75rem 1.4rem;}
    .about-cta-button:focus-visible{outline:3px solid rgba(21,150,168,.45);outline-offset:3px;}

    @media (max-width:575.98px){
      .navbar-glass{max-width:calc(100vw - 20px);}
      .navbar-glass > .container,
      .about-page .container{width:100%;max-width:100vw;min-width:0;}
      .about-page .row > *{min-width:0;}
      .about-page > .about-hero{padding-top:3.25rem!important;}
      .about-title{max-width:100%;font-size:clamp(2.05rem,10.5vw,2.6rem);overflow-wrap:break-word;}
      .about-intro,
      .about-section-title,
      .about-body-copy,
      .about-principle p,
      .about-cta h2,
      .about-cta p{max-width:100%;overflow-wrap:break-word;}
      .about-editorial-panel,
      .about-metric,
      .about-principles,
      .about-principle,
      .about-team-member,
      .about-cta{max-width:100%;}
      .about-editorial-panel{border-radius:16px;}
      .about-heading-row{align-items:flex-start;gap:.75rem;}
      .about-heading-rule{margin-top:1rem;flex-basis:26px;width:26px;}
      .about-principle{align-items:flex-start;padding:1rem;}
      .about-principle-icon{width:44px;height:44px;font-size:1.2rem;}
      .about-cta-button{width:100%;}
    }

    @media (min-width:992px){
      .about-team-member{padding:1.15rem 1.25rem;}
    }

    .about-page{isolation:isolate;
}

/* Contact page */
.contact-root,
.contact-body,
.contact-page{
  background:#F7F9FA;
}

.contact-body{
  min-width:320px;
}

.contact-page{
  isolation:isolate;
  color:var(--brand-text);
}

.contact-page > .contact-hero{
  padding:clamp(3.5rem,6vw,5rem) 0 clamp(1.5rem,3vw,2.5rem)!important;
  background:#F7F9FA;
}

.contact-kicker{
  color:#087E94;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.contact-title{
  max-width:900px;
  margin-inline:auto;
  color:#071D34;
  font-size:clamp(2.25rem,5vw,4.4rem);
  font-weight:900;
  letter-spacing:-.05em;
  line-height:1.04;
}

.contact-intro{
  max-width:720px;
  margin-inline:auto;
  color:#52677A;
  font-size:clamp(1rem,1.4vw,1.18rem);
  line-height:1.7;
}

.contact-page > .contact-content{
  padding:0 0 clamp(3.5rem,6vw,5rem)!important;
  background:#F7F9FA;
}

.contact-info-panel,
.contact-form{
  border:1px solid #DDE6E9;
  background:#FFFFFF;
}

.contact-info-panel{
  padding:clamp(1.5rem,3.5vw,2.75rem);
  border-left:4px solid #1596A8;
}

.contact-form{
  padding:clamp(1.5rem,4vw,3rem);
}

.contact-panel-rule{
  width:42px;
  height:2px;
  margin-bottom:1.25rem;
  background:var(--brand-yellow);
}

.contact-panel-title{
  margin-bottom:.75rem;
  color:#071D34;
  font-size:clamp(1.45rem,2.5vw,2rem);
  font-weight:800;
  letter-spacing:-.025em;
}

.contact-panel-copy{
  margin-bottom:2rem;
  color:#52677A;
  line-height:1.65;
}

.contact-list{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

.contact-list-item{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.15rem 0;
  border-top:1px solid #E1E8EB;
}

.contact-list-icon{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#E7F5F7;
  color:#087E94;
  font-size:1.15rem;
}

.contact-list-item > div{
  min-width:0;
}

.contact-list-label{
  display:block;
  margin-bottom:.2rem;
  color:#071D34;
  font-size:.88rem;
  font-weight:800;
}

.contact-list-link,
.contact-list-value{
  color:#52677A;
  line-height:1.55;
  overflow-wrap:anywhere;
}

.contact-list-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-block:-.5rem;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}

.contact-list-link:hover{
  color:#087E94;
}

.contact-list-link:focus-visible,
.contact-control:focus-visible,
.contact-submit:focus-visible{
  outline:3px solid rgba(21,150,168,.42);
  outline-offset:3px;
}

.contact-form-heading{
  margin-bottom:2rem;
}

.contact-label{
  display:block;
  margin-bottom:.55rem;
  color:#10212F;
  font-size:.92rem;
  font-weight:700;
}

.contact-required{
  color:#52677A;
  font-size:.78rem;
  font-weight:600;
}

.contact-control{
  min-height:48px;
  border-color:#BCC8CD;
  border-radius:10px;
  background:#F7F9FA;
  color:#10212F;
  font-size:1rem;
}

.contact-control::placeholder{
  color:#73828B;
  opacity:1;
}

.contact-control:focus{
  border-color:#1596A8;
  background:#FFFFFF;
  color:#10212F;
  box-shadow:0 0 0 .2rem rgba(21,150,168,.14);
}

.contact-control.form-select{
  color:#10212F;
}

.contact-message{
  min-height:150px;
  resize:vertical;
}

.contact-submit{
  min-height:48px;
  padding:.75rem 1.25rem;
  border-radius:10px;
}

.contact-privacy{
  color:#66747D;
  line-height:1.55;
}

.contact-turnstile-shell{max-width:100%;}
.contact-turnstile-widget{max-width:100%;overflow-x:auto;overflow-y:hidden;}
.contact-turnstile-widget .cf-turnstile{min-height:65px;max-width:100%;}

@media (max-width:575.98px){
  .contact-page .container{
    width:100%;
    max-width:100vw;
    min-width:0;
  }

  .contact-page .row > *{
    min-width:0;
  }

  .contact-page > .contact-hero{
    padding:3.5rem 0 1.5rem!important;
  }

  .contact-page > .contact-content{
    padding-bottom:3.5rem!important;
  }

  .contact-title,
  .contact-intro,
  .contact-panel-title,
  .contact-panel-copy,
  .contact-list-value,
  .contact-privacy{
    max-width:100%;
    overflow-wrap:break-word;
  }

  .contact-title{
    font-size:clamp(2rem,10.5vw,2.6rem);
  }

  .contact-info-panel,
  .contact-form{
    padding:1.25rem;
  }
}

.contact-feedback{
  margin-bottom:1.25rem;
  padding:.9rem 1rem;
  border:1px solid;
  border-radius:10px;
  line-height:1.5;
}

.contact-feedback-success{
  border-color:#78B7A4;
  background:#EDF8F4;
  color:#174F40;
}

.contact-feedback-error{
  border-color:#D99A9A;
  background:#FFF3F3;
  color:#7B2424;
}

.contact-control.is-invalid{
  border-color:#B64646;
  background-image:none;
}

.contact-field-error{
  margin-top:.45rem;
  color:#8A2929;
  font-size:.86rem;
  line-height:1.45;
}

.contact-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

@media (min-width:992px){
  .contact-info-panel{
    padding-block:2.75rem;
  }
}

.contact-js .contact-feedback{
  display:none;
}

.contact-modal .modal-dialog{
  width:calc(100% - 2rem);
  max-width:480px;
  margin-inline:auto;
}

.contact-modal-content{
  border:1px solid #DDE6E9;
  border-radius:14px;
  box-shadow:0 18px 55px rgba(7,29,52,.18);
}

.contact-modal-body{
  padding:clamp(1.75rem,6vw,3rem);
}

.contact-loading-spinner{
  width:3rem;
  height:3rem;
  margin-bottom:1.25rem;
  border-width:.24rem;
  border-color:#D7E8EB;
  border-right-color:#1596A8;
  color:#1596A8;
}

.contact-modal-title{
  margin:0;
  color:#071D34;
  font-size:clamp(1.35rem,4vw,1.75rem);
  font-weight:800;
  letter-spacing:-.025em;
  line-height:1.25;
}

.contact-modal-message{
  margin:1rem 0 1.5rem;
  color:#52677A;
  line-height:1.6;
}

.contact-result-icon{
  display:grid;
  place-items:center;
  width:3.5rem;
  height:3.5rem;
  margin:0 auto 1.25rem;
  border-radius:50%;
  font-size:1.55rem;
}

.contact-result-icon-success{
  background:#E5F4EF;
  color:#17634E;
}

.contact-result-icon-error{
  background:#FFF0F0;
  color:#8A2929;
}

.contact-result-icon-warning{
  background:#FFF7DF;
  color:#765807;
}

.contact-modal-close{
  min-width:8rem;
  min-height:44px;
}

.contact-modal-close:focus-visible{
  outline:3px solid rgba(21,150,168,.42);
  outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
  .contact-loading-spinner{
    animation:none;
  }
}

/* Global color theme */
.theme-toggle{
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  padding:0;
  border:1px solid var(--brand-border);
  border-radius:50%;
  background:var(--brand-surface-raised);
  color:var(--brand-primary);
  font-size:1.15rem;
  line-height:1;
  transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease;
}

.theme-toggle:hover{
  border-color:#1596A8;
  background:var(--brand-cream);
  color:#087E94;
}

.theme-toggle:focus-visible{
  outline:3px solid rgba(21,150,168,.48);
  outline-offset:3px;
}

[data-bs-theme="dark"]{
  color-scheme:dark;
  --brand-bg:#071522;
  --brand-surface:#102536;
  --brand-surface-raised:#162F42;
  --brand-border:#365064;
  --brand-primary:#8DDCF2;
  --brand-primary-dark:#60C6DC;
  --brand-mint:#8DDCF2;
  --brand-cream:#102536;
  --brand-light:#EAF5F7;
  --brand-text:#EAF2F5;
  --brand-muted:#A9BAC5;
  --theme-action-bg:#0B5F7A;
  --theme-action-hover:#0F718F;
  --theme-action-active:#08485F;
  --bs-body-color:var(--brand-text);
  --bs-body-bg:var(--brand-bg);
  --bs-secondary-color:var(--brand-muted);
  --bs-border-color:var(--brand-border);
  --bs-tertiary-bg:var(--brand-surface-raised);
  --bs-emphasis-color:#FFFFFF;
}

html[data-bs-theme="dark"],
html[data-bs-theme="dark"] body{
  background:var(--brand-bg);
  color:var(--brand-text);
}

[data-bs-theme="dark"] .bg-brand{background:var(--brand-bg)!important;}
[data-bs-theme="dark"] .bg-surface{background:var(--brand-surface)!important;}
[data-bs-theme="dark"] .border-brand{border-color:var(--brand-border)!important;}
[data-bs-theme="dark"] .gold-gradient-text{
  color:var(--brand-mint);
  -webkit-text-fill-color:var(--brand-mint);
  text-shadow:0 2px 18px rgba(141,220,242,.22);
}

[data-bs-theme="dark"] .navbar-glass{
  border-color:rgba(141,220,242,.18);
  background:var(--brand-surface);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 18px 48px rgba(0,0,0,.3);
}

[data-bs-theme="dark"] .navbar-glass::before{
  display:none;
}

[data-bs-theme="dark"] .navbar-glass .navbar-brand,
[data-bs-theme="dark"] .navbar-glass .nav-link{
  color:var(--brand-text)!important;
}

[data-bs-theme="dark"] .navbar-glass .nav-link:hover,
[data-bs-theme="dark"] .navbar-glass .nav-link:focus{
  color:var(--brand-mint)!important;
}

[data-bs-theme="dark"] .navbar-glass .navbar-toggler-icon{filter:invert(1) brightness(1.6);}
[data-bs-theme="dark"] .theme-toggle{color:var(--brand-mint);}
[data-bs-theme="dark"] .btn-gold{
  --bs-btn-bg:var(--theme-action-bg);
  --bs-btn-border-color:var(--theme-action-bg);
  --bs-btn-color:#FFFFFF;
  --bs-btn-hover-bg:var(--theme-action-hover);
  --bs-btn-hover-border-color:var(--theme-action-hover);
  --bs-btn-hover-color:#FFFFFF;
  --bs-btn-active-bg:var(--theme-action-active);
  --bs-btn-active-border-color:var(--theme-action-active);
  --bs-btn-active-color:#FFFFFF;
}

[data-bs-theme="dark"] .hero{
  border-color:var(--brand-border);
  background:
    radial-gradient(circle at 50% 18%,rgba(21,150,168,.22),transparent 34%),
    linear-gradient(135deg,#071522 0%,#0D2232 52%,#132D3D 100%);
}

[data-bs-theme="dark"] .hero::before{
  background-image:linear-gradient(to bottom,rgba(7,21,34,.1),rgba(7,21,34,.78));
}

[data-bs-theme="dark"] .hero::after{
  background-image:linear-gradient(rgba(141,220,242,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(141,220,242,.07) 1px,transparent 1px);
}

[data-bs-theme="dark"] .hero .display-2,
[data-bs-theme="dark"] .hero .display-6,
[data-bs-theme="dark"] .hero .lead{color:var(--brand-text);text-shadow:0 2px 20px rgba(0,0,0,.4);}

[data-bs-theme="dark"] .home-hero{
  background:
    radial-gradient(circle at 72% 45%,rgba(21,150,168,.25),transparent 36%),
    linear-gradient(115deg,#071522 0%,#0C2030 48%,#133445 100%);
}

[data-bs-theme="dark"] .home-hero::before{background:linear-gradient(110deg,rgba(7,21,34,.22),rgba(13,39,54,.08));}
[data-bs-theme="dark"] .home-hero::after{opacity:.12;}
[data-bs-theme="dark"] .home-hero .prism-container{opacity:.30!important;}
[data-bs-theme="dark"] .home-hero .hero-decor{opacity:.22;}
[data-bs-theme="dark"] .hero-title,
[data-bs-theme="dark"] .home-hero-content h5{color:var(--brand-text);}
[data-bs-theme="dark"] .hero-title span{color:var(--brand-mint);}
[data-bs-theme="dark"] .hero-copy{color:var(--brand-muted);}
[data-bs-theme="dark"] .hero-benefits{border-color:var(--brand-border);background:rgba(16,37,54,.94);box-shadow:0 18px 48px rgba(0,0,0,.28);}
[data-bs-theme="dark"] .benefit-item:not(:last-child)::after{background:var(--brand-border);}
[data-bs-theme="dark"] .benefit-icon{background:rgba(21,150,168,.2);color:var(--brand-mint);}
[data-bs-theme="dark"] .benefit-item strong{color:var(--brand-text);}
[data-bs-theme="dark"] .benefit-item small{color:var(--brand-muted);}
[data-bs-theme="dark"] .home-hero .btn-outline-gold{border-color:var(--brand-border);background:var(--brand-surface);color:var(--brand-text);box-shadow:none;}
[data-bs-theme="dark"] .home-hero .btn-outline-gold:hover{border-color:var(--brand-mint);background:var(--brand-surface-raised);color:var(--brand-mint);}

[data-bs-theme="dark"] .stack-section,
[data-bs-theme="dark"] .closing-section{background:linear-gradient(180deg,#091A28 0%,#0D2333 100%)!important;}
[data-bs-theme="dark"] .stack-shell,
[data-bs-theme="dark"] .closing-card{
  border-color:var(--brand-border);
  background:linear-gradient(125deg,rgba(16,37,54,.98),rgba(20,49,67,.92));
  box-shadow:0 18px 50px rgba(0,0,0,.26);
}
[data-bs-theme="dark"] .stack-shell h2,
[data-bs-theme="dark"] .closing-card h2{color:var(--brand-text);}
[data-bs-theme="dark"] .stack-shell .tech-card,
[data-bs-theme="dark"] .process-card{border-color:var(--brand-border);background:var(--brand-surface);box-shadow:0 15px 36px rgba(0,0,0,.22);}
[data-bs-theme="dark"] .stack-shell .tech-card i{background:linear-gradient(145deg,#17374B,#0D2333);}
[data-bs-theme="dark"] .process-section{background:linear-gradient(160deg,rgba(9,26,40,.98),rgba(13,38,53,.92)),var(--brand-bg);}
[data-bs-theme="dark"] .process-section h2,
[data-bs-theme="dark"] .process-section h2::first-line,
[data-bs-theme="dark"] .process-card h3{color:var(--brand-text);}
[data-bs-theme="dark"] .process-icon,
[data-bs-theme="dark"] .closing-icon{border-color:rgba(141,220,242,.25);background:rgba(21,150,168,.18);color:var(--brand-mint);}

[data-bs-theme="dark"] .card-surface{
  border-color:var(--brand-border);
  background:var(--brand-surface);
  color:var(--brand-text);
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
[data-bs-theme="dark"] .stat-card{background:linear-gradient(145deg,var(--brand-surface),var(--brand-surface-raised));}
[data-bs-theme="dark"] .badge-tech{border-color:rgba(141,220,242,.28);background:rgba(21,150,168,.16);color:var(--brand-mint);}
[data-bs-theme="dark"] .btn-outline-gold{--bs-btn-color:var(--brand-mint);--bs-btn-border-color:var(--brand-border);}

[data-bs-theme="dark"] .about-root,
[data-bs-theme="dark"] .about-body,
[data-bs-theme="dark"] .about-page,
[data-bs-theme="dark"] .about-page > .about-hero,
[data-bs-theme="dark"] .about-page > .about-editorial-section,
[data-bs-theme="dark"] .about-page > .about-cta-section{background:var(--brand-bg);}
[data-bs-theme="dark"] .about-title,
[data-bs-theme="dark"] .about-section-title,
[data-bs-theme="dark"] .about-principle-title,
[data-bs-theme="dark"] .about-team-member h3,
[data-bs-theme="dark"] .about-cta h2{color:var(--brand-text);}
[data-bs-theme="dark"] .about-intro,
[data-bs-theme="dark"] .about-body-copy,
[data-bs-theme="dark"] .about-principle p,
[data-bs-theme="dark"] .about-team-member p,
[data-bs-theme="dark"] .about-cta p{color:var(--brand-muted);}
[data-bs-theme="dark"] .about-editorial-panel{border-color:var(--brand-border);background:#0D2232;}
[data-bs-theme="dark"] .about-metric,
[data-bs-theme="dark"] .about-principle,
[data-bs-theme="dark"] .about-team-member,
[data-bs-theme="dark"] .about-cta{border-color:var(--brand-border);background:var(--brand-surface);}
[data-bs-theme="dark"] .about-page > .about-team-section{border-color:var(--brand-border);background:#091A28;}
[data-bs-theme="dark"] .about-metric-icon,
[data-bs-theme="dark"] .about-principle-icon{background:rgba(21,150,168,.18);color:var(--brand-mint);}
[data-bs-theme="dark"] .about-metric strong{color:var(--brand-mint);}
[data-bs-theme="dark"] .about-metric > span:last-child{color:var(--brand-muted);}

[data-bs-theme="dark"] .contact-root,
[data-bs-theme="dark"] .contact-body,
[data-bs-theme="dark"] .contact-page,
[data-bs-theme="dark"] .contact-page > .contact-hero,
[data-bs-theme="dark"] .contact-page > .contact-content{background:var(--brand-bg);}
[data-bs-theme="dark"] .contact-title,
[data-bs-theme="dark"] .contact-panel-title,
[data-bs-theme="dark"] .contact-list-label,
[data-bs-theme="dark"] .contact-label,
[data-bs-theme="dark"] .contact-modal-title{color:var(--brand-text);}
[data-bs-theme="dark"] .contact-intro,
[data-bs-theme="dark"] .contact-panel-copy,
[data-bs-theme="dark"] .contact-list-link,
[data-bs-theme="dark"] .contact-list-value,
[data-bs-theme="dark"] .contact-required,
[data-bs-theme="dark"] .contact-privacy,
[data-bs-theme="dark"] .contact-modal-message{color:var(--brand-muted);}
[data-bs-theme="dark"] .contact-info-panel,
[data-bs-theme="dark"] .contact-form,
[data-bs-theme="dark"] .contact-modal-content{border-color:var(--brand-border);background:var(--brand-surface);}
[data-bs-theme="dark"] .contact-list-item{border-color:var(--brand-border);}
[data-bs-theme="dark"] .contact-list-icon{background:rgba(21,150,168,.18);color:var(--brand-mint);}
[data-bs-theme="dark"] .contact-modal-content{box-shadow:0 18px 55px rgba(0,0,0,.42);}
[data-bs-theme="dark"] .contact-loading-spinner{border-color:var(--brand-border);border-right-color:var(--brand-mint);color:var(--brand-mint);}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text,
[data-bs-theme="dark"] .contact-control{
  border-color:var(--brand-border);
  background-color:#0B1E2D;
  color:var(--brand-text);
}
[data-bs-theme="dark"] .form-control::placeholder,
[data-bs-theme="dark"] .contact-control::placeholder{color:#8FA5B2;opacity:1;}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus,
[data-bs-theme="dark"] .contact-control:focus{border-color:#1596A8;background:#102536;color:var(--brand-text);box-shadow:0 0 0 .2rem rgba(21,150,168,.22);}
[data-bs-theme="dark"] .alert{border-color:var(--brand-border);background:var(--brand-surface-raised);color:var(--brand-text);}
[data-bs-theme="dark"] .contact-feedback-success{border-color:#4F9A84;background:#102F2B;color:#BDEDDD;}
[data-bs-theme="dark"] .contact-feedback-error{border-color:#A86464;background:#351F25;color:#FFD2D2;}
[data-bs-theme="dark"] .contact-field-error{color:#FFBABA;}
[data-bs-theme="dark"] .modal-backdrop{--bs-backdrop-bg:#020A10;--bs-backdrop-opacity:.72;}

[data-bs-theme="dark"] .footer,
[data-bs-theme="dark"] .site-footer{border-color:#1596A8;background:linear-gradient(135deg,#081925,#102B3A);color:var(--brand-muted);}
[data-bs-theme="dark"] .site-footer::before{border-color:#20A7B6;background:#0C2130;}
[data-bs-theme="dark"] .footer-brand,
[data-bs-theme="dark"] .footer-legal a{color:var(--brand-text);}
[data-bs-theme="dark"] .footer-social a{border-color:rgba(141,220,242,.3);background:rgba(16,37,54,.8);color:var(--brand-mint);}
[data-bs-theme="dark"] .footer-social a:hover{background:#163B4D;color:#FFFFFF;}

@media (max-width:991.98px){
  .theme-toggle{margin:.35rem 0;}
}

@media (prefers-reduced-motion: reduce){
  .theme-toggle{transition:none;}
}

/* Solutions and product detail */
.solutions-body,
.solutions-page,
.solution-detail-page{background:#F7F9FA;}

.solutions-page,
.solution-detail-page{color:#10212F;isolation:isolate;}

.solutions-page > section,
.solution-detail-page section{padding:clamp(4rem,7vw,6.5rem) 0!important;}

.solutions-hero,
.solution-detail-hero{
  border-bottom:1px solid #E1E8EB;
  background:linear-gradient(130deg,#F7F9FA 0%,#FFFFFF 52%,#E6F4F7 100%);
}

.solutions-hero{min-height:540px;display:flex;align-items:center;}
.solutions-kicker{color:#087E94;font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;}
.solutions-title,
.solution-detail-title{color:#071D34;font-size:clamp(2.55rem,5.5vw,5rem);font-weight:900;letter-spacing:-.055em;line-height:1.02;}
.solutions-intro,
.solution-detail-intro{max-width:760px;color:#52677A;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.75;}

.solutions-partner-mark{
  display:grid;
  place-items:center;
  width:min(100%,320px);
  aspect-ratio:1;
  margin-inline:auto;
  border:1px solid rgba(21,150,168,.25);
  border-radius:50%;
  background:radial-gradient(circle,rgba(141,220,242,.3),rgba(255,255,255,.82) 64%);
  color:#087E94;
  font-size:clamp(4rem,9vw,7rem);
  box-shadow:0 24px 65px rgba(11,61,110,.1);
}

.solutions-approach{background:#FFFFFF;}
.solutions-section-heading{max-width:760px;}
.solutions-section-heading h2{color:#071D34;font-size:clamp(2rem,4vw,3.25rem);font-weight:900;letter-spacing:-.04em;line-height:1.1;}
.solutions-section-heading > p{color:#52677A;font-size:1.05rem;line-height:1.65;}

.solutions-step,
.solution-detail-block{
  padding:clamp(1.5rem,3vw,2.25rem);
  border:1px solid #DDE6E9;
  border-radius:16px;
  background:#F7F9FA;
}

.solutions-step-number,
.solution-detail-number{display:block;margin-bottom:1.5rem;color:#1596A8;font-size:1.85rem;font-weight:900;}
.solutions-step-number::after,
.solution-detail-number::after{content:"";display:block;width:36px;height:2px;margin-top:.55rem;background:var(--brand-yellow);}
.solutions-step h3,
.solution-detail-block h2{margin-bottom:.75rem;color:#071D34;font-size:1.25rem;font-weight:800;}
.solutions-step p,
.solution-detail-block p{margin:0;color:#52677A;line-height:1.7;}

.solutions-products{border-top:1px solid #E1E8EB;background:#F7F9FA;}
.solutions-product-card{display:flex;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid #DDE6E9;border-radius:18px;background:#FFFFFF;box-shadow:0 16px 42px rgba(11,61,110,.08);}
.solutions-product-icon{display:grid;place-items:center;flex:0 0 72px;width:72px;height:72px;border-radius:50%;background:#E7F5F7;color:#087E94;font-size:1.8rem;}
.solutions-product-body{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;}
.solutions-product-label{margin-bottom:.65rem;color:#087E94;font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.solutions-product-title{margin-bottom:.7rem;color:#071D34;font-size:1.75rem;font-weight:900;letter-spacing:-.03em;}
.solutions-product-copy{margin-bottom:1.5rem;color:#52677A;line-height:1.7;}
.solutions-product-link{min-width:120px;margin-top:auto;}
.solutions-product-link:focus-visible,
.solution-back-link:focus-visible{outline:3px solid rgba(21,150,168,.45);outline-offset:3px;}
.solutions-status{color:#52677A;}

.solution-detail-status{display:grid;min-height:65vh;place-items:center;color:#52677A;}
.solution-loading-spinner{color:#087E94;}
.solution-detail-hero{padding-top:clamp(3rem,6vw,5rem)!important;}
.solution-back-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;color:#087E94;font-weight:700;text-decoration:none;}
.solution-back-link:hover{color:#0B3D6E;}
.solution-detail-mark{width:min(100%,240px);font-size:clamp(3.5rem,7vw,5.5rem);}
.solution-detail-content{background:#FFFFFF;}
.solution-detail-sections{display:grid;gap:clamp(1.25rem,3vw,2rem);}
.solution-detail-block{min-width:0;background:#FFFFFF;box-shadow:0 16px 42px rgba(11,61,110,.06);}
.solution-detail-block > p{max-width:900px;}
.solution-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.75rem;}
.solution-fact-card{min-width:0;padding:1.25rem;border:1px solid #DDE6E9;border-radius:14px;background:#F7F9FA;}
.solution-fact-card h3,
.solution-disclosure h3,
.solution-workflow-step h3{margin:0 0 .45rem;color:#071D34;font-size:1rem;font-weight:800;line-height:1.35;}
.solution-fact-card p,
.solution-workflow-step p{font-size:.95rem;line-height:1.6;overflow-wrap:anywhere;}
.solution-disclosure{margin-top:1.5rem;border-top:1px solid #DDE6E9;}
.solution-disclosure summary{display:flex;align-items:center;min-height:44px;padding:.9rem 0;color:#087E94;font-weight:800;cursor:pointer;}
.solution-disclosure summary:focus-visible{outline:3px solid rgba(21,150,168,.45);outline-offset:3px;}
.solution-disclosure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding:.5rem 0 .25rem;}
.solution-check-list{display:grid;gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;}
.solution-check-list li{position:relative;padding-left:1.5rem;color:#52677A;line-height:1.55;overflow-wrap:anywhere;}
.solution-check-list li::before{position:absolute;left:0;color:#1596A8;content:"✓";font-weight:900;}
.solution-workflow{display:grid;gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none;}
.solution-workflow-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:1rem;align-items:start;padding:1.1rem;border:1px solid #DDE6E9;border-radius:14px;background:#F7F9FA;}
.solution-workflow-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#E7F5F7;color:#087E94;font-size:.82rem;font-weight:900;}
.solution-pending-copy{font-style:italic;}
.solution-not-found{min-height:65vh;background:#F7F9FA;}
.solution-not-found-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1.5rem;border-radius:50%;background:#E7F5F7;color:#087E94;font-size:1.8rem;}
.solution-not-found h1{color:#071D34;font-size:clamp(2rem,4vw,3.25rem);font-weight:900;letter-spacing:-.04em;}
.solution-not-found p{margin:1rem auto 1.75rem;color:#52677A;}

@media (max-width:767.98px){
  .solutions-hero{min-height:auto;}
  .solutions-partner-mark{width:210px;}
  .solutions-product-card{flex-direction:column;}
  .solution-fact-grid,
  .solution-disclosure-grid{grid-template-columns:minmax(0,1fr);}
  .solution-workflow-step{grid-template-columns:44px minmax(0,1fr);gap:.75rem;padding:1rem;}
  .solutions-title,
  .solution-detail-title{font-size:clamp(2.25rem,11vw,3.2rem);overflow-wrap:break-word;}
}

[data-bs-theme="dark"] .solutions-body,
[data-bs-theme="dark"] .solutions-page,
[data-bs-theme="dark"] .solution-detail-page,
[data-bs-theme="dark"] .solutions-products,
[data-bs-theme="dark"] .solution-not-found{background:var(--brand-bg);color:var(--brand-text);}
[data-bs-theme="dark"] .solutions-hero,
[data-bs-theme="dark"] .solution-detail-hero{border-color:var(--brand-border);background:linear-gradient(130deg,#071522 0%,#0D2232 52%,#133445 100%);}
[data-bs-theme="dark"] .solutions-title,
[data-bs-theme="dark"] .solution-detail-title,
[data-bs-theme="dark"] .solutions-section-heading h2,
[data-bs-theme="dark"] .solutions-step h3,
[data-bs-theme="dark"] .solutions-product-title,
[data-bs-theme="dark"] .solution-detail-block h2,
[data-bs-theme="dark"] .solution-not-found h1{color:var(--brand-text);}
[data-bs-theme="dark"] .solutions-intro,
[data-bs-theme="dark"] .solution-detail-intro,
[data-bs-theme="dark"] .solutions-section-heading > p,
[data-bs-theme="dark"] .solutions-step p,
[data-bs-theme="dark"] .solutions-product-copy,
[data-bs-theme="dark"] .solution-detail-block p,
[data-bs-theme="dark"] .solution-not-found p,
[data-bs-theme="dark"] .solutions-status{color:var(--brand-muted);}
[data-bs-theme="dark"] .solutions-approach,
[data-bs-theme="dark"] .solution-detail-content{background:#091A28;}
[data-bs-theme="dark"] .solutions-step,
[data-bs-theme="dark"] .solutions-product-card,
[data-bs-theme="dark"] .solution-detail-block{border-color:var(--brand-border);background:var(--brand-surface);box-shadow:0 16px 42px rgba(0,0,0,.24);}
[data-bs-theme="dark"] .solution-fact-card,
[data-bs-theme="dark"] .solution-workflow-step{border-color:var(--brand-border);background:#0B2030;}
[data-bs-theme="dark"] .solution-fact-card h3,
[data-bs-theme="dark"] .solution-disclosure h3,
[data-bs-theme="dark"] .solution-workflow-step h3{color:var(--brand-text);}
[data-bs-theme="dark"] .solution-check-list li{color:var(--brand-muted);}
[data-bs-theme="dark"] .solution-disclosure{border-color:var(--brand-border);}
[data-bs-theme="dark"] .solution-disclosure summary{color:var(--brand-mint);}
[data-bs-theme="dark"] .solution-workflow-number{background:rgba(21,150,168,.18);color:var(--brand-mint);}
[data-bs-theme="dark"] .solutions-partner-mark{border-color:var(--brand-border);background:radial-gradient(circle,rgba(21,150,168,.25),var(--brand-surface) 66%);color:var(--brand-mint);box-shadow:0 24px 65px rgba(0,0,0,.28);}
[data-bs-theme="dark"] .solutions-product-icon,
[data-bs-theme="dark"] .solution-not-found-icon{background:rgba(21,150,168,.18);color:var(--brand-mint);}
[data-bs-theme="dark"] .solution-back-link{color:var(--brand-mint);}

/* Responsive public-site foundation */
:root{--page-gutter:clamp(1rem,3vw,2rem);--section-space:clamp(3rem,7vw,6rem);--section-space-compact:clamp(2.25rem,5vw,4rem);--touch-target:44px;--form-target:48px;}
.container,.container-fluid{--bs-gutter-x:calc(var(--page-gutter) * 2);}
main > section:not(.hero){padding-top:var(--section-space)!important;padding-bottom:var(--section-space)!important;}
.hero:not(.home-hero){padding-block:var(--section-space-compact)!important;}
.solutions-page > section,.solution-detail-page section,.about-page > .about-team-section,.about-page > .about-cta-section{padding-block:var(--section-space)!important;}
.about-page > .about-hero,.contact-page > .contact-hero{padding-block:var(--section-space-compact)!important;}
.about-page > .about-editorial-section,.contact-page > .contact-content{padding-top:0!important;padding-bottom:var(--section-space)!important;}
:where(.row > *,.card,article,.solutions-product-body,.process-body,.footer-grid > *,.navbar-nav,.navbar-collapse){min-width:0;}
:where(h1,h2,h3,h4,h5,h6,p,a,button,label,span,small,.badge,.contact-list-value){overflow-wrap:anywhere;}
:where(img,svg,video){max-width:100%;height:auto;}
:where(.btn,.nav-link,.navbar-brand,.navbar-toggler,.theme-toggle,.footer-brand,.footer-social a){min-height:var(--touch-target);}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #1596A8!important;outline-offset:3px!important;box-shadow:0 0 0 2px var(--brand-surface)!important;}
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-control,.form-select){min-height:var(--form-target);font-size:1rem;}
.home-hero{height:auto;min-height:calc(100svh - 6.5rem);margin-top:0;padding-block:clamp(3.5rem,7vw,6rem)!important;align-items:center;}
.home-hero > .home-hero-content{width:min(100%,1320px);padding-inline:var(--page-gutter);}
.home-hero-content .row{--bs-gutter-x:clamp(1.5rem,5vw,4rem);--bs-gutter-y:2rem;}
.hero-title{white-space:normal;overflow-wrap:anywhere;}
.hero-logo-stage{min-height:clamp(300px,36vw,480px);}
.hero-logo{width:min(100%,440px);}
.home-hero .btn,.solutions-product-link,.solution-not-found .btn,.about-cta-button,.closing-primary{min-height:48px;}
.footer-social > :where(a,.footer-social-unavailable){width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border:1px solid rgba(21,150,168,.35);border-radius:50%;}
.footer-social-unavailable{color:var(--brand-muted);background:rgba(255,255,255,.25);opacity:.72;cursor:not-allowed;}
.footer-unavailable{color:var(--brand-muted);cursor:not-allowed;}
.contact-modal .modal-dialog{width:calc(100% - 2rem);max-height:calc(100dvh - 2rem);margin:1rem auto;}
.contact-modal-content{max-height:calc(100dvh - 2rem);overflow-y:auto;}

@media (max-width:991.98px){
  .navbar-glass{width:calc(100% - 2 * var(--page-gutter));max-width:none;border-radius:20px;padding:.25rem .5rem;}
  .navbar-glass > .container{flex-wrap:wrap;}
  .navbar-glass .navbar-toggler{width:44px;height:44px;padding:.45rem;}
  [data-bs-theme="dark"] .navbar-glass .navbar-toggler{border-color:rgba(255,255,255,.72);}
  [data-bs-theme="dark"] .navbar-glass .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.96%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");filter:none;}
  .navbar-glass .navbar-collapse{flex-basis:100%;max-height:calc(100dvh - 6rem);padding:.5rem 0 .75rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
  .navbar-glass .navbar-nav{align-items:stretch;}
  .navbar-glass .nav-link{display:flex;align-items:center;min-height:44px;padding:.65rem .5rem!important;}
  .navbar-glass .nav-link.active::after{left:.5rem;right:auto;width:2.5rem;bottom:.25rem;}
  .navbar-glass .theme-toggle{margin:.25rem .5rem;}
  .navbar-glass .nav-quote{width:100%;min-height:48px;margin-top:.25rem;}
  .home-hero{min-height:0;padding-top:clamp(2.75rem,8vw,4.5rem)!important;padding-bottom:var(--section-space-compact)!important;}
  .home-hero-content{text-align:left;}
  .home-hero-content .hero-logo-column{order:-1;}
  .hero-copy{margin-inline:0;}
  .hero-logo-stage{min-height:clamp(220px,52vw,340px);}
  .hero-logo{width:min(62vw,320px);}
  .hero-benefits{margin-top:2rem!important;}
  .stack-shell{padding:var(--section-space-compact) var(--page-gutter);}
}

@media (max-width:767.98px){
  .home-hero-content .col-lg-7 > .d-flex{display:grid!important;grid-template-columns:minmax(0,1fr);width:100%;}
  .home-hero-content .col-lg-7 > .d-flex > .btn,.hero:not(.home-hero) .d-flex > .btn,.solutions-product-link,.solution-not-found .btn{width:100%;}
  .solutions-product-card{gap:1rem;}
  .solutions-product-icon{width:56px;height:56px;flex-basis:56px;}
  .solution-detail-hero .row,.solutions-hero .row{--bs-gutter-x:calc(var(--page-gutter) * 2);--bs-gutter-y:2rem;}
  .solutions-partner-mark{width:min(52vw,180px);}
}

@media (max-width:575.98px){
  :root{--section-space:3rem;--section-space-compact:2.5rem;}
  .navbar-glass{width:calc(100% - 1rem);margin-top:.5rem;top:.5rem;}
  .navbar-brand span{font-size:1.08rem;}
  .navbar-brand img{width:40px;height:40px;}
  .home-hero > .home-hero-content{padding-inline:var(--page-gutter);}
  .hero-title{font-size:clamp(2rem,11vw,2.65rem);letter-spacing:-.045em;}
  .hero-title br{display:none;}
  .hero-copy{line-height:1.55;}
  .hero-logo-stage{min-height:190px;}
  .hero-logo{width:min(56vw,210px);}
  .hero-platform{width:52%;height:36px;}
  .hero-benefits{border-radius:16px;}
  .benefit-item{gap:.85rem;padding:1rem;}
  .benefit-icon{width:48px;height:48px;flex-basis:48px;font-size:1.25rem;}
  .stack-section{padding-block:var(--section-space)!important;}
  .stack-shell{border-radius:18px;}
  .stack-shell .tech-card{min-height:150px;}
  .process-card{min-height:0;padding:1.25rem!important;}
  .solutions-page > section,.solution-detail-page section{padding-block:var(--section-space)!important;}
  .solutions-step,.solutions-product-card,.solution-detail-block,.about-editorial-panel,.contact-info-panel,.contact-form{padding:1.25rem;}
  .solutions-product-title{font-size:1.45rem;}
  .about-principle,.about-team-member{gap:.75rem;}
  .footer-grid{justify-items:center;}
  .footer-legal{flex-wrap:wrap;justify-content:center;}
}

@media (max-width:359.98px){
  .navbar-glass .container{--bs-gutter-x:1rem;}
  .hero-title{font-size:2rem;}
  .home-hero .btn{padding-inline:.75rem;}
  .tech-card{padding:.75rem!important;}
}

@media (max-height:700px) and (min-width:992px){
  .home-hero{min-height:0;padding-block:3rem!important;}
  .hero-logo-stage{min-height:320px;}
  .hero-logo{width:min(100%,340px);}
}

@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .gold-gradient-text,.hero-logo,.contact-loading-spinner,.solution-loading-spinner{animation:none!important;}
  .hero-logo,.hover-scale:hover,.hover-scale:focus-visible,.tech-card:hover i,.footer-social a:hover,.home-hero .btn:hover{transform:none!important;}
  .hero-decor,.stack-shell::before,.stack-shell::after,.process-section::before,.closing-section::after,.site-footer::before{transition:none!important;}
}
