:root { --ink:#27313a; --gray:#7d8790; --blue:#59b8e6; --blue-deep:#2d8fbe; --ice:#eef8fc; --line:#d7e5ec; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:#fbfdfe; color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.site-header { width:min(1180px,calc(100% - 48px)); height:92px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:5; }
.brand img { display:block; width:245px; height:auto; }
nav { display:flex; align-items:center; gap:34px; font-size:14px; font-weight:700; }
nav a:not(.nav-cta):hover { color:var(--blue-deep); }
.nav-cta { padding:13px 19px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.75); }
.hero { min-height:calc(100vh - 92px); width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:76px 0 100px; display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:70px; }
.eyebrow { margin:0 0 22px; color:var(--blue-deep); font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1 { max-width:690px; margin:0; font-size:clamp(48px,5.2vw,78px); line-height:.99; letter-spacing:-.045em; }
h1 span { color:var(--blue-deep); }
.hero-lead { max-width:650px; margin:28px 0 0; color:#58636c; font-size:19px; line-height:1.62; }
.hero-actions { margin-top:34px; display:flex; flex-wrap:wrap; gap:12px; }
.button { min-height:52px; padding:0 23px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:14px; font-size:15px; font-weight:800; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--ink); color:white; box-shadow:0 14px 30px rgba(39,49,58,.16); }
.button-secondary { border:1px solid var(--line); background:white; }
.trust-row { margin-top:35px; display:flex; flex-wrap:wrap; gap:17px 25px; color:#68747c; font-size:13px; font-weight:700; }
.trust-row span::before { content:""; width:7px; height:7px; margin-right:9px; border-radius:50%; background:var(--blue); display:inline-block; }
.hero-visual { position:relative; min-height:500px; display:grid; place-items:center; }
.visual-glow { position:absolute; inset:7% 0 0 10%; border-radius:52% 48% 42% 58%; background:radial-gradient(circle at 35% 25%,#daf2fc 0,#edf8fc 42%,rgba(238,248,252,0) 74%); transform:rotate(-5deg); }
.team-card { width:min(100%,470px); padding:28px; position:relative; border:1px solid rgba(191,215,226,.85); border-radius:26px; background:rgba(255,255,255,.9); box-shadow:0 34px 80px rgba(55,100,122,.16); backdrop-filter:blur(12px); }
.card-topline { display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:800; }
.status { color:#4f7b69; font-size:12px; }
.status i { width:7px; height:7px; margin-right:6px; display:inline-block; border-radius:50%; background:#70c99f; box-shadow:0 0 0 4px #e5f6ee; }
.team-members { margin:27px 0; display:flex; }
.team-members span,.team-members b { width:47px; height:47px; margin-right:-8px; display:grid; place-items:center; border:4px solid white; border-radius:50%; color:white; background:var(--gray); font-size:11px; }
.team-members span:nth-child(2) { background:var(--blue-deep); }
.team-members span:nth-child(3) { background:#46545e; }
.team-members b { background:var(--ice); color:var(--blue-deep); }
.pipeline { padding:20px; border:1px solid #e2edf2; border-radius:18px; background:#f9fcfd; }
.pipeline div { display:flex; justify-content:space-between; gap:16px; font-size:12px; }
.pipeline div span { color:#84919a; }
.pipeline div strong { text-align:right; font-size:12px; }
.pipeline>i { width:1px; height:20px; margin:6px 0 6px 3px; display:block; background:var(--blue); }
.metric-row { margin-top:18px; display:grid; grid-template-columns:.8fr 1.2fr; gap:12px; }
.metric-row div { min-height:85px; padding:16px; border-radius:16px; background:var(--ice); display:flex; flex-direction:column; justify-content:space-between; }
.metric-row small { color:#71808a; font-size:11px; }
.metric-row strong { font-size:22px; letter-spacing:-.02em; }
h2 { margin:0; font-size:clamp(38px,4.1vw,60px); line-height:1.05; letter-spacing:-.04em; }
h3 { margin:0; letter-spacing:-.025em; }
.statement { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:90px 0 105px; border-top:1px solid var(--line); display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; align-items:start; }
.statement p { margin:10px 0 0; color:var(--blue-deep); font-size:13px; font-weight:800; line-height:1.5; text-transform:uppercase; letter-spacing:.1em; }
.statement h2 { font-size:clamp(36px,3.7vw,54px); }
.section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:110px 0; }
.section-heading { display:grid; grid-template-columns:1.05fr .75fr; gap:90px; align-items:end; margin-bottom:55px; }
.section-heading .eyebrow { margin-bottom:18px; }
.section-heading>p { margin:0 0 3px; color:#627078; font-size:16px; line-height:1.7; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { min-height:465px; padding:30px; border:1px solid var(--line); border-radius:24px; background:#fff; display:flex; flex-direction:column; box-shadow:0 16px 40px rgba(42,69,82,.06); }
.service-card.featured { background:var(--ink); color:white; border-color:var(--ink); }
.card-number { align-self:flex-end; color:#97a4ab; font-size:12px; font-weight:800; letter-spacing:.15em; }
.service-icon { width:62px; height:62px; margin:22px 0 35px; position:relative; border-radius:18px; background:var(--ice); display:flex; align-items:center; justify-content:center; }
.featured .service-icon { background:rgba(89,184,230,.15); }
.service-icon i { width:12px; height:12px; margin:0 -1px; border:2px solid var(--blue); border-radius:50%; background:white; }
.service-icon.bars { align-items:flex-end; gap:5px; padding-bottom:17px; }
.service-icon.bars i { width:7px; border:0; border-radius:4px; background:var(--blue); }
.service-icon.bars i:nth-child(1){height:14px}.service-icon.bars i:nth-child(2){height:24px}.service-icon.bars i:nth-child(3){height:34px}
.service-icon.report { flex-direction:column; gap:5px; align-items:flex-start; padding-left:17px; }
.service-icon.report i { height:4px; border:0; border-radius:4px; background:var(--blue); }
.service-icon.report i:nth-child(1){width:28px}.service-icon.report i:nth-child(2){width:20px}.service-icon.report i:nth-child(3){width:34px}
.service-card h3 { font-size:25px; }
.service-card>p { min-height:82px; margin:16px 0 22px; color:#65727a; line-height:1.65; font-size:15px; }
.featured>p { color:#b9c4ca; }
.service-card ul { margin:auto 0 0; padding:19px 0 0; border-top:1px solid #e5eef2; list-style:none; }
.featured ul { border-color:rgba(255,255,255,.12); }
.service-card li { margin:10px 0; color:#52606a; font-size:13px; font-weight:700; }
.featured li { color:#e6edf0; }
.service-card li::before { content:""; width:6px; height:6px; margin-right:10px; display:inline-block; border-radius:50%; background:var(--blue); }
.process-section { background:var(--ink); color:white; overflow:hidden; }
.process-inner { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:115px 0 125px; position:relative; }
.process-inner::after { content:""; width:560px; height:560px; position:absolute; right:-300px; top:20px; border:1px solid rgba(89,184,230,.18); border-radius:50%; box-shadow:0 0 0 80px rgba(89,184,230,.035),0 0 0 160px rgba(89,184,230,.025); pointer-events:none; }
.section-heading.light { position:relative; z-index:1; }
.section-heading.light>p { color:#aebac0; }
.process-list { margin:70px 0 0; padding:0; position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,1fr); list-style:none; counter-reset:item; }
.process-list::before { content:""; position:absolute; left:2%; right:2%; top:29px; height:1px; background:rgba(255,255,255,.18); }
.process-list li { padding-right:25px; }
.process-list li>span { width:58px; height:58px; position:relative; z-index:1; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:var(--blue); background:var(--ink); font-size:12px; font-weight:800; }
.process-list div { margin-top:27px; }
.process-list h3 { font-size:20px; }
.process-list p { margin:11px 0 0; color:#aeb8be; font-size:13px; line-height:1.65; }
.audience-section { display:grid; grid-template-columns:1.05fr .75fr; gap:100px; align-items:center; }
.audience-copy>p:not(.eyebrow) { max-width:680px; margin:26px 0; color:#65727a; font-size:17px; line-height:1.7; }
.audience-tags { display:flex; flex-wrap:wrap; gap:9px; }
.audience-tags span { padding:10px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; color:#59666f; font-size:12px; font-weight:700; }
.fit-card { padding:33px; border-radius:25px; background:var(--ice); border:1px solid #d7eaf2; }
.mini-label { margin:0 0 20px; color:var(--blue-deep); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.fit-card>div { padding:18px 0; border-top:1px solid #d5e6ed; display:grid; grid-template-columns:42px 1fr; align-items:start; }
.fit-card span { color:var(--blue-deep); font-size:11px; font-weight:800; }
.fit-card p { margin:0; font-size:15px; line-height:1.5; font-weight:700; }
.principles-section { width:min(1180px,calc(100% - 48px)); margin:0 auto 110px; padding:54px 58px; border-radius:28px; background:#f1f5f7; display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; }
.principles-section h2 { font-size:clamp(34px,3.2vw,49px); }
.principles-section>p { margin:0; color:#5b6871; font-size:16px; line-height:1.75; }
.contact-section { min-height:610px; padding:110px 24px; position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:linear-gradient(180deg,#f0f9fd 0,#e8f6fc 100%); }
.contact-section h2 { max-width:800px; }
.contact-section>p:not(.eyebrow) { max-width:650px; margin:24px auto 31px; color:#62717a; font-size:17px; line-height:1.7; }
.contact-section small { margin-top:15px; color:#7b8992; }
.contact-mail { margin-top:17px; color:var(--blue-deep); font-size:15px; font-weight:800; border-bottom:1px solid rgba(45,143,190,.3); }
.contact-mail:hover { border-color:var(--blue-deep); }
.contact-orbit { width:470px; height:470px; position:absolute; border:1px solid rgba(89,184,230,.2); border-radius:50%; pointer-events:none; }
.contact-orbit::before,.contact-orbit::after { content:""; position:absolute; inset:55px; border:1px solid rgba(89,184,230,.14); border-radius:50%; }
.contact-orbit::after { inset:115px; }
.contact-orbit i { width:9px; height:9px; position:absolute; border-radius:50%; background:var(--blue); }
.contact-orbit i:nth-child(1){top:45px;left:103px}.contact-orbit i:nth-child(2){right:23px;top:227px}.contact-orbit i:nth-child(3){left:87px;bottom:40px}
.contact-section>*:not(.contact-orbit) { position:relative; z-index:1; }
footer { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:52px 0 34px; }
.footer-brand img { width:235px; }
footer>p { margin:25px 0 55px; color:#69767e; font-size:14px; }
footer>p a { display:inline-block; margin-top:8px; color:var(--blue-deep); font-weight:700; }
footer>div { padding-top:25px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:25px; color:#7b878e; font-size:12px; }
footer a:hover { color:var(--blue-deep); }
.footer-links { display:flex; flex-wrap:wrap; gap:20px; }
.legal-page { min-height:100vh; background:#fbfdfe; }
.legal-header { width:min(980px,calc(100% - 48px)); height:100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.legal-header img { width:225px; display:block; }
.legal-back { color:#68757d; font-size:13px; font-weight:700; }
.legal-back:hover { color:var(--blue-deep); }
.legal-content { width:min(780px,calc(100% - 48px)); margin:0 auto; padding:85px 0 100px; }
.legal-content>h1 { margin:0 0 42px; font-size:clamp(48px,7vw,76px); line-height:1; letter-spacing:-.05em; }
.legal-warning { margin:0 0 55px; padding:24px 26px; border-left:4px solid var(--blue); border-radius:0 15px 15px 0; background:var(--ice); }
.legal-warning strong { color:var(--blue-deep); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.legal-warning p { margin:8px 0 0; color:#5f6c74; font-size:14px; line-height:1.65; }
.legal-content section { padding:31px 0; border-top:1px solid var(--line); }
.legal-content section h2 { margin:0 0 15px; font-size:23px; line-height:1.25; letter-spacing:-.025em; }
.legal-content section p { margin:10px 0 0; color:#59666e; font-size:15px; line-height:1.75; }
.legal-content section a { color:var(--blue-deep); font-weight:700; }
.legal-content em { color:#8a6538; font-style:normal; font-weight:700; }
.legal-note { margin:40px 0 0; color:#7a878f; font-size:12px; line-height:1.6; }
.legal-footer { width:min(980px,calc(100% - 48px)); margin:0 auto; padding:28px 0 38px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:25px; color:#7b878e; font-size:12px; }
@media (max-width:900px) {
  nav a:not(.nav-cta){display:none}
  .hero{grid-template-columns:1fr;padding-top:50px}.hero-visual{min-height:430px}
  .statement,.section-heading,.audience-section,.principles-section{grid-template-columns:1fr;gap:35px}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:auto}
  .process-list{grid-template-columns:1fr;gap:0}.process-list::before{left:28px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .process-list li{display:grid;grid-template-columns:58px 1fr;gap:25px;padding:0 0 35px}.process-list div{margin-top:6px}
  .principles-section{padding:45px}
}
@media (max-width:560px) {
  .site-header,.hero,.statement,.section,.process-inner,.principles-section,footer{width:min(100% - 28px,1180px)}
  .site-header{height:78px}.brand img{width:184px}.nav-cta{padding:11px 14px;font-size:12px}
  .hero{padding:52px 0 72px;gap:35px}h1{font-size:48px}.hero-lead{font-size:17px}.button{width:100%}.hero-visual{min-height:390px}.team-card{padding:20px}
  .statement{padding:70px 0}.section,.process-inner{padding:82px 0}.section-heading{margin-bottom:38px}
  .service-card{padding:24px}.process-list{margin-top:45px}
  .audience-section{width:min(100% - 28px,1180px)}.fit-card{padding:24px}
  .principles-section{margin-bottom:80px;padding:32px 24px}.contact-section{min-height:580px;padding:90px 18px}
  footer>div{flex-direction:column}.footer-brand img{width:210px}
  .legal-header,.legal-content,.legal-footer{width:min(100% - 28px,980px)}.legal-header{height:82px}.legal-header img{width:180px}.legal-content{padding:65px 0 80px}.legal-footer{flex-direction:column}
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.button{transition:none} }
