:root{
  --bg:#f4f7ff;
  --panel:#0f1b33;
  --panel2:#0b1730;
  --text:#e7eefc;
  --muted:#a9b7d1;
  --brand:#6ee7ff;
  --brand2:#7c3aed;
  --border:rgba(231,238,252,.12);
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --ink:#0a1b3a;
  --inkMuted:#53698f;
  --surface: rgba(255,255,255,.80);
  --surfaceBorder: rgba(10,27,58,.10);
  --primary:#284f9a;
}
*{box-sizing:border-box}
html,body{height:100%; background-color: var(--bg)}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--ink);
  position: relative;
  isolation: isolate;
  min-height: 100%;
  display:flex;
  flex-direction:column;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' viewBox='0 0 1600 900'%3E%3Cg fill='none' stroke='%231f3f7a' stroke-opacity='.12' stroke-width='2'%3E%3Cpath d='M-40 560 C 200 430, 520 720, 820 560 C 1120 400, 1280 540, 1660 410'/%3E%3Cpath d='M-60 640 C 220 520, 520 760, 860 620 C 1200 480, 1320 640, 1660 520'/%3E%3Cpath d='M-40 720 C 260 620, 520 800, 900 700 C 1280 600, 1380 760, 1660 650'/%3E%3C/g%3E%3C/svg%3E") center 62% / 120% no-repeat,
    radial-gradient(900px 520px at 20% 10%, rgba(40,79,154,.10), transparent 55%),
    radial-gradient(900px 520px at 85% 10%, rgba(90,138,255,.10), transparent 55%),
    radial-gradient(1200px 700px at 50% 120%, rgba(40,79,154,.10), transparent 60%),
    repeating-linear-gradient(0deg, rgba(10,27,58,.012) 0px, rgba(10,27,58,.012) 1px, transparent 1px, transparent 7px),
    linear-gradient(180deg, #f7f9ff, var(--bg));
}
body > main,
body > footer{position: relative; z-index: 1}
body > main{flex: 1 0 auto}

body:before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 1;
  mix-blend-mode: screen;
  filter: saturate(1.6) brightness(1.25) blur(.2px);
  background:
    radial-gradient(180px 120px at 10% 55%, rgba(0,0,0,0), rgba(0,0,0,0)),
    linear-gradient(90deg,
      rgba(0,0,0,0) 0%,
      rgba(65,197,255,0) 32%,
      rgba(65,197,255,.85) 50%,
      rgba(90,138,255,.80) 58%,
      rgba(0,0,0,0) 72%
    );
  background-size: 200% 100%;
  background-position: 0% 0%;
  animation: energy-sweep 3.2s linear infinite;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' viewBox='0 0 1600 900'%3E%3Cg fill='none' stroke='white' stroke-opacity='1' stroke-width='8'%3E%3Cpath d='M-40 560 C 200 430, 520 720, 820 560 C 1120 400, 1280 540, 1660 410'/%3E%3Cpath d='M-60 640 C 220 520, 520 760, 860 620 C 1200 480, 1320 640, 1660 520'/%3E%3Cpath d='M-40 720 C 260 620, 520 800, 900 700 C 1280 600, 1380 760, 1660 650'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center 62%;
  -webkit-mask-size: 120% 100%;

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' viewBox='0 0 1600 900'%3E%3Cg fill='none' stroke='white' stroke-opacity='1' stroke-width='8'%3E%3Cpath d='M-40 560 C 200 430, 520 720, 820 560 C 1120 400, 1280 540, 1660 410'/%3E%3Cpath d='M-60 640 C 220 520, 520 760, 860 620 C 1200 480, 1320 640, 1660 520'/%3E%3Cpath d='M-40 720 C 260 620, 520 800, 900 700 C 1280 600, 1380 760, 1660 650'/%3E%3C/g%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center 62%;
  mask-size: 120% 100%;
}

body.no-sweep:before{display:none}
body.no-sweep .bg-coins{display:none}

.bg-coins{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .40;
  mix-blend-mode: multiply;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' viewBox='0 0 1600 900'%3E%3Cg fill='none' stroke='white' stroke-opacity='1' stroke-width='10'%3E%3Cpath d='M-40 560 C 200 430, 520 720, 820 560 C 1120 400, 1280 540, 1660 410'/%3E%3Cpath d='M-60 640 C 220 520, 520 760, 860 620 C 1200 480, 1320 640, 1660 520'/%3E%3Cpath d='M-40 720 C 260 620, 520 800, 900 700 C 1280 600, 1380 760, 1660 650'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center 62%;
  -webkit-mask-size: 120% 100%;

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' viewBox='0 0 1600 900'%3E%3Cg fill='none' stroke='white' stroke-opacity='1' stroke-width='10'%3E%3Cpath d='M-40 560 C 200 430, 520 720, 820 560 C 1120 400, 1280 540, 1660 410'/%3E%3Cpath d='M-60 640 C 220 520, 520 760, 860 620 C 1200 480, 1320 640, 1660 520'/%3E%3Cpath d='M-40 720 C 260 620, 520 800, 900 700 C 1280 600, 1380 760, 1660 650'/%3E%3C/g%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center 62%;
  mask-size: 120% 100%;
}

.bg-coins .coin{
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  transform: translate3d(-20vw, 0, 0);
  animation: coin-travel 7.5s linear infinite;
  will-change: transform;
}
.bg-coins .coin:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.85), rgba(255,255,255,0) 45%),
    radial-gradient(circle at 70% 75%, rgba(255,255,255,.25), rgba(255,255,255,0) 55%),
    linear-gradient(135deg, rgba(255,210,92,.95), rgba(231,154,45,.95));
  border: 1px solid rgba(160,100,20,.35);
  box-shadow: 0 10px 24px rgba(10,27,58,.14);
  animation: coin-spin 1.2s linear infinite;
}
.bg-coins .coin:after{
  content:"£";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-weight: 1000;
  font-size: 15px;
  color: rgba(40,79,154,.85);
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
  animation: coin-spin 1.2s linear infinite;
}

.bg-coins .coin--1{top: 56%; left: -10%; animation-duration: 8.5s; animation-delay: 0s}
.bg-coins .coin--2{top: 62%; left: -18%; animation-duration: 9.8s; animation-delay: -2.2s; opacity:.85}
.bg-coins .coin--3{top: 68%; left: -22%; animation-duration: 10.6s; animation-delay: -5.4s; opacity:.75}
.bg-coins .coin--4{top: 72%; left: -14%; animation-duration: 11.6s; animation-delay: -7.8s; opacity:.70}
.bg-coins .coin--5{top: 58%; left: -26%; animation-duration: 12.4s; animation-delay: -9.6s; opacity:.65}
.bg-coins .coin--6{top: 64%; left: -30%; animation-duration: 13.2s; animation-delay: -11.2s; opacity:.60}

@keyframes coin-travel{
  0%{transform: translate3d(-20vw, 0, 0)}
  20%{transform: translate3d(10vw, -10px, 0)}
  40%{transform: translate3d(40vw, 6px, 0)}
  60%{transform: translate3d(70vw, -8px, 0)}
  80%{transform: translate3d(95vw, 10px, 0)}
  100%{transform: translate3d(120vw, 0, 0)}
}

@keyframes coin-spin{
  from{transform: rotate(0deg)}
  to{transform: rotate(360deg)}
}

@media (prefers-reduced-motion: reduce){
  .bg-coins{display:none}
}

@keyframes energy-sweep{
  0%{background-position: 0% 0%}
  100%{background-position: 200% 0%}
}

