*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}

html{
  scroll-behavior:smooth;
}

body{
  background:#f6f8fb;
  color:#1f2937;
}

body.nav-open{
  overflow:hidden;
}

header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  padding:18px 80px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:transparent;
  backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:background 0.25s ease, backdrop-filter 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  z-index:1000;
}

.logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  min-width:0;
  text-decoration:none;
  color:#fff;
}

.logo-mark{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  overflow:hidden;
  border-radius:999px;
  background:#073a3d;
  border:3px solid rgba(255,255,255,0.92);
  box-shadow:0 14px 26px rgba(15,23,42,0.18), 0 0 0 4px rgba(106,221,217,0.16);
}

.logo-mark img{
  display:block;
  width:84%;
  height:84%;
  object-fit:contain;
  object-position:center;
  transform:translateY(1px);
  filter:saturate(1.16) contrast(1.1) brightness(1.06);
}

.logo-text{
  color:currentColor;
  font-size:17px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  white-space:nowrap;
  text-shadow:0 10px 24px rgba(3,7,18,0.28);
}

.header-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.menu-toggle{
  position:relative;
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,0.28);
  border-radius:14px;
  background:rgba(255,255,255,0.08);
  color:#fff;
  cursor:pointer;
  transition:background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.menu-toggle:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,0.14);
}

.menu-toggle:focus-visible,
nav a:focus-visible,
.nav-trigger:focus-visible,
.dropdown-menu a:focus-visible{
  outline:2px solid #1fa7a7;
  outline-offset:3px;
}

.menu-toggle i{
  position:absolute;
  font-size:22px;
  transition:opacity 0.22s ease, transform 0.22s ease;
}

.menu-close-icon{
  opacity:0;
  transform:scale(0.7) rotate(-90deg);
}

header.nav-open .menu-open-icon{
  opacity:0;
  transform:scale(0.7) rotate(90deg);
}

header.nav-open .menu-close-icon{
  opacity:1;
  transform:scale(1) rotate(0deg);
}

nav{
  display:flex;
  align-items:center;
  gap:25px;
}

nav a,
.nav-trigger{
  margin-left:0;
  color:#fff;
  text-decoration:none;
  background:none;
  border:none;
  padding:0;
  font:inherit;
  cursor:pointer;
}

header.header-solid{
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(148,163,184,0.25);
  box-shadow:0 10px 30px rgba(15,23,42,0.08);
}

header .logo,
header nav a,
header .nav-trigger,
header .menu-toggle{
  transition:color 0.25s ease;
}

header.header-solid .logo,
header.header-solid nav a,
header.header-solid .nav-trigger,
header.header-solid .menu-toggle{
  color:#0f172a;
}

header.header-solid .logo-text,
body.inner-page header .logo-text,
header.nav-open .logo-text{
  text-shadow:none;
}

header.header-solid .logo-mark,
body.inner-page header .logo-mark,
header.nav-open .logo-mark{
  background:#073a3d;
  border-color:rgba(255,255,255,0.98);
  box-shadow:0 12px 24px rgba(15,23,42,0.14), 0 0 0 4px rgba(31,167,167,0.14);
}

header.header-solid .menu-toggle{
  border-color:rgba(148,163,184,0.35);
  background:rgba(241,245,249,0.92);
}

nav > a.active-link,
nav > a[aria-current="page"],
.nav-trigger.active-trigger{
  font-weight:600;
}

header.header-solid nav > a.active-link,
header.header-solid nav > a[aria-current="page"],
header.header-solid .nav-trigger.active-trigger{
  color:#1fa7a7;
}

.nav-dropdown{
  position:relative;
}

.nav-trigger{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.nav-trigger i{
  font-size:14px;
  transition:transform 0.2s ease;
}

.nav-dropdown.open .nav-trigger i{
  transform:rotate(180deg);
}

.dropdown-menu{
  position:absolute;
  top:calc(100% + 16px);
  left:0;
  min-width:230px;
  padding:10px;
  display:grid;
  gap:6px;
  background:rgba(255,255,255,0.98);
  border:1px solid rgba(148,163,184,0.22);
  border-radius:16px;
  box-shadow:0 18px 40px rgba(15,23,42,0.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.nav-dropdown.open .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.dropdown-menu a{
  margin:0;
  padding:10px 12px;
  border-radius:10px;
  color:#0f172a;
}

.dropdown-menu a:hover,
.dropdown-menu a.active{
  background:#ecf8f8;
  color:#1fa7a7;
}

.dropdown-menu a.active{
  font-weight:600;
}

.nav-dropdown-services{
  position:static;
}

.nav-dropdown-services .dropdown-menu-services{
  left:clamp(20px,4vw,48px);
  right:clamp(20px,4vw,48px);
  min-width:0;
  width:auto;
  max-width:none;
  max-height:min(78vh,620px);
  padding:20px;
  gap:0;
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,0.99) 0%,rgba(247,251,252,0.98) 100%);
  box-shadow:0 22px 48px rgba(15,23,42,0.16);
  transform:translateY(10px);
  transform-origin:top center;
  transition:opacity 0.24s ease, transform 0.38s cubic-bezier(0.22,1,0.36,1), visibility 0.24s ease;
  will-change:transform, opacity;
}

.nav-dropdown-services.open .dropdown-menu-services{
  transform:translateY(0);
  animation:servicesPopupIn 0.38s cubic-bezier(0.22,1,0.36,1);
}

.nav-dropdown-services .dropdown-menu-services::before{
  content:'';
  position:absolute;
  top:-64px;
  right:-24px;
  width:340px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(31,167,167,0.14) 0%, rgba(31,167,167,0.07) 38%, rgba(31,167,167,0) 72%);
  opacity:0;
  transform:translate3d(28px,-18px,0) scale(0.92);
  transition:opacity 0.4s ease, transform 0.55s cubic-bezier(0.22,1,0.36,1);
  pointer-events:none;
}

