@font-face{font-family:Arimo;src:url('assets/arimo-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Arimo;src:url('assets/arimo-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--red:#ed1c24;--ink:#1e1e1e;--muted:#626262;--surface:#f5f5f3;--line:#d1d1d1;--content:1264px;--header-height:108px;--gutter:40px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}
body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.5 Arimo,Arial,sans-serif}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
button{cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:700}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.button:focus-visible,.contact a:focus-visible{outline-color:var(--ink)}
.container{width:min(var(--content),calc(100% - var(--gutter)*2));margin-inline:auto}
.skip-link{position:fixed;z-index:100;left:20px;top:-80px;padding:12px 20px;background:var(--ink);color:#fff}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98)}
.header-inner{min-height:var(--header-height);display:flex;align-items:center;gap:60px;border-bottom:1px solid var(--line)}
.brand{flex:none}.brand img{width:120px;height:56px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:40px;flex:1;font-weight:700;font-size:16px}
.main-nav>a:not(.button){padding-block:12px;transition:color .2s}
.main-nav>a:not(.button):hover,.footer-nav a:hover,.footer-contact a:hover{color:var(--red)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:0;border-radius:4px;min-height:52px;padding:14px 16px;background:var(--red);color:#fff;font-weight:700;line-height:1.2;transition:background .2s,transform .2s}
.button:hover{background:#cf1119;transform:translateY(-2px)}
.button>span{font-size:24px;line-height:1;flex:none}
.nav-cta{margin-left:auto;gap:16px}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;padding-block:88px;align-items:start}
.eyebrow{font-size:12px;line-height:14px;font-weight:700;color:var(--red);margin-bottom:32px}
h1{font-size:clamp(48px,5vw,72px);line-height:1;letter-spacing:-1.6px}
.hero-description{font-size:20px;line-height:23px;max-width:555px;margin-top:32px;color:var(--muted)}
.hero-contact{margin-top:64px;max-width:400px}
.hero-button{font-size:24px;min-height:76px;width:365px;max-width:100%;padding:20px 24px}
.hero-note{margin-top:12px;color:var(--muted);line-height:18px}
.hero-visual{position:relative;min-width:0;border-radius:8px;overflow:hidden}
.hero-visual>img{width:100%;height:536px;object-fit:cover;object-position:84% center}
.hero-visual figcaption{position:absolute;bottom:26px;left:0;width:calc(100% - 48px);padding:24px;background:var(--ink);color:#fff}
.hero-visual figcaption span{display:block;font-size:16px;font-weight:700;line-height:18px;margin-bottom:16px}
.hero-visual figcaption strong{font-size:24px;line-height:28px;display:block}
.capabilities{background:var(--ink);color:#fff}
.capability-list{display:flex;justify-content:space-between;align-items:center;min-height:78px;gap:40px;padding-inline:43px;font-weight:700;white-space:nowrap}
.services{padding-block:88px}
h2{font-size:48px;line-height:1.15;letter-spacing:-.5px}
.services h2{margin-bottom:32px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.service-card{min-width:0;overflow:hidden;border-radius:8px;background:var(--surface)}
.service-copy{padding:24px;min-height:198px;font-family:Manrope,Arial,sans-serif}
.service-copy h3{font-size:26px;line-height:34px;letter-spacing:-.45px}
.service-copy p{font-size:16px;line-height:24px;color:#666;margin-top:16px}
.carousel{position:relative;height:235px;overflow:hidden;background:#fff;touch-action:pan-y}
.carousel-image{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;opacity:0;transition:opacity .65s ease}
.carousel-image.is-current{opacity:1}
.carousel-controls{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;border-radius:4px;background:rgba(30,30,30,.86);color:#fff;opacity:0;transition:opacity .2s}
.carousel:hover .carousel-controls,.carousel:focus-within .carousel-controls{opacity:1}
.carousel-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;font-size:25px;border-radius:4px}
.carousel-controls button:hover{background:rgba(255,255,255,.2)}
.carousel-controls button:focus-visible{outline-color:#fff;outline-offset:-4px}
.carousel-controls .carousel-pause{font-size:15px}
.carousel-count{font-size:12px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.carousel-controls[hidden]{display:none}
.process{background:#f4f4f1;padding-block:80px}
.process-inner{display:grid;grid-template-columns:548fr 532fr;gap:clamp(60px,10.28vw,148px);align-items:start;padding-inline:36px 0}
.process-image{width:100%;height:552px;object-fit:cover;border-radius:0}
.process h2{font-size:45px;line-height:52px;white-space:nowrap;margin-bottom:40px}
.steps{list-style:none;padding:0;margin:0;max-width:440px}
.steps li{display:grid;grid-template-columns:36px 1fr;gap:20px;padding-block:20px;border-bottom:1px solid var(--line)}
.steps li:first-child{padding-top:20px}
.steps li:last-child{border:0}
.step-number{color:var(--red);font-weight:700;font-size:20px;line-height:28px}
.steps h3{font-size:24px;line-height:28px;margin-bottom:10px}
.steps p{font-family:Arial,sans-serif;font-size:16px;line-height:22px;color:var(--muted)}
.contact{background:var(--red);color:#fff;padding-block:80px}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-inline:6px}
.contact h2{font-size:45px;line-height:52px;letter-spacing:0}
.contact p{font-size:18px;line-height:24px;margin-top:16px}
.button-dark{background:var(--ink);font-size:20px;white-space:nowrap;min-height:54px}
.button-dark:hover{background:#363636}
.site-footer{padding-top:88px}
.footer-main{display:grid;grid-template-columns:320px 1fr auto;gap:87px;padding-bottom:88px}
.footer-brand img{width:224px;height:auto}
.footer-contact{display:flex;flex-direction:column;gap:22px;color:var(--muted);font-style:normal;line-height:22px}
.footer-contact p{margin:0 0 6px}
.footer-nav{display:flex;flex-direction:column;gap:20px;font-size:16px;line-height:22px}
.footer-nav h3{font-size:16px;line-height:22px}
.footer-nav a{color:var(--muted)}
.copyright{border-top:1px solid var(--line);padding-block:24px;text-align:center;color:var(--muted);font-size:14px;line-height:20px}
.mobile-only,.mobile-break{display:none}
.reveal.is-pending{opacity:0;transform:translateY(18px)}
.reveal{transition:opacity .65s ease,transform .65s ease}
@media(hover:none){.carousel-controls{opacity:1}}
@media(min-width:1600px){.hero-visual>img{height:536px}}
@media(max-width:1199px){:root{--gutter:32px}.header-inner{gap:40px}.hero{gap:40px}.hero-description{font-size:18px;line-height:25px}.hero-contact{margin-top:40px}.hero-visual>img{height:500px}.capability-list{padding-inline:0;gap:24px;font-size:14px}.service-copy h3{font-size:23px;line-height:31px}.process-inner{gap:48px;padding-inline:0}.process h2{white-space:normal;font-size:38px;line-height:44px}.contact h2{font-size:38px;line-height:44px}.footer-main{grid-template-columns:240px 1fr auto;gap:32px}}
@media(max-width:900px){.main-nav{gap:24px}.header-inner{gap:28px}.hero{gap:32px}.hero-button{font-size:20px}.hero-visual figcaption{width:100%;bottom:0;padding:20px}.hero-visual figcaption strong{font-size:22px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-inner{gap:32px;grid-template-columns:1fr 1fr}.process-image{height:600px}.process h2{font-size:34px;line-height:40px}.steps li{gap:10px}.steps h3{font-size:22px}.contact-inner{align-items:flex-start;flex-direction:column;gap:28px}.footer-main{grid-template-columns:180px 1fr;gap:40px}.footer-nav{grid-column:2}.footer-brand img{width:180px}}
@media(max-width:700px){
  :root{--gutter:20px;--header-height:76px}
  .site-header{border-bottom:1px solid var(--line)}
  .header-inner{min-height:75px;border:0;justify-content:space-between}
  .brand img{width:86px;height:40px}
  .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;width:44px;height:44px;margin-right:-10px;color:var(--ink)}
  .menu-toggle span{width:18px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 20px 24px;background:#fff;box-shadow:0 14px 20px #00000012;border-bottom:1px solid var(--line);align-items:stretch;gap:8px}
  .main-nav.is-open{display:flex;flex-direction:column}
  .main-nav>a:not(.button){padding:14px 4px}
  .nav-cta{margin:8px 0 0}
  .hero{display:flex;flex-direction:column;gap:30px;padding-top:48px;padding-bottom:44px}
  .hero-copy,.hero-visual{width:100%}
  .eyebrow{margin-bottom:20px}
  h1{font-size:42px;line-height:42px;letter-spacing:-1.7px}
  .hero-description{font-size:16px;line-height:23px;margin-top:20px;max-width:none}
  .hero-contact{margin-top:30px;max-width:none}
  .hero-button{width:100%;font-size:20px;min-height:62px;padding:18px 24px}
  .hero-button>span{font-size:32px}
  .hero-note{text-align:center;line-height:22px;margin-top:12px;padding-inline:16px}
  .hero-visual>img{height:300px;object-position:84% center}
  .hero-visual figcaption{position:static;width:100%;padding:20px 18px;min-height:118px}
  .hero-visual figcaption span{margin-bottom:8px}
  .hero-visual figcaption strong{font-size:24px;line-height:28px;max-width:285px}
  .capability-list{width:100%;min-height:70px;justify-content:flex-start;gap:34px;padding-inline:20px;overflow-x:auto;scrollbar-width:none;font-size:14px}
  .capability-list::-webkit-scrollbar{display:none}
  .capability-list span{flex:none}
  .services{padding-block:56px}
  h2{font-size:34px;line-height:39px;letter-spacing:0}
  .services h2{margin-bottom:28px}
  .service-grid{grid-template-columns:1fr;gap:42px}
  .service-copy{min-height:198px;padding:24px}
  .service-copy h3{font-size:26px;line-height:34px;letter-spacing:-.45px}
  .carousel{height:235px}
  .carousel-controls{opacity:1}
  .process{padding-block:56px;background:var(--surface)}
  .process-inner{display:flex;flex-direction:column;gap:30px;padding:0}
  .process-image{width:100%;height:330px;border-radius:8px}
  .process-copy{width:100%}
  .process h2{font-size:34px;line-height:36px;max-width:350px;margin-bottom:28px}
  .steps{max-width:none}
  .steps li{grid-template-columns:26px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
  .steps li:last-child{border-bottom:1px solid var(--line)}
  .step-number{font-size:16px;line-height:28px}
  .steps h3{font-size:24px;line-height:28px;margin-bottom:8px}
  .steps p{font-size:16px;line-height:23px}
  .desktop-break{display:none}
  .contact{padding-block:48px}
  .contact-inner{padding:0;gap:26px}
  .contact h2{font-size:32px;line-height:35px}
  .contact p{font-size:16px;line-height:22px;margin-top:16px}
  .button-dark{width:100%;justify-content:flex-start;gap:8px;font-size:16px;min-height:56px;padding:16px 24px}
  .button-dark>span{font-size:20px}
  .site-footer{width:calc(100% - 48px);padding-top:48px}
  .footer-main{display:flex;flex-direction:column;gap:36px;padding-bottom:36px}
  .footer-brand img{width:176px;height:auto}
  .footer-contact{gap:12px;line-height:22px}
  .footer-contact p{margin:0 0 2px}
  .footer-phone{order:2}.footer-email{order:1}
  .footer-nav{gap:10px}
  .footer-nav a{min-height:24px}
  .copyright{padding-block:20px 32px}
  .mobile-only,.mobile-break{display:initial}
  p.mobile-only{display:block}
  .desktop-only{display:none}
}
@media(max-width:359px){h1{font-size:36px;line-height:38px;letter-spacing:-1.3px}.hero-button{font-size:18px;padding-inline:18px;gap:12px}.service-copy{padding:20px}.service-copy h3{font-size:24px;line-height:32px}.hero-visual figcaption span{font-size:14px}.steps li{gap:12px}.contact h2{font-size:30px;line-height:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}.button:hover{transform:none}}
