*,*::before,*::after{box-sizing:border-box;} :root{--brand:#000000;--on-brand:#FFFFFF;--surface:#FFFFFF;--surface-alt:#FAFAFA;--wash:#F5F5F5;--rule:#E5E5E5;--body:#666666;--accent:#4C1D95;--accent-on-black:#A78BFA;--accent-2:#0F766E;--accent-2-on-black:#14B8A6;--brand-hover:#1A1A1A;--accent-hover:#3B1478;--accent-on-black-hover:#B9A2FC;--radius-panel:30px;--radius-card:16px;--radius-pill:999px;--gutter:24px;--wrap:1200px;} body{margin:0;font-family:'Open Sans',system-ui,sans-serif;font-size:18px;line-height:1.6;color:var(--body);background:var(--surface);} h1,h2,h3,h4{color:var(--brand);margin:0 0 .5em;} h1{font-size:56px;font-weight:800;line-height:1.1;} h2{font-size:40px;font-weight:800;line-height:1.15;} h3{font-size:24px;font-weight:700;line-height:1.25;} p{margin:0 0 1em;} a{color:var(--accent);} a:hover{color:var(--accent-2);} .lead{font-size:21px;line-height:1.5;} .wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);} .section{padding-block:96px;} .section--tint{background:var(--surface-alt);} .section--dark{background:var(--brand);color:var(--on-brand);border-radius:var(--radius-panel);} .section--dark h1,.section--dark h2,.section--dark h3{color:var(--on-brand);} .section--dark p{color:var(--on-brand);} .section--dark a{color:var(--accent-on-black);} .grid{display:grid;gap:24px;} .grid.two{grid-template-columns:repeat(2,1fr);} .grid.three{grid-template-columns:repeat(3,1fr);} .grid.fourth{grid-template-columns:repeat(4,1fr);} footer .grid.fourth{grid-template-columns:1.3fr 1fr .65fr 1.4fr;} .grid.half{grid-template-columns:repeat(2,1fr);} .eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .75em;} .section--dark .eyebrow{color:var(--accent-on-black);} .step{display:inline-block;margin:0 0 .45em;padding-bottom:.16em;font-size:52px;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--accent);animation:step-in linear both;animation-timeline:view();animation-range:entry 0% cover 60%;} .step::after{content:"";display:block;height:2px;margin-top:.16em;background:var(--rule);transform-origin:left;animation:step-rule linear both;animation-timeline:view();animation-range:entry 15% cover 75%;} .section--dark .step{color:var(--accent-on-black);} .section--dark .step::after{background:linear-gradient(90deg,var(--accent-on-black),rgba(167,139,250,0));} @keyframes step-in{from{opacity:0;transform:translateY(34px) scale(.94);} to{opacity:1;transform:none;}} @keyframes step-rule{from{opacity:0;transform:scaleX(.08);} to{opacity:1;transform:scaleX(1);}} @media (prefers-reduced-motion:reduce){.step,.step::after{animation:none;}} .btn{display:inline-flex;align-items:center;gap:.6em;padding:16px 32px;border-radius:var(--radius-pill);border:1px solid transparent;font-size:17px;font-weight:700;text-decoration:none;background:var(--brand);color:var(--on-brand);transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;} .btn:is(:hover,:focus){background:var(--brand-hover);color:var(--on-brand);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.18);} .card .btn::after{content:"\2192";transition:transform .15s ease;} .card .btn:is(:hover,:focus){background:var(--accent);} .card .btn:is(:hover,:focus)::after{transform:translateX(4px);} .btn--accent{background:var(--accent);color:var(--on-brand);} .btn--accent:is(:hover,:focus){background:var(--accent-hover);color:var(--on-brand);} .section--dark .btn{background:var(--accent-on-black);color:var(--brand);} .section--dark .btn:is(:hover,:focus){background:var(--accent-on-black-hover);color:var(--brand);} .section--dark .btn--teal{background:var(--accent-2-on-black);color:var(--brand);} .card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card);padding:40px;} .card>p:last-child{margin-bottom:0;} .card>p:last-child:has(.btn){margin-top:auto;} .card:nth-child(even){background:var(--wash);border-color:transparent;} /* Cards in a grid share their row tracks,so headings,copy and buttons line up across a row instead of each card stacking inside its own height. */ @supports (grid-template-rows:subgrid){.grid>.card{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;align-content:start;} .grid>.card:has(> .eyebrow){grid-row:span 4;} /* the shared rows align the button;the flex-era auto margin would push it around inside its own row instead */ .grid>.card>p:last-child:has(.btn){margin-top:0;}} @media (min-width:901px){.card h3{min-height:2.5em;}} .hero{padding-block:32px;} .hero .panel{padding:48px 56px;} .hero h1{font-size:clamp(34px,4vw,48px);line-height:1.08;} .split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;} .section--intro{padding-block:64px;} .section--intro .wrap>.eyebrow,.section--intro .wrap>h2,.section--intro .wrap>.intro,.section--intro .wrap>p{width:min(44rem,100%);margin-inline:auto;} .section--intro .wrap>h2{margin-bottom:28px;} .section--intro .wrap>h2::before{content:"";display:block;width:100%;height:2px;margin-bottom:24px;background:linear-gradient(90deg,var(--accent) 0 64px,var(--rule) 64px);} .section--intro .wrap>.eyebrow + h2::before{content:none;} .intro{display:flex;flex-direction:column;gap:20px;} .intro>div{min-width:0;} .intro>div:first-child{font-size:21px;line-height:1.6;color:var(--brand);} .intro p:last-child{margin-bottom:0;} .intro + p{margin-top:24px;} .split img{width:100%;height:0;min-height:100%;object-fit:cover;border-radius:var(--radius-panel);} .panel{padding:80px;} .bgimg{position:relative;overflow:hidden;} .bgimg>img:first-of-type{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 50%;z-index:0;} .bgimg>img:first-of-type ~ *{position:relative;z-index:1;} .section--dark.bgimg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.9) 42%,rgba(0,0,0,.55) 68%,rgba(0,0,0,.12) 100%);} .hero-copy{max-width:620px;} .credentials{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--rule);} .credentials li{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:2px 12px;padding:16px 24px;border-left:1px solid var(--rule);} .credentials li:first-child{border-left:0;padding-left:0;} .credentials svg{grid-row:1 / span 2;width:28px;height:28px;margin-top:2px;color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;} .credentials strong{color:var(--brand);font-size:19px;font-weight:700;line-height:1.3;} .credentials span{font-size:15px;} .section--dark .credentials svg{color:var(--accent-on-black);} .intro + .credentials{margin-top:40px;} .section--tight{padding-block:28px;} .section--dark .credentials{border-color:rgba(255,255,255,.18);} .section--dark .credentials li{border-left-color:rgba(255,255,255,.18);} .section--dark .credentials strong{color:var(--on-brand);} .section--dark .credentials span{color:var(--on-brand);} .policy{max-width:78ch;} .policy h2{font-size:30px;margin-top:1.6em;} .policy h3{margin-top:1.4em;} .policy li{margin-bottom:.6em;} .policy ol>li>p{margin-bottom:.6em;} .industries{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;} .industries li{display:flex;} .industries--pair{grid-template-columns:repeat(2,1fr);} .section--tint .industries a{background:var(--surface);border-color:var(--rule);color:var(--brand);} .section--tint .industries a:is(:hover,:focus){border-color:var(--accent);color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08);} .section--tint .industries a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;} .industries + p{margin-top:28px;} .industries a{display:flex;align-items:center;gap:14px;flex:1;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;padding:20px 24px;border-radius:var(--radius-card);border:1px solid transparent;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;} .industries svg{width:32px;height:32px;flex:none;color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;} .section--dark .industries a{border-color:rgba(255,255,255,.18);color:var(--on-brand);} .section--dark .industries a:hover,.section--dark .industries a:focus-visible{border-color:var(--accent-on-black);background:rgba(255,255,255,.06);} .section--dark .industries svg{color:var(--accent-on-black);} fieldset{border:0;margin:0;padding:0;} legend{font-weight:600;color:var(--brand);padding:0;margin-bottom:1.2em;} label{display:block;font-weight:600;color:var(--brand);margin-bottom:1.2em;} input[type="text"],input[type="email"],input[type="tel"],textarea{display:block;width:100%;margin-top:.4em;padding:14px 16px;font:inherit;color:var(--body);background:var(--surface);border:1px solid var(--rule);border-radius:10px;} textarea{min-height:160px;resize:vertical;} input[type="file"]{display:block;width:100%;margin-top:.4em;font:inherit;color:var(--body);} input[type="file"]::file-selector-button{font:inherit;font-weight:600;margin-inline-end:12px;padding:8px 14px;cursor:pointer;border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--surface);color:var(--brand);} .applynote{font-size:15px;margin:1em 0 0;} .contact-address{font-style:normal;margin:0;line-height:1.65;} .contact-phone{margin:20px 0 24px;font-size:21px;font-weight:700;line-height:1.3;} .contact-phone a{color:var(--brand);text-decoration:none;} .contact-phone a:hover{color:var(--accent);text-decoration:underline;} .contact-note{margin:0;max-width:42ch;} input[type="submit"]{display:inline-flex;align-items:center;padding:16px 32px;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-pill);font:inherit;font-size:17px;font-weight:700;background:var(--brand);color:var(--on-brand);margin-top:24px;} input[type="submit"]:hover{background:var(--brand-hover);} @media (max-width:900px){.grid.two,.grid.three,.grid.fourth{grid-template-columns:1fr;} .credentials{grid-template-columns:1fr;} .credentials li{border-left:0;border-top:1px solid var(--rule);padding-inline:0;} .credentials li:first-child{border-top:0;} .split{grid-template-columns:1fr;gap:32px;} .split img{height:auto;min-height:0;} .industries{grid-template-columns:1fr 1fr;} .section{padding-block:64px;} .panel{padding:40px;} .hero{padding-block:24px;} .hero .panel{padding:40px 32px;} .section--dark.bgimg::before{background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.88) 55%,rgba(0,0,0,.74) 100%);}} /* Between 999 and 768 the brand block takes the full width and centres,with the three link columns in a row beneath it. */ @media (max-width:999px){footer .grid.fourth{grid-template-columns:repeat(3,1fr);} footer .grid.fourth>div:first-child{grid-column:1 / -1;text-align:center;}} @media (max-width:767px){footer .grid.fourth{grid-template-columns:1fr;} footer .grid.fourth>div{text-align:center;} footer h3{text-align:center;} footer .grid.fourth>div:not(:first-child) li{margin-bottom:0;} footer .grid.fourth>div:not(:first-child) ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;} footer .grid.fourth>div:not(:first-child) a{display:inline-block;padding:10px 18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;white-space:nowrap;line-height:1.2;transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;} footer .grid.fourth>div:not(:first-child) a:is(:hover,:focus){border-color:var(--on-brand);background:rgba(255,255,255,.08);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.35);} footer .grid.fourth>div:not(:first-child) a:focus-visible{outline:2px solid var(--accent-on-black);outline-offset:2px;}} @media (max-width:700px){h1{font-size:34px;} h2{font-size:30px;} .hero{padding-block:16px;} .hero .panel{padding:32px 24px;} .hero h1{font-size:30px;} .hero .lead{font-size:18px;} .industries{grid-template-columns:1fr;}} .topbar{background:var(--brand);color:var(--on-brand);font-size:15px;} .topbar .wrap{display:flex;justify-content:flex-end;align-items:center;gap:24px;padding-block:10px;} .topbar a{color:var(--on-brand);text-decoration:none;} .topbar-cta,.topbar-phone{transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;} .topbar-cta{background:none;color:var(--on-brand);border:1px solid var(--on-brand);padding:8px 20px;border-radius:var(--radius-pill);font-weight:700;} .topbar-phone{font-weight:600;} .topbar-cta:is(:hover,:focus){background:var(--on-brand);color:var(--brand);} .navbar{background:var(--surface);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--rule);} .navbar .wrap{display:flex;align-items:center;gap:40px;padding-block:16px;} .navbar-bar{display:flex;align-items:center;} .navbar nav{margin-inline-start:auto;} .nav-brand img{display:block;} nav ul{list-style:none;margin:0;padding:0;} .disclosure-nav{display:flex;align-items:center;gap:32px;} .disclosure-nav>li{position:relative;} .disclosure-nav>li>a{color:var(--brand);font-weight:600;text-decoration:none;} .disclosure-nav>li>a:hover{color:var(--accent);} .disclosure-nav button{background:none;border:1px solid transparent;cursor:pointer;font:inherit;font-weight:600;color:var(--brand);padding:4px 8px;} .disclosure-nav button:after{content:"\2B9F";margin-inline-start:.4em;display:inline-block;} .disclosure-nav button[aria-expanded="true"]:after{transform:rotate(180deg);} .disclosure-nav button:focus-visible,.disclosure-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;} nav ul ul{display:none;position:absolute;top:100%;left:0;min-width:260px;z-index:9;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card);padding:12px;margin-top:8px;box-shadow:0 12px 32px rgb(0 0 0 / 12%);} nav ul ul::before{content:"";position:absolute;top:-9px;left:-1px;right:-1px;height:9px;} nav ul ul a{display:block;padding:10px 16px;border-radius:10px;color:var(--brand);text-decoration:none;} nav ul ul a:hover{background:var(--surface-alt);color:var(--accent);} .nav-toggle{display:none;} .nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;} .skip-link{position:absolute;left:-9999px;} .skip-link:focus{position:fixed;top:0;left:0;z-index:100;padding:12px 24px;background:var(--brand);color:var(--on-brand);} .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;} footer{background:var(--brand);color:var(--on-brand);padding-block:72px 0;} footer h3{color:var(--on-brand);font-size:18px;margin:0 0 .8em;} footer a{color:var(--on-brand);text-decoration:none;} footer a:hover{color:var(--accent-on-black);text-decoration:underline;} footer address{font-style:normal;} footer ul{list-style:none;margin:0;padding:0;} footer li{margin-bottom:.5em;} .footer-address{margin:24px 0 0;line-height:1.6;} .footer-phone{margin:16px 0 0;font-size:18px;font-weight:700;line-height:1.4;} .footer-phone a{color:var(--on-brand);} .footer-phone a:hover{color:var(--accent-on-black);text-decoration:underline;} .footer-tagline{margin:20px 0 0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.8);} .subfoot{background:var(--surface-alt);color:var(--brand);margin-top:56px;padding-block:20px;} .subfoot .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;} .subfoot p{margin:0;font-size:15px;} .subfoot a{color:var(--brand);} .subfoot a:hover{color:var(--accent);} .a8b-mark img{display:block;} @media (forced-colors:active){a.a8b-mark{display:inline-block;forced-color-adjust:none;background-color:CanvasText;-webkit-mask:url(https://code.a8b.co/images/a8bmark.svg) center/contain no-repeat;mask:url(https://code.a8b.co/images/a8bmark.svg) center/contain no-repeat;} a.a8b-mark img{opacity:0;} a.a8b-mark:focus-visible{outline-color:Highlight;}} @media (max-width:1000px){.navbar .wrap{display:block;padding-block:12px;} .navbar-bar{position:relative;justify-content:center;} .navbar nav{display:none;margin-inline-start:0;} .navbar.nav-open nav{display:block;} .nav-toggle{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:0;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;background:none;border:1px solid var(--rule);border-radius:10px;cursor:pointer;} .nav-toggle-icon,.nav-toggle-icon::before,.nav-toggle-icon::after{display:block;width:20px;height:2px;background:var(--brand);transition:transform .15s ease,background-color .15s ease;} .nav-toggle-icon{position:relative;} .nav-toggle-icon::before,.nav-toggle-icon::after{content:"";position:absolute;left:0;} .nav-toggle-icon::before{top:-6px;} .nav-toggle-icon::after{top:6px;} .nav-toggle[aria-expanded="true"] .nav-toggle-icon{background:transparent;} .nav-toggle[aria-expanded="true"] .nav-toggle-icon::before{top:0;transform:rotate(45deg);} .nav-toggle[aria-expanded="true"] .nav-toggle-icon::after{top:0;transform:rotate(-45deg);} .disclosure-nav{display:block;margin-top:12px;border-top:1px solid var(--rule);} .disclosure-nav>li{border-bottom:1px solid var(--rule);} .disclosure-nav>li>a,.disclosure-nav button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;text-align:left;} .disclosure-nav ul{position:static;min-width:0;margin:0;padding:0 0 10px 16px;border:0;box-shadow:none;border-radius:0;} .disclosure-nav ul a{padding:12px 0;} .disclosure-nav ul::before{display:none;}} @media (max-width:700px){.topbar .wrap{justify-content:space-between;gap:12px;padding-block:8px;} .topbar{font-size:13px;} .topbar-cta{padding:6px 14px;} .nav-brand img{width:150px;height:auto;}} /* The hover/focus lift is decoration;drop it for people who ask for less motion. Kept at the end of the file so it wins the cascade against the .btn rules. */ @media (prefers-reduced-motion:reduce){.btn:is(:hover,:focus),.industries a:is(:hover,:focus),footer .grid.fourth>div:not(:first-child) a:is(:hover,:focus){transform:none;}} 