.nav-dropdown-services.open .dropdown-menu-services::before{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.services-menu-layout{
  display:grid;
  grid-template-columns:minmax(240px,280px) minmax(0,1fr);
  align-items:start;
  gap:22px;
  position:relative;
  z-index:1;
}

.services-menu-sidebar{
  display:grid;
  gap:6px;
  min-width:0;
  padding-right:18px;
  border-right:1px solid rgba(148,163,184,0.18);
}

.services-menu-sidebar > *{
  opacity:0;
  transform:translateX(-14px);
}

.nav-dropdown-services.open .services-menu-sidebar > *{
  animation:servicesSidebarItemIn 0.42s cubic-bezier(0.22,1,0.36,1) forwards;
}

.nav-dropdown-services.open .services-menu-sidebar > :nth-child(1){ animation-delay:0.04s; }
.nav-dropdown-services.open .services-menu-sidebar > :nth-child(2){ animation-delay:0.08s; }
.nav-dropdown-services.open .services-menu-sidebar > :nth-child(3){ animation-delay:0.12s; }
.nav-dropdown-services.open .services-menu-sidebar > :nth-child(4){ animation-delay:0.16s; }
.nav-dropdown-services.open .services-menu-sidebar > :nth-child(5){ animation-delay:0.2s; }

.services-subtrigger,
.dropdown-menu-services .services-subitem{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:#0f172a;
  font:inherit;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
  white-space:normal;
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.services-subtrigger i{
  font-size:14px;
  transition:transform 0.2s ease;
}

.services-subtrigger:hover,
.services-subtrigger.active,
.dropdown-menu-services .services-subitem:hover,
.dropdown-menu-services .services-subitem.active{
  background:#ecf8f8;
  border-color:rgba(31,167,167,0.2);
  color:#1fa7a7;
}

.services-subtrigger.active{
  font-weight:600;
}

.services-subtrigger.active i{
  transform:translateX(2px);
}

.dropdown-menu-services .services-subitem.active{
  font-weight:600;
}

.services-subpanel{
  position:static;
  width:100%;
  min-width:0;
  display:none;
  grid-column:2;
}

.services-subpanel.is-active{
  display:grid;
  gap:12px;
  min-height:320px;
  padding:20px;
  border-radius:22px;
  max-height:min(68vh,540px);
  overflow-y:auto;
  border:1px solid rgba(148,163,184,0.2);
  background:linear-gradient(180deg,#ffffff 0%,#f7fcfc 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);
  opacity:0;
  transform:translateX(18px) scale(0.985);
  transform-origin:left center;
}

.nav-dropdown-services.open .services-subpanel.is-active{
  animation:servicesPanelIn 0.4s 0.08s cubic-bezier(0.22,1,0.36,1) forwards;
}

.sap-menu-intro{
  padding-bottom:10px;
  border-bottom:1px solid rgba(148,163,184,0.22);
}

.sap-menu-intro h3{
  max-width:none;
  color:#0f172a;
  font-size:18px;
  line-height:1.22;
  letter-spacing:-0.02em;
}

.sap-menu-viewall{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:0;
  color:#0f766e;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}

.dropdown-menu-services .sap-menu-viewall:hover{
  background:transparent;
  color:#1fa7a7;
}

.sap-menu-viewall i{
  font-size:16px;
}

.services-quick-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.dropdown-menu-services .services-quick-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:9px 11px;
  border-radius:12px;
  border:1px solid rgba(203,213,225,0.72);
  background:linear-gradient(180deg,#ffffff 0%,#f4fbfb 100%);
  color:#0f172a;
  text-decoration:none;
  font-weight:500;
  font-size:13px;
  transition:transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.dropdown-menu-services .services-quick-link:hover{
  background:linear-gradient(180deg,#fbffff 0%,#ebf9f8 100%);
  border-color:rgba(31,167,167,0.28);
  box-shadow:0 12px 24px rgba(15,23,42,0.08);
  transform:translateY(-2px);
  color:#1fa7a7;
}

.nav-dropdown-services.services-inline .dropdown-menu-services{
  left:0;
  right:auto;
  width:min(330px,calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  max-height:min(78vh,560px);
  padding:10px;
  overflow-x:hidden;
  overflow-y:auto;
  border-radius:16px;
  box-shadow:0 16px 32px rgba(15,23,42,0.12);
}

.nav-dropdown-services.services-inline .services-menu-layout{
  grid-template-columns:1fr;
  gap:10px;
}

.nav-dropdown-services.services-inline .services-menu-sidebar{
  padding-right:0;
  border-right:none;
}

.nav-dropdown-services.services-inline .services-subpanel{
  grid-column:auto;
}

.nav-dropdown-services.services-inline .services-subpanel.is-active{
  min-height:0;
  padding:12px;
  border-radius:14px;
  max-height:320px;
}

.nav-dropdown-services.services-inline .services-quick-links{
  grid-template-columns:1fr;
  gap:8px;
}

.services-quick-link span{
  line-height:1.35;
}

.services-quick-link i{
  font-size:14px;
  color:#1fa7a7;
}

@keyframes servicesPopupIn{
  0%{
    opacity:0;
    transform:translateY(18px) scale(0.975);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes servicesSidebarItemIn{
  0%{
    opacity:0;
    transform:translateX(-14px);
  }
  100%{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes servicesPanelIn{
  0%{
    opacity:0;
    transform:translateX(18px) scale(0.985);
  }
  100%{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

.service-anchor{
  scroll-margin-top:140px;
}

.hero{
  height:100vh;
  background:url('https://images.unsplash.com/photo-1497366216548-37526070297c') center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  color:#fff;
}

.hero::after{
  content:'';
  position:absolute;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.55);
  z-index:1;
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:900px;
}

.hero h1{
  font-size:60px;
  margin-bottom:20px;
}

.hero p{
  margin-bottom:25px;
  color:#ddd;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#2cc5c5;
  padding:15px 35px;
  border:none;
  border-radius:10px;
  color:#fff;
  text-decoration:none;
  box-shadow:0 5px 20px rgba(44,197,197,0.4);
  cursor:pointer;
}

.wrapper{
  max-width:1200px;
  margin:60px auto;
}

.card-section{
  background:#fff;
  padding:70px;
  border-radius:20px;
  box-shadow:0 10px 40px rgba(0,0,0,0.05);
  margin-bottom:60px;
}

h2{
  text-align:center;
  font-size:36px;
  margin-bottom:10px;
}

.subtitle{
  text-align:center;
  color:#6b7280;
  margin-bottom:40px;
}

.services{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.card{
  background:#f9fbfc;
  padding:25px;
  border-radius:15px;
}

.icon{
  width:55px;
  height:55px;
  background:#e8f7f7;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  margin-bottom:15px;
  color:#2cc5c5;
  font-size:22px;
}

.card-desc{
  color:#6b7280;
  font-size:14px;
  margin-top:10px;
  line-height:1.6;
}

.about-text{
  text-align:center;
  max-width:800px;
  margin:10px auto 40px;
  color:#6b7280;
  line-height:1.6;
}

.about-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  margin-top:30px;
}

.box{
  background:#f9fbfc;
  padding:30px;
  border-radius:15px;
  box-shadow:0 8px 25px rgba(0,0,0,0.05);
}

.highlight{
  color:#1fa7a7;
  margin-bottom:10px;
}

.box a{
  color:#1fa7a7;
  text-decoration:none;
  font-weight:600;
}

.box a:hover{
  text-decoration:underline;
}

.features{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:40px;
}

.feature{
  background:#f9fbfc;
  padding:25px;
  border-radius:12px;
  text-align:center;
  box-shadow:0 8px 25px rgba(0,0,0,0.05);
}

.feature-icon{
  width:50px;
  height:50px;
  background:#e6f7f7;
  color:#1fa7a7;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  margin:0 auto 15px;
  font-size:20px;
}

.feature h4{
  margin-bottom:10px;
  font-size:16px;
}

.feature p{
  font-size:13px;
  color:#6b7280;
  line-height:1.5;
}

.team-image img{
  width:100%;
  border-radius:15px;
  margin:30px 0;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.team-card{
  background:#f9fbfc;
  padding:25px;
  border-radius:15px;
  text-align:center;
}

.avatar{
  width:60px;
  height:60px;
  background:#e8f7f7;
  color:#2cc5c5;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  margin:auto auto 10px;
}

.role{
  color:#2cc5c5;
  font-size:14px;
}

.logo-showcase-section{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbfc 100%);
}

.logo-lanes{
  display:grid;
  gap:22px;
  max-width:1100px;
  margin:0 auto;
}

.logo-lane-card{
  position:relative;
  overflow:hidden;
  padding:30px;
  border-radius:28px;
  background:linear-gradient(135deg,#0f172a 0%,#0f766e 44%,#14b8a6 100%);
  box-shadow:0 24px 52px rgba(15,23,42,0.14);
}

.logo-lane-card::before,
.logo-lane-card::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
}

.logo-lane-card::before{
  width:220px;
  height:220px;
  top:-90px;
  right:-40px;
}

.logo-lane-card::after{
  width:160px;
  height:160px;
  left:-40px;
  bottom:-70px;
}

.logo-lane-card-partners{
  background:linear-gradient(135deg,#111827 0%,#1d4ed8 42%,#22c55e 100%);
}

.logo-lane-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.logo-lane-kicker{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  margin-bottom:14px;
  background:rgba(255,255,255,0.14);
  color:rgba(255,255,255,0.92);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.logo-lane-head h3{
  color:#fff;
  font-size:30px;
  line-height:1.12;
  max-width:520px;
}

.logo-lane-head p{
  max-width:320px;
  color:rgba(255,255,255,0.74);
  line-height:1.7;
  font-size:14px;
}

.logo-marquee{
  position:relative;
  z-index:1;
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.logo-marquee-track{
  --logo-gap:18px;
  display:flex;
  gap:var(--logo-gap);
  width:max-content;
  animation:logoMarquee 26s linear infinite;
}

.logo-marquee-reverse .logo-marquee-track{
  animation-direction:reverse;
  animation-duration:30s;
}

.logo-marquee:hover .logo-marquee-track{
  animation-play-state:paused;
}

.logo-marquee-group{
  display:flex;
  gap:18px;
  flex-shrink:0;
}

.logo-pill{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:220px;
  padding:16px 18px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,0.98) 0%,rgba(245,250,252,0.95) 100%);
  border:1px solid rgba(255,255,255,0.72);
  box-shadow:0 16px 28px rgba(15,23,42,0.14);
  backdrop-filter:blur(8px);
  transition:transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.logo-pill-logo{
  width:56px;
  height:56px;
  aspect-ratio:1 / 1;
  padding:5px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 56px;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border:1px solid rgba(148,163,184,0.24);
  box-shadow:0 10px 18px rgba(15,23,42,0.08);
}

.logo-pill:hover{
  transform:translateY(-4px);
  border-color:rgba(44,197,197,0.42);
  box-shadow:0 22px 34px rgba(15,23,42,0.18);
}

.logo-pill-image{
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  border-radius:50%;
  background:transparent;
  border:none;
  box-shadow:none;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.08) contrast(1.04);
  display:block;
  margin:auto;
  transition:transform 0.22s ease;
}

.logo-pill:hover .logo-pill-image{
  transform:scale(1.04);
}

.logo-pill-mark{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,#0f766e 0%,#2cc5c5 100%);
  color:#fff;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.08em;
  box-shadow:0 12px 20px rgba(15,118,110,0.24);
}

.logo-lane-card-partners .logo-pill-mark{
  background:linear-gradient(135deg,#1d4ed8 0%,#22c55e 100%);
}

.logo-pill-text{
  display:grid;
  gap:4px;
}

.logo-pill-text strong{
  font-size:16px;
  color:#0f172a;
  letter-spacing:0.01em;
}

.logo-pill-text small{
  color:#64748b;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.leadership-section{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
}

.leadership-frame{
  max-width:1080px;
  margin:0 auto;
}

.leadership-photo-wrap{
  overflow:hidden;
  border-radius:24px;
  box-shadow:0 20px 45px rgba(15,23,42,0.08);
}

.leadership-photo{
  display:block;
  width:100%;
  height:420px;
  object-fit:cover;
}

.leadership-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}

.leader-card{
  padding:26px 22px;
  border-radius:18px;
  text-align:center;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
  border:1px solid rgba(226,232,240,0.95);
  box-shadow:0 12px 28px rgba(15,23,42,0.05);
  transition:transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.leader-card:hover{
  transform:translateY(-4px);
  border-color:rgba(31,167,167,0.28);
  box-shadow:0 18px 36px rgba(15,23,42,0.08);
}

@keyframes logoMarquee{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(calc(-50% - 9px));
  }
}

.leader-initial{
  width:46px;
  height:46px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#edf9f8;
  color:#72c8c7;
  font-size:15px;
  font-weight:600;
}

.leader-card h3{
  font-size:18px;
  color:#0f172a;
  margin-bottom:6px;
}

.leader-card p{
  font-size:13px;
  font-weight:500;
  color:#2cc5c5;
}

.contact-section{
  max-width:980px;
  margin:0 auto 60px;
  padding:10px 0 0;
  background:transparent;
  box-shadow:none;
}

.contact-section .subtitle{
  max-width:620px;
  margin:0 auto 48px;
  line-height:1.7;
}

.contact{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,0.9fr);
  gap:36px;
  align-items:start;
}

.contact-form{
  display:grid;
  gap:16px;
}

.contact-field{
  display:grid;
  gap:8px;
}

.contact-field label{
  font-size:14px;
  font-weight:500;
  color:#0f172a;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:14px 16px;
  border-radius:10px;
  border:1px solid #d9e2ec;
  background:#fff;
  color:#334155;
  font-size:14px;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:#2cc5c5;
  box-shadow:0 0 0 3px rgba(44,197,197,0.14);
}

.contact-form select{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #94a3b8 50%),
    linear-gradient(135deg, #94a3b8 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 3px),
    calc(100% - 14px) calc(50% - 3px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:44px;
}

.contact-form textarea{
  min-height:128px;
  resize:vertical;
}

.contact-form input[type="file"]{
  padding:10px 12px;
  background:#f8fafc;
}

.contact-form input[type="file"]::file-selector-button{
  margin-right:12px;
  padding:10px 14px;
  border:none;
  border-radius:10px;
  background:#0f766e;
  color:#fff;
  font:inherit;
  cursor:pointer;
  transition:background 0.2s ease;
}

.contact-form input[type="file"]::file-selector-button:hover{
  background:#0b5f59;
}

.career-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.career-upload-note{
  font-size:13px;
  color:#64748b;
}

.contact-btn{
  width:100%;
  margin-top:4px;
}

.contact-btn i{
  font-size:16px;
}

.contact-sidebar{
  display:grid;
  gap:24px;
}

.contact-card{
  background:#fff;
  padding:28px 24px;
  border-radius:16px;
  border:1px solid #dbe5ef;
  box-shadow:0 14px 32px rgba(15,23,42,0.08);
}

.contact-card h3{
  font-size:18px;
  margin-bottom:22px;
  color:#0f172a;
}

.contact-item{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:14px;
  align-items:flex-start;
}

.contact-item + .contact-item{
  margin-top:20px;
}

.contact-item-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#ecf8f8;
  color:#2cc5c5;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}

.contact-item-label{
  display:block;
  font-size:14px;
  font-weight:600;
  color:#0f172a;
  margin-bottom:4px;
}

.contact-item a,
.contact-item p{
  color:#64748b;
  text-decoration:none;
  line-height:1.6;
}

.hours-card{
  background:#eefbfe;
  border-color:#b7e8f0;
  box-shadow:none;
}

.hours-card p{
  color:#475569;
  line-height:1.8;
}

footer{
  background:#303540;
  color:#fff;
  margin-top:30px;
}

.footer-inner{
  max-width:1200px;
  margin:0 auto;
  padding:52px 70px 28px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 0.9fr 1fr;
  gap:56px;
}

.footer-title{
  font-size:15px;
  font-weight:700;
  margin-bottom:16px;
}

.footer-logo{
  display:inline-flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  margin-bottom:18px;
  color:#fff;
}

.footer-logo-mark{
  display:grid;
  place-items:center;
  width:88px;
  height:88px;
  overflow:hidden;
  border-radius:999px;
  background:#073a3d;
  border:3px solid rgba(255,255,255,0.92);
  box-shadow:0 18px 34px rgba(3,7,18,0.24), 0 0 0 5px rgba(106,221,217,0.14);
}

.footer-logo-mark img{
  display:block;
  width:84%;
  height:84%;
  object-fit:contain;
  object-position:center;
  transform:translateY(1px);
  filter:saturate(1.18) contrast(1.12) brightness(1.08);
}

.footer-logo-text{
  font-size:20px;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:#fff;
}

.footer-brand-text{
  max-width:320px;
  color:rgba(255,255,255,0.86);
  line-height:1.9;
  font-size:14px;
}

.footer-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin-top:14px;
  border-radius:8px;
  background:rgba(255,255,255,0.1);
  color:#fff;
  text-decoration:none;
  font-size:18px;
  transition:background 0.2s ease, color 0.2s ease;
}

.footer-links,
.footer-contact{
  display:grid;
  align-content:start;
  gap:10px;
}

.footer-links a,
.footer-contact a,
.footer-contact p{
  color:rgba(255,255,255,0.9);
  text-decoration:none;
  font-size:14px;
  line-height:1.6;
}

.footer-links a:hover,
.footer-contact a:hover,
.footer-social:hover{
  color:#2cc5c5;
}

.footer-social:hover{
  background:rgba(44,197,197,0.18);
}

.footer-bottom{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,0.12);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:rgba(255,255,255,0.72);
  font-size:13px;
}

body.inner-page{
  background:linear-gradient(180deg,#eef5f8 0%,#f7fafc 40%,#f6f8fb 100%);
}

body.inner-page header{
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(148,163,184,0.25);
  box-shadow:0 10px 30px rgba(15,23,42,0.08);
}

body.inner-page header .logo,
body.inner-page header nav a,
body.inner-page header .nav-trigger,
body.inner-page header .menu-toggle{
  color:#0f172a;
}

body.inner-page header .menu-toggle{
  border-color:rgba(148,163,184,0.35);
  background:rgba(241,245,249,0.92);
}

body.inner-page header nav > a.active-link,
body.inner-page header nav > a[aria-current="page"],
body.inner-page header .nav-trigger.active-trigger{
  color:#1fa7a7;
}

.page-shell{
  max-width:1200px;
  margin:0 auto;
  padding:112px 24px 0;
}

.page-hero{
  margin-bottom:24px;
}

.page-hero-card{
  position:relative;
  overflow:hidden;
  padding:52px;
  border-radius:30px;
  color:#fff;
  box-shadow:0 28px 60px rgba(15,23,42,0.18);
}

.page-hero-card::before,
.page-hero-card::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,0.12);
}

.page-hero-card::before{
  width:240px;
  height:240px;
  top:-70px;
  right:-40px;
}

.page-hero-card::after{
  width:180px;
  height:180px;
  bottom:-60px;
  left:-20px;
}

body.service-rise .page-hero-card{
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 42%,#14b8a6 100%);
}

body.service-support .page-hero-card{
  background:linear-gradient(135deg,#111827 0%,#0f766e 40%,#f59e0b 100%);
}

body.service-support .page-hero-card::before{
  animation:supportOrbit 14s ease-in-out infinite;
}

body.service-support .page-hero-card::after{
  animation:supportOrbit 18s ease-in-out infinite reverse;
}

body.service-architecture .page-hero-card{
  background:linear-gradient(135deg,#1f2937 0%,#0f766e 42%,#2563eb 100%);
}

body.service-architecture .page-hero-card::before{
  animation:supportOrbit 15s ease-in-out infinite;
}

body.service-architecture .page-hero-card::after{
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

body.about-company .page-hero-card{
  background:linear-gradient(135deg,#0f172a 0%,#0f766e 40%,#2563eb 100%);
}

body.about-company .page-hero-card::before{
  animation:supportOrbit 16s ease-in-out infinite;
}

body.about-company .page-hero-card::after{
  animation:supportOrbit 20s ease-in-out infinite reverse;
}

body.about-vision .page-hero-card{
  background:linear-gradient(135deg,#111827 0%,#1d4ed8 42%,#14b8a6 100%);
}

body.about-vision .page-hero-card::before{
  animation:supportOrbit 15s ease-in-out infinite;
}

body.about-vision .page-hero-card::after{
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

body.team-page .page-hero-card{
  background:linear-gradient(135deg,#0f172a 0%,#14532d 38%,#2563eb 100%);
}

body.team-page .page-hero-card::before{
  animation:supportOrbit 15s ease-in-out infinite;
}

body.team-page .page-hero-card::after{
  animation:supportOrbit 20s ease-in-out infinite reverse;
}

body.service-sap-overview .page-hero-card{
  background:linear-gradient(135deg,#0f172a 0%,#0f766e 42%,#2563eb 100%);
}

body.service-sap-overview .page-hero-card::before{
  animation:supportOrbit 15s ease-in-out infinite;
}

body.service-sap-overview .page-hero-card::after{
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

body.service-it-overview .page-hero-card{
  background:linear-gradient(135deg,#0f172a 0%,#0b7285 40%,#22c55e 100%);
}

body.service-it-overview .page-hero-card::before{
  animation:supportOrbit 15s ease-in-out infinite;
}

body.service-it-overview .page-hero-card::after{
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

body.service-it-detail .page-hero-card{
  background:linear-gradient(135deg,#111827 0%,#0f766e 42%,#06b6d4 100%);
}

body.service-it-detail .page-hero-card::before{
  animation:supportOrbit 15s ease-in-out infinite;
}

body.service-it-detail .page-hero-card::after{
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

body.careers-page .page-hero-card{
  background:linear-gradient(135deg,#111827 0%,#0f766e 42%,#14b8a6 100%);
}

body.careers-page .page-hero-card::before{
  animation:supportOrbit 15s ease-in-out infinite;
}

body.careers-page .page-hero-card::after{
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

.page-hero-content{
  position:relative;
  z-index:1;
  max-width:760px;
}

.page-tag{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.16);
  color:rgba(255,255,255,0.92);
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:18px;
}

.page-hero h1{
  font-size:52px;
  line-height:1.08;
  margin-bottom:18px;
}

.page-copy{
  max-width:620px;
  color:rgba(255,255,255,0.88);
  line-height:1.72;
  font-size:15px;
}

.page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:22px;
}

.page-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
  font-weight:500;
}

.page-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-bottom:20px;
}

.page-grid-tight{
  margin-bottom:18px;
}

.page-panel{
  background:#fff;
  border:1px solid #dbe5ef;
  border-radius:24px;
  padding:26px;
  box-shadow:0 16px 34px rgba(15,23,42,0.07);
}

.page-kicker{
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#0f766e;
  margin-bottom:12px;
}

.page-panel h2{
  text-align:left;
  font-size:28px;
  margin-bottom:14px;
  color:#0f172a;
}

.page-panel p{
  color:#64748b;
  line-height:1.8;
}

.page-list{
  list-style:none;
  display:grid;
  gap:14px;
  margin-top:22px;
}

.page-list li{
  position:relative;
  padding-left:18px;
  color:#475569;
  line-height:1.7;
}

.page-list li::before{
  content:'';
  position:absolute;
  left:0;
  top:11px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2cc5c5;
}

.page-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}

.metric{
  padding:20px;
  border-radius:18px;
  background:#f7fafc;
  border:1px solid #e2e8f0;
}

.metric strong{
  display:block;
  font-size:28px;
  color:#0f172a;
  margin-bottom:6px;
}

.metric span{
  color:#64748b;
  line-height:1.6;
  font-size:14px;
}

.page-cta{
  margin:24px 0 0;
  background:#0f172a;
  color:#fff;
  border-radius:24px;
  padding:32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}

.page-cta h2{
  text-align:left;
  margin-bottom:10px;
  color:#fff;
}

.page-cta p{
  color:rgba(255,255,255,0.78);
  max-width:620px;
  line-height:1.7;
}

.page-panel-wide{
  margin-bottom:20px;
}

.page-panel-split{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,0.8fr);
  gap:24px;
  align-items:start;
}

.sap-overview{
  position:relative;
  overflow:hidden;
  margin:24px 0 0;
  padding:34px;
  border-radius:30px;
  border:1px solid rgba(148,163,184,0.2);
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 55%,#f4fffd 100%);
  box-shadow:0 22px 50px rgba(15,23,42,0.08);
}

.sap-overview::before,
.sap-overview::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(31,167,167,0.08);
}

.sap-overview::before{
  width:240px;
  height:240px;
  top:-120px;
  right:-40px;
}

.sap-overview::after{
  width:180px;
  height:180px;
  bottom:-70px;
  left:-30px;
}

.sap-overview-head,
.sap-overview-grid{
  position:relative;
  z-index:1;
}

.sap-overview-head{
  max-width:660px;
  margin-bottom:24px;
}

.sap-overview-head h2{
  color:#0f172a;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-0.04em;
  margin-bottom:12px;
}

.sap-overview-head p{
  color:#64748b;
  line-height:1.78;
}

.sap-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.sap-overview-card{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:28px;
  border-radius:24px;
  text-decoration:none;
  background:#fff;
  border:1px solid #dbe5ef;
  box-shadow:0 18px 40px rgba(15,23,42,0.08);
  transition:transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.sap-overview-card:hover{
  transform:translateY(-4px);
  border-color:rgba(31,167,167,0.32);
  box-shadow:0 24px 46px rgba(15,23,42,0.11);
}

.sap-overview-icon{
  width:58px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,#0f172a 0%,#2563eb 100%);
  color:#fff;
  font-size:28px;
  box-shadow:0 14px 28px rgba(37,99,235,0.24);
}

.sap-overview-card:nth-child(even) .sap-overview-icon{
  background:linear-gradient(135deg,#0f766e 0%,#f59e0b 100%);
  box-shadow:0 14px 28px rgba(245,158,11,0.24);
}

.sap-overview-card h3{
  color:#0f172a;
  font-size:28px;
  line-height:1.14;
}

.sap-overview-card p{
  color:#64748b;
  line-height:1.72;
  flex:1;
}

.sap-overview-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#0f766e;
  font-weight:600;
}

.sap-overview-card:hover .sap-overview-link{
  color:#1fa7a7;
}

.page-list-columns{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 22px;
}

.page-note{
  display:grid;
  gap:12px;
  padding-left:10px;
}

.page-note h3{
  font-size:22px;
  color:#0f172a;
}

.page-note p{
  color:#64748b;
  line-height:1.75;
}

[data-reveal]{
  opacity:0;
  transform:translateY(34px);
  transition:opacity 0.75s ease, transform 0.75s ease;
}

[data-reveal="left"]{
  transform:translateX(-36px);
}

[data-reveal="right"]{
  transform:translateX(36px);
}

[data-reveal="zoom"]{
  transform:translateY(28px) scale(0.96);
}

[data-reveal].is-visible{
  opacity:1;
  transform:none;
}

body.service-rise .page-hero-card::before{
  animation:riseFloat 13s ease-in-out infinite;
}

body.service-rise .page-hero-card::after{
  animation:riseFloat 16s ease-in-out infinite reverse;
}

.rise-showcase{
  position:relative;
  overflow:hidden;
  margin-bottom:20px;
  padding:28px;
  border-radius:30px;
  background:linear-gradient(135deg,#49c7ac 0%,#2e6ec3 100%);
  box-shadow:0 26px 60px rgba(15,23,42,0.16);
}

.rise-showcase::before,
.rise-showcase::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
}

.rise-showcase::before{
  width:320px;
  height:320px;
  left:-120px;
  top:-110px;
  animation:riseFloat 16s ease-in-out infinite;
}

.rise-showcase::after{
  width:240px;
  height:240px;
  right:-90px;
  bottom:-80px;
  animation:riseFloat 18s ease-in-out infinite reverse;
}

.rise-showcase-head{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 auto 20px;
  text-align:center;
  color:#fff;
}

.rise-showcase-head h2{
  margin-bottom:12px;
  color:#fff;
}

.rise-showcase-head p{
  color:rgba(255,255,255,0.84);
  line-height:1.8;
}

.rise-stack{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  gap:18px;
  align-items:start;
}

.rise-service-card{
  padding:14px 14px 18px;
  border-radius:18px;
  background:rgba(11,24,43,0.82);
  border:1px solid rgba(148,163,184,0.18);
  box-shadow:0 18px 34px rgba(15,23,42,0.22);
}

.rise-service-card-feature{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(260px,0.92fr) minmax(0,1.08fr);
  gap:18px;
  align-items:center;
}

.rise-service-copy{
  display:grid;
  gap:12px;
}

.rise-media{
  position:relative;
  overflow:hidden;
  min-height:176px;
  margin-bottom:16px;
  border-radius:14px;
  background:linear-gradient(135deg,#051121 0%,#0e2e52 50%,#123e67 100%);
  border:1px solid rgba(126,214,255,0.12);
}

.rise-service-card-feature .rise-media{
  min-height:204px;
  margin-bottom:0;
}

.rise-service-card-feature .rise-service-copy{
  align-content:center;
}

.rise-media::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(113,214,255,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(113,214,255,0.08) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.88), transparent);
}

.rise-media::after{
  content:'';
  position:absolute;
  inset:auto -10% -35%;
  height:70%;
  background:radial-gradient(circle, rgba(46,206,255,0.22) 0%, rgba(46,206,255,0) 70%);
  animation:risePulse 8s ease-in-out infinite;
}

.rise-media-core .rise-node-primary,
.rise-media-migration .rise-ring,
.rise-media-fiori .rise-device{
  position:absolute;
  z-index:1;
}

.rise-node-primary{
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:148px;
  height:98px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(38,178,233,0.95),rgba(10,89,146,0.92));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#d9f4ff;
  box-shadow:0 24px 40px rgba(12,99,170,0.36);
  animation:riseFloatCentered 9s ease-in-out infinite;
}

.rise-node-primary i{
  font-size:30px;
}

.rise-node-primary span{
  font-size:28px;
  font-weight:700;
  letter-spacing:0.08em;
}

.rise-node,
.rise-app-chip{
  position:absolute;
  z-index:1;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(9,25,45,0.78);
  border:1px solid rgba(118,216,255,0.24);
  color:#d3f3ff;
  font-size:12px;
  letter-spacing:0.04em;
  box-shadow:0 10px 24px rgba(5,17,33,0.32);
}

.rise-node-a{
  top:18%;
  left:14%;
  animation:riseFloat 11s ease-in-out infinite;
}

.rise-node-b{
  top:16%;
  right:13%;
  animation:riseFloat 10s ease-in-out infinite reverse;
}

.rise-node-c{
  bottom:16%;
  left:18%;
  animation:riseFloat 12s ease-in-out infinite;
}

.rise-node-d{
  bottom:14%;
  right:16%;
  animation:riseFloat 9s ease-in-out infinite reverse;
}

.rise-ring{
  top:50%;
  left:50%;
  width:124px;
  height:124px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:2px solid rgba(116,230,255,0.78);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ebfbff;
  font-size:42px;
  box-shadow:0 0 0 14px rgba(75,189,255,0.08), 0 0 42px rgba(32,179,255,0.22);
  animation:riseSpin 18s linear infinite;
}

.rise-ring::before,
.rise-ring::after{
  content:'';
  position:absolute;
  inset:14px;
  border-radius:50%;
  border:1px dashed rgba(116,230,255,0.32);
}

.rise-ring::after{
  inset:-14px;
}

.rise-signal{
  position:absolute;
  width:170px;
  height:1px;
  background:linear-gradient(90deg, rgba(116,230,255,0), rgba(116,230,255,0.62), rgba(116,230,255,0));
}

.rise-signal-a{
  top:48%;
  left:6%;
  transform:rotate(-14deg);
}

.rise-signal-b{
  top:40%;
  right:4%;
  transform:rotate(12deg);
}

.rise-device{
  top:50%;
  left:50%;
  width:200px;
  height:110px;
  transform:translate(-50%,-50%) perspective(900px) rotateX(18deg);
  border-radius:24px;
  background:linear-gradient(180deg,#0c2038 0%,#102b4b 100%);
  border:1px solid rgba(121,216,255,0.24);
  box-shadow:0 24px 40px rgba(5,17,33,0.4);
  animation:riseDeviceFloat 12s ease-in-out infinite;
}

.rise-device::before{
  content:'';
  position:absolute;
  inset:12px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(43,198,255,0.16),rgba(43,198,255,0.03));
}

.rise-device-screen{
  position:absolute;
  inset:18px;
  z-index:1;
  display:grid;
  gap:10px;
}

.rise-device-screen span{
  display:block;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(99,218,255,0.92),rgba(52,126,255,0.25));
}

.rise-device-screen span:nth-child(2){
  width:72%;
}

.rise-device-screen span:nth-child(3){
  width:54%;
}

.rise-app-chip-a{
  top:18%;
  left:14%;
}

.rise-app-chip-b{
  top:22%;
  right:12%;
}

.rise-app-chip-c{
  bottom:16%;
  left:18%;
}

.rise-app-chip-d{
  bottom:18%;
  right:14%;
}

.rise-service-card h3{
  font-size:26px;
  color:#fff;
  margin-bottom:8px;
}

.rise-service-card p{
  color:rgba(230,244,255,0.84);
  line-height:1.72;
  font-size:14px;
}

.rise-subservice{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,0.18);
}

.rise-subservice h4{
  font-size:21px;
  color:#fff;
  margin-bottom:8px;
}

.support-showcase{
  position:relative;
  overflow:hidden;
  margin-bottom:20px;
  padding:28px;
  border-radius:30px;
  background:linear-gradient(135deg,#49c7ac 0%,#2d67ba 100%);
  box-shadow:0 26px 60px rgba(15,23,42,0.16);
}

.support-showcase::before,
.support-showcase::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
}

.support-showcase::before{
  width:320px;
  height:320px;
  left:-120px;
  top:-110px;
  animation:supportOrbit 16s ease-in-out infinite;
}

.support-showcase::after{
  width:240px;
  height:240px;
  right:-90px;
  bottom:-80px;
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

.support-showcase-head{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 auto 20px;
  text-align:center;
  color:#fff;
}

.support-showcase-head h2{
  margin-bottom:12px;
  color:#fff;
}

.support-showcase-head p{
  color:rgba(255,255,255,0.84);
  line-height:1.8;
}

.support-stack{
  position:relative;
  z-index:1;
  display:grid;
  gap:18px;
}

.support-service-card{
  display:grid;
  grid-template-columns:minmax(270px,0.95fr) minmax(0,1.05fr);
  gap:18px;
  align-items:center;
  padding:14px;
  border-radius:18px;
  background:rgba(11,24,43,0.82);
  border:1px solid rgba(148,163,184,0.18);
  box-shadow:0 18px 34px rgba(15,23,42,0.22);
}

.support-service-copy{
  display:grid;
  gap:12px;
}

.support-media{
  position:relative;
  overflow:hidden;
  min-height:188px;
  border-radius:14px;
  background:linear-gradient(135deg,#07101f 0%,#15365a 52%,#1c4b74 100%);
  border:1px solid rgba(126,214,255,0.12);
}

.support-media::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(113,214,255,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(113,214,255,0.07) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.92), transparent);
}

.support-media::after{
  content:'';
  position:absolute;
  inset:auto -8% -30%;
  height:72%;
  background:radial-gradient(circle, rgba(46,206,255,0.2) 0%, rgba(46,206,255,0) 70%);
  animation:risePulse 8s ease-in-out infinite;
}

.support-service-card h3{
  font-size:26px;
  color:#fff;
  margin-bottom:8px;
}

.support-service-card p{
  color:rgba(230,244,255,0.84);
  line-height:1.72;
  font-size:14px;
}

.support-subservice{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,0.18);
}

.support-subservice h4{
  font-size:21px;
  color:#fff;
  margin-bottom:8px;
}

.support-screen{
  position:absolute;
  z-index:1;
  border:1px solid rgba(129,223,255,0.22);
  background:rgba(9,25,45,0.64);
  box-shadow:0 14px 32px rgba(5,17,33,0.36);
}

.support-screen-main{
  top:50%;
  left:50%;
  width:190px;
  padding:20px 16px;
  transform:translate(-50%,-50%);
  border-radius:18px;
  text-align:center;
  display:grid;
  gap:4px;
  animation:supportScreenPulse 10s ease-in-out infinite;
}

.support-screen-main span{
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#8fe9ff;
}

.support-screen-main strong{
  font-size:25px;
  line-height:1.08;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#fff;
}

.support-screen-mini{
  width:58px;
  height:58px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d8f5ff;
  font-size:24px;
}

.support-screen-cloud{
  top:18%;
  left:12%;
  animation:riseFloat 11s ease-in-out infinite;
}

.support-screen-search{
  top:40%;
  right:16%;
  animation:riseFloat 10s ease-in-out infinite reverse;
}

.support-screen-lock{
  top:12%;
  right:10%;
  animation:riseFloat 12s ease-in-out infinite;
}

.support-link{
  position:absolute;
  height:1px;
  background:linear-gradient(90deg, rgba(116,230,255,0), rgba(116,230,255,0.62), rgba(116,230,255,0));
}

.support-link-a{
  width:120px;
  top:36%;
  left:20%;
  transform:rotate(-12deg);
}

.support-link-b{
  width:132px;
  top:32%;
  right:12%;
  transform:rotate(10deg);
}

.support-link-c{
  width:150px;
  bottom:22%;
  left:24%;
}

.support-touch{
  position:absolute;
  z-index:1;
  height:34px;
  border-radius:999px;
  background:linear-gradient(90deg,#bb7a57 0%,#f0be99 100%);
  box-shadow:0 12px 24px rgba(17,24,39,0.28);
}

.support-touch-top{
  top:18%;
  left:-2%;
  width:148px;
  transform:rotate(-18deg);
}

.support-phone{
  position:absolute;
  left:50%;
  bottom:14%;
  width:224px;
  height:84px;
  transform:translateX(-50%) perspective(900px) rotateX(62deg);
  border-radius:22px;
  background:linear-gradient(180deg,#10213a 0%,#0a1626 100%);
  border:1px solid rgba(132,226,255,0.22);
  box-shadow:0 22px 38px rgba(7,16,31,0.42);
}

.support-phone-screen{
  position:absolute;
  inset:10px;
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(78,209,255,0.18), rgba(78,209,255,0.04)),
    radial-gradient(circle at 50% 52%, rgba(93,217,255,0.34), rgba(93,217,255,0.03) 58%);
}

.support-halo{
  position:absolute;
  left:50%;
  top:48%;
  width:120px;
  height:120px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(96,224,255,0.32) 0%, rgba(96,224,255,0.08) 32%, rgba(96,224,255,0) 68%);
  box-shadow:0 0 0 1px rgba(116,230,255,0.22), 0 0 28px rgba(96,224,255,0.18);
  animation:supportHalo 7s ease-in-out infinite;
}

.support-halo::before,
.support-halo::after{
  content:'';
  position:absolute;
  inset:16px;
  border-radius:50%;
  border:1px solid rgba(116,230,255,0.28);
}

.support-halo::after{
  inset:-12px;
}

.support-platform{
  position:absolute;
  width:38px;
  height:20px;
  border-radius:8px;
  background:rgba(17,36,60,0.86);
  border:1px solid rgba(126,214,255,0.16);
  box-shadow:0 10px 20px rgba(7,16,31,0.22);
}

.support-platform-a{
  left:20%;
  bottom:24%;
  animation:riseFloat 10s ease-in-out infinite;
}

.support-platform-b{
  right:22%;
  bottom:22%;
  animation:riseFloat 12s ease-in-out infinite reverse;
}

.support-platform-c{
  left:46%;
  top:26%;
  animation:riseFloat 9s ease-in-out infinite;
}

.support-touch-side{
  top:24%;
  right:-1%;
  width:154px;
  transform:rotate(-16deg);
}

.support-business-bars{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:30%;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:18px 16px;
  background:linear-gradient(90deg, rgba(255,255,255,0.16), transparent);
}

.support-business-bars span{
  display:block;
  width:22px;
  border-radius:10px 10px 0 0;
  background:linear-gradient(180deg,#60d5ff 0%,#2863b5 100%);
}

.support-business-bars span:nth-child(1){
  height:72%;
}

.support-business-bars span:nth-child(2){
  height:92%;
}

.support-business-bars span:nth-child(3){
  height:56%;
}

.support-business-brand{
  position:absolute;
  top:50%;
  left:48%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:flex-end;
  gap:6px;
  padding:12px 18px;
  border-radius:16px;
  background:rgba(255,255,255,0.86);
  box-shadow:0 18px 30px rgba(7,16,31,0.22);
}

.support-business-brand strong{
  font-size:42px;
  line-height:1;
  color:#6b7280;
}

.support-business-brand span{
  font-size:22px;
  line-height:1;
  color:#4b5563;
}

.support-business-brand em{
  font-style:normal;
  font-size:28px;
  line-height:1;
  color:#f59e0b;
}

.support-business-chart{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:34%;
  display:grid;
  align-items:center;
  justify-items:center;
  gap:12px;
  padding:18px;
  background:linear-gradient(270deg, rgba(255,255,255,0.16), transparent);
}

.support-business-pie{
  width:74px;
  height:74px;
  border-radius:50%;
  background:conic-gradient(#4aa8ff 0 32%, #7dd3fc 32% 63%, #1d4ed8 63% 100%);
  box-shadow:0 12px 24px rgba(15,23,42,0.16);
}

.support-business-lines{
  width:100%;
  display:grid;
  gap:8px;
}

.support-business-lines span{
  display:block;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(96,213,255,0.95), rgba(59,130,246,0.22));
}

.support-business-lines span:nth-child(2){
  width:78%;
}

.support-business-lines span:nth-child(3){
  width:62%;
}

.architecture-showcase{
  position:relative;
  overflow:hidden;
  margin-bottom:20px;
  padding:28px;
  border-radius:30px;
  background:linear-gradient(135deg,#49c7ac 0%,#2d67ba 100%);
  box-shadow:0 26px 60px rgba(15,23,42,0.16);
}

.architecture-showcase::before,
.architecture-showcase::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
}

.architecture-showcase::before{
  width:320px;
  height:320px;
  left:-120px;
  top:-110px;
  animation:supportOrbit 16s ease-in-out infinite;
}

.architecture-showcase::after{
  width:240px;
  height:240px;
  right:-90px;
  bottom:-80px;
  animation:supportOrbit 19s ease-in-out infinite reverse;
}

.architecture-showcase-head{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 auto 20px;
  text-align:center;
  color:#fff;
}

.architecture-showcase-head h2{
  margin-bottom:12px;
  color:#fff;
}

.architecture-showcase-head p{
  color:rgba(255,255,255,0.84);
  line-height:1.8;
}

.about-showcase{
  position:relative;
  overflow:hidden;
  margin-bottom:24px;
  padding:36px;
  border-radius:32px;
  background:linear-gradient(135deg,#204a5b 0%,#1c3e59 45%,#1c3453 100%);
  box-shadow:0 28px 60px rgba(15,23,42,0.14);
}

.about-showcase::before,
.about-showcase::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
}

.about-showcase::before{
  width:220px;
  height:220px;
  top:-110px;
  right:-70px;
}

.about-showcase::after{
  width:180px;
  height:180px;
  bottom:-80px;
  left:-40px;
}

.about-showcase-head{
  position:relative;
  z-index:1;
  max-width:760px;
  margin-bottom:24px;
}

.about-showcase-head h2{
  text-align:left;
  color:#fff;
  font-size:34px;
  margin-bottom:12px;
}

.about-showcase-head p{
  color:rgba(255,255,255,0.78);
  line-height:1.8;
}

.about-story-card{
  position:relative;
  z-index:1;
  display:grid;
  gap:24px;
  padding:28px;
  border-radius:26px;
  background:rgba(15,23,42,0.24);
  border:1px solid rgba(255,255,255,0.1);
  box-shadow:0 18px 36px rgba(15,23,42,0.16);
  backdrop-filter:blur(14px);
}

.about-media{
  position:relative;
  min-height:280px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 34px rgba(8,47,73,0.2);
}

.about-media-background{
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,0.24),transparent 22%),
    linear-gradient(135deg,#17335a 0%,#3a74b0 46%,#0f1d3a 100%);
}

.about-media-background::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(112deg,transparent 24%,rgba(255,255,255,0.52) 40%,rgba(249,115,22,0.8) 46%,rgba(239,68,68,0.72) 50%,transparent 58%);
  mix-blend-mode:screen;
  animation:aboutLightTrail 8s linear infinite;
}

.about-media-background::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,23,42,0.04),rgba(15,23,42,0.34));
}

.about-cityline{
  position:absolute;
  inset:auto 5% 0 5%;
  height:82%;
  display:flex;
  align-items:flex-end;
  gap:2.2%;
}

.about-building{
  position:relative;
  flex:1;
  border-radius:18px 18px 0 0;
  background:linear-gradient(180deg,rgba(248,250,252,0.94),rgba(96,165,250,0.24));
  box-shadow:0 18px 28px rgba(15,23,42,0.2);
  overflow:hidden;
}

.about-building::before{
  content:'';
  position:absolute;
  inset:14px;
  background:
    repeating-linear-gradient(180deg,rgba(255,255,255,0.16) 0 10px,transparent 10px 18px),
    repeating-linear-gradient(90deg,rgba(255,255,255,0.16) 0 10px,transparent 10px 18px);
  opacity:0.42;
}

.about-building-1{
  height:78%;
}

.about-building-2{
  height:94%;
}

.about-building-3{
  height:100%;
}

.about-building-4{
  height:82%;
}

.about-building-5{
  height:90%;
}

.about-building-6{
  height:74%;
}

.about-light-trail{
  position:absolute;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.95),rgba(249,115,22,0.95),rgba(239,68,68,0));
  box-shadow:0 0 18px rgba(255,255,255,0.44);
}

.about-light-trail-a{
  width:54%;
  left:4%;
  top:62%;
  transform:rotate(-28deg);
  animation:aboutTrailPulse 6.5s ease-in-out infinite;
}

.about-light-trail-b{
  width:40%;
  left:16%;
  top:70%;
  transform:rotate(-26deg);
  opacity:0.7;
  animation:aboutTrailPulse 6.5s ease-in-out infinite reverse;
}

.about-media-vision{
  background:
    radial-gradient(circle at 76% 24%,rgba(255,255,255,0.3),transparent 26%),
    linear-gradient(135deg,#2b415c 0%,#d7dde7 54%,#29486a 100%);
}

.about-media-vision::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(60deg,rgba(255,255,255,0.18) 1px,transparent 1px),
    linear-gradient(-60deg,rgba(255,255,255,0.18) 1px,transparent 1px);
  background-size:92px 54px;
  opacity:0.35;
}

.about-media-vision::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(15,23,42,0.22));
}

.about-vision-word{
  position:absolute;
  top:50%;
  left:50%;
  z-index:1;
  transform:translate(-50%,-50%);
  padding:18px 34px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,0.42);
  background:rgba(255,255,255,0.18);
  color:#fff;
  font-size:30px;
  font-weight:700;
  letter-spacing:0.16em;
  box-shadow:0 18px 38px rgba(15,23,42,0.18);
  backdrop-filter:blur(10px);
  animation:aboutVisionFloat 7s ease-in-out infinite;
}

.about-vision-chip{
  position:absolute;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.26);
  background:rgba(15,23,42,0.48);
  color:#fff;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  animation:aboutVisionChip 7s ease-in-out infinite;
}

.about-vision-chip-a{
  top:18%;
  left:14%;
}

.about-vision-chip-b{
  top:26%;
  right:16%;
  animation-delay:-2s;
}

.about-vision-chip-c{
  bottom:18%;
  left:20%;
  animation-delay:-4s;
}

.about-copy{
  display:grid;
  gap:18px;
}

.about-copy p{
  color:rgba(255,255,255,0.9);
  line-height:1.92;
  font-size:15px;
}

.about-copy-tight h2{
  text-align:left;
  color:#fff;
  font-size:42px;
  margin-bottom:4px;
}

.about-focus-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.about-focus-card{
  padding:22px;
  border-radius:20px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 14px 28px rgba(15,23,42,0.12);
}

.about-focus-card .page-kicker{
  color:#93c5fd;
}

.about-focus-card p{
  color:rgba(255,255,255,0.88);
  line-height:1.84;
  font-size:14px;
}

.team-showcase{
  position:relative;
  overflow:hidden;
  margin-bottom:24px;
  padding:36px;
  border-radius:32px;
  background:linear-gradient(135deg,#1d4353 0%,#18354d 44%,#163760 100%);
  box-shadow:0 28px 60px rgba(15,23,42,0.14);
}

.team-showcase::before,
.team-showcase::after{
  content:'';
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
}

.team-showcase::before{
  width:220px;
  height:220px;
  top:-100px;
  right:-70px;
}

.team-showcase::after{
  width:180px;
  height:180px;
  left:-40px;
  bottom:-80px;
}

.team-showcase-head{
  position:relative;
  z-index:1;
  max-width:760px;
  margin-bottom:24px;
}

.team-showcase-head h2{
  text-align:left;
  color:#fff;
  font-size:34px;
  margin-bottom:12px;
}

.team-showcase-head p{
  color:rgba(255,255,255,0.78);
  line-height:1.8;
}

.team-story-card{
  position:relative;
  z-index:1;
  display:grid;
  gap:24px;
  padding:28px;
  border-radius:26px;
  background:rgba(15,23,42,0.24);
  border:1px solid rgba(255,255,255,0.1);
  box-shadow:0 18px 36px rgba(15,23,42,0.16);
  backdrop-filter:blur(14px);
}

.team-media{
  position:relative;
  min-height:300px;
  padding:34px 28px 22px;
  border-radius:22px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(250,250,210,0.2),transparent 34%),
    linear-gradient(135deg,#183d23 0%,#6b8f35 28%,#274031 100%);
  box-shadow:0 18px 34px rgba(8,47,73,0.2);
}

.team-media::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(15,23,42,0.22));
}

.team-media::after{
  content:'';
  position:absolute;
  left:8%;
  right:8%;
  bottom:16px;
  height:44px;
  border-radius:999px;
  background:radial-gradient(circle at 50% 50%,rgba(15,23,42,0.34),rgba(15,23,42,0));
}

.team-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(18px);
  opacity:0.54;
  animation:teamGlowPulse 7s ease-in-out infinite;
}

.team-glow-a{
  width:140px;
  height:140px;
  top:18%;
  left:12%;
  background:rgba(34,197,94,0.38);
}

.team-glow-b{
  width:170px;
  height:170px;
  right:10%;
  top:14%;
  background:rgba(59,130,246,0.34);
  animation-delay:-3s;
}

.team-word{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:12px;
  width:100%;
}

.team-letter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:88px;
  min-height:166px;
  padding:0 12px;
  border-radius:26px 26px 14px 14px;
  background:linear-gradient(180deg,#f6e6b8,#e5cca0);
  color:#705730;
  font-size:118px;
  font-weight:700;
  line-height:1;
  text-shadow:0 3px 0 rgba(255,255,255,0.25);
  box-shadow:0 18px 32px rgba(15,23,42,0.24);
  animation:teamLetterFloat 7s ease-in-out infinite;
}

.team-letter-e{
  animation-delay:-1.4s;
}

.team-letter-a{
  animation-delay:-2.8s;
}

.team-letter-m{
  animation-delay:-4.2s;
}

.team-figure{
  position:absolute;
  bottom:32px;
  width:30px;
  height:74px;
  border-radius:18px;
  z-index:2;
  animation:teamFigureBob 6.4s ease-in-out infinite;
}

.team-figure::before{
  content:'';
  position:absolute;
  left:50%;
  top:-18px;
  width:28px;
  height:28px;
  border-radius:50%;
  transform:translateX(-50%);
  background:inherit;
}

.team-figure::after{
  content:'';
  position:absolute;
  left:50%;
  top:18px;
  width:52px;
  height:18px;
  transform:translateX(-50%);
  border-top:6px solid currentColor;
  border-radius:999px;
}

.team-figure-blue{
  background:#3b82f6;
  color:#3b82f6;
}

.team-figure-red{
  background:#ef4444;
  color:#ef4444;
}

.team-figure-left{
  left:8%;
}

.team-figure-mid{
  left:26%;
  bottom:26px;
  animation-delay:-2s;
}

.team-figure-right{
  right:9%;
  animation-delay:-4s;
}

.team-star{
  position:absolute;
  z-index:2;
  width:24px;
  height:24px;
  background:#facc15;
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 92%,50% 70%,21% 92%,32% 57%,2% 35%,39% 35%);
  box-shadow:0 0 20px rgba(250,204,21,0.42);
  animation:teamStarSpin 8s linear infinite;
}

.team-star-a{
  left:32%;
  top:34%;
}

.team-star-b{
  right:22%;
  top:40%;
  animation-duration:10s;
}

.team-content{
  display:grid;
  gap:18px;
}

.team-panel{
  padding:24px;
  border-radius:22px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 14px 28px rgba(15,23,42,0.12);
}

.team-panel h3{
  text-align:left;
  color:#fff;
  font-size:30px;
  margin-bottom:14px;
}

.team-panel p{
  color:rgba(255,255,255,0.9);
  line-height:1.82;
}

.team-stat-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.team-stat-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(20,184,166,0.18);
  border:1px solid rgba(94,234,212,0.18);
  color:#e6fffb;
  font-size:13px;
}

.team-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:18px;
}

