:root{--navy:#09264b;--ink:#10294a;--teal:#0887a6;--sky:#eaf7fb;--line:#e3edf1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7fbfd;color:var(--ink);font:13px/1.6 Inter,Arial,sans-serif}.site-header{height:76px;display:flex;align-items:center;gap:34px;padding:0 6.4%;background:#fff;position:absolute;top:0;left:0;right:0;z-index:5}.brand{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:17px;font-weight:800;letter-spacing:-.04em;text-decoration:none;margin-right:auto}.brand-mark{font-size:27px;font-style:italic;line-height:1;color:#108dab;display:inline-block;transform:skew(-14deg)}.nav{display:flex;gap:25px}.nav a{color:#142744;font-size:10px;text-decoration:none;transition:color .2s}.nav a:hover,.service-card a,.heading-side a{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;background:#087f9e;border:1px solid #087f9e;color:#fff;border-radius:5px;padding:10px 20px;font-size:10px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:#056a85;transform:translateY(-2px);box-shadow:0 8px 18px #087f9e30}.button-small{padding:9px 17px}.button-ghost{background:transparent;color:var(--teal);border-color:#75b4c3;margin-left:8px}.button-ghost:hover{background:#fff;color:var(--teal)}.play{font-size:9px;margin-right:8px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:484px;padding:137px 6.5% 82px;display:flex;align-items:flex-start;background:linear-gradient(90deg,#edf6fb 0%,#eaf5faea 35%,#dbeefa50 60%,#8bb4d500),url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat}.hero-copy{max-width:570px}.eyebrow{font-size:8px;letter-spacing:.18em;color:#147f99;font-weight:700;margin:0 0 12px}.hero h1{font-size:39px;line-height:1.17;letter-spacing:-.055em;margin:0;color:var(--navy);font-weight:700}.hero h1 span,h2 span{color:#0787a7}.hero-text{margin:15px 0 24px;color:#304968;font-size:11px}.stats{max-width:87%;margin:-34px auto 0;position:relative;background:#fff;box-shadow:0 10px 25px #183d5212;border-radius:7px;display:grid;grid-template-columns:repeat(4,1fr);padding:15px 12px}.stat{display:flex;gap:16px;align-items:center;padding:3px 30px;border-right:1px solid #e6eef2}.stat:last-child{border:0}.stat-icon{font-size:25px;color:#167591}.stat strong,.stat small{display:block}.stat strong{font-size:13px}.stat small{font-size:8px;color:#61738a}.section{max-width:87%;margin:auto}.services{padding:56px 0 36px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.section h2{font-size:24px;line-height:1.18;letter-spacing:-.045em;margin:0}.heading-side{color:#50647b;font-size:9px;line-height:1.6}.heading-side p{margin:0 0 10px}.heading-side a,.service-card a{font-size:9px;text-decoration:none;font-weight:600}.heading-side b,.service-card b{font-size:15px;margin-left:4px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{background:white;padding:17px 16px 15px;min-height:158px;border:1px solid #f0f4f5;box-shadow:0 6px 16px #31566d08;border-radius:4px;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #31566d18}.service-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:4px;font-size:21px;margin-bottom:12px}.sky{background:#eaf9fc;color:#168da4}.mint{background:#eff9ef;color:#67a268}.violet{background:#f4f0ff;color:#8d74d3}.peach{background:#fff3ec;color:#e6a172}.service-card h3{font-size:11px;margin:0 0 4px}.service-card p{font-size:9px;line-height:1.5;color:#6a7789;margin:0 0 12px;max-width:155px}.about{display:grid;grid-template-columns:1fr 1.08fr;gap:65px;padding:30px 0 46px;align-items:center}.about-copy>p:not(.eyebrow){max-width:315px;font-size:9px;color:#66778c;line-height:1.7;margin:15px 0 12px}.about h2{font-size:22px}.about ul{list-style:none;padding:0;margin:0 0 16px;color:#5f7289;font-size:9px}.about li{margin:4px 0}.about li:before{content:'✓';color:#1386a1;border:1px solid #a8d6dc;border-radius:50%;display:inline-grid;place-items:center;width:13px;height:13px;margin-right:7px}.about-visual{height:212px;border-radius:7px;background:url('https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?auto=format&fit=crop&w=1000&q=85') center/cover;position:relative}.experience{position:absolute;right:-13px;bottom:-16px;background:#fff;border-radius:5px;box-shadow:0 8px 20px #163c531b;padding:16px 20px;width:145px}.experience strong{font-size:22px;display:block}.experience b,.experience small{display:block}.experience b{font-size:9px}.experience small{font-size:7px;color:#738297;line-height:1.4;margin-top:4px}.logos{background:#fff;padding:19px 6.5% 24px}.logos p{font-size:7px;letter-spacing:.15em;color:#77879a;margin:0 0 14px}.logos div{display:flex;justify-content:space-between;align-items:center;color:#8892a2;font-size:15px;font-weight:600}.logos span:nth-child(3){font-size:18px;font-weight:700}.logos span:nth-child(4){font-size:17px}.logos span:nth-child(5){font-family:Georgia;font-size:18px;letter-spacing:.08em}footer{display:flex;justify-content:space-between;padding:18px 6.5%;font-size:9px;color:#718094;background:#f7fbfd} @media(max-width:800px){.site-header{padding:0 5%;height:66px}.nav,.site-header>.button{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{width:20px;height:2px;background:var(--navy)}.hero{padding:120px 7% 100px;min-height:530px;background-position:65% center}.hero h1{font-size:34px}.stats{max-width:90%;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}.stat{padding:8px 10px;border-right:0}.section{max-width:90%}.section-heading{display:block}.heading-side{margin-top:14px}.service-grid{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr;gap:30px}.about-visual{height:220px}.logos div{flex-wrap:wrap;gap:18px}.logos span{min-width:25%}}@media(max-width:480px){.hero{background-position:60% center}.hero h1{font-size:30px}.hero-text br{display:none}.hero-actions{display:flex;flex-wrap:wrap;gap:8px}.button-ghost{margin-left:0}.stats{margin-top:-32px;grid-template-columns:1fr 1fr}.stat{gap:8px}.stat-icon{font-size:19px}.service-grid{grid-template-columns:1fr}.service-card{min-height:135px}.about{padding-top:25px}.experience{right:10px}.logos div{font-size:12px}.logos span{min-width:28%}footer{display:block}footer span{display:block;margin:4px 0}}

@media (min-width: 801px) {
  .site-header { max-width: 1240px; margin: auto; padding-left: 48px; padding-right: 48px; }
  .hero { max-width: 1240px; margin: auto; min-height: 466px; padding-left: 48px; padding-right: 48px; padding-top: 132px; padding-bottom: 76px; }
  .stats { max-width: 1140px; }
  .section { max-width: 1140px; }
}

@media (min-width: 801px) {
  .site-header { max-width: 1400px; padding-left: 58px; padding-right: 58px; }
  .hero { max-width: 1400px; padding-left: 58px; padding-right: 58px; }
  .stats, .section { max-width: 1280px; }
}

:root { --navy:#111b93; --ink:#1d225d; --teal:#a60084; --sky:#f8eef8; --line:#ead8e8; }
.brand-logo { width: 132px; height: 55px; object-fit: contain; object-position: left center; display:block; }
.brand { color: #111b93; }
.button { background:#a60084; border-color:#a60084; }
.button:hover { background:#85006a; box-shadow:0 8px 18px #a6008430; }
.button-ghost { color:#a60084; border-color:#c47bb5; }
.button-ghost:hover { color:#85006a; }
.eyebrow, .nav a:hover, .service-card a, .heading-side a { color:#a60084; }
.hero h1 span, h2 span { color:#a60084; }
.stat-icon { color:#111b93; }
.service-icon.sky { background:#f0efff; color:#111b93; }
.service-icon.mint { background:#f9eaf6; color:#a60084; }
.service-icon.violet { background:#eeeaff; color:#4d42aa; }
.service-icon.peach { background:#fff0f5; color:#a60084; }
.about li:before { color:#a60084; border-color:#d5a3ca; }

.site-header { max-width: none !important; width: 100%; background: #ffffff !important; box-shadow: 0 1px 0 #e7e9f4, 0 4px 14px #17205c0b; }

.site-header { background: transparent !important; box-shadow: none !important; }

@media (min-width: 801px) {
  .site-header { max-width: 1240px !important; margin: auto; padding-left: 48px; padding-right: 48px; }
}

@media (min-width: 801px) { .hero { min-height: 516px; } }
@media (max-width: 800px) { .hero { min-height: 580px; } }

/* Type scale refinement */
.nav a { font-size: 12px; }
.hero h1 { font-size: 43px; }
.hero-text { font-size: 13px; }
.eyebrow { font-size: 10px; }
.section h2 { font-size: 28px; }
.heading-side { font-size: 11px; }
.stat strong { font-size: 16px; }
.stat small { font-size: 10px; }
.service-card h3 { font-size: 14px; }
.service-card p { font-size: 11px; }
.service-card a, .heading-side a { font-size: 11px; }
.about-copy>p:not(.eyebrow) { font-size: 11px; }
.about ul { font-size: 11px; }
.about h2 { font-size: 26px; }
.experience strong { font-size: 25px; }
.experience b { font-size: 11px; }
.experience small { font-size: 9px; }
.logos p { font-size: 9px; }
footer { font-size: 10px; }
@media (max-width: 800px) {
  .nav a { font-size: 14px; }
  .hero h1 { font-size: 36px; }
  .section h2, .about h2 { font-size: 25px; }
}

/* Larger readable scale */
.nav a { font-size: 14px; }
.hero h1 { font-size: 48px; }
.hero-text { font-size: 15px; }
.eyebrow { font-size: 11px; }
.section h2 { font-size: 32px; }
.heading-side { font-size: 13px; }
.stat strong { font-size: 18px; }
.stat small { font-size: 12px; }
.service-card h3 { font-size: 16px; }
.service-card p { font-size: 13px; }
.service-card a, .heading-side a { font-size: 13px; }
.about-copy>p:not(.eyebrow) { font-size: 13px; }
.about ul { font-size: 13px; }
.about h2 { font-size: 30px; }
.experience b { font-size: 13px; }
.experience small { font-size: 10px; }
.logos p { font-size: 10px; }
footer { font-size: 11px; }
@media (max-width: 800px) {
  .nav a { font-size: 16px; }
  .hero h1 { font-size: 40px; }
  .hero-text { font-size: 14px; }
  .section h2, .about h2 { font-size: 28px; }
  .service-card h3 { font-size: 15px; }
  .service-card p { font-size: 12px; }
}

/* Final typography increase */
.nav a { font-size: 16px; }
.hero h1 { font-size: 54px; }
.hero-text { font-size: 16px; }
.eyebrow { font-size: 12px; }
.section h2 { font-size: 36px; }
.heading-side { font-size: 14px; }
.stat strong { font-size: 20px; }
.stat small { font-size: 13px; }
.service-card h3 { font-size: 18px; }
.service-card p { font-size: 15px; }
.service-card a, .heading-side a { font-size: 14px; }
.about-copy>p:not(.eyebrow) { font-size: 15px; }
.about ul { font-size: 14px; }
.about h2 { font-size: 34px; }
.experience b { font-size: 14px; }
.experience small { font-size: 11px; }
.logos p { font-size: 11px; }
footer { font-size: 12px; }
@media (max-width: 800px) {
  .nav a { font-size: 18px; }
  .hero h1 { font-size: 44px; }
  .hero-text { font-size: 15px; }
  .section h2, .about h2 { font-size: 31px; }
  .service-card h3 { font-size: 17px; }
  .service-card p { font-size: 14px; }
}

.site-footer { background:#111b93; color:#fff; padding:58px max(6.5%, calc((100% - 1280px) / 2)) 24px; }
.footer-grid { display:grid; grid-template-columns:1.5fr .8fr .95fr 1.4fr; gap:48px; max-width:1280px; margin:auto; }
.footer-logo { width:170px; height:68px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); margin-left:-6px; }
.footer-brand p, .footer-contact p { color:#d7daf6; font-size:14px; line-height:1.7; max-width:250px; margin:14px 0 0; }
.site-footer h3 { font-size:15px; margin:10px 0 17px; color:#fff; }
.site-footer a { display:block; color:#d7daf6; text-decoration:none; font-size:13px; margin:9px 0; transition:color .2s, transform .2s; }
.site-footer a:hover { color:#ff8eda; transform:translateX(3px); }
.footer-cta { color:#fff !important; background:#a60084; border-radius:5px; display:inline-flex !important; padding:11px 16px; margin-top:14px !important; }
.footer-cta b { font-size:18px; margin-left:8px; line-height:1; }
.footer-bottom { max-width:1280px; margin:48px auto 0; padding-top:18px; border-top:1px solid #ffffff2b; display:flex; justify-content:space-between; color:#bfc5ef; font-size:11px; }
@media (max-width:800px) { .site-footer { padding:42px 7% 20px; } .footer-grid { grid-template-columns:1fr 1fr; gap:25px 20px; } .footer-brand, .footer-contact { grid-column:1/-1; } .footer-bottom { display:block; line-height:1.8; margin-top:30px; } }
@media (max-width:480px) { .footer-grid { grid-template-columns:1fr; } .site-footer h3 { margin-bottom:10px; } }

.service-grid { grid-template-columns:repeat(3,1fr); }
.service-card { min-height:205px; }
@media (max-width:800px) { .service-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .service-grid { grid-template-columns:1fr; } }

.service-icon { width:68px; height:68px; border-radius:18px; position:relative; overflow:visible; margin-bottom:18px; transition:transform .35s ease, box-shadow .35s ease; }
.service-icon::before { content:""; position:absolute; inset:-8px; border-radius:24px; border:1px solid currentColor; opacity:.15; transform:rotate(-8deg); transition:transform .35s ease, opacity .35s ease; }
.service-icon::after { content:""; position:absolute; width:25px; height:25px; right:-8px; top:-8px; border-radius:50%; background:currentColor; opacity:.12; filter:blur(3px); }
.service-icon svg { width:39px; height:39px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; position:relative; z-index:1; transition:transform .35s ease; }
.service-card:hover .service-icon { transform:translateY(-6px) rotate(-3deg); box-shadow:0 12px 25px currentColor; }
.service-card:hover .service-icon::before { transform:rotate(12deg) scale(1.1); opacity:.3; }
.service-card:hover .service-icon svg { transform:scale(1.14) rotate(5deg); }

/* Service cards inspired by the APSI services layout */
.service-card { position:relative; overflow:hidden; min-height:300px; padding:30px 28px 25px; border:1px solid #edf0fb; border-radius:16px; box-shadow:0 12px 28px #111b9310; background:#fff; }
.service-card::before { content:counter(service-card, decimal-leading-zero); counter-increment:service-card; position:absolute; top:10px; right:20px; color:#111b9313; font-size:76px; line-height:1; font-weight:800; letter-spacing:-.08em; pointer-events:none; }
.service-grid { counter-reset:service-card; gap:20px; }
.service-card::after { content:""; position:absolute; left:0; bottom:0; width:100%; height:4px; background:linear-gradient(90deg,#111b93,#a60084); transform:scaleX(.15); transform-origin:left; transition:transform .35s ease; }
.service-card:hover { transform:translateY(-8px); box-shadow:0 22px 38px #111b9322; }
.service-card:hover::after { transform:scaleX(1); }
.service-card .service-icon { position:relative; z-index:1; }
.service-card h3, .service-card p, .service-card a { position:relative; z-index:1; }
.service-card h3 { max-width:82%; margin-bottom:10px; }
.service-card p { max-width:270px; line-height:1.65; }
.service-card a { display:inline-flex; align-items:center; gap:8px; margin-top:10px; }
.service-card a b { display:grid; place-items:center; width:26px; height:26px; border:1px solid currentColor; border-radius:50%; font-size:16px; transition:transform .25s ease, background .25s ease; }
.service-card:hover a b { transform:translateX(4px); background:#a60084; color:#fff; }
@media (max-width:800px) { .service-card { min-height:270px; padding:24px 22px 22px; } .service-card::before { font-size:62px; } }

/* Static service cards: keep the structure, remove motion effects */
.service-card, .service-icon, .service-icon svg, .service-icon::before, .service-card::after, .service-card a b { transition:none !important; }
.service-card:hover { transform:none !important; box-shadow:0 12px 28px #111b9310 !important; }
.service-card::after { transform:scaleX(1) !important; opacity:.35; }
.service-card:hover .service-icon { transform:none !important; box-shadow:none !important; }
.service-card:hover .service-icon::before { transform:rotate(-8deg) !important; opacity:.15 !important; }
.service-card:hover .service-icon svg { transform:none !important; }
.service-card:hover a b { transform:none !important; background:transparent !important; color:inherit !important; }

/* Minimal cards without illustrative icons */
.service-icon { display:none !important; }
.service-icon::before, .service-icon::after { display:none !important; }

/* APSI-inspired icon language: clean line icons and restrained motion */
.service-icon { display:grid !important; place-items:center; width:54px; height:54px; margin-bottom:18px; border-radius:12px; position:relative; overflow:visible; box-shadow:none; transform:none; transition:transform .25s ease, box-shadow .25s ease !important; }
.service-icon::before { display:none !important; }
.service-icon::after { display:none !important; }
.service-icon svg { display:block; width:30px; height:30px; stroke-width:1.8; transition:transform .25s ease !important; }
.service-card:hover { transform:translateY(-5px) !important; box-shadow:0 18px 32px #111b9318 !important; }
.service-card:hover .service-icon { transform:translateY(-2px) !important; box-shadow:0 8px 16px #111b9318 !important; }
.service-card:hover .service-icon svg { transform:scale(1.08) !important; }
.service-card:hover .service-icon::before { display:none !important; }
.service-card:hover a b { transform:translateX(3px) !important; background:#a60084 !important; color:#fff !important; }

/* APSI service-card interaction model adapted to Erosis colors */
.service-grid { gap:26px; counter-reset:service-card; }
.service-card { background:#fff; border-radius:12px; border:1px solid #e8eaf5; padding:28px 24px 22px; min-height:300px; transition:all .35s ease !important; position:relative; overflow:hidden; box-shadow:none; }
.service-card::before { content:counter(service-card, decimal-leading-zero); counter-increment:service-card; position:absolute; top:10px; right:14px; font-size:24px; line-height:1; font-weight:700; letter-spacing:0; color:#111b9313; transition:color .35s ease; }
.service-card::after { content:""; position:absolute; top:0; left:0; right:0; height:3px; bottom:auto; width:auto; background:#a60084; transform:scaleX(0) !important; transform-origin:left; opacity:1; transition:transform .4s ease !important; }
.service-card:hover { transform:translateY(-8px) !important; box-shadow:0 18px 34px #111b9322 !important; border-color:transparent; }
.service-card:hover::before { color:#a600848c; }
.service-card:hover::after { transform:scaleX(1) !important; }
.service-card .service-icon { width:62px; height:62px; border-radius:50%; margin-bottom:22px; transition:all .35s ease !important; box-shadow:none !important; transform:none !important; }
.service-card .service-icon svg { width:30px; height:30px; transition:none !important; }
.service-card:hover .service-icon { background:#a60084 !important; color:#fff !important; transform:none !important; box-shadow:none !important; }
.service-card:hover .service-icon svg { transform:none !important; }
.service-card h3 { font-size:19px; font-weight:600; margin-bottom:12px; }
.service-card p { font-size:14.5px; color:#30355b; }
.service-card a { margin-top:18px; }
.service-card a b { width:auto; height:auto; border:0; border-radius:0; font-size:16px; background:transparent !important; color:inherit !important; transition:none !important; }
.service-card:hover a b { transform:none !important; }

.service-grid .service-card:nth-child(n+4) { display:none; }
.service-grid.show-all .service-card:nth-child(n+4) { display:block; }
.services-toggle { margin:28px auto 0; display:grid; place-items:center; width:50px; height:50px; border-radius:50%; border:1.5px solid #111b93; background:transparent; color:#111b93; cursor:pointer; font-size:24px; line-height:1; transition:all .3s ease; }
.services-toggle:hover { background:#111b93; color:#fff; box-shadow:0 10px 22px #111b9330; }
.services-toggle span { display:block; transform:translateY(-2px); }

.services-toggle { width:48px; height:48px; border-radius:50%; border:1.5px solid #111b93; background:transparent; color:#111b93; box-shadow:none; font-size:initial; }
.services-toggle:hover { background:transparent; color:#111b93; box-shadow:none; }
.services-toggle .toggle-arrow { display:grid; place-items:center; width:22px; height:22px; font-size:25px; line-height:18px; font-family:Arial,sans-serif; }

/* APSI-style card action links */
.service-card a { display:inline-flex; align-items:center; gap:8px; margin-top:18px; color:#087f9e; font-size:13px; font-weight:600; text-decoration:none; }
.service-card a:hover { color:#111b93; }
.service-card a b { display:inline; width:auto; height:auto; margin-left:0; border:0; border-radius:0; font-size:18px; line-height:1; font-weight:400; background:transparent !important; color:currentColor !important; }
.service-card:hover a b { transform:none !important; background:transparent !important; color:currentColor !important; }

.searchinform-section { padding:42px 0 50px; }
.searchinform-panel { display:grid; grid-template-columns:.9fr 1.1fr; gap:42px; align-items:stretch; padding:38px; border-radius:18px; background:linear-gradient(135deg,#111b93 0%,#202a9e 58%,#a60084 150%); color:#fff; overflow:hidden; position:relative; }
.searchinform-panel::after { content:""; position:absolute; width:310px; height:310px; border:1px solid #ffffff25; border-radius:50%; right:-105px; top:-120px; box-shadow:0 0 0 26px #ffffff0c,0 0 0 52px #ffffff08; }
.searchinform-copy { position:relative; z-index:1; }
.searchinform-copy .eyebrow { color:#f3a8de; }
.searchinform-copy h2 { color:#fff; font-size:34px; margin:0 0 15px; }
.searchinform-copy h2 span { color:#f5b1e1; }
.searchinform-copy > p:not(.eyebrow) { color:#e7e9ff; font-size:14px; line-height:1.75; max-width:460px; margin:0 0 22px; }
.searchinform-copy .button { background:#fff; border-color:#fff; color:#111b93; }
.searchinform-copy .button:hover { background:#f9e8f6; color:#a60084; }
.searchinform-copy .button b { font-size:17px; margin-left:8px; }
.searchinform-features { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; position:relative; z-index:1; }
.searchinform-features div { display:flex; align-items:center; gap:12px; min-height:54px; padding:10px 12px; border:1px solid #ffffff25; border-radius:10px; background:#ffffff0d; }
.searchinform-features b { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#ffffff18; color:#f5b1e1; font-size:10px; flex-shrink:0; }
.searchinform-features span { color:#fff; font-size:11px; line-height:1.35; }
@media (max-width:800px) { .searchinform-panel { grid-template-columns:1fr; padding:28px 22px; } .searchinform-copy h2 { font-size:29px; } }
@media (max-width:480px) { .searchinform-features { grid-template-columns:1fr; } }

.searchinform-copy > p:not(.eyebrow) { font-size:16px; line-height:1.8; }
.searchinform-features span { font-size:13px; }
.searchinform-features b { width:30px; height:30px; font-size:11px; }
@media (max-width:800px) { .searchinform-copy > p:not(.eyebrow) { font-size:15px; } .searchinform-features span { font-size:13px; } }

.searchinform-panel { background:linear-gradient(90deg,#071337e8 0%,#071337c9 48%,#0713379c 100%),url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat; }
.searchinform-panel::after { border-color:#ffffff1c; box-shadow:0 0 0 26px #ffffff08,0 0 0 52px #ffffff05; }

.searchinform-panel { background:linear-gradient(90deg,#071337e8 0%,#071337c6 48%,#07133780 100%),url('https://images.unsplash.com/photo-1484417894907-623942c8ee29?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat; }

.searchinform-panel { background:linear-gradient(90deg,#071337e8 0%,#071337c6 48%,#07133780 100%),url('https://cdn.durable.co/getty/3a4tLOAHwAglMcKGZvKKf8lcYkfSESAJFpJng9zaRWeBKFRUv9RFihdgtHrrXP5K.jpeg') center/cover no-repeat; }

.searchinform-panel { background:linear-gradient(90deg,#040a22f5 0%,#071337e8 55%,#071337d9 100%),url('https://cdn.durable.co/getty/3a4tLOAHwAglMcKGZvKKf8lcYkfSESAJFpJng9zaRWeBKFRUv9RFihdgtHrrXP5K.jpeg') center/cover no-repeat; }
.searchinform-copy h2, .searchinform-copy > p:not(.eyebrow), .searchinform-features span { color:#fff !important; text-shadow:0 1px 3px #0008; }
.searchinform-features div { background:#050a25b8; border-color:#ffffff35; }

.searchinform-features div { background:transparent !important; border:0 !important; padding:9px 0; }

.searchinform-copy > p:not(.eyebrow) { font-size:18px; }
.searchinform-features span { font-size:15px; }
.searchinform-features b { width:32px; height:32px; font-size:12px; }
@media (max-width:800px) { .searchinform-copy > p:not(.eyebrow) { font-size:16px; } .searchinform-features span { font-size:14px; } }

.searchinform-copy > p:not(.eyebrow) { font-size:20px; line-height:1.75; }
.searchinform-features span { font-size:17px; }
.searchinform-features b { width:34px; height:34px; font-size:13px; }
@media (max-width:800px) { .searchinform-copy > p:not(.eyebrow) { font-size:18px; } .searchinform-features span { font-size:16px; } }

.searchinform-features b { background:#fff !important; color:#111b93 !important; }

.searchinform-copy .button { background:transparent !important; border:1px solid #fff !important; color:#fff !important; padding:13px 22px; font-size:15px; }
.searchinform-copy .button:hover { background:transparent !important; border-color:#f5b1e1 !important; color:#f5b1e1 !important; }

.demo-cta { display:flex; align-items:center; justify-content:center; gap:18px; padding:8px 0 38px; }
.demo-cta p { margin:0; color:#111b93; font-size:18px; font-weight:600; }
.demo-arrow { display:grid; place-items:center; width:48px; height:48px; border:1.5px solid #111b93; border-radius:50%; background:transparent; color:#111b93; text-decoration:none; font-size:26px; line-height:1; transition:background .25s ease,color .25s ease; }
.demo-arrow:hover { background:#111b93; color:#fff; }
.demo-arrow span { transform:translateY(-2px); }
@media (max-width:480px) { .demo-cta { gap:12px; } .demo-cta p { font-size:15px; } }

body.modal-open { overflow:hidden; }
.demo-modal { display:none; position:fixed; inset:0; z-index:20; align-items:center; justify-content:center; padding:20px; }
.demo-modal.is-open { display:flex; }
.demo-modal-backdrop { position:absolute; inset:0; background:#071337b8; backdrop-filter:blur(5px); }
.demo-dialog { position:relative; z-index:1; width:min(100%,620px); max-height:92vh; overflow:auto; padding:38px; border-radius:18px; background:#fff; box-shadow:0 28px 80px #07133755; }
.demo-close { position:absolute; top:14px; right:16px; width:34px; height:34px; border:0; border-radius:50%; background:#f3eef7; color:#111b93; font-size:25px; line-height:1; cursor:pointer; }
.demo-dialog h2 { margin:0 0 10px; color:#111b93; font-size:30px; }
.demo-intro { margin:0 0 22px; color:#56617e; font-size:14px; line-height:1.6; }
.demo-form { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.demo-form label { display:grid; gap:6px; color:#1d225d; font-size:12px; font-weight:600; }
.demo-form input, .demo-form textarea { width:100%; border:1px solid #dfe2f0; border-radius:7px; padding:12px; color:#1d225d; font:inherit; resize:vertical; outline:none; }
.demo-form input:focus, .demo-form textarea:focus { border-color:#a60084; box-shadow:0 0 0 3px #a6008415; }
.full-field { grid-column:1/-1; }
.demo-submit { border:0; cursor:pointer; margin-top:4px; }
.demo-success { grid-column:1/-1; color:#14815d; font-size:13px; margin:0; }
@media (max-width:520px) { .demo-dialog { padding:30px 20px 24px; } .demo-form { grid-template-columns:1fr; } .full-field, .demo-success { grid-column:auto; } }

.demo-form select { width:100%; border:1px solid #dfe2f0; border-radius:7px; padding:12px; background:#fff; color:#1d225d; font:inherit; outline:none; }
.demo-form select:focus { border-color:#a60084; box-shadow:0 0 0 3px #a6008415; }

.demo-form { gap:22px; }
.demo-form label { gap:9px; }
.demo-form input, .demo-form select, .demo-form textarea { padding:14px; }
.demo-submit { margin-top:8px; }
@media (max-width:520px) { .demo-form { gap:18px; } }

.demo-submit { grid-column:1/-1; width:100%; justify-content:center; padding:15px 22px; font-size:17px; }
.demo-submit b { font-size:20px; margin-left:8px; }

.nav a { font-size:18px; }
.site-header > .button { padding:13px 23px; font-size:15px; }
.hero-actions .button { padding:14px 25px; font-size:15px; }
.hero-actions .play { font-size:12px; margin-right:9px; }
@media (max-width:800px) { .nav a { font-size:19px; } .hero-actions .button { font-size:14px; padding:13px 20px; } }

.nav a { font-size:20px; }
.site-header > .button { font-size:17px; }
.hero-actions .button { font-size:17px; }
@media (max-width:800px) { .nav a { font-size:21px; } .hero-actions .button { font-size:16px; } }

.nav a { font-size:16px; }
.site-header > .button { font-size:15px; }
.hero-actions .button { font-size:15px; }
@media (max-width:800px) { .nav a { font-size:18px; } .hero-actions .button { font-size:14px; } }

.hero-actions .button, .hero-actions .button-ghost { background:transparent !important; border-color:#a60084 !important; color:#000 !important; }
.hero-actions .button:hover, .hero-actions .button-ghost:hover { background:transparent !important; border-color:#7d0065 !important; color:#000 !important; box-shadow:0 6px 16px #a6008420; }
.hero-actions .play { color:#000; }

.service-grid.show-all .service-card:nth-child(n+4) { animation:serviceCardReveal .45s ease both; }
.service-grid.show-all .service-card:nth-child(4) { animation-delay:.04s; }
.service-grid.show-all .service-card:nth-child(5) { animation-delay:.1s; }
.service-grid.show-all .service-card:nth-child(6) { animation-delay:.16s; }
@keyframes serviceCardReveal { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
.services-toggle .toggle-arrow { transition:transform .3s ease; }
.service-grid.show-all + .services-toggle .toggle-arrow { transform:rotate(180deg); }

.about-visual { min-height:310px; height:310px; background:url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1400&q=85') center/cover no-repeat; }
@media (max-width:800px) { .about-visual { min-height:280px; height:280px; } }

.about-visual { min-height:390px; height:390px; }
@media (max-width:800px) { .about-visual { min-height:340px; height:340px; } }

@media (min-width:801px) { .about { grid-template-columns:.82fr 1.35fr; gap:42px; } .about-visual { width:100%; } }

.about-visual { background:url('https://www.yiritechafrica.com/_next/static/media/skill.bbc16ece.png') center/cover no-repeat; }

.about-visual { background-image:url('engineers.jpg'); }

.footer-bottom { justify-content:center; align-items:center; gap:26px; text-align:center; }
.footer-bottom span + span { padding-left:26px; border-left:1px solid #ffffff35; }
@media (max-width:800px) { .footer-bottom { text-align:center; } .footer-bottom span + span { margin-top:6px; padding-left:0; border-left:0; display:block; } }

.newsletter-box { max-width:1280px; margin:0 auto 42px; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:28px; border-radius:14px; background:#fff; color:#111b93; }
.newsletter-kicker { margin:0 0 5px; color:#a60084; font-size:10px; font-weight:700; letter-spacing:.14em; }
.newsletter-box h3 { margin:0 0 5px; font-size:22px; }
.newsletter-box > div > p:last-child { margin:0; color:#626a88; font-size:13px; }
.newsletter-form { display:flex; align-items:center; gap:8px; min-width:min(100%,420px); position:relative; }
.newsletter-form input { flex:1; min-width:210px; padding:13px 14px; border:1px solid #dfe2f0; border-radius:6px; color:#1d225d; font:inherit; outline:none; }
.newsletter-form input:focus { border-color:#a60084; box-shadow:0 0 0 3px #a6008415; }
.newsletter-form button { padding:13px 17px; border:1px solid #a60084; border-radius:6px; background:#a60084; color:#fff; font:600 13px Inter,Arial,sans-serif; cursor:pointer; white-space:nowrap; }
.newsletter-form button b { margin-left:6px; font-size:16px; }
.newsletter-success { position:absolute; left:0; top:calc(100% + 8px); color:#14815d; font-size:11px; }
@media (max-width:800px) { .newsletter-box { display:block; margin-bottom:30px; padding:24px 20px; } .newsletter-form { margin-top:18px; min-width:0; } }
@media (max-width:480px) { .newsletter-form { display:grid; grid-template-columns:1fr; } .newsletter-form input { min-width:0; } }

.newsletter-box { max-width:1280px; margin:0 auto 42px; padding:30px 34px; display:flex; align-items:center; justify-content:space-between; gap:36px; border:1px solid #ece8f1; border-radius:18px; background:#fff; color:#111b93; box-shadow:0 16px 34px #050a2518; }
.newsletter-box h3 { font-size:25px; letter-spacing:-.02em; }
.newsletter-box > div > p:last-child { font-size:14px; }
.newsletter-form { min-width:min(100%,480px); }
.newsletter-form input { padding:15px 16px; border-radius:8px; font-size:14px; }
.newsletter-form button { padding:15px 20px; border-radius:8px; font-size:14px; }
@media (max-width:800px) { .newsletter-box { padding:26px 22px; } }

.hero { position:relative; overflow:hidden; isolation:isolate; background:#eaf5fa; }
.hero-slides { position:absolute; inset:0; z-index:-2; }
.hero-slide { position:absolute; inset:0; background-position:center; background-size:cover; opacity:0; transform:scale(1.04); transition:opacity .8s ease, transform 6s ease; }
.hero-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#edf6fbf2 0%,#edf6fbd8 34%,#07133735 72%,#07133765 100%); }
.hero-slide.is-active { opacity:1; transform:scale(1); }
.hero-slide span { position:absolute; right:6.5%; bottom:76px; z-index:1; padding:8px 14px; border:1px solid #fff8; border-radius:4px; color:#fff; background:#0713379c; font-size:11px; letter-spacing:.04em; }
.hero-dots { position:absolute; z-index:2; right:6.5%; bottom:28px; display:flex; gap:8px; }
.hero-dots button { width:8px; height:8px; padding:0; border:1px solid #111b93; border-radius:50%; background:transparent; cursor:pointer; transition:transform .25s ease, background .25s ease; }
.hero-dots button.is-active { background:#a60084; border-color:#a60084; transform:scale(1.35); }
@media (max-width:800px) { .hero-slide span { right:7%; bottom:78px; font-size:10px; } .hero-dots { right:7%; bottom:28px; } }

.partner-link { display:block; width:max-content; margin:22px auto 0; color:#111b93; font-size:13px; font-weight:600; text-decoration:none; }
.partner-link b { color:#a60084; font-size:17px; margin-left:6px; }
.partner-link:hover { color:#a60084; }

.partner-links { display:flex; align-items:center; justify-content:center; gap:28px; margin:24px auto 0; }
.partner-link { display:flex; align-items:center; gap:10px; width:auto; margin:0; color:#111b93; font-size:13px; font-weight:600; text-decoration:none; }
.partner-link img { width:94px; height:38px; object-fit:contain; }
.partner-link:nth-child(2) img { width:110px; }
.partner-link span { display:inline-flex; align-items:center; }
.partner-link b { color:#a60084; font-size:17px; margin-left:6px; }
.partner-link:hover { color:#a60084; }
@media (max-width:520px) { .partner-links { flex-direction:column; gap:16px; } }

.partner-link:nth-child(3) img { width:100px; height:42px; }

.partner-links { width:100%; justify-content:center; align-items:center; }
.partner-link { justify-content:center; }

.partner-links { gap:12px; }
.partner-link { gap:4px; }
@media (max-width:520px) { .partner-links { gap:10px; } }

.partner-links { gap:0; }
.partner-link { gap:0; margin:0 -3px; }

.nav { align-items:center; }
.nav-dropdown { position:relative; }
.nav-parent { display:inline-flex; align-items:center; gap:5px; padding:8px 0; border:0; background:transparent; color:#142744; font:inherit; font-size:16px; cursor:pointer; }
.nav-parent span { font-size:16px; line-height:1; color:#a60084; transition:transform .2s ease; }
.nav-dropdown.is-open .nav-parent span { transform:rotate(180deg); }
.nav-parent:hover, .nav-dropdown.is-open .nav-parent { color:#a60084; }
.dropdown-menu { position:absolute; top:calc(100% + 8px); left:50%; min-width:225px; padding:9px; border:1px solid #e8e4f1; border-radius:10px; background:#fff; box-shadow:0 16px 30px #111b9320; opacity:0; visibility:hidden; transform:translate(-50%, -6px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; z-index:10; }
.nav-dropdown:hover .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu, .nav-dropdown.is-open .dropdown-menu { opacity:1; visibility:visible; transform:translate(-50%, 0); }
.dropdown-menu a { display:block; padding:9px 11px; border-radius:6px; color:#1d225d; font-size:12px; line-height:1.35; white-space:nowrap; }
.dropdown-menu a:hover { background:#f8eef8; color:#a60084; }
@media (max-width:800px) { .nav { align-items:stretch; } .nav-dropdown { width:100%; } .nav-parent { width:100%; justify-content:space-between; font-size:18px; } .dropdown-menu { position:static; min-width:0; margin:0; padding:0 0 6px 14px; border:0; border-radius:0; box-shadow:none; transform:none !important; display:none; opacity:1; visibility:visible; } .nav-dropdown.is-open .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu { display:block; } .dropdown-menu a { padding:7px 0; font-size:14px; } }

.about-copy > .button { background:transparent !important; border:1px solid #a60084 !important; color:#111 !important; padding:13px 22px; font-size:15px; }
.about-copy > .button:hover { background:transparent !important; border-color:#7d0065 !important; color:#a60084 !important; box-shadow:0 6px 16px #a6008420; }

.contact-section { max-width:1140px; margin:0 auto; padding:58px 0 68px; display:grid; grid-template-columns:.8fr 1.2fr; gap:58px; align-items:start; }
.contact-intro h2 { margin:0 0 16px; color:#111b93; font-size:36px; line-height:1.15; }
.contact-intro h2 span { color:#a60084; }
.contact-intro > p:not(.eyebrow) { max-width:360px; color:#626a88; font-size:15px; line-height:1.75; }
.contact-form { padding:28px; border:1px solid #e7e4f0; border-radius:16px; background:#fff; box-shadow:0 14px 30px #111b9310; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:grid; gap:8px; color:#1d225d; font-size:12px; font-weight:600; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; border:1px solid #dfe2f0; border-radius:7px; padding:13px 14px; color:#1d225d; background:#fff; font:inherit; outline:none; resize:vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:#a60084; box-shadow:0 0 0 3px #a6008415; }
.contact-form .full-field { grid-column:1/-1; }
.contact-submit { margin-top:20px; width:100%; justify-content:center; padding:15px 22px; font-size:15px; border:1px solid #a60084; cursor:pointer; }
.contact-success { margin:14px 0 0; color:#14815d; font-size:13px; }
@media (max-width:800px) { .contact-section { padding:44px 5%; display:block; } .contact-intro { margin-bottom:28px; } .contact-intro h2 { font-size:30px; } }
@media (max-width:520px) { .contact-form { padding:22px 18px; } .contact-form-grid { grid-template-columns:1fr; gap:16px; } .contact-form .full-field { grid-column:auto; } }

.contact-intro { position:relative; padding-top:218px; }
.contact-intro::before { content:""; position:absolute; top:0; left:0; width:100%; height:190px; border-radius:14px; background:url('engineers.jpg') center/cover no-repeat; box-shadow:0 12px 24px #111b9318; }
@media (max-width:800px) { .contact-intro { padding-top:210px; } .contact-intro::before { height:185px; } }

.contact-intro { padding-top:0; }
.contact-intro::before { display:none; }
@media (max-width:800px) { .contact-intro { padding-top:0; } }

.contact-intro h2 { font-size:44px; }
@media (max-width:800px) { .contact-intro h2 { font-size:35px; } }

.contact-section { max-width:1280px; padding:78px 0 88px; grid-template-columns:.9fr 1.1fr; gap:78px; }
.contact-intro > p:not(.eyebrow) { max-width:480px; font-size:16px; }
.contact-form { padding:34px; }
@media (max-width:800px) { .contact-section { padding:56px 5%; display:block; } .contact-form { padding:28px 22px; } }

.contact-details { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; margin-top:24px; color:#626a88; font-size:13px; line-height:1.6; }
.contact-details p { margin:0; }
.contact-details strong { color:#111b93; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.contact-details a { color:#a60084; text-decoration:none; }
.contact-details a:hover { text-decoration:underline; }
@media (max-width:520px) { .contact-details { grid-template-columns:1fr; } }

.contact-details { font-size:16px; line-height:1.75; }
.contact-details strong { font-size:14px; }
.contact-details a { font-size:16px; }

.contact-details { padding:18px 20px; border:1.5px solid #111b93; border-radius:12px; background:#fff; }

/* Global responsive layout */
html, body { overflow-x:hidden; }
img, svg { max-width:100%; }
@media (max-width:1100px) {
  .site-header { padding-left:32px; padding-right:32px; gap:20px; }
  .nav { gap:14px; }
  .nav a, .nav-parent { font-size:14px; }
  .hero { padding-left:42px; padding-right:42px; }
  .section, .stats { max-width:92%; }
  .contact-section { max-width:92%; gap:40px; }
  .footer-grid { gap:28px; }
}
@media (max-width:800px) {
  .site-header { height:68px; padding:0 7%; }
  .brand-logo { width:118px; height:50px; }
  .nav { display:none; }
  .nav.open { display:flex; position:absolute; top:68px; left:0; right:0; padding:18px 7%; background:#fff; box-shadow:0 12px 25px #111b9318; gap:4px; z-index:20; }
  .site-header > .button { display:none; }
  .menu-toggle { display:flex; flex-direction:column; gap:5px; padding:8px; margin-left:auto; }
  .hero { min-height:580px; padding:128px 7% 110px; align-items:flex-start; }
  .hero-copy { max-width:100%; }
  .hero h1 { font-size:40px; }
  .hero-text { font-size:15px; }
  .hero-text br { display:none; }
  .hero-slide span { right:7%; bottom:78px; }
  .stats { max-width:90%; grid-template-columns:1fr 1fr; margin-top:-30px; padding:10px; }
  .stat { padding:10px 8px; gap:9px; }
  .stat-icon { font-size:20px; }
  .section, .contact-section { max-width:90%; }
  .services { padding-top:44px; }
  .section-heading { display:block; }
  .heading-side { margin-top:16px; }
  .service-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .service-card { min-height:280px; padding:24px 20px 20px; }
  .service-card h3 { font-size:17px; }
  .service-card p { font-size:13px; }
  .searchinform-panel { grid-template-columns:1fr; padding:30px 24px; }
  .searchinform-features { grid-template-columns:1fr 1fr; }
  .demo-cta { padding:10px 0 34px; }
  .about { grid-template-columns:1fr; gap:30px; }
  .about-visual { min-height:340px; height:340px; }
  .contact-section { display:grid; grid-template-columns:1fr; padding:58px 0 65px; gap:34px; }
  .contact-intro { padding-top:0; }
  .contact-form-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:25px 20px; }
  .footer-brand, .footer-contact { grid-column:1/-1; }
}
@media (max-width:600px) {
  .hero h1 { font-size:34px; }
  .hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
  .hero-actions .button { font-size:14px; padding:12px 17px; }
  .stats { grid-template-columns:1fr; max-width:88%; }
  .stat { justify-content:flex-start; padding:9px 18px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:0; }
  .searchinform-features { grid-template-columns:1fr; }
  .searchinform-copy h2 { font-size:30px; }
  .searchinform-copy > p:not(.eyebrow) { font-size:17px; }
  .contact-form-grid { grid-template-columns:1fr; }
  .contact-form .full-field { grid-column:auto; }
  .contact-details { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { display:block; text-align:center; }
  .footer-bottom span { display:block; }
  .footer-bottom span + span { margin-top:7px; padding-left:0; border-left:0; }
  .partner-links { flex-wrap:wrap; }
}
@media (max-width:380px) {
  .hero h1 { font-size:30px; }
  .hero { min-height:560px; }
  .hero-actions .button { width:100%; }
  .searchinform-panel { padding:26px 18px; }
  .demo-cta p { font-size:14px; }
}

@media (max-width:800px) {
  .site-header { position:absolute; z-index:30; }
  .menu-toggle { display:flex !important; visibility:visible; opacity:1; position:relative; z-index:32; border:0; background:transparent; cursor:pointer; }
  .nav { display:none !important; }
  .nav.open { display:flex !important; flex-direction:column; align-items:stretch; position:absolute; top:68px; left:0; right:0; width:100%; max-height:calc(100vh - 68px); overflow-y:auto; padding:18px 7% 24px; gap:3px; background:#fff; box-shadow:0 14px 30px #111b9325; }
  .nav.open > a { display:block; padding:10px 0; font-size:17px; color:#111b93; }
  .nav.open .nav-dropdown { display:block; width:100%; }
  .nav.open .nav-parent { display:flex; width:100%; align-items:center; justify-content:space-between; padding:10px 0; font-size:17px; color:#111b93; }
  .nav.open .dropdown-menu { display:none; position:static; width:100%; padding:0 0 6px 16px; background:transparent; box-shadow:none; transform:none; }
  .nav.open .nav-dropdown.is-open .dropdown-menu { display:block; }
  .nav.open .dropdown-menu a { display:block; padding:7px 0; font-size:14px; color:#59627f; white-space:normal; }
  .nav.open .dropdown-menu a:hover { background:transparent; color:#a60084; }
}

.hero-slide span { padding:12px 20px; border-radius:6px; font-size:17px; font-weight:600; letter-spacing:.02em; opacity:0; transform:translateX(70px); }
.hero-slide.is-active span { animation:heroCaptionReveal .85s cubic-bezier(.22,.61,.36,1) .2s both; }
@keyframes heroCaptionReveal { from { opacity:0; transform:translateX(70px); } to { opacity:1; transform:translateX(0); } }
@media (max-width:800px) { .hero-slide span { padding:10px 15px; font-size:14px; } }
@media (prefers-reduced-motion:reduce) { .hero-slide, .hero-slide span { transition:none !important; animation:none !important; opacity:1; transform:none; } }

.hero-slide span { background:transparent !important; border:0 !important; padding:0 !important; color:#fff; text-shadow:0 2px 8px #000b; }

.hero-slide span { top:50%; right:6.5%; bottom:auto; font-size:24px; transform:translate(70px,-50%); }
.hero-slide.is-active span { animation:heroCaptionRevealCentered .85s cubic-bezier(.22,.61,.36,1) .2s both; }
@keyframes heroCaptionRevealCentered { from { opacity:0; transform:translate(70px,-50%); } to { opacity:1; transform:translate(0,-50%); } }
@media (max-width:800px) { .hero-slide span { top:50%; right:7%; font-size:19px; } }

.hero-slide > .slide-caption { position:absolute; top:50%; right:6.5%; bottom:auto; z-index:1; display:flex; flex-direction:column; gap:8px; max-width:430px; color:#fff; opacity:0; transform:translate(70px,-50%); }
.hero-slide.is-active > .slide-caption { animation:heroCaptionBlockReveal .85s cubic-bezier(.22,.61,.36,1) .2s both; }
.slide-caption span { position:static; padding:0; color:#fff; font-size:30px; font-weight:700; line-height:1.1; letter-spacing:-.03em; text-shadow:0 2px 8px #000b; }
.slide-caption small { color:#fff; font-size:16px; line-height:1.55; text-shadow:0 2px 7px #000b; }
@keyframes heroCaptionBlockReveal { from { opacity:0; transform:translate(70px,-50%); } to { opacity:1; transform:translate(0,-50%); } }
@media (max-width:800px) { .hero-slide > .slide-caption { right:7%; max-width:300px; } .slide-caption span { font-size:24px; } .slide-caption small { font-size:14px; } }

.slide-caption span { font-size:21px; font-weight:600; letter-spacing:0; }
.slide-caption small { font-size:12px; font-weight:400; line-height:1.45; }
.hero-slide > .slide-caption { gap:5px; max-width:360px; }
@media (max-width:800px) { .slide-caption span { font-size:18px; } .slide-caption small { font-size:11px; } .hero-slide > .slide-caption { max-width:270px; } }

.slide-caption span { font-size:30px; font-weight:700; }
@media (max-width:800px) { .slide-caption span { font-size:24px; } }

.slide-caption small { font-size:14px; }
@media (max-width:800px) { .slide-caption small { font-size:12px; } }

.demo-cta { flex-wrap:wrap; }
.demo-solutions-button { background:transparent; border-color:#a60084; color:#111; padding:12px 18px; font-size:14px; }
.demo-solutions-button:hover { background:transparent; border-color:#7d0065; color:#a60084; }
.demo-solutions-button b { margin-left:7px; font-size:17px; }

.demo-solutions-button { background:transparent !important; border:0 !important; color:#111b93 !important; padding:0 !important; font-size:18px; font-weight:600; box-shadow:none !important; }
.demo-solutions-button:hover { background:transparent !important; border:0 !important; color:#a60084 !important; box-shadow:none !important; }
.demo-solutions-button b { margin-left:6px; font-size:18px; }
@media (max-width:480px) { .demo-solutions-button { font-size:15px; } }

.demo-solutions-button { border:1.5px solid #111b93 !important; border-left:0 !important; border-radius:0 24px 24px 0 !important; padding:10px 20px 10px 13px !important; color:#111b93 !important; }
.demo-solutions-button:hover { border-color:#111b93 !important; border-left:0 !important; color:#a60084 !important; }

.demo-cta > p { border:1.5px solid #111b93; border-left:0; border-radius:0 24px 24px 0; padding:10px 20px 10px 13px; color:#111b93; }

.demo-cta > p, .demo-solutions-button { border-left:0 !important; border-right:0 !important; border-radius:0 !important; }

.demo-cta > p, .demo-solutions-button { border-left:1.5px solid #111b93 !important; border-right:0 !important; border-radius:24px 0 0 24px !important; }

.demo-solutions-button { border-right:1.5px solid #111b93 !important; border-radius:24px !important; }

.demo-solutions-button { border-left:0 !important; border-right:1.5px solid #111b93 !important; border-radius:0 24px 24px 0 !important; }