@media (prefers-reduced-motion: reduce){
  body:before{animation: none; opacity: .35}
}
a{color:inherit; text-decoration:none}
a:hover{opacity:.9}
.container{width:min(1240px, 94vw); margin:0 auto}

.header{
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(12px);
  background: rgba(244,247,255,.70);
  border-bottom:1px solid rgba(10,27,58,.10);
}
.header__inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0; gap:16px}
.header__actions{display:flex; align-items:center; gap:10px}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.2px; position:relative}
.brand:before{display:none}
.brand__logo{width:auto; height:110px; display:block; object-fit:contain; position:relative; z-index:1; filter: none}
.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  padding:16px 44px;
  min-width: 560px;
  border-radius:999px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(10,27,58,.10);
  backdrop-filter: blur(10px);
}
.nav a{font-size:16px; color: var(--inkMuted)}
.nav a:hover{color: var(--ink)}
.nav a.btn{color:#07101f}

.nav__item{position:relative; display:flex; align-items:center}
.nav__trigger{display:inline-flex; align-items:center; gap:8px}
.nav__trigger:after{content:""; width: 8px; height: 8px; border-right:2px solid rgba(83,105,143,.7); border-bottom:2px solid rgba(83,105,143,.7); transform: rotate(45deg); margin-top:-2px}

.nav__dropdown{
  position:absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 240px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(10,27,58,.12);
  box-shadow: 0 28px 80px rgba(10,27,58,.16);
  backdrop-filter: blur(10px);
  display:none;
  z-index: 20;
}
.nav__dropdown:before{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  top: -10px;
  height: 10px;
}
.nav__dropdown a{
  display:block;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  color: rgba(10,27,58,.78);
}
.nav__dropdown a:hover{background: rgba(40,79,154,.08); color: rgba(10,27,58,1)}

.nav__item:hover .nav__dropdown,
.nav__item:focus-within .nav__dropdown{display:block}

.nav__trigger:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(90,138,255,.22);
  border-radius: 999px;
}

.hero{padding:64px 0 44px}
.surface{
  border:none;
  background: transparent;
  border-radius:0;
  padding:0;
  box-shadow: none;
  color: var(--ink);
}
.hero__surface{position:relative; overflow:visible}
.hero__surface:before{
  content:"";
  position:absolute;
  inset:-1px;
  background: none;
  pointer-events:none;
}
.hero__surface > *{position:relative}
.hero__grid{display:grid; grid-template-columns: 1.05fr .95fr; gap:44px; align-items:center; padding: 22px 0}
.hero__copy{max-width: 560px}
@media (max-width: 920px){
  .hero__grid{grid-template-columns:1fr}
  .nav{display:none}
  .header__actions{margin-left:auto}
}
.pill{display:inline-block; padding:6px 10px; border:1px solid var(--border); border-radius:999px; color:var(--muted); font-size:13px}
h1{font-size:64px; line-height:1.02; margin:0 0 14px; letter-spacing:-.02em}
@media (max-width: 520px){h1{font-size:38px}}
.lead{color:var(--inkMuted); font-size:18px; line-height:1.65; margin:0 0 20px}

.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 16px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 18px; border-radius:12px;
  background: var(--primary);
  color: #fff;
  font-weight:700;
  border:1px solid rgba(10,27,58,.08);
  box-shadow: 0 16px 34px rgba(40,79,154,.25);
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:before{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(110deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 38%,
    rgba(110,231,255,.45) 50%,
    rgba(255,255,255,.28) 62%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-120%) skewX(-18deg);
  opacity: 0;
  pointer-events:none;
}
.btn:hover{
  transform: translateY(-2px);
  box-shadow:
    0 18px 44px rgba(40,79,154,.30),
    0 0 0 6px rgba(110,231,255,.12);
  filter: saturate(1.05) brightness(1.03);
}
.btn:hover:before{
  opacity: 1;
  animation: btn-shine .85s ease forwards;
}
.btn:focus-visible{
  outline: none;
  box-shadow:
    0 18px 44px rgba(40,79,154,.30),
    0 0 0 6px rgba(90,138,255,.22);
}
.btn--ghost{
  background: rgba(234,240,255,.9);
  color: var(--primary);
  border:1px solid rgba(40,79,154,.22);
  box-shadow: none;
}
.btn--ghost:hover{box-shadow: 0 18px 44px rgba(10,27,58,.10), 0 0 0 6px rgba(90,138,255,.14)}
.btn--small{padding:11px 14px; border-radius:10px}
.btn--full{width:100%}

@keyframes btn-shine{
  0%{transform: translateX(-120%) skewX(-18deg)}
  100%{transform: translateX(120%) skewX(-18deg)}
}

@keyframes logo-pulse{
  0%, 100%{transform: translateY(-50%) scale(1); opacity: .95}
  50%{transform: translateY(-50%) scale(1.08); opacity: 1}
}

.suppliers{padding: 34px 0 56px}
.suppliers__title{
  margin: 0 0 14px;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(10,27,58,.55);
  text-align: center;
}

.marquee{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 10px 0;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(10,27,58,.10);
}

.section--process .steps.steps--timeline .step__illus{
  height: 56px;
  margin: 6px 0 10px;
  border-radius: 14px;
  background: radial-gradient(260px 120px at 30% 20%, rgba(90,138,255,.16), transparent 60%);
}
.section--process .steps.steps--timeline .step__illus svg{width:100%; height:100%; display:block}

@media (min-width: 1080px){
  .section--process .steps.steps--timeline{
    display:grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    overflow: visible;
    padding: 18px 0 42px;
    scroll-snap-type: none;
  }
  .section--process .steps.steps--timeline:before{left: 0; right: 0}
  .section--process .steps.steps--timeline .step{width: auto}
}
.marquee__fade{
  position:absolute;
  top:0;
  width: 120px;
  height: 100%;
  pointer-events:none;
  z-index:2;
}
.marquee__fade--left{left:0; background: linear-gradient(90deg, rgba(244,247,255,1), rgba(244,247,255,0))}
.marquee__fade--right{right:0; background: linear-gradient(270deg, rgba(244,247,255,1), rgba(244,247,255,0))}

.marquee__track{
  display:flex;
  width: max-content;
  gap: 28px;
  --marqueeDur: 24s;
  animation: marquee-scroll var(--marqueeDur) linear infinite;
  will-change: transform;
}
.marquee:hover .marquee__track,
.marquee:focus-within .marquee__track{
  --marqueeDur: 70s;
}
.marquee__group{
  display:flex;
  align-items:center;
  gap: 28px;
  padding-left: 18px;
}
.marquee__logo{
  height: 44px;
  width: auto;
  display:block;
  opacity: .98;
  filter: none;
  cursor: pointer;
  transform: translateZ(0);
  will-change: transform;
  transition: opacity .2s ease, transform .18s ease;
}
.marquee__logo:hover{
  opacity: 1;
  transform: translateY(-4px) scale(1.03);
}

.marquee__logo:focus-visible{
  outline: none;
  transform: translateY(-4px) scale(1.03);
}

@keyframes marquee-scroll{
  from{transform: translateX(0)}
  to{transform: translateX(-50%)}
}

@media (prefers-reduced-motion: reduce){
  .marquee__track{animation: none}
  .marquee__logo{transition: none}
  .marquee__logo:hover{transform:none; filter:none}
}

.trust{display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; margin-top:14px}
@media (max-width: 520px){.trust{grid-template-columns:1fr;}}
.trust__item{border:1px solid var(--surfaceBorder); border-radius:14px; padding:12px; background: rgba(255,255,255,.65)}
.trust__metric{font-weight:800; font-size:18px}
.trust__label{color:var(--inkMuted); font-size:13px; margin-top:2px}

section[id]{scroll-margin-top: 130px}