.team-expertise-list{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.team-expertise-list li{
  padding:11px 14px;
  border-radius:999px;
  background:rgba(20,184,166,0.14);
  border:1px solid rgba(94,234,212,0.16);
  color:#ecfeff;
  font-size:13px;
  text-align:center;
}

.team-approach-list{
  list-style:none;
  display:grid;
  gap:12px;
}

.team-approach-list li{
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.9);
  line-height:1.72;
}

.team-approach-list strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:15px;
}

.architecture-stack{
  position:relative;
  z-index:1;
  display:grid;
  gap:18px;
}

.architecture-service-card{
  display:grid;
  grid-template-columns:minmax(270px,0.95fr) minmax(0,1.05fr);
  gap:18px;
  align-items:center;
  padding:14px;
  border-radius:18px;
  background:rgba(11,24,43,0.82);
  border:1px solid rgba(148,163,184,0.18);
  box-shadow:0 18px 34px rgba(15,23,42,0.22);
}

.architecture-service-copy{
  display:grid;
  gap:12px;
}

.architecture-service-card h3{
  font-size:26px;
  color:#63e0c2;
  margin-bottom:8px;
}

.architecture-service-card p{
  color:rgba(230,244,255,0.84);
  line-height:1.72;
  font-size:14px;
}

.architecture-media{
  position:relative;
  overflow:hidden;
  min-height:188px;
  border-radius:14px;
  background:linear-gradient(135deg,#07101f 0%,#15365a 52%,#1c4b74 100%);
  border:1px solid rgba(126,214,255,0.12);
}

.architecture-media::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(113,214,255,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(113,214,255,0.07) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.92), transparent);
}

