:root{
  --navy:#0a3b84;--navy2:#0b2f68;--teal:#08b9b3;--teal2:#20d0c8;--ink:#172033;--muted:#657086;--line:#e4e9f1;--soft:#f4f8fb;--white:#fff;--shadow:0 18px 50px rgba(9,42,88,.12);--radius:20px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}.container{width:min(1180px,calc(100% - 40px));margin:auto}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.topbar{background:#071f43;color:#cfe0f5;font-size:13px;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:20px;align-items:center}.topbar a{color:#fff}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(10,59,132,.08)}.header-inner{height:82px;display:flex;align-items:center;gap:28px}.logo{width:230px;max-height:68px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:24px;margin-left:auto}.nav-item{position:relative}.nav>a,.nav-item>a{font-size:14px;font-weight:650;color:#243044;white-space:nowrap}.nav a:hover,.nav a.active{color:var(--teal)}.dropdown{position:absolute;left:-16px;top:30px;min-width:220px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:none}.dropdown a{display:block;padding:10px 12px;border-radius:10px;font-size:14px}.dropdown a:hover{background:var(--soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 20px;font-weight:750;cursor:pointer;transition:.2s;font-size:14px}.btn-primary{background:linear-gradient(135deg,var(--navy),#0754b4);color:#fff;box-shadow:0 10px 24px rgba(10,59,132,.22)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(10,59,132,.28)}.btn-teal{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#052d35}.btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent}.header-quote{margin-left:4px}.menu-toggle{display:none;margin-left:auto;border:0;background:none;font-size:25px;color:var(--navy)}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#061f49 0%,#0a3b84 48%,#08aeb2 145%);color:#fff;padding:92px 0 82px}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-180px;top:-160px;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(28,226,210,.22),transparent 28%);pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:var(--teal2)}.eyebrow:before{content:"";width:26px;height:2px;background:currentColor}.hero h1{font-size:clamp(42px,5.2vw,70px);line-height:1.04;letter-spacing:-.035em;margin:14px 0 24px;max-width:780px}.hero p{font-size:19px;line-height:1.65;color:#e3edf9;max-width:690px;margin:0 0 31px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.proof{border-top:1px solid rgba(255,255,255,.25);padding-top:14px;color:#d7e5f6;font-size:13px}.proof strong{display:block;color:#fff;font-size:16px;margin-bottom:3px}.hero-card{background:rgba(255,255,255,.96);color:var(--ink);border-radius:26px;padding:26px;box-shadow:0 28px 70px rgba(0,0,0,.2);position:relative}.hero-card .mini-title{font-size:19px;font-weight:800;color:var(--navy);margin-bottom:6px}.hero-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.mini-step{display:flex;gap:13px;padding:13px 0;border-top:1px solid var(--line);align-items:flex-start}.mini-step:first-of-type{border-top:0}.mini-no{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:linear-gradient(135deg,#e8f4ff,#d6fbf8);display:grid;place-items:center;font-weight:900;color:var(--navy)}.mini-step strong{display:block;font-size:14px}.mini-step span{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.section{padding:86px 0}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-head.center{text-align:center;display:block;max-width:760px;margin:0 auto 42px}.section h2,.page-hero h1{font-size:clamp(32px,4vw,50px);line-height:1.12;letter-spacing:-.025em;margin:10px 0 13px;color:#0b2f68}.section-head p{max-width:640px;color:var(--muted);margin:0}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.service-card,.industry-card,.article-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:.25s;height:100%}.service-card:hover,.industry-card:hover,.article-card:hover{transform:translateY(-4px);border-color:#b9d9ee;box-shadow:var(--shadow)}.service-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e4f0ff,#d4fbf8);color:var(--navy);font-size:22px;font-weight:900;margin-bottom:18px}.service-card h3,.industry-card h3,.article-card h3{font-size:19px;line-height:1.3;margin:0 0 9px;color:#102b52}.service-card p,.industry-card p,.article-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.more{font-size:13px;font-weight:800;color:var(--teal);display:inline-flex;align-items:center;gap:5px}.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.why-panel{background:linear-gradient(140deg,#0b2f68,#0a4d9b);border-radius:26px;padding:38px;color:#fff;min-height:420px;position:relative;overflow:hidden}.why-panel:after{content:"M";position:absolute;right:-20px;bottom:-130px;font-size:360px;line-height:1;font-weight:900;color:rgba(255,255,255,.05)}.why-panel h3{font-size:34px;line-height:1.15;margin:0 0 15px}.why-panel p{color:#cdddf2}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-item{display:flex;gap:11px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#dff9f5;color:#058d88;font-weight:900;flex:0 0 24px}.check-item strong{font-size:15px}.check-item span{display:block;font-size:13px;color:var(--muted);margin-top:2px}.process{counter-reset:step}.process-card{position:relative;padding:26px 22px 24px;border:1px solid var(--line);border-radius:18px;background:#fff}.process-card .num{font-size:32px;font-weight:900;color:#d6e3ef;line-height:1;margin-bottom:18px}.process-card h3{margin:0 0 8px;color:var(--navy)}.process-card p{margin:0;color:var(--muted);font-size:14px}.cta-band{background:linear-gradient(120deg,var(--navy2),var(--navy),#087b9d);border-radius:28px;padding:42px 48px;color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta-band h2{color:#fff;margin:0 0 8px;font-size:34px}.cta-band p{margin:0;color:#dbe7f5;max-width:650px}
.quote-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:32px;align-items:start}.quote-info{position:sticky;top:116px}.quote-info h2{font-size:42px;line-height:1.12;margin:12px 0}.quote-info p{color:var(--muted)}.quote-contact{margin-top:24px;display:grid;gap:12px}.quote-contact div{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.quote-card{background:linear-gradient(145deg,#0b3473,#082755);border-radius:26px;padding:30px;color:#fff;box-shadow:var(--shadow)}.quote-card h3{font-size:30px;margin:0 0 5px}.quote-card>p{color:#cfdff2;margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:800;margin:0 0 6px;color:#dce9f8}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.22);background:#fff;color:#172033;border-radius:11px;padding:13px 14px;font:inherit;outline:none}.field textarea{min-height:112px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,185,179,.16)}.upload-note{font-size:11px;color:#b8cae1;margin-top:5px}.form-status{border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:14px}.form-status.ok{background:#dff8ef;color:#075e48}.form-status.err{background:#ffe8e7;color:#9d221d}.hp{position:absolute!important;left:-10000px!important}
.page-hero{padding:72px 0;background:linear-gradient(145deg,#f5f9fd,#eefbf9);border-bottom:1px solid var(--line)}.page-hero p{max-width:760px;font-size:18px;color:var(--muted)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px}.prose{font-size:16px;color:#364257}.prose h2{font-size:30px;color:#0b2f68;margin:34px 0 12px}.prose h3{font-size:22px;color:#0b2f68;margin:28px 0 10px}.prose ul,.prose ol{padding-left:22px}.prose img{border-radius:16px;margin:22px 0}.side-quote{position:sticky;top:110px;background:#0b2f68;color:#fff;border-radius:20px;padding:24px}.side-quote h3{margin:0 0 7px;font-size:22px}.side-quote p{font-size:13px;color:#cbdcf1}.side-quote .btn{width:100%;margin-top:8px}.articles-meta{font-size:12px;color:var(--muted);margin-bottom:8px}.article-card{padding:0;overflow:hidden}.article-cover{height:160px;background:linear-gradient(135deg,#dbe9fb,#d6faf5);display:grid;place-items:center;color:#0a3b84;font-weight:900;font-size:22px}.article-body{padding:22px}.pagination{display:flex;gap:8px;margin-top:30px}.pagination a{padding:8px 12px;border:1px solid var(--line);border-radius:9px}.pagination a.active{background:var(--navy);color:#fff}.footer{background:#071d3f;color:#c2d2e6;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}.footer-logo{width:220px;background:#fff;border-radius:12px;padding:8px}.footer p{color:#98acc6;max-width:480px}.footer h4{color:#fff;margin:0 0 14px}.footer a{display:block;color:#bdd0e6;padding:4px 0;font-size:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:38px;font-size:12px;color:#7f96b2;display:flex;justify-content:space-between;gap:20px}.floating-quote{display:none}
@media(max-width:980px){.nav,.header-quote{display:none}.menu-toggle{display:block}.header-inner{height:72px}.logo{width:190px}.mobile-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:14px 20px 20px;box-shadow:var(--shadow)}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:11px 6px;border-bottom:1px solid #edf1f5;font-weight:650}.hero{padding:68px 0}.hero-grid,.why-grid,.quote-wrap,.content-layout{grid-template-columns:1fr}.hero-card{max-width:650px}.quote-info{position:static}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.section{padding:66px 0}.cta-band{align-items:flex-start;flex-direction:column}.side-quote{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.topbar{display:none}.hero{padding:52px 0}.hero h1{font-size:42px}.hero p{font-size:16px}.hero-proof{grid-template-columns:1fr}.hero-card{padding:20px}.section{padding:52px 0}.section-head{display:block}.section-head .btn{margin-top:18px}.grid-4,.grid-3,.check-list{grid-template-columns:1fr}.why-panel{min-height:330px;padding:28px}.cta-band{padding:28px 24px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.quote-card{padding:22px 18px}.quote-info h2{font-size:34px}.page-hero{padding:50px 0}.page-hero h1{font-size:38px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:block}.floating-quote{display:block;position:fixed;left:14px;right:14px;bottom:14px;z-index:110}.floating-quote .btn{width:100%;box-shadow:0 12px 32px rgba(0,0,0,.28)}}

/* 2026-09 visual motion refinements */
/* Mobile navigation must stay hidden on desktop; it is only opened by JS under 980px. */
.mobile-nav{display:none}

/* Scroll-in reveal: classes are attached by site.js so pages still work normally without JS. */
.js-reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .82s cubic-bezier(.2,.65,.25,1),transform .82s cubic-bezier(.2,.65,.25,1);will-change:opacity,transform}
.js-reveal.reveal-in{opacity:1;transform:translate3d(0,0,0)}
.js-reveal[data-reveal="left"]{transform:translate3d(-28px,0,0)}
.js-reveal[data-reveal="right"]{transform:translate3d(28px,0,0)}
.js-reveal[data-reveal="left"].reveal-in,.js-reveal[data-reveal="right"].reveal-in{transform:translate3d(0,0,0)}

/* First-screen entrance is intentionally a little quicker than content lower on the page. */
.hero .eyebrow,.hero h1,.hero> .container .hero-grid>div:first-child>p,.hero-actions,.hero-proof,.hero-card{animation:medovanHeroIn .8s both cubic-bezier(.2,.65,.25,1)}
.hero h1{animation-delay:.08s}.hero> .container .hero-grid>div:first-child>p{animation-delay:.16s}.hero-actions{animation-delay:.24s}.hero-proof{animation-delay:.32s}.hero-card{animation-delay:.2s}
@keyframes medovanHeroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* Gentle breathing glow only on the most important lead-generation CTAs. */
.header-quote,.hero-actions .btn-teal,.quote-card button[type="submit"],.floating-quote .btn-teal{position:relative;isolation:isolate;animation:medovanBreath 2.8s ease-in-out infinite}
@keyframes medovanBreath{
  0%,100%{box-shadow:0 8px 22px rgba(8,185,179,.16)}
  50%{box-shadow:0 10px 32px rgba(8,185,179,.38),0 0 0 7px rgba(8,185,179,.075)}
}
.header-quote{animation-name:medovanBreathBlue}
@keyframes medovanBreathBlue{
  0%,100%{box-shadow:0 8px 22px rgba(10,59,132,.18)}
  50%{box-shadow:0 12px 34px rgba(10,59,132,.36),0 0 0 7px rgba(10,59,132,.07)}
}
.header-quote:hover,.hero-actions .btn-teal:hover,.quote-card button[type="submit"]:hover,.floating-quote .btn-teal:hover{animation-play-state:paused;transform:translateY(-2px)}

/* Slight life in cards without making the corporate site feel flashy. */
.service-icon{transition:transform .35s ease,box-shadow .35s ease}
.service-card:hover .service-icon{transform:translateY(-2px) scale(1.04);box-shadow:0 10px 24px rgba(8,185,179,.14)}

@media(max-width:980px){
  .mobile-nav{display:none}
  .mobile-nav.open{display:block;animation:mobileMenuIn .22s ease both}
  @keyframes mobileMenuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js-reveal{opacity:1!important;transform:none!important}
}

/* V3 image-rich sourcing site */
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:54px}
.hero-media{position:relative;min-height:600px;display:flex;align-items:center;justify-content:center}
.hero-media>img{width:100%;height:530px;object-fit:cover;border-radius:28px;box-shadow:0 30px 75px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.16)}
.hero-media:after{content:"";position:absolute;inset:10px -10px -10px 10px;border:1px solid rgba(54,226,216,.22);border-radius:30px;z-index:-1}
.hero-media .hero-card{position:absolute;left:-36px;bottom:-16px;width:min(420px,88%);padding:20px 22px;background:rgba(255,255,255,.97)}
.hero-media .hero-card .mini-step{padding:8px 0}.hero-media .hero-card .mini-no{width:29px;height:29px;flex-basis:29px;font-size:12px}.hero-media .hero-card p{margin-bottom:11px}.hero-media .hero-card .mini-title{font-size:17px}
.media-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.media-card .card-body{padding:21px 22px 23px;display:flex;flex-direction:column;flex:1}.media-card .card-body .more{margin-top:auto}.card-image{height:190px;overflow:hidden;background:#eaf2f8}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.25,1)}.media-card:hover .card-image img,.article-card:hover .image-cover img{transform:scale(1.045)}
.media-card .service-icon{margin-top:-45px;position:relative;z-index:2;background:linear-gradient(135deg,#edf6ff,#d9fbf8);border:4px solid #fff;box-sizing:content-box;box-shadow:0 8px 22px rgba(9,42,88,.13)}
.industry-card.media-card .card-image{height:155px}.industry-card.media-card .card-body{padding-top:18px}
.photo-panel{position:relative;border-radius:27px;overflow:hidden;min-height:510px;background:#0b2f68;box-shadow:var(--shadow)}.photo-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,24,54,.03) 26%,rgba(5,27,61,.88) 100%)}.photo-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px;color:#fff}.photo-caption h3{font-size:31px;line-height:1.15;margin:10px 0;color:#fff}.photo-caption p{color:#dbe8f6;margin:0 0 18px}.photo-caption .eyebrow{color:#4de1d7}
.article-cover.image-cover{height:215px;display:block;overflow:hidden;background:#eaf2f8}.article-cover.image-cover img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.25,1)}.case-cover{height:270px}.case-grid .article-card h3{font-size:23px}.case-note{padding:14px 18px;background:#edf8f7;border:1px solid #ccebe8;border-radius:14px;color:#3e5c61;font-size:14px;margin-bottom:24px}
.detail-cover-wrap{background:linear-gradient(180deg,#eef8f8 0,#fff 100%);padding:34px 0 0}.detail-cover{width:100%;height:min(52vw,570px);object-fit:cover;border-radius:25px;box-shadow:0 18px 48px rgba(9,42,88,.12)}
.quote-side-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:20px;margin:22px 0;border:1px solid var(--line);box-shadow:0 12px 30px rgba(9,42,88,.09)}
.mobile-sub{padding-left:22px!important;font-size:13px!important;color:#607087!important;background:#f8fafc}
.breathe{animation:medovanBreath 2.8s ease-in-out infinite}.breathe-soft{animation:medovanBreath 3.3s ease-in-out infinite}
.js-reveal.photo-panel,.js-reveal.card-image{overflow:hidden}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1fr;gap:36px}.hero-media{min-height:545px}.hero-media>img{height:475px}.hero-media .hero-card{left:-18px}}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-media{min-height:auto;padding-bottom:150px}.hero-media>img{height:min(62vw,520px)}.hero-media .hero-card{left:5%;right:5%;bottom:12px;width:90%}.grid-2{grid-template-columns:1fr}.photo-panel{min-height:500px}.case-cover{height:240px}}
@media(max-width:640px){.hero-media{padding-bottom:210px}.hero-media>img{height:300px;border-radius:20px}.hero-media .hero-card{bottom:10px;left:0;right:0;width:100%}.hero-media .hero-card .mini-step{padding:7px 0}.card-image{height:205px}.industry-card.media-card .card-image{height:200px}.article-cover.image-cover,.case-cover{height:220px}.photo-panel{min-height:520px}.photo-caption{padding:25px}.photo-caption h3{font-size:27px}.detail-cover{height:58vw;min-height:260px;border-radius:18px}}
.inline-page-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px!important;margin:0 0 30px!important;box-shadow:0 14px 36px rgba(9,42,88,.10)}