.section{padding: 74px 0}
.section__head{max-width: 760px; margin: 0 auto 28px; text-align:center}
.section__title{margin:0; font-size:44px; line-height:1.1; letter-spacing:-.02em}
.section__subtitle{margin:12px auto 0; color: var(--inkMuted); font-size:16px; line-height:1.6; max-width: 680px}
.section__head--services .section__subtitle{opacity: .7}
.section__divider{height: 1px; width: min(520px, 86%); margin: 18px auto 0; background: linear-gradient(90deg, transparent, rgba(90,138,255,.55), transparent); opacity: .55}
.section__cta{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top: 22px}

.title-bubble{
  display:inline-block;
  position: relative;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 70px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
  overflow: hidden;
}
.title-bubble:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(520px 220px at 20% 0%, rgba(90,138,255,.20), transparent 62%),
    radial-gradient(520px 220px at 92% 0%, rgba(110,231,255,.14), transparent 64%);
  pointer-events:none;
}
.title-bubble > span{position: relative; z-index: 1; display:inline-block}

.title-bubble--xl{padding: 14px 22px}
.title-bubble--xl > span{font-size: 56px; letter-spacing:-.03em; line-height:1.05}

@media (max-width: 720px){
  .title-bubble--xl > span{font-size: 40px}
}

.page-hero{padding: 18px 0 10px}
.page-hero__panel{
  max-width: 980px;
  margin: 0 auto;
  border-radius: 22px;
  padding: 28px 26px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 70px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
  position: relative;
  overflow:hidden;
  text-align:center;
}
.page-hero__panel:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 240px at 15% 10%, rgba(90,138,255,.18), transparent 65%),
    radial-gradient(700px 260px at 90% 10%, rgba(110,231,255,.12), transparent 65%);
  pointer-events:none;
}
.page-hero__panel > *{position:relative}
.page-hero__kicker{display:inline-flex; align-items:center; justify-content:center; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(10,27,58,.14); background: rgba(255,255,255,.62); color: rgba(10,27,58,.62); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; margin: 0 auto 12px}
.page-hero__title{margin: 0; font-size: 54px; line-height: 1.06; letter-spacing: -.03em}
.page-hero__lead{margin: 10px auto 0; max-width: 760px; font-weight: 800; font-size: 28px; line-height: 1.2; background: linear-gradient(90deg, rgba(40,79,154,1), rgba(45,196,255,1)); -webkit-background-clip:text; background-clip:text; color: transparent}
.page-hero__subtitle{margin: 10px auto 0; max-width: 760px; color: rgba(10,27,58,.70); font-size: 15px; line-height: 1.75}
.page-hero__divider{height: 1px; width: min(520px, 86%); margin: 16px auto 0; background: linear-gradient(90deg, transparent, rgba(90,138,255,.55), transparent); opacity: .55}
.page-hero__actions{margin-top: 16px; display:flex; justify-content:center}

.services-page .page-hero{padding-bottom: 2px}
.services-page .page-hero__panel{padding-top: 22px; padding-bottom: 20px}
.services-page .page-hero__actions{margin-top: 12px}
.services-page main > .section{padding-top: 34px}
.services-page .page-hero__kicker{margin-bottom: 10px}
.services-page .page-hero__title{font-size: 44px; line-height: 1.08}
.services-page .page-hero__lead{font-size: 22px; margin-top: 8px}
.services-page .page-hero__subtitle{margin-top: 8px; max-width: 720px}
.services-page .page-hero__divider{margin-top: 14px}

@media (max-width: 720px){
  .page-hero__panel{padding: 20px 16px; border-radius: 18px}
  .page-hero__title{font-size: 40px}
  .page-hero__lead{font-size: 22px}
}

.about-hero{padding: 44px 0 18px}
.about-hero__panel{
  max-width: 980px;
  margin: 0 auto;
  border-radius: 22px;
  padding: 28px 26px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 70px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
  position: relative;
  overflow:hidden;
}
.about-hero__panel:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 240px at 15% 10%, rgba(90,138,255,.18), transparent 65%),
    radial-gradient(700px 260px at 90% 10%, rgba(40,79,154,.12), transparent 65%);
  pointer-events:none;
}
.about-hero__panel > *{position:relative}
.about-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(10,27,58,.10);
  background: rgba(244,247,255,.85);
  color: rgba(10,27,58,.70);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
}
.about-hero__title{margin: 14px 0 0; font-size: 54px; line-height: 1.06; letter-spacing: -.03em}
.about-hero__lead{margin: 12px auto 0; max-width: 820px; color: rgba(10,27,58,.70); font-size: 15px; line-height: 1.75}
.about-hero__cta{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top: 18px}

.about-section{padding: 18px 0}
.about-grid{display:grid; gap: 16px}
.about-grid--2{grid-template-columns: 1fr 1fr; align-items:start}
.about-grid--4{grid-template-columns: repeat(4, 1fr)}

.about-card{
  border-radius: 22px;
  padding: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 70px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
}
.about-card__title{margin:0; font-size: 22px; letter-spacing: -.01em}
.about-card__p{margin: 12px 0 0; color: rgba(10,27,58,.70); font-size: 14px; line-height: 1.75}

.about-stack{display:grid; gap: 12px; margin-top: 14px}
.about-subcard{
  border-radius: 18px;
  padding: 16px;
  background: rgba(244,247,255,.70);
  border: 1px solid rgba(10,27,58,.08);
}
.about-subcard__title{margin:0; font-size: 14px; font-weight: 900}
.about-subcard__p{margin: 8px 0 0; color: rgba(10,27,58,.68); font-size: 13px; line-height: 1.65}

.about-kpis{
  max-width: 980px;
  margin: 0 auto;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.about-kpi{
  border-radius: 20px;
  padding: 18px 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 70px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
  text-align:center;
}
.about-kpi__value{font-weight: 900; font-size: 26px; letter-spacing: -.02em}
.about-kpi__label{margin-top: 8px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(10,27,58,.55)}

.about-head{max-width: 760px; margin: 0 auto 16px; text-align:center}
.about-head__title{margin: 14px 0 0; font-size: 36px; letter-spacing: -.02em; line-height: 1.12}
.about-head__subtitle{margin: 10px auto 0; color: rgba(10,27,58,.65); font-size: 14px; line-height: 1.7; max-width: 680px}

@media (max-width: 980px){
  .about-grid--2{grid-template-columns: 1fr}
  .about-grid--4{grid-template-columns: 1fr 1fr}
  .about-kpis{grid-template-columns: 1fr 1fr}
}
@media (max-width: 720px){
  .about-hero{padding: 34px 0 14px}
  .about-hero__panel{padding: 20px 16px; border-radius: 18px}
  .about-hero__title{font-size: 40px}
  .about-card{padding: 18px; border-radius: 18px}
  .about-grid--4{grid-template-columns: 1fr}
}

.fix-section{padding: 32px 0 66px}
.fix-float{position: relative}
.fix-panel{position: relative; z-index: 1}
.fix-bubbles{position:absolute; inset: 0; pointer-events:none; z-index: 0}
.fix-bubble{
  position:absolute;
  display:grid;
  place-items:center;
  width: clamp(110px, 14vw, 160px);
  height: clamp(110px, 14vw, 160px);
  padding: 16px;
  border-radius: 999px;
  text-align:center;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  color: rgba(10,27,58,.78);
  background:
    radial-gradient(90px 70px at 30% 28%, rgba(255,255,255,.80), transparent 70%),
    radial-gradient(160px 140px at 70% 85%, rgba(110,231,255,.10), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.42);
  box-shadow:
    0 26px 80px rgba(10,27,58,.10),
    0 0 0 10px rgba(110,231,255,.04);
  backdrop-filter: blur(18px);
  opacity: .92;
  filter: saturate(1.05);
  pointer-events:auto;
  transform: translate3d(0,0,0) scale(1);
  transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
  animation: bubble-drift 7.2s ease-in-out infinite;
}
.fix-bubble:before{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.75) 42%, transparent 60%);
  opacity: .0;
  transform: translateX(-35%) rotate(10deg);
  filter: blur(.2px);
  pointer-events:none;
}
.fix-bubble:after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: inherit;
  background: conic-gradient(from 220deg,
    rgba(110,231,255,.80),
    rgba(90,138,255,.30),
    rgba(168,85,247,.40),
    rgba(34,197,94,.22),
    rgba(110,231,255,.80));
  opacity: .72;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 3px;
  pointer-events:none;
}