.architecture-media::after{
  content:'';
  position:absolute;
  inset:auto -8% -30%;
  height:72%;
  background:radial-gradient(circle, rgba(46,206,255,0.2) 0%, rgba(46,206,255,0) 70%);
  animation:risePulse 8s ease-in-out infinite;
}

.architecture-media-consulting{
  background:linear-gradient(135deg,#f8fbff 0%,#c9def5 100%);
}

.architecture-window{
  position:absolute;
  top:0;
  bottom:0;
  width:18%;
  background:rgba(255,255,255,0.24);
}

.architecture-window-a{
  left:16%;
}

.architecture-window-b{
  left:42%;
}

.architecture-window-c{
  left:68%;
}

.architecture-figure{
  position:absolute;
  bottom:34px;
  width:38px;
  border-radius:18px 18px 10px 10px;
  background:linear-gradient(180deg,rgba(15,23,42,0.95),rgba(31,41,55,0.82));
  box-shadow:0 8px 18px rgba(15,23,42,0.18);
}

.architecture-figure::before{
  content:'';
  position:absolute;
  top:-24px;
  left:8px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(15,23,42,0.95);
}

.architecture-figure-a{
  left:34%;
  height:82px;
}

.architecture-figure-b{
  left:48%;
  height:104px;
}

.architecture-figure-c{
  left:62%;
  height:90px;
}

.architecture-handshake{
  position:absolute;
  left:45%;
  top:53%;
  width:66px;
  height:8px;
  border-radius:999px;
  background:rgba(15,23,42,0.92);
  transform:rotate(-8deg);
}

.architecture-table{
  position:absolute;
  left:14%;
  right:14%;
  bottom:22px;
  height:12px;
  border-radius:999px;
  background:rgba(15,23,42,0.68);
}

.architecture-hand{
  position:absolute;
  left:10%;
  bottom:16%;
  width:150px;
  height:46px;
  border-radius:30px 40px 18px 30px;
  background:linear-gradient(90deg,#b97a57 0%,#efbe99 100%);
  box-shadow:0 12px 24px rgba(17,24,39,0.28);
  transform:rotate(-10deg);
}

.architecture-bars{
  position:absolute;
  left:18%;
  bottom:30%;
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.architecture-bars span{
  display:block;
  width:18px;
  border-radius:8px 8px 0 0;
  background:linear-gradient(180deg,#d7f6ff 0%,#60d5ff 100%);
  box-shadow:0 10px 18px rgba(59,130,246,0.16);
}

.architecture-bars span:nth-child(1){
  height:44px;
}

.architecture-bars span:nth-child(2){
  height:66px;
}

.architecture-bars span:nth-child(3){
  height:96px;
}

.architecture-bars span:nth-child(4){
  height:128px;
}

.architecture-pie{
  position:absolute;
  top:18%;
  left:54%;
  width:78px;
  height:78px;
  border-radius:50%;
  background:conic-gradient(#ffffff 0 24%, #8fdfff 24% 58%, #1d4ed8 58% 100%);
  box-shadow:0 14px 24px rgba(15,23,42,0.16);
  animation:riseFloat 10s ease-in-out infinite;
}

.architecture-lines{
  position:absolute;
  top:20%;
  right:10%;
  width:34%;
  display:grid;
  gap:12px;
}

.architecture-lines span{
  display:block;
  height:2px;
  background:linear-gradient(90deg, rgba(255,255,255,0.2), rgba(255,255,255,0.88));
  position:relative;
}

.architecture-lines span::after{
  content:'';
  position:absolute;
  right:0;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d8f5ff;
  transform:translateY(-50%);
}

.architecture-media-iot{
  background:linear-gradient(135deg,#07101f 0%,#11335d 50%,#2757a5 100%);
}

.architecture-device{
  position:absolute;
  left:54%;
  top:55%;
  width:210px;
  height:116px;
  transform:translate(-50%,-50%) perspective(900px) rotateY(-14deg);
  border-radius:22px;
  background:linear-gradient(180deg,#0c2038 0%,#102b4b 100%);
  border:1px solid rgba(121,216,255,0.24);
  box-shadow:0 24px 40px rgba(5,17,33,0.4);
}

.architecture-device::before{
  content:'';
  position:absolute;
  inset:12px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(43,198,255,0.16),rgba(43,198,255,0.03));
}

.architecture-device-screen{
  position:absolute;
  inset:16px;
  z-index:1;
  display:grid;
  gap:10px;
}

.architecture-device-screen span{
  display:block;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(99,218,255,0.92),rgba(52,126,255,0.25));
}

.architecture-device-screen span:nth-child(2){
  width:74%;
}

.architecture-device-screen span:nth-child(3){
  width:58%;
}

.architecture-widget{
  position:absolute;
  width:56px;
  height:40px;
  border-radius:12px;
  background:rgba(9,25,45,0.78);
  border:1px solid rgba(118,216,255,0.24);
  box-shadow:0 12px 24px rgba(5,17,33,0.3);
}

.architecture-widget-a{
  left:14%;
  top:22%;
  animation:riseFloat 10s ease-in-out infinite;
}

.architecture-widget-b{
  left:20%;
  bottom:20%;
  animation:riseFloat 12s ease-in-out infinite reverse;
}

.architecture-widget-c{
  right:12%;
  top:18%;
  animation:riseFloat 11s ease-in-out infinite;
}

.architecture-node{
  position:absolute;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#7dd3fc;
  box-shadow:0 0 0 6px rgba(125,211,252,0.14);
}

.architecture-node-a{
  left:30%;
  top:34%;
}

.architecture-node-b{
  left:40%;
  bottom:28%;
}

.architecture-node-c{
  right:26%;
  top:48%;
}

@keyframes supportOrbit{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-14px);
  }
}

@keyframes supportScreenPulse{
  0%,100%{
    box-shadow:0 14px 32px rgba(5,17,33,0.36);
  }
  50%{
    box-shadow:0 18px 38px rgba(37,99,235,0.28);
  }
}

@keyframes supportHalo{
  0%,100%{
    transform:translate(-50%,-50%) scale(1);
    opacity:0.82;
  }
  50%{
    transform:translate(-50%,-50%) scale(1.08);
    opacity:1;
  }
}

@keyframes riseFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-12px);
  }
}

