@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Poppins:wght@400;600;700&display=swap");

:root { --blue:#0558ee; --lime:#cef262; --ink:#1a1c1b; }
* { box-sizing:border-box; }
html,body { margin:0; min-width:320px; font-family:"Poppins",Arial,sans-serif; color:var(--ink); }
body { overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.site-header { height:167px; background:#fff; position:relative; z-index:10; }
.utility { height:38px; padding:0 123px; display:flex; align-items:center; justify-content:space-between; background:rgba(5,88,238,.19); font-size:12px; }
.utility-actions { display:flex; align-items:center; gap:29px; }
.utility-actions a,
.services-link { display:inline-flex; align-items:center; }
.utility-actions a { gap:5px; }
.search-icon { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; }
.navbar { height:129px; padding:0 123px; display:flex; align-items:center; gap:39px; }
.logo { width:193px; height:67px; object-fit:contain; }
.logo-link { display:block; flex:0 0 auto; line-height:0; }
.nav-links { display:flex; align-items:center; gap:35px; color:#374151; font-size:14px; white-space:nowrap; }
.nav-links a { transition:color .2s ease; }
.nav-links a:hover,.nav-links a:focus-visible { color:var(--blue); }
.services-link { gap:4px; }
.services-menu { position:relative; display:flex; align-items:center; align-self:stretch; }
.services-link { padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:default; }
.services-menu::after { content:""; position:absolute; left:0; right:0; top:70%; height:38px; }
.services-dropdown {
  position:absolute; z-index:50; top:calc(100% + 8px); left:-22px; width:258px; padding:10px;
  border:1px solid rgba(15,23,42,.1); border-radius:12px; background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.16); opacity:0; visibility:hidden;
  transform:translateY(8px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.services-dropdown a { display:block; padding:10px 12px; border-radius:8px; color:#263247; font-size:13px; line-height:18px; font-weight:500; white-space:normal; }
.services-dropdown a:hover,.services-dropdown a:focus-visible { background:#edf4ff; color:var(--blue); }
.services-menu:hover .services-dropdown,.services-menu:focus-within .services-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.services-menu:hover .chevron-icon,.services-menu:focus-within .chevron-icon { transform:rotate(180deg); }
.chevron-icon { width:9px; height:6px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.nav-actions { margin-left:auto; display:flex; gap:11px; }
.button { height:44px; min-width:130px; border-radius:32px; display:flex; align-items:center; justify-content:center; gap:7px; font-size:12px; font-weight:700; transition:background-color .24s ease,border-color .24s ease,color .24s ease; }
.button-arrow { display:block; width:12px; height:12px; object-fit:contain; flex:0 0 12px; transition:filter .24s ease; }
.outline .button-arrow { width:11px; height:11px; flex-basis:11px; }
.dark { border:2px solid #0c0b0b; background:#0c0b0b; color:#fff; }
.outline { border:2px solid var(--blue); color:var(--blue); }
.nav-actions .button.dark:hover,.nav-actions .button.dark:focus-visible { border-color:var(--lime); background:var(--lime); color:#000; }
.nav-actions .button.dark:hover .button-arrow,.nav-actions .button.dark:focus-visible .button-arrow { filter:brightness(0); }
.nav-actions .button.outline:hover,.nav-actions .button.outline:focus-visible { border-color:var(--blue); background:var(--blue); color:#fff; }
.nav-actions .button.outline:hover .button-arrow,.nav-actions .button.outline:focus-visible .button-arrow { filter:brightness(0) invert(1); }

.hero { height:1020px; position:relative; overflow:hidden; background:#000; color:#fff; }
.hero-art { position:absolute; left:792px; top:0; width:1137px; height:1036px; object-fit:cover; }
.hero-copy { position:absolute; left:120px; top:94px; width:625px; }
.hero h1 { margin:0; font-size:72px; line-height:1.1; letter-spacing:-1.44px; }
.hero h1 span { color:var(--lime); }
.hero-copy>p { margin:22px 0 0; font-size:18px; line-height:30px; }
.capabilities { margin-top:36px; width:229px; height:54px; border:2px solid #fff; border-radius:32px; background:#fff; color:#000; display:flex; align-items:center; justify-content:center; gap:8px; font-size:14px; font-weight:600; letter-spacing:.7px; transition:background-color .24s ease,border-color .24s ease,color .24s ease; }
.capabilities img { display:block; width:20px; height:20px; flex:0 0 20px; transition:filter .24s ease; }
.capabilities:hover,.capabilities:focus-visible { border-color:var(--blue); background:var(--blue); color:#fff; }
.capabilities:hover img,.capabilities:focus-visible img { filter:brightness(0) invert(1); }
.feature-card { position:absolute; top:159px; left:1252px; width:431px; height:456px; padding:25px; border:1px solid #374151; border-radius:4px; background:#000; box-shadow:0 0 50px rgba(5,88,238,.3); }
.feature-pill { padding:4px 12px; border-radius:32px; background:var(--blue); font-size:10px; font-weight:700; text-transform:uppercase; }
.feature-card h2 { margin:24px 0 10px; font-size:24px; line-height:30px; }
.feature-card p { margin:0 0 12px; color:#9ca3af; font:14px/20px Montserrat, sans-serif; }
.feature-card img { width:381px; height:214px; object-fit:cover; object-position:center; border-radius:4px; }
.hero-benefits { position:absolute; left:120px; top:660px; display:grid; grid-template-columns:395px 400px 397px; gap:30px; }
.hero-benefits article { height:217px; padding:30px 17px; border:1px solid rgba(255,255,255,.15); border-radius:12px; background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.24)); backdrop-filter:blur(21px); cursor:pointer; transition:border-color .3s ease,background .3s ease,transform .3s ease; }
.hero-benefits article:hover { transform:translateY(-2px); }
.hero-benefits article:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
.hero-benefits .active { border-top:2px solid var(--lime); background:linear-gradient(160deg,rgba(206,242,98,.09),rgba(255,255,255,.24)); }
.hero-benefits small { color:#9ca3af; font-size:14px; text-transform:uppercase; }
.hero-benefits .active small { color:var(--lime); }
.hero-benefits p { margin-top:54px; font-size:18px; line-height:30px; }
.pause { --progress:0deg; position:absolute; left:1696px; top:754px; width:86px; height:86px; padding:0; border:0; border-radius:50%; background:conic-gradient(var(--blue) var(--progress),rgba(5,88,238,.2) 0); cursor:pointer; }
.pause-inner { position:absolute; inset:5px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; }
.pause-glyph { position:relative; width:14px; height:18px; border-left:4px solid var(--blue); border-right:4px solid var(--blue); }
.pause.is-paused .pause-glyph { width:0; height:0; margin-left:4px; border-top:9px solid transparent; border-right:0; border-bottom:9px solid transparent; border-left:14px solid var(--blue); }
.hero.slide-change .hero-copy,.hero.slide-change .feature-card { animation:heroFade .42s ease both; }
@keyframes heroFade { from { opacity:.2; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
  .hero-benefits article { transition:none; }
  .hero.slide-change .hero-copy,.hero.slide-change .feature-card { animation:none; }
  .metric-track.is-next,.metric-track.is-previous { transition:none; }
}

.metrics { height:571px; padding:54px 133px 0 118px; position:relative; display:grid; grid-template-columns:1fr 397px 397px; gap:26px; background:var(--blue); color:#fff; }
.metrics-heading small,.metric-card small { font-size:14px; text-transform:uppercase; }
.metrics-heading h2 { margin:26px 0 0; font-size:72px; line-height:1; letter-spacing:-1.44px; }
.metric-viewport { grid-column:2/4; width:940px; height:423px; overflow:hidden; }
.metric-track { --metric-step:423px; display:flex; gap:26px; transform:translateX(0); will-change:transform; }
.metric-track.is-next { transform:translateX(calc(0px - var(--metric-step))); transition:transform .58s cubic-bezier(.22,.61,.36,1); }
.metric-track.is-previous { transform:translateX(0); transition:transform .58s cubic-bezier(.22,.61,.36,1); }
.metric-card { width:397px; flex:0 0 397px; height:423px; padding:99px 49px 40px; border-radius:12px; display:flex; flex-direction:column; transition:background-color .42s ease,border-color .42s ease; }
.dark-card { border:1px solid transparent; background:#000; }
.blue-card { border:3px solid rgba(195,197,216,.48); }
.blue-card[role="button"] { cursor:pointer; transition:border-color .25s ease,background .25s ease; }
.blue-card[role="button"]:hover { border-color:rgba(255,255,255,.78); background:rgba(255,255,255,.04); }
.blue-card[role="button"]:focus-visible { outline:2px solid var(--lime); outline-offset:5px; }
.dark-card small { color:var(--lime); }
.metric-card small { font-size:20px; font-weight:700; letter-spacing:.6px; }
.metric-card strong { margin-top:50px; font-size:128px; line-height:.55; font-weight:600; }
.metric-card span { margin-top:51px; font-size:20px; line-height:23px; font-weight:700; }
.metric-arrows { position:absolute; left:969px; top:509px; display:flex; gap:24px; }
.metric-arrows button { width:24px; height:24px; padding:0; border:0; background:transparent; cursor:pointer; }
.metric-arrows img { display:block; width:24px; height:24px; }

.why { height:1052px; position:relative; background:#fff; }
.section-title { position:absolute; top:90px; left:50%; width:790px; transform:translateX(-50%); text-align:center; }
.section-title small { color:#0043bb; font-size:20px; font-weight:600; }
.section-title h2 { margin:34px 0 0; font-size:48px; line-height:1.1; }
.why-copy { position:absolute; left:118px; top:410px; width:549px; }
.why-item { border-top:1px solid #9a9a9a; padding:0 13px; }
.why-item:first-child { border-top-width:2px; }
.why-toggle { width:100%; margin:0; padding:26px 0 22px; border:0; background:transparent; color:#9a9a9a; font-family:inherit; font-size:28px; line-height:36px; font-weight:700; text-align:left; cursor:pointer; transition:color .25s ease,padding .35s ease; }
.why-toggle:hover,.why-toggle:focus-visible { color:#0058ee; }
.why-item.active .why-toggle { padding:10px 0 8px; color:#000; }
.why-panel { max-height:0; overflow:hidden; opacity:0; transition:max-height .42s ease,opacity .25s ease; }
.why-item.active .why-panel { max-height:340px; padding-bottom:30px; opacity:1; }
.why-copy p { margin:0; font-size:18px; line-height:30px; }
.why-copy a { display:flex; align-items:center; gap:4px; width:max-content; margin-top:10px; color:var(--blue); font-size:16px; font-weight:600; }
.report-icon { width:25px; height:25px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(5,88,238,.24); }
.report-icon img { display:block; width:16px; height:16px; }
.why-visual { position:absolute; left:970px; top:410px; width:822px; height:524px; overflow:visible; border-radius:16px; }
.why-art { width:100%; height:100%; object-fit:cover; border-radius:16px; }
.why-main-photo { position:absolute; left:51px; top:37px; width:374px; height:374px; overflow:hidden; border:1px solid rgba(195,197,216,.3); border-radius:24px; color:#fff; }
.why-main-photo img { width:100%; height:100%; object-fit:cover; }
.why-main-photo span,.why-main-photo b { position:absolute; left:24px; bottom:55px; text-transform:uppercase; }
.why-main-photo b { bottom:22px; font-size:22px; text-transform:none; }
.growth { position:absolute; left:306px; top:-24px; width:143px; height:114px; padding:25px; border-radius:12px; background:#caed5e; display:flex; flex-direction:column; color:#3c4d00; }
.growth.has-extra-space { height:134px; }
.growth.has-tall-content { height:154px; }
.growth small,.support small { font-size:12px; font-weight:700; text-transform:uppercase; }
.growth strong { color:#161e00; font-size:24px; line-height:30px; }
.growth span { font-size:12px; }
.support { position:absolute; left:11px; bottom:-40px; width:234px; height:98px; padding:25px 20px 20px 96px; border-radius:12px; background:#fff; box-shadow:0 15px 25px rgba(0,0,0,.12); display:flex; flex-direction:column; }
.team-icon { position:absolute; left:25px; top:25px; width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(5,88,238,.1); }
.team-icon img { display:block; width:24px; height:auto; max-height:24px; object-fit:contain; }
.support small { color:#0043bb; }
.why-visual.why-changing .why-main-photo,.why-visual.why-changing .growth,.why-visual.why-changing .support { animation:why-content-in .42s cubic-bezier(.22,.61,.36,1) both; }
.why-visual.why-changing .growth { animation-delay:.04s; }
.why-visual.why-changing .support { animation-delay:.08s; }
@keyframes why-content-in { from { opacity:.15; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.support strong { font-size:16px; }

.services { height:1294px; position:relative; background:#fff; }
.services .section-title { top:45px; }
.service-grid { position:absolute; top:306px; left:50%; width:1662px; transform:translateX(-50%); display:grid; grid-template-columns:repeat(3,533px); gap:42px 31px; }
.service { height:418px; outline:none; }
.service-art { position:relative; width:533px; height:374px; overflow:hidden; border-radius:12px; background:#081044; }
.service-art::after { content:""; position:absolute; z-index:4; left:0; bottom:0; width:100%; height:8px; border-radius:0 0 12px 12px; background:#cef262; transform:scaleX(0); transform-origin:left center; transition:transform .52s cubic-bezier(.22,.61,.36,1); pointer-events:none; }
.service:hover .service-art::after,.service:focus-visible .service-art::after { transform:scaleX(1); }
.service-art.black { background:#000; }
.service-art>img { width:100%; height:100%; object-fit:cover; }
.service-art .sales { position:absolute; left:115px; top:23px; width:405px; height:331px; object-fit:cover; border-radius:16px; }
.service-art .artwork { position:absolute; left:193px; top:38px; width:320px; height:289px; object-fit:cover; border-radius:16px; }
.service-art>span { position:absolute; z-index:2; left:16px; top:18px; width:240px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:var(--lime); color:#000; font-size:16px; font-weight:600; text-transform:capitalize; }
.service-art>b { position:absolute; z-index:2; right:24px; bottom:30px; width:48px; height:45px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; background:#fff; color:var(--blue); font-size:22px; }
.service-art>b img { display:block; width:23px; height:22px; transform:translateX(0) rotate(43.79deg) skewX(2.78deg); will-change:transform; }
.service-art>b::after { content:""; position:absolute; width:23px; height:22px; background:url("assets/service-arrow.svg") center/contain no-repeat; transform:translateX(-48px) rotate(43.79deg) skewX(2.78deg); will-change:transform; }
.service:hover .service-art>b img,.service:focus-visible .service-art>b img { animation:serviceArrowOut .4s cubic-bezier(.45,0,.2,1) both; }
.service:hover .service-art>b::after,.service:focus-visible .service-art>b::after { animation:serviceArrowIn .4s cubic-bezier(.45,0,.2,1) both; }
@keyframes serviceArrowOut {
  from { transform:translateX(0) rotate(43.79deg) skewX(2.78deg); }
  to { transform:translateX(48px) rotate(43.79deg) skewX(2.78deg); }
}
@keyframes serviceArrowIn {
  from { transform:translateX(-48px) rotate(43.79deg) skewX(2.78deg); }
  to { transform:translateX(0) rotate(43.79deg) skewX(2.78deg); }
}
.service h3 { margin:7px 0 0; font-size:22px; line-height:31px; text-transform:capitalize; }
@media (prefers-reduced-motion:reduce) {
  .service-art::after { transition:none; }
  .service:hover .service-art>b img,.service:focus-visible .service-art>b img,
  .service:hover .service-art>b::after,.service:focus-visible .service-art>b::after { animation:none; }
}

.how-it-works { height:1020px; position:relative; margin-top:-1px; overflow:hidden; background:#000; color:#fff; }
.how-copy { position:absolute; left:125px; top:60px; width:576px; }
.lime-pill { width:240px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:var(--lime); color:#000; font-size:18px; font-weight:600; }
.how-copy h2 { margin:41px 0 0; width:505px; font-size:72px; line-height:1; letter-spacing:-1.44px; }
.how-copy p { width:458px; margin:55px 0 0 7px; font-size:18px; line-height:30px; }
.how-office { position:absolute; left:1216px; top:43px; width:580px; height:490px; object-fit:cover; border-radius:12px; }
.process-grid { position:absolute; left:125px; right:124px; top:592px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.process-grid article { height:357px; padding:45px 60px 30px; border:1px solid #000; border-radius:12px; background:#fff; color:#000; text-align:center; }
.process-grid img { width:71px; height:71px; object-fit:contain; }
.process-grid article:nth-child(2) img { width:77px; height:61px; }
.process-grid article:nth-child(3) img { width:62px; height:63px; }
.process-grid article:nth-child(4) img { width:95px; height:72px; }
.process-grid h3 { margin:20px 0 0; font-size:28px; line-height:36px; text-transform:uppercase; }
.process-grid article:first-child h3 { text-transform:none; }
.process-grid p { width:250px; margin:42px auto 0; font-size:16px; line-height:24px; }

.reach { height:370px; margin-top:68px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.reach small { margin-top:26px; color:#0043bb; font-size:20px; font-weight:600; }
.reach h2 { margin:31px 0 0; font-size:48px; line-height:1.1; }
.reach p { margin:16px 0 0; font-size:18px; line-height:30px; }
.reach>a { width:211px; height:58px; margin-top:18px; display:flex; align-items:center; justify-content:center; gap:8px; border:2px solid var(--blue); border-radius:32px; background:var(--blue); color:#fff; font-size:14px; font-weight:600; letter-spacing:.7px; transition:background-color .24s ease,border-color .24s ease,color .24s ease; }
.reach>a img { display:block; width:17px; height:17px; flex:0 0 17px; transform:rotate(42.39deg); transition:filter .24s ease; }
.reach>a:hover,.reach>a:focus-visible { border-color:var(--blue); background:#fff; color:var(--blue); }
.reach>a:hover img,.reach>a:focus-visible img { filter:brightness(0) saturate(100%) invert(26%) sepia(99%) saturate(5293%) hue-rotate(213deg) brightness(96%) contrast(104%); }

.logo-wall { height:415px; margin-top:-16px; padding:0 122px; overflow:hidden; background:#fff; }
.logo-row { height:198px; display:grid; grid-template-columns:repeat(8,1fr); gap:7px; }
.logo-row+ .logo-row { margin-top:19px; }
.logo-row img { width:100%; height:198px; object-fit:cover; transition:filter .24s ease; }
.logo-row img:hover { filter:brightness(.84); }

.security-story { width:calc(100% - 248px); height:803px; margin:82px auto 0; position:relative; overflow:hidden; border-radius:16px; }
.security-photo { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; }
.security-video { position:absolute; z-index:1; inset:0; overflow:hidden; background:#000; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s ease,visibility 0s linear .3s; }
#security-youtube-player { position:absolute; inset:0; overflow:hidden; }
.security-video iframe { position:absolute; top:50%; left:50%; display:block; max-width:none; border:0; transform:translate(-50%,-50%); pointer-events:none; }
.security-story.has-video .security-video { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.security-panel { position:absolute; z-index:2; left:33px; top:42px; width:515px; height:726px; transition:opacity .26s ease,visibility 0s linear 0s; }
.security-copy { position:absolute; z-index:3; left:57px; top:79px; width:475px; height:692px; color:#fff; transition:opacity .26s ease,visibility 0s linear 0s; }
.security-story.is-playing .security-panel,.security-story.is-playing .security-copy { opacity:0; visibility:hidden; pointer-events:none; transition-delay:0s,.26s; }
.security-copy h2 { margin:0; font-size:40px; line-height:1.1; font-weight:600; }
.security-actions { position:absolute; left:0; bottom:33px; display:flex; align-items:center; gap:16px; }
.watch-video { width:191px; height:43px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:32px; background:var(--lime); color:#000; font-size:14px; font-weight:600; letter-spacing:.7px; }
.watch-video img { width:20px; height:20px; filter:brightness(0); }
.read-story { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:700; }
.read-story img { width:17px; height:17px; transform:rotate(42.39deg); }
.security-next { --video-progress:0deg; position:absolute; z-index:4; right:34px; bottom:35px; width:86px; height:84px; padding:5px; border:0; border-radius:50%; display:flex; align-items:center; justify-content:center; background:conic-gradient(var(--blue) var(--video-progress),rgba(5,88,238,.24) 0); cursor:pointer; }
.security-next::before { content:""; position:absolute; inset:5px; border-radius:50%; background:#fff; }
.security-control-icon { position:relative; z-index:1; width:0; height:0; margin-left:5px; border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:16px solid var(--blue); }
.security-next.is-playing .security-control-icon { width:14px; height:20px; margin-left:0; border:0; border-left:4px solid var(--blue); border-right:4px solid var(--blue); }
.security-next:focus-visible { outline:none; }

.testimonials { height:1020px; margin-top:103px; position:relative; background:var(--blue); color:#fff; }
.testimonial-intro { position:absolute; left:125px; top:156px; width:480px; }
.testimonial-intro h2 { margin:24px 0 0; font-size:72px; line-height:1; letter-spacing:-1.44px; }
.testimonial-intro>p { width:448px; margin:24px 0 0; color:#eff6ff; font-size:24px; line-height:29.25px; font-weight:300; }
.testimonial-cards { position:absolute; left:825px; top:68px; width:970px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.testimonial-card { height:430px; padding:33px; border:1px solid rgba(255,255,255,.4); border-radius:24px; display:flex; flex-direction:column; }
.testimonial-card.primary { grid-column:1/-1; height:430px; padding:41px; margin-bottom:-2px; }
.testimonial-card>img { width:44px; height:35px; }
.testimonial-card blockquote { margin:20px 0 0; font-size:18px; line-height:29.25px; font-weight:300; }
.testimonial-card.primary blockquote { font-size:24px; line-height:39px; }
.testimonial-card footer { margin-top:auto; display:flex; flex-direction:column; }
.testimonial-card footer:before { content:""; width:40px; height:3px; margin-bottom:16px; background:#dfff00; }
.testimonial-card footer b { font-size:18px; line-height:28px; }
.testimonial-card.primary footer b { font-size:20px; }
.testimonial-card footer span { color:#dbeafe; font-size:14px; line-height:20px; }
.testimonial-card.primary footer span { font-size:16px; line-height:24px; }

.contact-section { height:1086px; position:relative; overflow:hidden; background:#fff; }
.contact-network { position:absolute; right:-24px; top:-8px; width:560px; height:500px; opacity:.76; pointer-events:none; }
.contact-dots { position:absolute; left:-8px; top:735px; width:440px; height:330px; pointer-events:none; }
.contact-heading { position:absolute; z-index:2; left:50%; top:90px; width:768px; transform:translateX(-50%); text-align:center; }
.contact-heading small { color:#0043bb; font-size:20px; font-weight:600; }
.contact-heading h2 { margin:31px 0 0; font-size:48px; line-height:1.1; }
.contact-heading p { width:623px; margin:17px auto 0; font-size:18px; line-height:30px; }
.contact-form { position:absolute; z-index:2; left:50%; top:349px; width:592px; height:612px; padding:48px 48px 64px; transform:translateX(-50%); border-radius:16px; background:#fff; box-shadow:0 10px 45px rgba(5,88,238,.15); }
.contact-form label { height:42px; display:block; position:relative; margin-bottom:24px; border-bottom:1px solid #6b7280; }
.contact-form label span { position:absolute; left:12px; top:7px; color:#4b5563; font-size:16px; }
.contact-form input,.contact-form textarea { width:100%; height:100%; border:0; outline:0; background:transparent; font:16px Poppins,sans-serif; }
.contact-form .message { height:89px; border-color:#111; }
.contact-form textarea { padding-top:30px; resize:none; }
.contact-form button { float:right; width:128px; height:41px; display:flex; align-items:center; justify-content:center; gap:6px; border:2px solid var(--blue); border-radius:32px; background:#fff; color:var(--blue); font:700 12px Poppins,sans-serif; transition:background-color .24s ease,border-color .24s ease,color .24s ease; }
.contact-form button img { width:17px; height:17px; transform:rotate(42.39deg); transition:filter .24s ease; }
.contact-form button:hover,.contact-form button:focus-visible { border-color:var(--blue); background:var(--blue); color:#fff; }
.contact-form button:hover img,.contact-form button:focus-visible img { filter:brightness(0) invert(1); }

.site-footer { height:741px; position:relative; padding:98px 122px 77px; background:#000; color:#fff; }
.footer-columns { display:grid; grid-template-columns:292px 291px 292px 291px 281px; gap:52px; }
.footer-columns>div { display:flex; flex-direction:column; gap:12px; }
.footer-columns h3 { margin:0 0 12px; color:#b1d446; font-size:14px; line-height:20px; letter-spacing:.7px; text-transform:uppercase; }
.footer-columns a { font-size:14px; line-height:24px; }
.socials { display:flex; flex-direction:row; gap:16px; margin-bottom:8px; }
.socials img { width:40px; height:40px; }
.connect .footer-buttons { width:268px; align-self:flex-start; display:grid; grid-template-columns:128px 128px; gap:12px; margin-top:8px; }
.connect .footer-buttons a { width:128px; min-width:0; height:43px; display:flex; align-items:center; justify-content:center; border:1px solid #fff; border-radius:32px; font-weight:700; }
.footer-buttons a:first-child { border-color:#b1d446; background:#b1d446; color:#000; }
.footer-lower { position:absolute; left:119px; right:123px; top:377px; height:154px; display:flex; justify-content:space-between; }
.footer-brand { display:flex; flex-direction:column; color:#a1a1a1; font-size:12px; line-height:18px; }
.footer-brand img { width:233px; height:65px; object-fit:contain; margin-left:-41px; margin-bottom:16px; }
.newsletter { width:300px; }
.newsletter h3 { margin:0 0 6px 15px; font-size:16px; line-height:34px; }
.newsletter label { width:276px; height:55px; margin-left:0; position:relative; display:block; }
.newsletter input { width:100%; height:55px; padding:0 65px 0 25px; border:1px solid #6b7280; border-radius:999px; font:13px Poppins,sans-serif; }
.newsletter button { position:absolute; right:13px; top:13px; width:28px; height:30px; border:0; border-radius:50%; background:#18181b; }
.newsletter button img { width:20px; height:20px; }
.newsletter small { display:block; margin:10px 0 0 15px; color:#a1a1a1; font-size:12px; line-height:16px; }
.footer-base { position:absolute; left:122px; right:136px; bottom:77px; display:flex; align-items:flex-end; justify-content:space-between; color:#a1a1a1; }
.footer-base>div { width:596px; display:flex; flex-direction:column-reverse; gap:16px; }
.footer-base p { margin:0; font-size:10px; line-height:20px; }
.footer-base span,.footer-base a { font-size:12px; line-height:18px; }
.footer-base nav { display:flex; gap:24px; }

@media (max-width:1500px) {
  .utility { padding:0 32px; }
  .navbar { padding:0 32px; }
  .nav-links { display:none; }
  .hero { height:auto; padding:70px 32px; display:flex; flex-direction:column; gap:35px; }
  .hero-art { inset:0; width:100%; height:100%; opacity:.72; }
  .hero-copy,.feature-card,.hero-benefits,.pause { position:relative; inset:auto; z-index:1; }
  .hero-copy { width:auto; }
  .feature-card { align-self:flex-end; max-width:100%; }
  .hero-benefits { display:grid; grid-template-columns:repeat(3,1fr); }
  .metrics { height:auto; padding:70px 32px; grid-template-columns:1fr 1fr; }
  .metrics-heading { grid-column:1/-1; }
  .metric-viewport { grid-column:1/-1; width:calc(100% + min(120px,10vw)); }
  .metric-track .metric-card { flex-basis:calc((100% - 26px)/2); width:calc((100% - 26px)/2); }
  .metric-arrows { position:static; grid-column:1/-1; margin-top:-10px; }
  .why { height:auto; padding:90px 32px; }
  .section-title,.why-copy,.why-visual { position:relative; inset:auto; transform:none; margin:0 auto; max-width:100%; }
  .why-copy { margin-top:300px; }
  .why-visual { margin-top:70px; }
  .services { height:auto; padding:80px 32px; }
  .services .section-title,.service-grid { position:relative; inset:auto; transform:none; margin:0 auto; }
  .service-grid { margin-top:220px; width:100%; grid-template-columns:repeat(2,minmax(0,533px)); justify-content:center; }
  .how-it-works { height:auto; padding:70px 32px; }
  .how-copy,.how-office,.process-grid { position:relative; inset:auto; }
  .how-office { display:block; margin:40px 0 0 auto; max-width:100%; }
  .process-grid { margin-top:50px; grid-template-columns:repeat(2,1fr); }
  .logo-wall { padding:0 32px; overflow-x:auto; }
  .logo-row { min-width:1662px; }
  .security-story { width:calc(100% - 64px); }
  .testimonial-intro { left:32px; }
  .testimonial-cards { left:540px; right:32px; width:auto; }
  .site-footer { height:auto; padding:70px 32px; }
  .footer-columns { grid-template-columns:repeat(3,1fr); gap:50px; }
  .footer-lower,.footer-base { position:relative; inset:auto; margin-top:70px; }
}
@media (max-width:700px) {
  .site-header { height:auto; }
  .utility { display:none; }
  .navbar { height:92px; padding:0 20px; }
  .logo { width:145px; }
  .nav-actions .outline { display:none; }
  .hero h1 { font-size:48px; }
  .hero-copy>p br { display:none; }
  .feature-card { width:100%; height:auto; }
  .feature-card img { width:100%; }
  .hero-benefits { grid-template-columns:1fr; width:100%; }
  .metrics { grid-template-columns:1fr; }
  .metrics-heading h2 { font-size:52px; }
  .metric-track .metric-card { width:100%; flex-basis:100%; }
  .section-title { width:100%; }
  .section-title h2 { font-size:38px; }
  .why-copy { margin-top:260px; width:100%; }
  .why-visual { width:100%; height:330px; }
  .why-main-photo { left:20px; top:30px; width:58%; height:72%; }
  .growth { left:auto; right:15px; }
  .service-grid { grid-template-columns:1fr; margin-top:190px; }
  .service,.service-art { width:100%; }
  .how-copy { width:100%; }
  .how-copy h2 { width:100%; font-size:48px; }
  .how-copy p { width:100%; margin-left:0; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { min-width:0; padding-left:28px; padding-right:28px; }
  .process-grid p { width:100%; }
  .reach { height:auto; padding:60px 20px; }
  .reach p { padding:0 15px; }
  .logo-wall { margin-top:0; }
  .security-story { height:620px; margin-top:50px; }
  .security-panel { left:15px; top:20px; width:calc(100% - 30px); height:560px; }
  .security-copy { left:35px; top:35px; width:calc(100% - 70px); }
  .security-copy h2 { font-size:32px; }
  .security-actions { flex-direction:column; align-items:flex-start; }
  .security-next { width:58px; height:58px; }
  .testimonials { height:auto; padding:70px 20px; }
  .testimonial-intro,.testimonial-cards { position:relative; inset:auto; width:100%; }
  .testimonial-intro h2 { font-size:52px; }
  .testimonial-intro>p { width:100%; font-size:18px; }
  .testimonial-cards { margin-top:50px; grid-template-columns:1fr; }
  .testimonial-card.primary { grid-column:auto; }
  .testimonial-card.primary blockquote { font-size:18px; line-height:29px; }
  .contact-heading { width:100%; padding:0 20px; }
  .contact-heading h2 { font-size:38px; }
  .contact-heading p { width:100%; }
  .contact-form { width:calc(100% - 40px); padding:36px 28px; }
  .contact-network { right:-44px; width:340px; height:310px; }
  .contact-dots { left:-26px; width:390px; height:300px; }
  .footer-columns { grid-template-columns:1fr; }
  .footer-lower,.footer-base { flex-direction:column; align-items:flex-start; gap:40px; }
  .footer-base>div { width:100%; }
  .newsletter { width:100%; }
  .newsletter h3,.newsletter label,.newsletter small { margin-left:0; }
  .footer-base nav { flex-wrap:wrap; }
}