.fix-bubble:hover{
  opacity: .98;
  transform: translate3d(0,-10px,0) scale(1.05) rotate(-1.5deg);
  box-shadow:
    0 34px 110px rgba(10,27,58,.14),
    0 0 0 12px rgba(110,231,255,.06);
}
.fix-bubble:hover:before{opacity: .55; animation: bubble-shimmer 1.15s ease-out forwards}

.fix-bubble--a{left: -6%; top: 10%; animation-duration: 7.6s; animation-delay: -1.2s}
.fix-bubble--b{right: -8%; top: 16%; animation-duration: 8.2s; animation-delay: -2.1s}
.fix-bubble--c{left: -10%; top: 55%; width: clamp(120px, 15vw, 176px); height: clamp(120px, 15vw, 176px); animation-duration: 9.0s; animation-delay: -3.6s}
.fix-bubble--d{right: -10%; top: 58%; width: clamp(120px, 15vw, 176px); height: clamp(120px, 15vw, 176px); animation-duration: 8.6s; animation-delay: -4.2s}
.fix-bubble--e{left: 6%; bottom: -16%; width: clamp(100px, 13vw, 150px); height: clamp(100px, 13vw, 150px); animation-duration: 7.8s; animation-delay: -2.8s}
.fix-bubble--f{right: 8%; bottom: -18%; width: clamp(100px, 13vw, 150px); height: clamp(100px, 13vw, 150px); animation-duration: 8.8s; animation-delay: -1.8s}

@keyframes bubble-drift{
  0%, 100%{transform: translate3d(0,0,0) scale(1) rotate(.25deg)}
  50%{transform: translate3d(0,-14px,0) scale(1.02) rotate(-.35deg)}
}

@keyframes bubble-shimmer{
  0%{transform: translateX(-40%) rotate(10deg); opacity: 0}
  20%{opacity: .55}
  100%{transform: translateX(45%) rotate(10deg); opacity: 0}
}

@media (max-width: 900px){
  .fix-bubble--c,.fix-bubble--d{display:none}
}
@media (max-width: 640px){
  .fix-bubbles{display:none}
}

@media (prefers-reduced-motion: reduce){
  .fix-bubble{animation: none}
  .fix-bubble:hover:before{animation:none}
}

.fix-panel{
  max-width: 1040px;
  margin: 0 auto;
  text-align:center;
  padding: 34px 26px 28px;
  border-radius: 32px;
  background:
    radial-gradient(1200px 520px at 50% -16%, rgba(255,255,255,.62), transparent 60%),
    radial-gradient(900px 460px at 12% 110%, rgba(110,231,255,.12), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.12));
  border: 1px solid rgba(255,255,255,.40);
  box-shadow:
    0 76px 210px rgba(10,27,58,.16),
    0 18px 54px rgba(10,27,58,.08),
    0 0 0 10px rgba(110,231,255,.05);
  backdrop-filter: blur(22px);
  position: relative;
  transform: translateY(-8px);
  animation: bubble-float 6.8s ease-in-out infinite;
  will-change: transform;
}
.fix-panel:before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 34px;
  background:
    radial-gradient(700px 260px at 20% 0%, rgba(90,138,255,.16), transparent 65%),
    radial-gradient(700px 260px at 90% 0%, rgba(40,79,154,.10), transparent 65%);
  pointer-events:none;
}
.fix-panel:after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 34px;
  background: conic-gradient(from 210deg,
    rgba(110,231,255,.78),
    rgba(90,138,255,.34),
    rgba(168,85,247,.42),
    rgba(34,197,94,.28),
    rgba(110,231,255,.78));
  filter: blur(.35px);
  opacity: .85;
  pointer-events:none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 4px;
}
.fix-panel > *{position: relative}
.fix-title{margin:0; font-size: 44px; letter-spacing: -.02em; line-height: 1.1}
.fix-lead{margin: 12px auto 0; max-width: 760px; color: rgba(10,27,58,.70); font-size: 15px; line-height: 1.75}

@keyframes bubble-float{
  0%, 100%{transform: translateY(-8px)}
  50%{transform: translateY(-16px)}
}

@media (prefers-reduced-motion: reduce){
  .fix-panel{animation: none}
}
.fix-card{
  margin-top: 26px;
  border-radius: 22px;
  padding: 32px 18px 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 70px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
  position: relative;
  overflow: visible;
 }
 .fix-card__head{position:absolute; left:0; right:0; top:0; display:flex; justify-content:center; transform: translateY(-50%); pointer-events:none}
 .fix-pill{display:inline-flex; align-items:center; justify-content:center; height: 34px; padding: 0 14px; border-radius: 999px; background: rgba(255,255,255,.92); border: 1px solid rgba(10,27,58,.10); box-shadow: 0 14px 40px rgba(10,27,58,.10); color: rgba(10,27,58,.86); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase}
 .fix-card:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background:
    radial-gradient(700px 260px at 20% 0%, rgba(90,138,255,.16), transparent 65%),
    radial-gradient(700px 260px at 90% 0%, rgba(40,79,154,.10), transparent 65%);
  pointer-events:none;
 }
.fix-steps{display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align:left}
.fix-step{
  border-radius: 18px;
  padding: 16px;
  background: rgba(244,247,255,.70);
  border: 1px solid rgba(10,27,58,.08);
  display:flex;
  gap: 12px;
  align-items:flex-start;
}
.fix-step__icon{line-height: 1; width: 32px; height: 32px; display:grid; place-items:center; border-radius: 10px; background: rgba(255,255,255,.8); border: 1px solid rgba(10,27,58,.08)}
.fix-step__icon svg{width: 22px; height: 22px; display:block}
.fix-step__title{margin:0; font-size: 14px; font-weight: 900}
.fix-step__text{margin: 8px 0 0; color: rgba(10,27,58,.68); font-size: 13px; line-height: 1.65}

@media (max-width: 980px){
  .fix-title{font-size: 38px}
  .fix-steps{grid-template-columns: 1fr}
}
 @media (max-width: 720px){
  .fix-section{padding: 22px 0 54px}
  .fix-title{font-size: 32px}
  .fix-panel{padding: 22px 14px 18px; border-radius: 24px}
  .fix-card{padding: 28px 14px 14px; border-radius: 18px}
  .fix-pill{height: 32px; font-size: 11px}
 }