@keyframes riseFloatCentered{
  0%,100%{
    transform:translate(-50%,-50%);
  }
  50%{
    transform:translate(-50%,-60%);
  }
}

@keyframes riseDeviceFloat{
  0%,100%{
    transform:translate(-50%,-50%) perspective(900px) rotateX(18deg);
  }
  50%{
    transform:translate(-50%,-58%) perspective(900px) rotateX(18deg);
  }
}

@keyframes risePulse{
  0%,100%{
    transform:translateX(-4%);
    opacity:0.45;
  }
  50%{
    transform:translateX(4%);
    opacity:0.8;
  }
}

@keyframes riseSpin{
  from{
    transform:translate(-50%,-50%) rotate(0deg);
  }
  to{
    transform:translate(-50%,-50%) rotate(360deg);
  }
}

@keyframes aboutLightTrail{
  0%{
    transform:translateX(-18%);
    opacity:0.54;
  }
  50%{
    transform:translateX(0);
    opacity:1;
  }
  100%{
    transform:translateX(18%);
    opacity:0.58;
  }
}

@keyframes aboutTrailPulse{
  0%,
  100%{
    opacity:0.58;
  }
  50%{
    opacity:0.96;
  }
}

@keyframes aboutVisionFloat{
  0%,
  100%{
    transform:translate(-50%,-50%);
  }
  50%{
    transform:translate(-50%,-56%);
  }
}

