:root { --paper:#f7f8fa; --ink:#172535; --muted:#596878; --blue:#0061d9; --line:#dce2e8; --navy:#142b45; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:30px; }
    body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,"Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
    a { color:inherit; text-decoration:none; }
    a:focus-visible { outline:3px solid #008bf5; outline-offset:6px; }
    .skip { position:absolute; left:20px; top:-80px; background:white; padding:14px; z-index:10; }
    .skip:focus { top:10px; }
    .wrap { width:min(1120px,calc(100% - 96px)); margin:auto; }
    header { display:flex; align-items:center; justify-content:space-between; padding:28px 0; gap:24px; }
    .logo { width:206px; height:auto; display:block; mix-blend-mode:multiply; }
    nav { display:flex; gap:30px; align-items:center; font-size:14px; font-weight:500; }
    nav a:not(.nav-cta):hover, .text-link:hover { color:var(--blue); }
    .nav-cta { border:1px solid var(--line); padding:13px 19px; border-radius:6px; transition:background .2s; }
    .nav-cta:hover { background:#e8edf3; }
    .arrow { display:inline-block; margin-left:14px; }
    .eyebrow { font-size:11px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; margin:0 0 24px; }
    .eyebrow.blue { color:var(--blue); }
    .hero { display:grid; grid-template-columns:1.2fr 1fr; gap:42px; align-items:center; padding:80px 0 76px; }
    h1 { font-size:clamp(48px,5.1vw,68px); line-height:1.07; letter-spacing:-3.4px; font-weight:600; margin:0 0 25px; }
    h1 span { color:var(--blue); }
    .intro { max-width:430px; color:var(--muted); font-size:18px; line-height:1.65; margin:0 0 30px; }
    .button { display:inline-flex; align-items:center; justify-content:center; padding:17px 23px; background:var(--blue); color:white; font-size:14px; font-weight:600; border-radius:6px; transition:background .2s,transform .2s; }
    .button:hover { background:#004bad; transform:translateY(-2px); }
    .hero-links { display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
    .text-link { font-size:14px; font-weight:600; }
    .personal-note { margin-top:22px; font-size:12px; color:var(--muted); }
    .personal-note::before { content:""; width:6px; height:6px; display:inline-block; background:#238676; border-radius:50%; margin-right:8px; vertical-align:2px; }
    .visual { height:390px; position:relative; isolation:isolate; border-radius:50%; background:radial-gradient(ellipse,#e2efff 0%,#edf4fc 46%,transparent 72%); }
    .orbit { position:absolute; border:1px solid #d2e1f1; border-radius:50%; width:310px; height:310px; top:36px; left:50%; transform:translateX(-50%); }
    .orbit.two { width:390px; height:390px; top:-4px; border-style:dashed; opacity:.6; }
    .source { position:absolute; background:white; border:1px solid #e3e9f0; border-radius:9px; padding:13px 18px; box-shadow:0 7px 20px #18395106; display:flex; gap:11px; align-items:center; font-size:12px; color:#526578; }
    .source svg { width:18px; height:18px; color:#7890a8; }
    .s1 { top:20px; left:22px; transform:rotate(-7deg); }
    .s2 { top:38px; right:4px; transform:rotate(6deg); }
    .s3 { top:91px; left:95px; transform:rotate(-2deg); }
    .connector { position:absolute; left:50%; top:135px; height:38px; border-left:1px dashed #89afd9; }
    .result { position:absolute; top:174px; left:50%; transform:translateX(-50%) rotate(-3deg); width:322px; border-radius:12px; background:var(--navy); color:white; padding:24px; box-shadow:0 22px 48px #15395726; }
    .result-top { display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:#b9ccdf; }
    .check { color:#7fdfc4; font-size:16px; letter-spacing:0; }
    .result strong { display:block; margin:21px 0 10px; font-size:24px; letter-spacing:-.6px; font-weight:500; }
    .result p { margin:0; font-size:12px; color:#c4d4e4; line-height:1.6; }
    .visual-caption { position:absolute; bottom:10px; width:100%; text-align:center; font-size:11px; color:#667b90; letter-spacing:.2px; }
    .services { border-top:1px solid var(--line); padding:36px 0 62px; }
    .section-title { margin:0 0 28px; font-size:12px; font-weight:500; color:var(--muted); }
    .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
    .service-num { color:#55748e; font-size:11px; margin-bottom:17px; display:block; }
    h2,h3 { font-weight:500; }
    .service-grid h3 { font-size:22px; letter-spacing:-.6px; margin:0 0 13px; }
    .service-grid p { margin:0; font-size:14px; line-height:1.75; color:var(--muted); max-width:300px; }
    .case { background:var(--navy); color:white; border-radius:12px; padding:44px 46px; display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:52px; }
    .case .eyebrow { color:#a4c9f7; margin-bottom:18px; }
    .case h2 { margin:0 0 16px; font-size:32px; line-height:1.2; letter-spacing:-1px; }
    .case p { font-size:14px; line-height:1.75; color:#c3d0df; margin:0; }
    .examples { margin:0; padding:0 0 0 32px; list-style:none; border-left:1px solid #ffffff26; }
    .examples li { padding:19px 0; border-bottom:1px solid #ffffff26; }
    .examples li:first-child { padding-top:0; }
    .examples li:last-child { padding-bottom:0; border-bottom:0; }
    .examples strong { display:block; font-size:17px; font-weight:500; margin-bottom:7px; }
    .examples span { display:block; font-size:13px; line-height:1.6; color:#c3d0df; }
    .about { display:grid; grid-template-columns:.85fr 1.4fr; gap:85px; padding:66px 0; align-items:start; }
    .about h2 { font-size:29px; line-height:1.25; letter-spacing:-.8px; margin:0; }
    .about .eyebrow { margin-bottom:16px; }
    .about p:not(.eyebrow) { font-size:16px; line-height:1.75; color:var(--muted); margin:0 0 17px; }
    .signature { font-size:13px; font-weight:600; }
    .contact { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:38px 0; display:flex; align-items:center; justify-content:space-between; gap:32px; }
    .contact h2 { font-size:30px; letter-spacing:-.8px; margin:0 0 9px; }
    .contact p { color:var(--muted); margin:0; font-size:14px; }
    .contact-action { text-align:center; }
    .email { display:block; font-size:12px; color:var(--muted); margin-top:13px; }
    .email:hover { text-decoration:underline; }
    footer { padding:24px 0; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:11px; }
    @media(min-width:1450px) { .hero { padding-top:100px; padding-bottom:95px; } }
    @media(max-width:1000px) { .wrap { width:calc(100% - 64px); } h1 { font-size:54px; } .hero { gap:20px; } .visual { transform:scale(.88); transform-origin:center; } .case { gap:24px; } }
    @media(max-width:760px) {
      .wrap { width:calc(100% - 40px); } header { padding:22px 0; } .logo { width:166px; } nav { gap:0; } nav>a:not(.nav-cta) { display:none; } .nav-cta { padding:11px 13px; font-size:12px; } .nav-cta .arrow { margin-left:5px; }
      .hero { grid-template-columns:1fr; padding:43px 0 26px; gap:20px; } h1 { font-size:clamp(43px,8.5vw,60px); letter-spacing:-2.5px; } .intro { font-size:16px; max-width:450px; } .eyebrow { font-size:10px; } .hero-links { gap:21px; } .visual { width:min(420px,100%); height:385px; margin:auto; transform:scale(.92); } .orbit { width:280px; height:280px; } .orbit.two { width:340px; height:340px; } .s1 { left:0; } .s2 { right:0; } .s3 { left:65px; } .result { width:290px; } .visual-caption { bottom:-3px; }
      .services { padding:27px 0 40px; } .service-grid { grid-template-columns:1fr; gap:24px; } .service-grid article { display:grid; grid-template-columns:28px 1fr; column-gap:12px; } .service-num { grid-row:1/3; margin-top:5px; } .service-grid h3 { font-size:21px; margin-bottom:8px; } .service-grid p { max-width:100%; }
      .case { grid-template-columns:1fr; padding:30px 25px; gap:30px; border-radius:9px; } .case h2 { font-size:28px; } .examples { border-left:0; border-top:1px solid #ffffff26; padding:25px 0 0; } .examples strong { font-size:16px; }

      .about { grid-template-columns:1fr; gap:22px; padding:43px 0; } .about h2 { font-size:27px; } .about p:not(.eyebrow) { font-size:15px; } .contact { flex-direction:column; align-items:flex-start; padding:30px 0; gap:23px; } .contact h2 { font-size:28px; } .contact p { line-height:1.65; } .contact-action { text-align:left; } footer { font-size:10px; line-height:1.6; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }

/* Shared navigation and the expanded local site. */
[hidden] { display:none !important; }
header { position:relative; }
.desktop-nav a[aria-current="page"] { color:var(--blue); }
.mobile-menu { display:none; }
.more-link { display:inline-block; margin-top:20px; color:var(--blue); font-size:13px; font-weight:600; line-height:1.5; }
.more-link:hover { text-decoration:underline; text-underline-offset:4px; }
.more-link span { margin-left:7px; }
.light-link { color:#b9d9ff; }
.example-link { display:block; }
.example-link:hover strong { color:#a4c9f7; }
.example-link strong span { float:right; color:inherit; font-size:17px; }
.service-grid .more-link { grid-column:2; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; padding-top:23px; font-size:12px; color:var(--muted); }
.breadcrumbs a:hover { color:var(--blue); }
.breadcrumbs span[aria-hidden] { color:#8b99a7; }
.page-hero { padding:58px 0 60px; }
.page-hero.split { display:grid; grid-template-columns:1.35fr .8fr; gap:75px; align-items:center; }
.page-hero h1 { font-size:clamp(43px,4.6vw,62px); letter-spacing:-2.6px; line-height:1.1; max-width:780px; }
.page-hero .intro { max-width:620px; margin-bottom:0; }
.page-hero .button { margin-top:27px; }
.side-note { padding:29px; background:#edf2f8; border:1px solid #dee7f1; border-radius:9px; }
.side-note .eyebrow { font-size:10px; color:#526c87; margin-bottom:20px; }
.side-note ul { list-style:none; padding:0; margin:0; }
.side-note li { padding:13px 0; border-top:1px solid #d4dfe9; font-size:15px; line-height:1.5; }
.side-note li:first-child { border-top:0; padding-top:0; }
.side-note li:last-child { padding-bottom:0; }
.side-note p { color:var(--muted); font-size:15px; line-height:1.75; margin:0; }
.side-note .note-name { display:block; font-size:24px; font-weight:500; margin-bottom:8px; letter-spacing:-.6px; }
.before-after { background:var(--navy); color:white; padding:36px 40px; border-radius:10px; display:grid; grid-template-columns:1fr 1fr; gap:44px; }
.before-after>div+div { border-left:1px solid #ffffff26; padding-left:40px; }
.before-after .eyebrow { color:#a4c9f7; margin-bottom:15px; }
.before-after h2 { font-size:25px; line-height:1.3; letter-spacing:-.6px; margin:0 0 12px; }
.before-after p { font-size:15px; line-height:1.75; color:#c3d0df; margin:0; }
.content-section { padding:55px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:28px; }
.section-heading .eyebrow { margin-bottom:13px; }
.section-heading h2,.content-section>h2 { font-size:30px; letter-spacing:-.9px; line-height:1.25; margin:0; }
.section-heading .more-link { flex-shrink:0; margin:0 0 4px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card { padding:26px; border:1px solid var(--line); background:white; border-radius:8px; }
.card h3 { margin:0 0 12px; font-size:20px; letter-spacing:-.5px; line-height:1.3; }
.card p { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
.card .mini-label { display:block; font-size:10px; color:var(--blue); letter-spacing:1px; text-transform:uppercase; font-weight:700; margin-bottom:18px; }
.human-note { display:grid; grid-template-columns:.8fr 1.3fr; gap:65px; border-top:1px solid var(--line); padding:38px 0; }
.human-note h2 { font-size:25px; letter-spacing:-.6px; margin:0; }
.human-note p { font-size:15px; line-height:1.75; color:var(--muted); margin:0; }
.related { padding:22px 0 50px; display:flex; flex-wrap:wrap; gap:16px 28px; }
.related .more-link { margin:0; }
.filters { display:flex; flex-wrap:wrap; gap:9px; padding:24px 0 17px; border-top:1px solid var(--line); }
.filter { cursor:pointer; font:inherit; font-size:13px; color:var(--muted); padding:11px 16px; border:1px solid var(--line); background:transparent; border-radius:30px; }
.filter:hover { border-color:#8ba3be; color:var(--ink); }
.filter[aria-pressed="true"] { background:var(--navy); color:white; border-color:var(--navy); }
.filter:focus-visible,summary:focus-visible { outline:3px solid #008bf5; outline-offset:4px; }
.result-count { font-size:12px; color:var(--muted); margin:0 0 35px; }
.usecase-group { margin-bottom:48px; }
.usecase-grid { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; padding:0; margin:0; gap:0 30px; }
.usecase-item { border-top:1px solid var(--line); padding:23px 0; }
.usecase-item h3 { font-size:18px; letter-spacing:-.4px; margin:0 0 10px; line-height:1.35; }
.usecase-item p { font-size:14px; line-height:1.75; color:var(--muted); margin:0; }
.soft-banner { padding:28px 32px; margin:4px 0 48px; background:#eaf1fa; border-radius:8px; display:flex; gap:30px; align-items:center; justify-content:space-between; }
.soft-banner h2 { margin:0 0 9px; font-size:24px; letter-spacing:-.6px; }
.soft-banner p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; max-width:650px; }
.soft-banner .more-link { margin:0; flex-shrink:0; }
.steps { list-style:none; padding:0; margin:0 0 44px; }
.step { display:grid; grid-template-columns:55px .75fr 1.3fr; gap:25px; padding:32px 0; border-top:1px solid var(--line); }
.step-number { color:var(--blue); font-size:16px; padding-top:4px; }
.step h2 { font-size:26px; line-height:1.3; letter-spacing:-.7px; margin:0; }
.step p { font-size:15px; color:var(--muted); line-height:1.75; margin:0; }
.step .step-outcome { display:block; font-size:13px; font-weight:500; color:var(--ink); margin-top:12px; }
.initials { display:grid; place-items:center; width:68px; height:68px; background:var(--navy); color:white; border-radius:50%; margin-bottom:24px; font-size:23px; letter-spacing:-1px; }
.prose { max-width:710px; }
.prose p { font-size:17px; color:var(--muted); line-height:1.85; margin:0 0 20px; }
.prose h2 { font-size:30px; letter-spacing:-.9px; margin:0 0 22px; }
.contact-grid { display:grid; grid-template-columns:1.25fr .8fr; gap:70px; padding-bottom:60px; }
.contact-grid h2 { font-size:26px; letter-spacing:-.6px; margin:0 0 22px; }
.question-list { list-style:none; padding:0; margin:0 0 26px; counter-reset:question; }
.question-list li { padding:17px 0; border-top:1px solid var(--line); font-size:16px; line-height:1.6; }
.question-list li::before { counter-increment:question; content:"0" counter(question) " /"; font-size:11px; color:var(--blue); margin-right:15px; }
.contact-grid .small-note { font-size:13px; line-height:1.7; color:var(--muted); margin-top:17px; }
.topic-links { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:38px; }
.topic-links a { padding:11px 15px; background:white; border:1px solid var(--line); border-radius:6px; font-size:13px; }
.topic-links a:hover { border-color:var(--blue); color:var(--blue); }
.site-footer { display:block; padding:42px 0 22px; }
.footer-top { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:35px; padding-bottom:36px; }
.footer-brand { font-size:17px; font-weight:500; color:var(--ink); letter-spacing:-.3px; }
.footer-intro p { font-size:13px; line-height:1.7; margin:14px 0; }
.footer-intro>a:last-child { font-size:12px; }
.site-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; font-size:12px; font-weight:400; }
.footer-label { color:var(--ink); font-size:12px; font-weight:600; margin-bottom:4px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:21px; font-size:10px; }
.contact>div:first-child { max-width:710px; }
.contact-action { flex-shrink:0; }
.case-insight { border-left:1px solid #ffffff26; padding-left:34px; }
.case-insight h3 { font-size:26px; letter-spacing:-.7px; margin:17px 0 12px; }
.insight-mark { display:grid; place-items:center; width:42px; height:42px; color:#7fdfc4; border:1px solid #7fdfc450; border-radius:50%; font-size:20px; }
.inline-link { margin:0; }
@media(max-width:1000px) {
  .desktop-nav { gap:18px; font-size:13px; } .page-hero.split { gap:35px; }
  .hero-links { gap:18px; } .page-hero h1 { font-size:48px; }
  .contact { align-items:flex-start; } .contact>div:first-child { max-width:62%; }
  .cards { gap:14px; } .card { padding:21px; }
}
@media(max-width:800px) {
  .desktop-nav { display:none; }
  .mobile-menu { display:block; z-index:5; }
  .mobile-menu summary { list-style:none; cursor:pointer; border:1px solid var(--line); border-radius:6px; padding:11px 14px; font-size:13px; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span { margin-left:12px; }
  .mobile-menu nav { position:absolute; top:calc(100% - 10px); right:0; width:min(330px,100%); padding:13px; background:white; border:1px solid var(--line); border-radius:8px; box-shadow:0 15px 35px #17253515; display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .mobile-menu nav>a { display:block; padding:11px 13px; font-size:14px; border-radius:4px; }
  .mobile-menu nav>a[aria-current="page"] { background:#edf3fc; color:var(--blue); }
  .mobile-menu nav>a:last-child { color:var(--blue); font-weight:600; }
}
@media(max-width:760px) {
  .page-hero { padding:35px 0 38px; } .page-hero.split { grid-template-columns:1fr; gap:28px; }
  .page-hero h1 { font-size:clamp(37px,8vw,54px); letter-spacing:-1.9px; }
  .breadcrumbs { padding-top:12px; font-size:11px; }
  .side-note { padding:24px; } .side-note li { font-size:14px; }
  .before-after { grid-template-columns:1fr; gap:24px; padding:27px 24px; }
  .before-after>div+div { border-left:0; border-top:1px solid #ffffff26; padding:24px 0 0; }
  .before-after h2 { font-size:23px; } .before-after p { font-size:14px; }
  .content-section { padding:38px 0; } .cards { grid-template-columns:1fr; gap:14px; }
  .section-heading { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:23px; }
  .section-heading h2,.content-section>h2 { font-size:26px; }
  .human-note { grid-template-columns:1fr; gap:17px; padding:28px 0; }
  .human-note h2 { font-size:24px; } .human-note p { font-size:14px; }
  .related { padding-bottom:33px; gap:14px; }
  .usecase-grid { grid-template-columns:1fr; } .usecase-item { padding:19px 0; }
  .usecase-group { margin-bottom:32px; } .filters { gap:8px; padding-top:19px; }
  .filter { padding:10px 13px; font-size:12px; } .result-count { margin-bottom:30px; }
  .soft-banner { flex-direction:column; align-items:flex-start; gap:18px; padding:24px; margin-bottom:35px; }
  .step { grid-template-columns:30px 1fr; gap:12px 18px; padding:25px 0; }
  .step>div { grid-column:2; } .step h2 { font-size:24px; } .step p { font-size:14px; }
  .prose p { font-size:15px; } .prose h2 { font-size:27px; }
  .contact-grid { grid-template-columns:1fr; gap:30px; padding-bottom:30px; }
  .contact-grid h2 { font-size:24px; } .question-list li { font-size:15px; }
  .case-insight { border-left:0; border-top:1px solid #ffffff26; padding:25px 0 0; }
  .topic-links { margin-bottom:25px; } .contact>div:first-child { max-width:100%; }
  .contact-action .button { white-space:normal; text-align:left; }
  .footer-top { grid-template-columns:1fr 1fr; gap:27px 15px; }
  .footer-intro { grid-column:1/-1; } .site-footer nav>a { display:block; font-size:12px; }
  .footer-bottom { flex-direction:column; gap:5px; } .site-footer { padding-top:31px; }
}
@media(max-width:760px) { .wrap .breadcrumbs>a { display:inline-block; } }