.quote-page{padding: 44px 0 56px}
.quote-page__grid{display:grid; grid-template-columns: 1.05fr .95fr; gap: 38px; align-items:start}
.quote-page__copy{padding-top: 18px}
.quote-page__title{margin:0; font-size:56px; line-height:1.02; letter-spacing:-.02em}
.quote-page__subtitle{margin:14px 0 0; color: var(--inkMuted); font-size:16px; line-height:1.65; max-width: 520px}
.quote-page__bullets{margin:16px 0 0; padding:0; list-style:none; display:grid; gap:10px; max-width: 520px}
.quote-page__bullets li{display:flex; gap:10px; align-items:flex-start; color: rgba(10,27,58,.82); font-size:14px; line-height:1.55}
.quote-page__bullets li:before{content:"✓"; flex:0 0 auto; width:22px; height:22px; border-radius:999px; display:grid; place-items:center; background: rgba(90,138,255,.14); border:1px solid rgba(90,138,255,.22); color: rgba(40,79,154,1); font-weight:900; margin-top:1px}

.sector-hero{padding: 42px 0 20px}
.sector-hero__inner{
  max-width: 920px;
  margin: 0 auto;
  text-align:center;
}
.sector-hero__title{margin:0; font-size: 54px; line-height: 1.04; letter-spacing:-.03em}
.sector-hero__subtitle{margin: 12px auto 0; max-width: 720px; color: var(--inkMuted); font-size: 15px; line-height: 1.7}

@media (max-width: 720px){
  .sector-hero{padding: 34px 0 14px}
  .sector-hero__title{font-size: 40px}
}

.sector-quote{padding: 18px 0 44px}
.sector-quote__inner{max-width: 980px; margin: 0 auto; display:flex; justify-content:center}
.sector-quote__btn{min-width: 240px; text-align:center}

 .sector-divider{padding: 8px 0 10px}
 .sector-divider__inner{max-width: 980px; margin: 0 auto}
 .sector-divider__media{
   height: 180px;
   border-radius: 18px;
   overflow:hidden;
   border: 1px solid rgba(10,27,58,.10);
   background: rgba(255,255,255,.70);
   box-shadow: 0 18px 60px rgba(10,27,58,.08);
   position: relative;
 }
 .sector-divider__cta{
   position:absolute;
   inset:0;
   display:flex;
   align-items:center;
   justify-content:center;
   padding: 16px;
   z-index: 2;
 }
 .sector-divider__btn{
   text-transform: uppercase;
   letter-spacing: .08em;
   padding: 14px 18px;
   border-radius: 999px;
   box-shadow: 0 22px 60px rgba(40,79,154,.20), 0 0 0 6px rgba(255,255,255,.18);
   backdrop-filter: blur(8px);
 }
 .sector-divider__media:after{
   content:"";
   position:absolute;
   inset:0;
   background:
     radial-gradient(600px 220px at 15% 20%, rgba(90,138,255,.18), transparent 60%),
     linear-gradient(180deg, rgba(10,27,58,.10), rgba(10,27,58,0) 40%, rgba(10,27,58,.18));
   pointer-events:none;
 }
 .sector-divider__img{
   width:100%;
   height:100%;
   object-fit: cover;
   display:block;
   transform: scale(1.08);
   filter: blur(8px) saturate(1.05) contrast(1.02);
   opacity: .92;
 }

@media (max-width: 720px){
  .sector-quote{padding: 14px 0 34px}
  .sector-quote__inner{justify-content:stretch}
  .sector-quote__btn{width:100%}
  .sector-divider__media{height: 150px; border-radius: 16px}
}

.page--sector .quote-page__grid{grid-template-columns: 1fr}
.page--sector .quote-page__grid{max-width: 980px; margin: 0 auto}
.page--sector .quote-page{padding: 40px 0 28px}
.page--sector .quote-page__copy{
  max-width: 860px;
  padding: 26px 26px 22px;
  margin: 0 auto;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 70px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
  position: relative;
  overflow:hidden;
}
.page--sector .quote-page__copy:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(520px 180px at 20% 0%, rgba(90,138,255,.22), transparent 70%),
    radial-gradient(520px 220px at 90% 10%, rgba(40,79,154,.16), transparent 70%);
  pointer-events:none;
}
.page--sector .quote-page__copy > *{position:relative}
.page--sector .quote-page__title{font-size: 54px; letter-spacing:-.03em}
.page--sector .quote-page__subtitle{max-width: 760px; margin-left: auto; margin-right: auto; font-size:15px}
.page--sector .quote-page__bullets{max-width: 760px; margin-left: auto; margin-right: auto; gap: 12px; margin-top: 18px}
.page--sector .quote-page__bullets li{padding: 10px 12px; border-radius: 14px; background: rgba(244,247,255,.70); border: 1px solid rgba(10,27,58,.08)}
.page--sector .quote-page__bullets li:before{margin-top:0}

@media (max-width: 720px){
  .page--sector .quote-page__copy{padding: 18px 16px 16px; border-radius: 18px}
  .page--sector .quote-page__title{font-size: 40px}
}