@keyframes aboutVisionChip{
  0%,
  100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-8px);
  }
}

@keyframes teamLetterFloat{
  0%,
  100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-10px);
  }
}

@keyframes teamFigureBob{
  0%,
  100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-8px);
  }
}

@keyframes teamGlowPulse{
  0%,
  100%{
    opacity:0.44;
    transform:scale(1);
  }
  50%{
    opacity:0.7;
    transform:scale(1.08);
  }
}

@keyframes teamStarSpin{
  from{
    transform:rotate(0deg);
  }
  to{
    transform:rotate(360deg);
  }
}

@media(prefers-reduced-motion:reduce){
  [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }

  body.service-rise .page-hero-card::before,
  body.service-rise .page-hero-card::after,
  body.service-support .page-hero-card::before,
  body.service-support .page-hero-card::after,
  body.service-architecture .page-hero-card::before,
  body.service-architecture .page-hero-card::after,
  body.about-company .page-hero-card::before,
  body.about-company .page-hero-card::after,
  body.about-vision .page-hero-card::before,
  body.about-vision .page-hero-card::after,
  body.team-page .page-hero-card::before,
  body.team-page .page-hero-card::after,
  .rise-showcase::before,
  .rise-showcase::after,
  .support-showcase::before,
  .support-showcase::after,
  .architecture-showcase::before,
  .architecture-showcase::after,
  .about-showcase::before,
  .about-showcase::after,
  .team-showcase::before,
  .team-showcase::after,
  .rise-node-primary,
  .rise-node-a,
  .rise-node-b,
  .rise-node-c,
  .rise-node-d,
  .rise-ring,
  .rise-media::after,
  .rise-device,
  .support-screen-main,
  .support-screen-cloud,
  .support-screen-search,
  .support-screen-lock,
  .support-media::after,
  .support-halo,
  .support-platform-a,
  .support-platform-b,
  .support-platform-c,
  .architecture-media::after,
  .architecture-pie,
  .architecture-widget-a,
  .architecture-widget-b,
  .architecture-widget-c,
  .about-media-background::before,
  .about-light-trail-a,
  .about-light-trail-b,
  .about-vision-word,
  .about-vision-chip,
  .team-glow,
  .team-letter,
  .team-figure,
  .team-star{
    animation:none;
  }

  .nav-dropdown-services.open .dropdown-menu-services,
  .nav-dropdown-services.open .services-menu-sidebar > *,
  .nav-dropdown-services.open .services-subpanel.is-active{
    animation:none;
  }

  .nav-dropdown-services .dropdown-menu-services::before,
  .services-menu-sidebar > *,
  .services-subpanel.is-active{
    opacity:1;
    transform:none;
    transition:none;
  }
}

@media(max-width:1100px){
  .nav-dropdown-sap .dropdown-menu-sap{
    width:min(560px,calc(100vw - 40px));
  }

  .rise-stack{
    grid-template-columns:1fr;
  }

  .rise-service-card-feature{
    grid-template-columns:1fr;
  }

  .page-panel-split{
    grid-template-columns:1fr;
    gap:18px;
  }

  .page-note{
    padding-left:0;
    padding-top:6px;
  }

  .support-service-card{
    grid-template-columns:1fr;
  }

  .architecture-service-card{
    grid-template-columns:1fr;
  }

  .about-focus-grid{
    grid-template-columns:1fr;
  }

  .team-detail-grid{
    grid-template-columns:1fr;
  }

  .team-expertise-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:900px){
  header{
    padding:14px 20px;
    align-items:center;
  }

  .header-brand{
    width:100%;
  }

  .menu-toggle{
    display:inline-flex;
  }

  header.nav-open{
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(14px);
    border-bottom-color:rgba(148,163,184,0.25);
    box-shadow:0 10px 30px rgba(15,23,42,0.08);
  }

  header.nav-open .logo{
    color:#0f172a;
  }

  header.nav-open .menu-toggle{
    color:#0f172a;
    border-color:rgba(148,163,184,0.35);
    background:rgba(241,245,249,0.92);
  }

  nav{
    position:absolute;
    top:calc(100% + 10px);
    left:20px;
    right:20px;
    display:grid;
    gap:6px;
    padding:14px;
    background:rgba(255,255,255,0.98);
    border:1px solid rgba(148,163,184,0.22);
    border-radius:22px;
    box-shadow:0 20px 44px rgba(15,23,42,0.18);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    max-height:calc(100vh - 96px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  header.nav-open nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  nav > a{
    width:100%;
  }

  .nav-dropdown{
    width:100%;
  }

  nav > a,
  .nav-trigger{
    display:flex;
    align-items:center;
    width:100%;
    justify-content:space-between;
    padding:12px 14px;
    border-radius:14px;
    color:#0f172a;
  }

  nav > a:hover,
  .nav-dropdown.open .nav-trigger{
    background:#ecf8f8;
    color:#1fa7a7;
  }

  .dropdown-menu{
    position:static;
    min-width:0;
    margin-top:8px;
    padding:8px;
    width:100%;
    max-width:none;
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid rgba(148,163,184,0.18);
    box-shadow:none;
  }

  .nav-dropdown.open .dropdown-menu{
    display:grid;
  }

  .nav-dropdown-sap .dropdown-menu-sap{
    left:0;
    width:100%;
    padding:18px;
    transform:none;
  }

  .nav-dropdown-sap.open .dropdown-menu-sap{
    transform:none;
  }

  .sap-menu-intro{
    padding-bottom:16px;
  }

  .sap-menu-intro h3{
    font-size:30px;
  }

  .sap-menu-links{
    grid-template-columns:1fr;
    gap:14px;
  }

  .dropdown-menu-sap .sap-menu-link{
    min-height:0;
  }

  .services,
  .features,
  .team-grid,
  .about-box,
  .contact,
  .page-grid,
  .sap-overview-grid{
    grid-template-columns:1fr;
  }

  .logo-lane-card{
    padding:24px;
  }

  .logo-lane-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .logo-lane-head h3{
    font-size:26px;
  }

  .logo-lane-head p{
    max-width:none;
  }

  .logo-pill{
    min-width:200px;
  }

  .leadership-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .leadership-photo{
    height:320px;
  }

  .contact-section{
    padding-top:0;
  }

  .contact{
    grid-template-columns:1fr;
    gap:24px;
  }

  .career-form-grid{
    grid-template-columns:1fr;
  }

  .footer-inner{
    padding:42px 24px 24px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .footer-bottom{
    flex-direction:column;
  }

  .hero h1,
  .page-hero h1{
    font-size:34px;
  }

  .card-section{
    padding:38px 24px;
  }

  .page-shell{
    padding:128px 16px 0;
  }

  .page-hero-card,
  .page-panel,
  .page-cta,
  .rise-showcase,
  .support-showcase,
  .architecture-showcase,
  .about-showcase,
  .team-showcase{
    padding:26px 20px;
  }

  .rise-service-card h3{
    font-size:22px;
  }

  .rise-subservice h4{
    font-size:19px;
  }

  .rise-media{
    min-height:184px;
  }

  .sap-overview{
    padding:26px 20px;
    border-radius:24px;
  }

  .sap-overview-head h2{
    font-size:34px;
  }

  .rise-service-card-feature .rise-media{
    min-height:184px;
  }

  .support-service-card h3{
    font-size:22px;
  }

  .support-subservice h4{
    font-size:19px;
  }

  .support-media{
    min-height:184px;
  }

  .architecture-service-card h3{
    font-size:22px; 
  }

  .architecture-media{
    min-height:184px;
  }

  .about-story-card{
    padding:22px;
  }

  .about-media{
    min-height:220px;
  }

  .team-story-card{
    padding:22px;
  }

  .team-media{
    min-height:240px;
  }

  .team-letter{
    min-width:72px;
    min-height:138px;
    font-size:92px;
  }

  .team-panel{
    padding:22px;
  }

  .rise-node-primary{
    width:118px;
    height:82px;
  }

  .rise-node-primary span{
    font-size:22px;
  }

  .rise-device{
    width:160px;
    height:94px;
  }

  .support-phone{
    width:194px;
    height:74px;
  }

  .support-business-brand strong{
    font-size:36px;
  }

  .support-business-brand span{
    font-size:19px;
  }

  .support-business-brand em{
    font-size:24px;
  }

  .page-metrics{
    grid-template-columns:1fr;
  }

  .page-cta{
    flex-direction:column;
    align-items:flex-start;
  }

  .page-list-columns{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  header{
    padding:14px 16px;
  }

  nav{
    left:16px;
    right:16px;
  }

  .logo{
    gap:9px;
    max-width:calc(100vw - 120px);
  }

  .logo-mark{
    width:52px;
    height:52px;
  }

  .logo-text{
    font-size:13px;
    letter-spacing:0.14em;
  }

  .footer-logo{
    gap:12px;
  }

  .footer-logo-mark{
    width:72px;
    height:72px;
  }

  .footer-logo-text{
    font-size:16px;
    letter-spacing:0.14em;
  }

  .leadership-photo{
    height:240px;
  }

  .leadership-grid{
    grid-template-columns:1fr;
  }

  .leader-card{
    padding:22px 18px;
  }

  .logo-lane-card{
    padding:20px;
    border-radius:24px;
  }

  .logo-lane-head h3{
    font-size:22px;
  }

  .logo-pill{
    min-width:172px;
    padding:14px 16px;
    gap:12px;
    border-radius:18px;
  }

  .logo-pill-logo{
    width:48px;
    height:48px;
    flex-basis:48px;
  }

  .logo-pill-mark{
    width:42px;
    height:42px;
    border-radius:14px;
    font-size:13px;
  }

  .logo-pill-text strong{
    font-size:14px;
  }

  .logo-pill-text small{
    font-size:11px;
  }

  .hero h1,
  .page-hero h1{
    font-size:30px;
  }

  .page-tag{
    font-size:11px;
    padding:7px 12px;
    margin-bottom:14px;
  }

  .page-copy{
    font-size:14px;
    line-height:1.68;
  }

  .page-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .page-link{
    justify-content:center;
  }

  .page-panel h2,
  .rise-showcase-head h2{
    font-size:26px;
  }

  .sap-menu-intro h3{
    font-size:26px;
  }

  .sap-menu-viewall{
    font-size:16px;
  }

  .page-note h3{
    font-size:20px;
  }

  .rise-showcase{
    padding:22px 16px;
    border-radius:24px;
  }

  .rise-service-card{
    padding:12px 12px 16px;
    border-radius:16px;
  }

  .rise-media,
  .rise-service-card-feature .rise-media{
    min-height:164px;
    border-radius:12px;
  }

  .rise-node,
  .rise-app-chip{
    font-size:10px;
    padding:6px 8px;
  }

  .page-panel,
  .page-cta{
    border-radius:20px;
  }

  .sap-overview{
    padding:22px 16px;
    border-radius:22px;
  }

  .sap-overview-head h2{
    font-size:28px;
  }

  .sap-overview-card{
    padding:22px 18px;
    border-radius:20px;
  }

  .sap-overview-card h3{
    font-size:24px;
  }

  .support-showcase{
    padding:22px 16px;
    border-radius:24px;
  }

  .support-service-card{
    padding:12px 12px 16px;
    border-radius:16px;
  }

  .support-media{
    min-height:164px;
    border-radius:12px;
  }

  .support-screen-main{
    width:164px;
    padding:18px 14px;
  }

  .support-screen-main strong{
    font-size:21px;
  }

  .support-screen-mini{
    width:48px;
    height:48px;
    font-size:20px;
  }

  .architecture-showcase{
    padding:22px 16px;
    border-radius:24px;
  }

  .about-showcase{
    padding:22px 16px;
    border-radius:24px;
  }

  .team-showcase{
    padding:22px 16px;
    border-radius:24px;
  }

  .architecture-service-card{
    padding:12px 12px 16px;
    border-radius:16px;
  }

  .about-story-card{
    padding:12px 12px 16px;
    border-radius:16px;
  }

  .team-story-card{
    padding:12px 12px 16px;
    border-radius:16px;
  }

  .architecture-media{
    min-height:164px;
    border-radius:12px;
  }

  .about-media{
    min-height:170px;
    border-radius:12px;
  }

  .team-media{
    min-height:190px;
    padding:24px 18px 16px;
    border-radius:12px;
  }

  .architecture-showcase-head h2{
    font-size:26px;
  }

  .about-showcase-head h2,
  .about-copy-tight h2{
    font-size:26px;
  }

  .team-showcase-head h2,
  .team-panel h3{
    font-size:26px;
  }

  .about-vision-word{
    padding:14px 22px;
    font-size:22px;
    letter-spacing:0.12em;
  }

  .about-vision-chip{
    padding:8px 12px;
    font-size:10px;
  }

  .about-building::before{
    inset:10px;
  }

  .team-letter{
    min-width:52px;
    min-height:112px;
    font-size:70px;
    border-radius:18px 18px 10px 10px;
  }

  .team-expertise-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .team-figure{
    width:24px;
    height:58px;
  }

  .team-figure::before{
    width:22px;
    height:22px;
    top:-14px;
  }

  .team-figure::after{
    width:40px;
    top:14px;
    border-top-width:5px;
  }

  .architecture-device{
    width:170px;
    height:98px;
  }
}

@media(max-width:520px){
  .page-shell{
    padding:122px 12px 0;
  }

  .page-hero-card,
  .page-panel,
  .page-cta{
    padding:22px 16px;
  }

  .sap-overview{
    padding:22px 16px;
  }

  .rise-showcase-head{
    margin-bottom:16px;
  }

  .support-showcase-head{
    margin-bottom:16px;
  }

  .architecture-showcase-head{
    margin-bottom:16px;
  }

  .about-showcase-head{
    margin-bottom:16px;
  }

  .team-showcase-head{
    margin-bottom:16px;
  }

  .rise-node-b,
  .rise-node-d,
  .rise-app-chip-b,
  .rise-app-chip-d,
  .about-building-5,
  .about-building-6,
  .about-vision-chip-c,
  .team-star-b,
  .team-figure-mid{
    display:none;
  }

  .rise-signal{
    width:126px;
  }

  .rise-ring{
    width:106px;
    height:106px;
    font-size:34px;
  }

  .rise-device{
    width:138px;
    height:86px;
  }

  .rise-device-screen{
    inset:14px;
    gap:8px;
  }

  .support-screen-search,
  .support-platform-c{
    display:none;
  }

  .support-screen-main{
    width:148px;
    padding:16px 12px;
  }

  .support-screen-main span{
    font-size:10px;
  }

  .support-screen-main strong{
    font-size:18px;
  }

  .support-screen-cloud,
  .support-screen-lock{
    width:42px;
    height:42px;
    font-size:18px;
  }

  .support-touch{
    height:28px;
  }

  .support-touch-top{
    width:116px;
    left:-5%;
  }

  .support-touch-side{
    width:122px;
    right:-5%;
  }

  .support-halo{
    width:96px;
    height:96px;
  }

  .support-phone{
    width:162px;
    height:64px;
  }

  .support-business-brand{
    padding:10px 14px;
  }

  .support-business-brand strong{
    font-size:28px;
  }

  .support-business-brand span{
    font-size:16px;
  }

  .support-business-brand em{
    font-size:20px;
  }

  .support-business-bars{
    width:24%;
    gap:5px;
    padding:14px 10px;
  }

  .support-business-bars span{
    width:14px;
  }

  .support-business-chart{
    width:30%;
    padding:14px 10px;
  }

  .support-business-pie{
    width:58px;
    height:58px;
  }

  .architecture-window-c,
  .architecture-widget-c{
    display:none;
  }

  .architecture-hand{
    width:118px;
    height:38px;
  }

  .architecture-bars{
    gap:6px;
  }

  .architecture-bars span{
    width:14px;
  }

  .architecture-pie{
    width:62px;
    height:62px;
  }

  .architecture-lines{
    width:28%;
  }

  .architecture-device{
    width:148px;
    height:86px;
  }

  .architecture-widget{
    width:44px;
    height:32px;
  }

  .team-expertise-list{
    grid-template-columns:1fr;
  }

  .team-stat-pill{
    width:100%;
    justify-content:flex-start;
  }
}

@media(max-width:1100px){
  .nav-dropdown-services.services-inline .dropdown-menu-services{
    width:min(330px,calc(100vw - 24px));
    max-width:calc(100vw - 24px);
  }
}

@media(max-width:900px){
  .nav-dropdown-services .dropdown-menu-services{
    left:0;
    width:100%;
    min-width:0;
    max-width:none;
    max-height:none;
    padding:12px;
    transform:none;
  }

  .nav-dropdown-services.open .dropdown-menu-services{
    transform:none;
  }

  .services-menu-layout{
    grid-template-columns:1fr;
    gap:10px;
  }

  .services-menu-sidebar{
    padding-right:0;
    border-right:none;
  }

  .services-subpanel{
    grid-column:auto;
  }

  .services-subpanel.is-active{
    min-height:0;
    max-height:none;
  }

  .services-quick-links{
    grid-template-columns:1fr;
    gap:8px;
  }
}

@media(max-width:640px){
  .sap-menu-intro h3{
    font-size:17px;
  }

  .sap-menu-viewall{
    font-size:13px;
  }

  .services-subtrigger,
  .dropdown-menu-services .services-subitem,
  .dropdown-menu-services .services-quick-link{
    padding:9px 10px;
    border-radius:11px;
  }

  .services-subpanel.is-active{
    padding:10px;
    border-radius:12px;
  }
}
/* CHATBOT */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.chatbot-shell{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1200;
  width:max-content;
  max-width:calc(100vw - 24px);
  pointer-events:none;
}

.chatbot-shell > *{
  pointer-events:auto;
}

.chatbot-toggle{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:62px;
  max-width:210px;
  padding:10px 16px 10px 10px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg,#0f172a 0%,#1447a6 48%,#22c5c3 100%);
  color:#fff;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 20px 44px rgba(15,23,42,0.26);
  transition:transform 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease;
  animation:chatbotToggleFloat 3.8s ease-in-out infinite;
}

.chatbot-toggle:hover{
  animation:none;
  transform:translateY(-4px) scale(1.01);
  box-shadow:0 24px 52px rgba(15,23,42,0.32);
  filter:saturate(1.08);
}

.chatbot-toggle.is-open{
  transform:translateY(0) scale(0.98);
  animation:none;
}

.chatbot-toggle-ring{
  position:absolute;
  inset:-35%;
  background:
    radial-gradient(circle at 25% 25%, rgba(255,255,255,0.24), transparent 26%),
    radial-gradient(circle at 75% 78%, rgba(125,211,252,0.2), transparent 32%);
  opacity:0.9;
  animation:chatbotRingPulse 4.2s ease-in-out infinite;
}

.chatbot-toggle-bot{
  position:relative;
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
}

.chatbot-bot-antenna{
  position:absolute;
  top:1px;
  left:50%;
  width:2px;
  height:11px;
  background:rgba(255,255,255,0.95);
  transform:translateX(-50%);
}

.chatbot-bot-antenna::after{
  content:'';
  position:absolute;
  top:-5px;
  left:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f8fafc;
  box-shadow:0 0 0 4px rgba(255,255,255,0.16);
  transform:translateX(-50%);
}

.chatbot-bot-face{
  position:relative;
  width:40px;
  height:32px;
  padding:8px 8px 7px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  align-items:center;
  justify-items:center;
  border-radius:13px 13px 15px 15px;
  background:linear-gradient(180deg,#ffffff 0%,#dbeafe 100%);
  box-shadow:0 14px 26px rgba(12,25,49,0.24);
}

.chatbot-bot-face::before,
.chatbot-bot-face::after{
  content:'';
  position:absolute;
  bottom:9px;
  width:7px;
  height:4px;
  border-radius:999px;
  background:rgba(248,113,113,0.42);
}

.chatbot-bot-face::before{
  left:6px;
}

.chatbot-bot-face::after{
  right:6px;
}

.chatbot-bot-eye{
  width:7px;
  height:8px;
  border-radius:999px;
  background:#1d4ed8;
  box-shadow:0 0 0 3px rgba(29,78,216,0.08);
  animation:chatbotBlink 5.8s infinite;
}

.chatbot-bot-mouth{
  position:absolute;
  left:50%;
  bottom:6px;
  width:12px;
  height:6px;
  border-bottom:2px solid #1d4ed8;
  border-radius:0 0 12px 12px;
  transform:translateX(-50%);
}

.chatbot-toggle-copy{
  position:relative;
  z-index:1;
  display:grid;
  gap:4px;
  text-align:left;
}

.chatbot-toggle-copy strong{
  font-size:14px;
  letter-spacing:0.01em;
}

.chatbot-toggle-copy small{
  font-size:11px;
  color:rgba(226,232,240,0.86);
}

.chatbot-box{
  position:absolute;
  right:0;
  bottom:calc(100% + 12px);
  width:min(340px,calc(100vw - 28px));
  height:min(540px,calc(100vh - 120px));
  min-height:440px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(191,219,254,0.8);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(248,251,255,0.98) 0%,rgba(255,255,255,0.99) 100%);
  box-shadow:0 32px 80px rgba(15,23,42,0.25);
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(0.92);
  transform-origin:bottom right;
  transition:opacity 0.28s ease, transform 0.32s cubic-bezier(0.22,1,0.36,1), visibility 0.28s ease;
}

.chatbot-box.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.chatbot-panel-glow{
  position:absolute;
  top:-18px;
  right:-28px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(34,197,195,0.24) 0%, rgba(96,165,250,0.16) 35%, rgba(96,165,250,0) 72%);
  filter:blur(8px);
  pointer-events:none;
}

.chat-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:20px 20px 14px;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 55%,#22c5c3 100%);
  color:#fff;
}

.chatbot-identity{
  display:flex;
  align-items:center;
  gap:14px;
}

.chatbot-avatar{
  position:relative;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,rgba(255,255,255,0.24) 0%,rgba(255,255,255,0.08) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.28), 0 12px 24px rgba(2,6,23,0.22);
}

.chatbot-avatar::after{
  content:'';
  position:absolute;
  right:6px;
  bottom:6px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#34d399;
  box-shadow:0 0 0 3px rgba(15,23,42,0.28);
}

.chatbot-avatar i{
  font-size:24px;
}

.chatbot-identity-copy{
  display:grid;
  gap:4px;
}

.chatbot-identity-copy strong{
  font-size:16px;
  letter-spacing:0.01em;
}

.chatbot-identity-copy span{
  font-size:12px;
  color:rgba(226,232,240,0.86);
}

.chatbot-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:none;
  border-radius:14px;
  background:rgba(255,255,255,0.14);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform 0.2s ease, background 0.2s ease;
}