.quote-box{
  border-radius: 18px;
  overflow:hidden;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 26px 80px rgba(10,27,58,.14);
}
.quote-box__top{
  padding: 14px 16px;
  background: linear-gradient(90deg, rgba(40,79,154,1), rgba(90,138,255,1));
  color:#fff;
  font-weight: 900;
  text-align:center;
  letter-spacing: .02em;
}
.quote-box__body{padding: 18px 18px 20px; background: rgba(244,247,255,.65)}
.quote-box__q{margin:0 0 10px; font-weight: 900; color: rgba(10,27,58,.92); font-size:18px}
.quote-box__hint{margin:0 0 14px; color: rgba(10,27,58,.60); font-size:13px; line-height:1.5}
.quote-box__opts{display:grid; gap:10px; margin: 0 0 16px}
.quote-box__opt{display:flex; align-items:center; gap:10px; font-size:14px; color: rgba(10,27,58,.86)}
.quote-box__opt input{width:18px; height:18px; accent-color: rgba(40,79,154,1)}
.quote-box__btn{width:100%; padding: 14px 16px; border-radius: 12px; background: #ff7a3d; color:#fff; font-weight:900; border:none; box-shadow: 0 18px 40px rgba(255,122,61,.25); cursor:pointer; position:relative; overflow:hidden; transform: translateZ(0); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease}
.quote-box__btn:before{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(110deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 38%,
    rgba(255,240,200,.55) 52%,
    rgba(255,255,255,.28) 62%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-120%) skewX(-18deg);
  opacity: 0;
  pointer-events:none;
}
.quote-box__btn:hover{transform: translateY(-2px); box-shadow: 0 22px 54px rgba(255,122,61,.28), 0 0 0 6px rgba(255,122,61,.14); filter: saturate(1.05) brightness(1.02)}
.quote-box__btn:hover:before{opacity:1; animation: btn-shine .85s ease forwards}
.quote-box__btn:focus-visible{outline:none; box-shadow: 0 22px 54px rgba(255,122,61,.28), 0 0 0 6px rgba(255,122,61,.18)}
.quote-box__fine{margin: 10px 0 0; text-align:center; font-size:12px; color: rgba(10,27,58,.55)}

.page-media{
  border-radius: 18px;
  overflow:hidden;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 60px rgba(10,27,58,.10);
  height: auto;
  aspect-ratio: 16 / 7;
  margin: 22px 0 0;
}
.page-media img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position: center;
  display:block;
  filter: saturate(1.05) contrast(1.02);
}
.page-media--church{
  background:
    radial-gradient(260px 140px at 30% 20%, rgba(90,138,255,.18), transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='360' viewBox='0 0 900 360'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23284f9a' stop-opacity='.18'/%3E%3Cstop offset='1' stop-color='%235a8aff' stop-opacity='.06'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='900' height='360' fill='url(%23g)'/%3E%3Cg fill='none' stroke='%230a1b3a' stroke-opacity='.16' stroke-width='7'%3E%3Cpath d='M450 70 v210'/%3E%3Cpath d='M395 120 h110'/%3E%3Cpath d='M360 250 h180'/%3E%3Cpath d='M390 250 v-70 l60-60 60 60 v70'/%3E%3C/g%3E%3Cg fill='none' stroke='%23284f9a' stroke-opacity='.22' stroke-width='6'%3E%3Cpath d='M320 250 h-70'/%3E%3Cpath d='M580 250 h70'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}

@media (max-width: 720px){
  .page-media{aspect-ratio: 16 / 9}
}

.sector-content{padding: 10px 0 64px}
.sector-content__grid{display:grid; grid-template-columns: 1fr; gap: 16px; align-items:start; max-width: 980px; margin: 0 auto}
.sector-content__panel{
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 60px rgba(10,27,58,.10);
  padding: 18px 18px 20px;
}
.sector-content__title{margin:0 0 10px; font-size:22px; letter-spacing:-.01em}
.sector-content__p{margin: 10px 0 0; color: rgba(10,27,58,.70); line-height:1.7; font-size:14px}
.sector-content__p strong{color: rgba(10,27,58,.90)}

@media (max-width: 980px){
  .sector-content__grid{max-width: 100%}
}

.faq{margin-top: 0}
.faq__title{margin:0 0 10px; font-size:18px; letter-spacing:-.01em}
.faq details{
  border: 1px solid rgba(10,27,58,.10);
  border-radius: 14px;
  background: rgba(244,247,255,.65);
  overflow:hidden;
}
.faq details + details{margin-top: 10px}
.faq summary{
  list-style:none;
  cursor:pointer;
  padding: 14px 14px;
  font-weight: 900;
  color: rgba(10,27,58,.86);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{
  content:"+";
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: rgba(90,138,255,.14);
  border: 1px solid rgba(90,138,255,.22);
  color: rgba(40,79,154,1);
  flex: 0 0 auto;
}
.faq details[open] summary:after{content:"–"}
.faq__a{padding: 0 14px 14px; color: rgba(10,27,58,.70); font-size:14px; line-height:1.7}

@media (max-width: 980px){
  .quote-page__grid{grid-template-columns: 1fr}
  .quote-page__copy{padding-top: 0}
  .quote-page__title{font-size:44px}
}
.services-cards{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:16px; margin-top: 18px}
@media (max-width: 980px){.services-cards{grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 520px){.services-cards{grid-template-columns: 1fr}}

.service-card{
  display:block;
  text-decoration:none;
  padding: 168px 10px 10px;
  border-radius: 22px;
  color: rgba(10,27,58,.92);
  background: rgba(90,138,255,.035);
  border: 0;
  box-shadow: 0 10px 26px rgba(10,27,58,.05);
  backdrop-filter: blur(6px);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  overflow: visible;
  position: relative;
  text-align: center;
}

.service-card:before{
  content:"";
  position:absolute;
  left: 50%;
  top: 8px;
  width: min(340px, 92%);
  height: 170px;
  transform: translateX(-50%);
  border-radius: 999px;
  background:
    radial-gradient(closest-side, rgba(110,231,255,.22), transparent 72%),
    radial-gradient(closest-side, rgba(168,85,247,.10), transparent 72%);
  filter: blur(18px);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events:none;
}
.service-card:after{
  content:none;
}

.service-card > *{position: relative}

.service-card__illus{
  position:absolute;
  left: 0;
  right: 0;
  top: 10px;
  height: 150px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.service-card__illus:after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: -6px;
  width: 64px;
  height: 28px;
  transform: translateX(-50%) rotate(6deg);
  border-left: 2px solid rgba(90,138,255,.26);
  border-bottom: 2px solid rgba(110,231,255,.22);
  border-radius: 0 0 0 28px;
  opacity: .55;
  filter: drop-shadow(0 10px 18px rgba(10,27,58,.08));
}
.service-card__illus img{
  width: clamp(170px, 18vw, 230px);
  max-height: 140px;
  height: auto;
  display:block;
  filter:
    drop-shadow(0 28px 80px rgba(10,27,58,.14))
    drop-shadow(0 0 26px rgba(110,231,255,.12));
  transform: translate3d(0,-2px,0);
  animation: service-illus-float 6.2s ease-in-out infinite;
}
.service-card:hover .service-card__illus img{
  transform: translate3d(0,-6px,0) scale(1.02);
}
@keyframes service-illus-float{
  0%, 100%{transform: translate3d(0,-2px,0)}
  50%{transform: translate3d(0,-10px,0)}
}

.service-card__media{
  height: 120px;
  margin: -18px -18px 14px;
  border-bottom: 1px solid rgba(10,27,58,.08);
  background: radial-gradient(260px 140px at 30% 20%, rgba(90,138,255,.18), transparent 70%);
  position: relative;
  overflow: hidden;
}
.service-card__media--church{
  background:
    radial-gradient(260px 140px at 30% 20%, rgba(90,138,255,.18), transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='360' viewBox='0 0 900 360'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23284f9a' stop-opacity='.18'/%3E%3Cstop offset='1' stop-color='%235a8aff' stop-opacity='.06'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='900' height='360' fill='url(%23g)'/%3E%3Cg fill='none' stroke='%230a1b3a' stroke-opacity='.16' stroke-width='7'%3E%3Cpath d='M450 70 v210'/%3E%3Cpath d='M395 120 h110'/%3E%3Cpath d='M360 250 h180'/%3E%3Cpath d='M390 250 v-70 l60-60 60 60 v70'/%3E%3C/g%3E%3Cg fill='none' stroke='%23284f9a' stroke-opacity='.22' stroke-width='6'%3E%3Cpath d='M320 250 h-70'/%3E%3Cpath d='M580 250 h70'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}
.service-card__media--hospitality{
  background:
    radial-gradient(260px 140px at 30% 20%, rgba(90,138,255,.18), transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='360' viewBox='0 0 900 360'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23284f9a' stop-opacity='.18'/%3E%3Cstop offset='1' stop-color='%235a8aff' stop-opacity='.06'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='900' height='360' rx='0' fill='url(%23g)'/%3E%3Cg fill='none' stroke='%230a1b3a' stroke-opacity='.16' stroke-width='6'%3E%3Cpath d='M220 250 h220'/%3E%3Cpath d='M260 250 v-90 c0-40 55-70 125-70 s125 30 125 70 v90'/%3E%3Cpath d='M330 110 v-34'/%3E%3Cpath d='M410 110 v-34'/%3E%3C/g%3E%3Cg fill='none' stroke='%23284f9a' stroke-opacity='.22' stroke-width='8'%3E%3Cpath d='M560 256 h120'/%3E%3Cpath d='M575 256 v-70 c0-18 16-32 36-32 h30 c20 0 36 14 36 32 v70'/%3E%3Cpath d='M620 150 v-32'/%3E%3C/g%3E%3Cg fill='%23284f9a' fill-opacity='.18'%3E%3Ccircle cx='690' cy='112' r='10'/%3E%3Ccircle cx='710' cy='98' r='6'/%3E%3Ccircle cx='735' cy='120' r='8'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}
.service-card__media img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position: center;
  display:block;
  filter: saturate(1.05) contrast(1.02);
}

@supports (aspect-ratio: 16 / 9){
  .service-card__media{height:auto; aspect-ratio: 16 / 9}
}
.service-card__top{display:flex; align-items:center; justify-content:center; gap:10px; margin: 2px 0 6px}
.service-card__badge{
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 12px;
  color: rgba(40,79,154,1);
  background: rgba(90,138,255,.14);
  border: 1px solid rgba(90,138,255,.22);
}
.service-card__arrow{position:absolute; right: 10px; top: 14px; color: rgba(40,79,154,.55); font-weight: 900; font-size: 16px; transform: translateX(0); transition: transform .18s ease, opacity .18s ease; opacity: .55}
.service-card__title{margin:0; font-size:16px; letter-spacing:-.01em; position:relative; display:inline-block}
.service-card__title:after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; border-radius:999px; background: linear-gradient(90deg, rgba(90,138,255,.0), rgba(90,138,255,.65), rgba(110,231,255,.55), rgba(90,138,255,.0)); transform: scaleX(.15); transform-origin: 50% 50%; opacity: 0; transition: transform .22s ease, opacity .22s ease}
.service-card__text{margin:8px auto 0; max-width: 34ch; color: rgba(10,27,58,.62); font-size:14px; line-height:1.6}

.service-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 22px 60px rgba(10,27,58,.10);
  background: rgba(90,138,255,.05);
}
.service-card:hover:before{opacity: 1}
.service-card:hover .service-card__title:after{opacity: 1; transform: scaleX(1)}
.service-card:hover .service-card__arrow{transform: translateX(4px)}

.service-card:focus-visible{
  outline: none;
  transform: translateY(-6px);
  box-shadow: 0 22px 60px rgba(10,27,58,.10);
  background: rgba(90,138,255,.05);
}
.service-card:focus-visible:before{opacity: 1}
.service-card:focus-visible .service-card__title:after{opacity: 1; transform: scaleX(1)}

.steps{display:grid; grid-template-columns: repeat(5, 1fr); gap:18px}
.step{
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(10,27,58,.10);
  border-radius: 18px;
  padding: 18px 16px;
  box-shadow: 0 16px 34px rgba(40,79,154,.10);
  text-align:center;
}
.step__num{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 0 auto 12px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, rgba(40,79,154,1), rgba(90,138,255,1));
  box-shadow: 0 14px 26px rgba(40,79,154,.22);
}
.step__title{margin:0; font-size:16px; color: var(--ink)}
.step__text{margin:10px 0 0; font-size:14px; line-height:1.6; color: var(--inkMuted)}

@media (max-width: 980px){
  .steps{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 520px){
  .section__title{font-size:32px}
  .steps{grid-template-columns: 1fr}
}

.section--contact{padding-bottom: 84px}
.contact__panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding: 18px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(10,27,58,.10);
}
.contact__title{margin:0 0 6px; font-size:18px}
.contact__text{margin:0; color: var(--inkMuted); font-size:14px; line-height:1.6}
.contact__actions{display:flex; gap:12px; flex-wrap:wrap}
@media (max-width: 720px){
  .contact__panel{flex-direction:column; align-items:flex-start}
}

.hero__mock{display:flex; justify-content:flex-end}
.mock-wrap{position:relative; width:min(600px, 100%)}
.mock-wrap:before{
  content:"";
  position:absolute;
  left: 50%;
  top: 18px;
  transform: translateX(-50%);
  width: 320px;
  height: 26px;
  background: rgba(10,27,58,.16);
  filter: blur(18px);
  opacity: .32;
  z-index: 2;
  pointer-events:none;
}
.mock{
  width:min(600px, 100%);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(10,27,58,.10);
  border-radius: 18px;
  box-shadow: 0 26px 80px rgba(10,27,58,.16);
  overflow:hidden;
  position: relative;
  z-index: 1;
}
.mock__mascot{position:absolute; left: 50%; top: 0; transform: translate(-50%, -60%); z-index: 5; pointer-events:none}
.mock__mascot-img{width: 312px; height:auto; display:block; filter: drop-shadow(0 20px 66px rgba(10,27,58,.22))}
.mock__top{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px 16px;
  background: rgba(255,255,255,.78);
  border-bottom:1px solid rgba(10,27,58,.08);
}
.dot{width:10px; height:10px; border-radius:999px; display:inline-block}
.dot--red{background:#ff6b6b}
.dot--yellow{background:#ffd166}
.dot--green{background:#2ecc71}
.mock__bar{height:10px; flex:1; border-radius:999px; background: rgba(10,27,58,.08); margin-left:10px}
.mock__body{position:relative; padding:18px}
.mock__chart{border-radius:14px; background: rgba(240,245,255,.95); border:1px solid rgba(10,27,58,.08); padding:14px}
.mock__chart svg{width:100%; height:auto; display:block}

.ratecard{
  position:absolute;
  right:18px;
  top:42px;
  width:240px;
  background: rgba(255,255,255,.92);
  border:1px solid rgba(10,27,58,.10);
  border-radius:16px;
  box-shadow: 0 18px 60px rgba(10,27,58,.18);
  padding:12px 12px 14px;
}
.ratecard__header{display:flex; align-items:center; justify-content:space-between; gap:10px}
.ratecard__badge{
  font-size:11px;
  color:#1a7f37;
  background: rgba(46,204,113,.16);
  border:1px solid rgba(46,204,113,.24);
  padding:4px 8px;
  border-radius:999px;
  font-weight:700;
}
.ratecard__title{font-size:12px; color: rgba(10,27,58,.65); font-weight:700}
.ratecard__value{font-size:26px; font-weight:900; color: var(--ink); margin:6px 0 10px}
.ratecard__value span{font-size:13px; font-weight:800; color: rgba(10,27,58,.55)}
.ratecard__divider{height:1px; background: rgba(10,27,58,.10); margin:10px 0}
.ratecard__value--small{font-size:22px; margin:6px 0 0}

@media (max-width: 920px){
  .hero{padding:38px 0 28px}
  .surface{padding:22px}
  .hero__mock{justify-content:flex-start}
  .ratecard{position:relative; inset:auto; margin-top:12px; width:100%}
  .mock__body{padding:14px}
}

.section{padding:44px 0}
.section--alt{background: linear-gradient(180deg, rgba(15,27,51,.55), rgba(15,27,51,.15)); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}
.section h2{margin:0 0 6px; font-size:28px}
.muted{color:var(--muted); margin:0 0 18px; line-height:1.6}
.grid{display:grid; grid-template-columns: repeat(4, 1fr); gap:14px}
@media (max-width: 980px){.grid{grid-template-columns: repeat(2, 1fr)}}
@media (max-width: 520px){.grid{grid-template-columns: 1fr}}

.card{
  border:1px solid var(--border);
  background: rgba(15,27,51,.6);
  border-radius:18px;
  padding:16px;
  box-shadow: var(--shadow);
}
.hero__card{position:relative; overflow:hidden}
.hero__card:before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(600px 260px at 20% 0%, rgba(110,231,255,.22), transparent 60%),
    radial-gradient(500px 220px at 90% 20%, rgba(90,138,255,.18), transparent 60%);
  pointer-events:none;
}
.hero__card > *{position:relative}
.card__title{margin:0 0 4px; font-size:18px}
.card__subtitle{margin:0 0 12px; color:var(--muted); font-size:14px}

.form{display:grid; gap:10px}
label{display:grid; gap:6px; font-size:13px; color:var(--muted)}
input, textarea{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(11,18,32,.55);
  color: var(--text);
  outline:none;
}
input:focus, textarea:focus{border-color: rgba(110,231,255,.45)}
.fineprint{margin:0; font-size:12px; color:rgba(169,183,209,.9)}

.steps{display:grid; gap:12px; margin-top:10px}
.step{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--border); background: rgba(11,23,48,.45); border-radius:16px; padding:14px}
.step__num{
  width:34px; height:34px; border-radius:12px;
  display:grid; place-items:center;
  background: rgba(110,231,255,.12);
  border:1px solid rgba(110,231,255,.18);
  color: var(--brand);
  font-weight:800;
}

.section--process .steps.steps--timeline{
  position: relative;
  display:flex;
  gap:24px;
  padding: 18px 10px 42px;
  margin-top: 18px;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.section--process .steps.steps--timeline:before{
  content:"";
  position:absolute;
  left: 12px;
  right: 12px;
  bottom: 18px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(40,79,154,.05), rgba(90,138,255,.45), rgba(40,79,154,.05));
}

.section--process .steps.steps--timeline::-webkit-scrollbar{display:none}

.section--process .steps.steps--timeline .step{
  position: relative;
  flex: 0 0 auto;
  width: 270px;
  min-height: 170px;
  padding: 16px 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 44px rgba(40,79,154,.12);
  text-align:left;
  align-items: flex-start;
  gap: 10px;
  flex-direction: column;
  scroll-snap-align: start;
  cursor: pointer;
  user-select: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.section--process .steps.steps--timeline .step:nth-child(odd){transform: none}
.section--process .steps.steps--timeline .step:nth-child(even){transform: none}

.section--process .steps.steps--timeline .step:nth-child(odd){transform: translateY(10px)}
.section--process .steps.steps--timeline .step:nth-child(even){transform: translateY(-10px)}

.section--process .steps.steps--timeline .step:after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: -28px;
  width: 10px;
  height: 10px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(90,138,255,1);
  box-shadow: 0 0 0 6px rgba(90,138,255,.18), 0 10px 28px rgba(40,79,154,.22);
}

.section--process .steps.steps--timeline .step:hover{
  border-color: rgba(90,138,255,.26);
  transform: translateY(-6px) scale(1.01);
  box-shadow:
    0 30px 80px rgba(40,79,154,.20),
    0 0 0 6px rgba(90,138,255,.12);
}

.section--process .steps.steps--timeline .step:active{
  transform: translateY(-2px) scale(1.005);
  border-color: rgba(90,138,255,.40);
  box-shadow:
    0 30px 80px rgba(40,79,154,.22),
    0 0 0 6px rgba(90,138,255,.14);
}

.section--process .steps.steps--timeline .step:focus-visible{
  outline: none;
  border-color: rgba(90,138,255,.45);
  box-shadow:
    0 26px 70px rgba(40,79,154,.18),
    0 0 0 6px rgba(90,138,255,.18);
}

@media (prefers-reduced-motion: reduce){
  .section--process .steps.steps--timeline .step{transition: none}
  .section--process .steps.steps--timeline .step:hover{transform:none}
  .section--process .steps.steps--timeline .step:active{transform:none}
}

.section--process .steps.steps--timeline .step:before{
  content:"✓";
  position:absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  font-weight: 900;
  font-size: 14px;
  color: rgba(40,79,154,1);
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(10,27,58,.10);
}

.section--process .steps.steps--timeline .step__num{
  width: 32px;
  height: 32px;
  border-radius: 10px;
  margin: 0;
  background: rgba(90,138,255,.14);
  border: 1px solid rgba(90,138,255,.22);
  color: rgba(40,79,154,1);
  box-shadow: none;
}
.section--process .steps.steps--timeline .step__title{margin: 2px 0 0; font-size: 16px}
.section--process .steps.steps--timeline .step__text{margin: 8px 0 0}

@media (max-width: 980px){
  .section--process .steps.steps--timeline{padding-bottom: 38px}
}
@media (max-width: 520px){
  .section--process .steps.steps--timeline .step{width: 240px}
}

@media (min-width: 1200px){
  .section--process .steps.steps--timeline{
    display:grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    overflow: visible;
    padding: 18px 0 42px;
    scroll-snap-type: none;
  }
  .section--process .steps.steps--timeline:before{left: 0; right: 0}
  .section--process .steps.steps--timeline .step{
    width: auto;
    min-height: 188px;
    padding: 14px 14px 16px;
  }
  .section--process .steps.steps--timeline .step__illus{height: 52px}
  .section--process .steps.steps--timeline .step__title{font-size: 15px}
  .section--process .steps.steps--timeline .step__text{font-size: 13px}
}

.about{display:grid; grid-template-columns: 1fr 1fr; gap:14px}
@media (max-width: 820px){.about{grid-template-columns:1fr}}
.list{margin:0; padding-left:18px; color:var(--muted)}
.list li{margin:8px 0}

.contact{display:grid; grid-template-columns: 1.1fr .9fr; gap:14px}
@media (max-width: 900px){.contact{grid-template-columns:1fr}}

.footer{padding:26px 0}
.footer__inner{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-top:1px solid var(--border); padding-top:18px}
.footer__links{display:flex; gap:14px; flex-wrap:wrap}
.brand--footer{margin-bottom:10px}

.site-footer{
  margin-top: auto;
  padding: 28px 0 18px;
  color: rgba(10,27,58,.82);
  background: rgba(255,255,255,.55);
  border-top: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 -18px 60px rgba(10,27,58,.06);
  backdrop-filter: blur(10px);
}
.site-footer a{color: rgba(40,79,154,1); text-decoration:none}
.site-footer a:hover{color: rgba(40,79,154,1)}
 .site-footer a.btn{color:#fff}
 .site-footer a.btn:hover{opacity:1}

.site-footer__grid{display:grid; grid-template-columns: 1.1fr 1fr 1.1fr; gap:16px; margin-top: 18px}
.site-footer__card{
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(10,27,58,.10);
  padding: 16px;
}
.site-footer__title{margin:0 0 12px; font-size:13px; letter-spacing:.04em; text-transform: uppercase; color: rgba(10,27,58,.55)}
.site-footer__list{list-style:none; padding:0; margin:0; display:grid; gap:10px}
.site-footer__list a{font-size:14px}

.site-footer__brand{display:flex; align-items:center; justify-content:space-between; gap:14px}
.site-footer__brand-left{display:flex; align-items:center; gap:12px}
.site-footer__logo{
  height: 42px;
  width:auto;
  display:block;
  object-fit: contain;
  filter: drop-shadow(0 6px 16px rgba(10,27,58,.20));
}
.site-footer__brand-name{display:none}

.site-footer__cta{display:flex; align-items:center; gap:10px}
.site-footer__cta .btn{padding: 10px 14px; border-radius: 999px}

.site-footer__contact{display:grid; gap:10px; margin:0}
.site-footer__row{display:flex; gap:10px; align-items:flex-start; color: rgba(10,27,58,.72); font-size:14px; line-height:1.5}
.site-footer__ico{width:18px; flex:0 0 auto; opacity:.75; margin-top:2px}

.site-footer__bottom{margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(10,27,58,.10); display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
.site-footer__copy{font-size: 12px; color: rgba(10,27,58,.55)}
.site-footer__policies{display:flex; gap:14px; flex-wrap:wrap}
.site-footer__policies a{font-size:12px; color: rgba(40,79,154,.92)}

.trust-banner{padding: 8px 0 10px}
.trust-banner__panel{
  max-width: 980px;
  margin: 0 auto;
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(10,27,58,.10);
  box-shadow: 0 18px 60px rgba(10,27,58,.08);
  backdrop-filter: blur(10px);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap: 16px;
  flex-direction: row-reverse;
}
.trust-banner__logo{height: 44px; width:auto; display:block; object-fit:contain; filter: drop-shadow(0 8px 18px rgba(10,27,58,.12))}
.trust-banner__text{margin:0; flex: 1 1 auto; color: rgba(10,27,58,.72); font-size: 14px; line-height: 1.6; text-align:left}

@media (max-width: 720px){
  .trust-banner__panel{flex-direction:column; align-items:flex-start}
  .trust-banner__logo{height: 40px}
}

@media (max-width: 980px){
  .site-footer__grid{grid-template-columns: 1fr;}
  .site-footer__cta{width:100%; justify-content:flex-start}
}