.chatbot-close:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,0.2);
}

.chatbot-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:16px 18px 14px;
  border-bottom:1px solid rgba(148,163,184,0.16);
  background:linear-gradient(180deg,rgba(245,249,255,0.98) 0%,rgba(255,255,255,1) 100%);
}

.chat-chip{
  padding:10px 14px;
  border:1px solid rgba(191,219,254,0.9);
  border-radius:999px;
  background:#fff;
  color:#17314d;
  font:inherit;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(15,23,42,0.05);
  transition:transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.chat-chip:hover{
  transform:translateY(-2px);
  border-color:rgba(29,78,216,0.34);
  box-shadow:0 16px 28px rgba(15,23,42,0.09);
  color:#1d4ed8;
}

.chat-messages{
  flex:1;
  min-height:0;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow-y:auto;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  scrollbar-width:thin;
  scrollbar-color:rgba(96,165,250,0.5) transparent;
}

.chat-messages::-webkit-scrollbar{
  width:8px;
}

.chat-messages::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(96,165,250,0.38);
}

.chat-message{
  display:flex;
  align-items:flex-end;
  gap:10px;
  max-width:100%;
}

.chat-message-bot{
  justify-content:flex-start;
}

.chat-message-user{
  justify-content:flex-end;
}

.chat-message-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  margin-bottom:2px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#1d4ed8 0%,#22c5c3 100%);
  box-shadow:0 10px 18px rgba(29,78,216,0.18);
}

.chat-message-avatar i{
  font-size:18px;
}

.chat-message-bubble{
  max-width:min(84%,290px);
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  border-radius:20px 20px 20px 8px;
  border:1px solid rgba(191,219,254,0.8);
  background:linear-gradient(180deg,#ffffff 0%,#edf5ff 100%);
  color:#14314c;
  box-shadow:0 14px 28px rgba(15,23,42,0.08);
}

.chat-message-user .chat-message-bubble{
  border:none;
  border-radius:20px 20px 8px 20px;
  background:linear-gradient(135deg,#1d4ed8 0%,#22c5c3 100%);
  color:#fff;
  box-shadow:0 16px 28px rgba(29,78,216,0.22);
}

.chat-message-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#64748b;
}

.chat-message-user .chat-message-label{
  color:rgba(255,255,255,0.8);
}

.chat-message-text{
  margin:0;
  font-size:14px;
  line-height:1.6;
  white-space:pre-wrap;
  word-break:break-word;
}

.chat-typing-bubble{
  min-width:116px;
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
}

.chat-typing-dots{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:18px;
}

.chat-typing-dots span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#60a5fa;
  animation:chatTypingDots 1.2s infinite ease-in-out;
}

.chat-typing-dots span:nth-child(2){
  animation-delay:0.18s;
}

.chat-typing-dots span:nth-child(3){
  animation-delay:0.36s;
}

.chat-input{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px 14px;
  border-top:1px solid rgba(148,163,184,0.16);
  background:#ffffff;
}

.chat-input-field{
  flex:1;
  min-width:0;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border:1px solid rgba(191,219,254,0.9);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,0.05);
  transition:border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.chat-input:focus-within .chat-input-field{
  border-color:rgba(29,78,216,0.36);
  box-shadow:0 16px 28px rgba(29,78,216,0.12);
  transform:translateY(-1px);
}

.chat-input-field i{
  color:#60a5fa;
  font-size:17px;
}

.chat-input input{
  flex:1;
  min-width:0;
  padding:0;
  border:none;
  outline:none;
  background:transparent;
  color:#10233d;
  font:inherit;
  font-size:13px;
}

.chat-input input::placeholder{
  color:#8da2b7;
}

.chat-input input:disabled{
  color:#94a3b8;
  cursor:wait;
}

.chat-input button{
  flex:0 0 auto;
  min-width:88px;
  min-height:46px;
  padding:0 14px;
  border:none;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 50%,#22c5c3 100%);
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 18px 30px rgba(15,23,42,0.2);
  transition:transform 0.22s ease, box-shadow 0.22s ease, opacity 0.22s ease;
}

.chat-input button i{
  font-size:15px;
}

.chat-input button:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 22px 36px rgba(15,23,42,0.24);
}

.chat-input button:disabled{
  opacity:0.9;
  cursor:wait;
}

.chatbot-box.is-thinking .chat-input button i{
  animation:chatbotSendSpin 0.9s linear infinite;
}

@keyframes chatbotToggleFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-8px);
  }
}

@keyframes chatbotRingPulse{
  0%,100%{
    transform:scale(0.95);
    opacity:0.72;
  }
  50%{
    transform:scale(1.08);
    opacity:1;
  }
}

@keyframes chatbotBlink{
  0%,45%,100%{
    transform:scaleY(1);
  }
  48%,52%{
    transform:scaleY(0.2);
  }
}

@keyframes chatTypingDots{
  0%,80%,100%{
    transform:translateY(0);
    opacity:0.4;
  }
  40%{
    transform:translateY(-4px);
    opacity:1;
  }
}

@keyframes chatbotSendSpin{
  from{
    transform:rotate(0deg);
  }
  to{
    transform:rotate(360deg);
  }
}

@media(max-width:640px){
  .chatbot-shell{
    right:14px;
    bottom:14px;
    left:14px;
    width:auto;
    max-width:none;
  }

  .chatbot-toggle{
    margin-left:auto;
    min-height:58px;
    max-width:190px;
    padding:9px 14px 9px 9px;
    gap:9px;
  }

  .chatbot-toggle-copy strong{
    font-size:13px;
  }

  .chatbot-toggle-copy small{
    font-size:10px;
  }

  .chatbot-box{
    width:min(100%,340px);
    height:min(72vh,500px);
    min-height:400px;
  }

  .chatbot-suggestions,
  .chat-messages{
    padding-left:16px;
    padding-right:16px;
  }

  .chat-input{
    padding:12px 14px 14px;
    flex-direction:column;
    align-items:stretch;
  }

  .chat-input button{
    width:100%;
    min-height:44px;
  }

  .chat-message-bubble{
    max-width:100%;
  }
}

@media(max-width:520px){
  .chatbot-toggle-copy{
    display:none;
  }

  .chatbot-toggle{
    max-width:none;
    min-height:56px;
    padding-right:10px;
  }

  .chatbot-box{
    border-radius:24px;
    width:min(100%,320px);
    height:min(70vh,480px);
    min-height:380px;
  }

  .chat-header{
    padding:18px 16px 14px;
  }

  .chatbot-suggestions{
    gap:8px;
  }

  .chat-chip{
    width:100%;
    text-align:center;
  }

  .chat-message-avatar{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}

@media(prefers-reduced-motion:reduce){
  .chatbot-toggle,
  .chatbot-toggle-ring,
  .chatbot-bot-eye,
  .chat-typing-dots span,
  .chatbot-box.is-thinking .chat-input button i{
    animation:none;
  }

  .chatbot-toggle,
  .chatbot-box,
  .chat-chip,
  .chat-input button,
  .chat-input-field{
    transition:none;
  }
}
