@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-01.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-02.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-03.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-04.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-05.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-06.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-07.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-08.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/font-09.ttf) format('truetype');
}

:root{--red:#b5121b;--ink:#252629;--muted:#676a6e;--cream:#f5f3ef;--line:#deddd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#252629;background:#fff;font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #e28a42;outline-offset:6px}.skip{position:fixed;top:-100px;background:white;padding:16px;z-index:10}.skip:focus{top:8px}header{max-width:1440px;margin:auto;height:112px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #deddd8}.brand{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-1.3px;font-size:30px;color:#b5121b;line-height:1}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:3.6px;margin-top:9px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.text-link:hover{color:#b5121b}.nav-cta{border:1px solid #ccc;padding:13px 20px;font-size:14px;border-radius:3px}.nav-cta span{margin-left:24px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:35px;padding:82px 6% 70px;align-items:center}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:700;display:flex;align-items:center;gap:9px;margin:0 0 25px}.red-dot{display:inline-block;background:#b5121b;height:6px;width:6px;border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h1{font-size:clamp(43px,4.65vw,67px);font-weight:600;letter-spacing:-3.5px;line-height:1.11;margin-bottom:27px}em{font-style:normal;color:#b5121b}.intro{max-width:440px;color:#676a6e;font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:30px 0 37px}.button{display:inline-flex;gap:22px;align-items:center;background:#b5121b;color:white;padding:17px 20px;border-radius:3px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#900c14;transform:translateY(-2px)}.text-link{font-size:13px;font-weight:600;display:inline-flex;gap:16px;border-bottom:1px solid #aaa;padding:8px 0}.location{font-size:9px;letter-spacing:1px;color:#676a6e;margin:0}.location span{margin:0 10px}.flow-art{position:relative;min-height:454px;overflow:hidden;border-radius:5px;background:radial-gradient(ellipse at 70% 85%,#dcdad1 0,transparent 65%),#efeee8;background-image:linear-gradient(#e3e1d955 1px,transparent 1px),linear-gradient(90deg,#e3e1d955 1px,transparent 1px),radial-gradient(ellipse at 70% 85%,#dcdad1,transparent 65%);background-size:27px 27px,27px 27px,100% 100%}.art-label{position:absolute;top:23px;left:24px;right:24px;font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:8px}.art-label>span:last-child{margin-left:auto;color:#777}.orbit{position:absolute;width:320px;height:320px;border:1px solid #d0cec3;border-radius:50%;top:78px;left:65px}.orbit-two{width:235px;height:235px;left:107px;top:120px}.flow-node{position:absolute;display:flex;align-items:center;gap:14px;padding:19px 20px;background:#fffdf9;border:1px solid white;border-radius:5px;box-shadow:0 9px 22px #4b41391a;min-width:270px;transform:rotate(-5deg)}.node-a{top:98px;left:34px}.node-b{top:204px;left:74px;background:#b5121b;color:white;transform:rotate(3deg);z-index:2;min-width:310px;border-color:#b5121b}.node-c{top:313px;left:113px;transform:rotate(-4deg)}.node-icon{font-size:26px;width:34px}.flow-node small{font-size:8px;letter-spacing:1.4px;display:block;opacity:.65;margin-bottom:7px}.flow-node strong{font-size:13px;font-weight:550;white-space:nowrap}.flow-node b{font-size:14px;font-weight:400;margin-left:auto;opacity:.7}.art-bottom{position:absolute;bottom:21px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.6px;color:#60635e}.principles{border-block:1px solid #deddd8;padding:25px 6%;display:flex;gap:25px;justify-content:space-between;max-width:1440px;margin:auto;font-size:14px}.principles span:before{content:'+';color:#b5121b;margin-right:13px}.principles a{font-size:12px;color:#676a6e}.section{padding:90px 6%;max-width:1440px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:48px}.section-heading>div{display:flex;align-items:end;gap:50px;justify-content:space-between}.section-heading p:not(.eyebrow){max-width:265px;color:#676a6e;font-size:14px;line-height:1.8;margin-bottom:0}h2{font-size:clamp(30px,3.05vw,43px);font-weight:550;line-height:1.23;letter-spacing:-1.7px;margin-bottom:20px}.section-heading h2{margin-bottom:0;flex-shrink:0}.opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.opportunity-grid article{border-top:1px solid #deddd8;padding-top:27px}.service-icon{display:block;color:#b5121b;font-size:32px;margin-bottom:27px}.mini-label{font-size:9px;font-weight:600;letter-spacing:1.6px;margin-bottom:15px}h3{font-size:23px;letter-spacing:-.7px;font-weight:600;margin-bottom:15px}.opportunity-grid p:not(.mini-label){max-width:320px;color:#676a6e;font-size:14px;line-height:1.8}.example{display:block;font-size:11px;border-top:1px solid #eee;padding-top:17px;color:#626262;margin-top:25px}.scope-note{font-size:11px;color:#777;margin:28px 0 0}.approach{display:grid;grid-template-columns:1fr 1fr;background:#f5f3ef;gap:100px}.approach-intro>p:not(.eyebrow){max-width:370px;line-height:1.8;font-size:15px;color:#676a6e}.steps article{display:flex;gap:23px;border-bottom:1px solid #d9d7d1;padding:23px 0}.steps article:first-child{padding-top:0}.steps article>span{color:#b5121b;font-size:11px;padding-top:5px}.steps h3{font-size:19px;letter-spacing:-.4px;margin-bottom:9px}.steps p{color:#676a6e;font-size:13px;line-height:1.8;max-width:350px;margin-bottom:0}.about{display:grid;grid-template-columns:1fr 1.5fr .75fr;gap:35px;align-items:start}.about p:not(.eyebrow){font-size:15px;line-height:1.8;color:#676a6e;max-width:450px}.about-mark{margin-left:auto;border-left:2px solid #b5121b;padding:12px 0 12px 24px;color:#b5121b;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-4px;font-size:55px;line-height:.94}.about-mark span{display:block;font-size:8px;letter-spacing:3px;margin-top:25px}.contact{background:#b5121b;color:white;display:grid;grid-template-columns:1.5fr 1fr;gap:100px;padding-block:67px}.contact h2{font-size:47px}.contact em{color:#efb7b3}.contact>div>p:not(.eyebrow){font-size:14px;color:#f4d8d8;line-height:1.6}.button-light{background:white;color:#b5121b;margin-top:14px}.button-light:hover{background:#f3e7df}.contact aside{border-left:1px solid #ffffff40;padding:7px 0 0 40px;max-width:350px}.contact aside>p:not(.mini-label){font-size:14px;line-height:1.8;color:#f4d8d8}.contact-address{margin-top:34px}.contact-address>span{font-size:9px;letter-spacing:1.5px}.contact address{font-size:14px;font-style:normal;line-height:1.8;margin:12px 0}.contact-address a{font-size:12px;text-decoration:underline;text-underline-offset:5px}footer{max-width:1440px;padding:35px 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}footer .brand{font-size:23px}footer .brand span{font-size:7px}footer p{font-size:12px;color:#676a6e;margin:0}footer>div{font-size:10px;line-height:1.8;text-align:right}footer>div>span{color:#676a6e}
@media(min-width:1500px){body{background:#fbfaf8}header,main,footer{background:#fff;max-width:1440px;margin:auto}}@media(max-width:1100px){.hero{gap:25px;padding-inline:5%}h1{letter-spacing:-2.5px}.flow-node{min-width:235px;padding:16px}.node-b{left:35px;min-width:285px}.node-c{left:75px}.node-a{left:20px}.section-heading{grid-template-columns:1fr}.section-heading>div{align-items:center}.approach{gap:45px}.about{grid-template-columns:.7fr 1.5fr}.about-mark{display:none}.contact{gap:45px}.principles{font-size:12px}.principles a{display:none}}
@media(max-width:760px){header{height:88px;padding-inline:6%}.brand{font-size:25px}nav{gap:17px;font-size:12px}nav a:last-child{display:none}.nav-cta{font-size:12px;padding:10px 12px}.nav-cta span{margin-left:10px}.hero{grid-template-columns:1fr;padding:49px 6% 34px;gap:34px}h1{font-size:51px;letter-spacing:-2.8px}.intro{font-size:16px}.hero-actions{margin:25px 0}.flow-art{min-height:420px;max-width:520px;width:100%;margin:auto}.node-a{left:10%;top:84px}.node-b{left:15%;top:185px}.node-c{left:23%;top:285px}.orbit{left:14%;top:55px}.orbit-two{left:24%;top:95px}.principles{gap:12px;flex-wrap:wrap;padding-block:21px;font-size:11px}.principles span:before{margin-right:5px}.section{padding:58px 6%}.section-heading>div{display:block}.section-heading p:not(.eyebrow){max-width:400px;margin-top:20px}.section-heading{gap:0;margin-bottom:30px}.opportunity-grid{grid-template-columns:1fr;gap:30px}.opportunity-grid article{position:relative;padding-left:54px}.service-icon{position:absolute;left:0;top:21px;font-size:30px}.example{margin-top:18px}.opportunity-grid p:not(.mini-label){max-width:none}.approach{grid-template-columns:1fr;gap:40px}.about{grid-template-columns:1fr;gap:0}.contact{grid-template-columns:1fr;gap:38px}.contact h2{font-size:39px}.contact aside{max-width:none;border-left:0;border-top:1px solid #ffffff40;padding:30px 0 0}.contact-address{margin-top:23px}footer{flex-wrap:wrap;padding-block:30px}footer p{display:none}footer>div{font-size:9px}.eyebrow{font-size:9px}.location{font-size:8px}.art-bottom{font-size:7px}}@media(max-width:370px){nav{display:none}h1{font-size:44px}.node-b{left:8%;min-width:260px}.node-c{left:15%}.flow-node strong{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Service detail and company facts. */
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:38px}.services-grid article>p:not(.mini-label){max-width:470px}.service-detail{padding-left:17px;margin:19px 0 25px;color:#676a6e;font-size:13px;line-height:1.8}.service-detail li{padding-left:3px;margin-bottom:7px}.service-detail li::marker{color:#b5121b}.services-grid .example{line-height:1.7}.company-facts{margin:30px 0 0;border-top:1px solid #deddd8;font-size:12px}.company-facts>div{display:grid;grid-template-columns:110px 1fr;gap:14px;border-bottom:1px solid #deddd8;padding:13px 0}.company-facts dt{color:#676a6e}.company-facts dd{margin:0;line-height:1.6}@media(max-width:760px){.services-grid{grid-template-columns:1fr;gap:30px}.company-facts>div{grid-template-columns:90px 1fr}.art-bottom{letter-spacing:0}.service-detail{font-size:13px}}
/* Independent pages and shared navigation. */
header{position:relative;gap:24px}header nav{gap:24px;font-size:13px}header nav a{white-space:nowrap}nav a[aria-current=page]{color:#b5121b;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.menu-toggle{display:none}.breadcrumb{display:flex;gap:14px;padding:28px 6% 0;max-width:1440px;margin:auto;font-size:11px;color:#676a6e}.breadcrumb a:hover{color:#b5121b}body:not(.page-home) main>.section:first-of-type{margin-top:30px}body:not(.page-home) h1{font-size:clamp(34px,3.6vw,52px);letter-spacing:-2px;line-height:1.2}.page-services .section-heading{display:block}.page-services .section-heading>div{gap:45px}.page-services h1{margin-bottom:0}.page-services .section-heading>div>p{max-width:340px}.page-about .about{grid-template-columns:.65fr 1.7fr .65fr}.page-contact .contact{margin-bottom:0}.page-contact h1 em{color:#efb7b3}.page-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f5f3ef;padding-block:45px;border-top:1px solid #deddd8}.page-cta h2{font-size:28px;letter-spacing:-1px;margin-bottom:0}.page-cta .eyebrow{margin-bottom:14px}.page-cta .button{flex-shrink:0}.home-services{display:grid;grid-template-columns:1fr 1.25fr;gap:80px}.home-services-heading h2{max-width:330px}.service-index>a{display:flex;gap:20px;padding:22px 0;border-top:1px solid #deddd8}.service-index>a>span{font-size:11px;color:#b5121b;padding-top:6px}.service-index h3{font-size:20px;margin-bottom:9px}.service-index p{font-size:13px;line-height:1.7;color:#676a6e;margin-bottom:0}.service-index b{margin-left:auto;font-weight:400;color:#b5121b}.service-index>a:hover h3{color:#b5121b}.faq-page{display:grid;grid-template-columns:.95fr 1.2fr;gap:65px}.faq-intro p:not(.eyebrow){font-size:15px;color:#676a6e;line-height:1.8;max-width:350px}.faq-list details{border-bottom:1px solid #deddd8}.faq-list details:first-child{border-top:1px solid #deddd8}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:16px;padding:24px 0;font-size:15px;font-weight:500;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-number{color:#b5121b;font-size:10px}.faq-symbol{margin-left:auto;font-size:22px;color:#b5121b;flex-shrink:0}.faq-list details[open] .faq-symbol{transform:rotate(45deg)}.faq-answer{padding:0 26px 24px 30px}.faq-answer p{font-size:14px;line-height:1.85;color:#676a6e;margin:0}.faq-answer a,.contact-notes a{color:#b5121b;text-decoration:underline;text-underline-offset:4px}.faq-list summary:focus-visible,.menu-toggle:focus-visible{outline:3px solid #e28a42;outline-offset:4px}.contact-notes{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-notes p:not(.eyebrow){color:#676a6e;font-size:15px;line-height:1.9}footer{align-items:start;gap:30px}footer nav{display:grid;grid-template-columns:repeat(3,auto);gap:17px 25px;font-size:12px}footer .footer-caption{font-size:10px;line-height:1.6;text-align:left;margin:18px 0 0}footer .footer-company{font-size:10px;line-height:1.9}footer nav a:last-child{display:block}
@media(max-width:1050px){header{height:94px}header nav{gap:15px;font-size:12px}.nav-cta{display:none}.home-services{gap:45px}.page-about .about{grid-template-columns:.65fr 1.7fr}.faq-page{gap:35px}}
@media(max-width:760px){header{height:88px;flex-wrap:nowrap}.menu-toggle{display:flex;align-items:center;gap:14px;margin-left:auto;border:1px solid #deddd8;background:#fff;padding:12px 16px;border-radius:3px;color:#252629;font:500 13px 'DM Sans',sans-serif;cursor:pointer}header nav,header nav a:last-child{display:none}header nav.is-open{display:flex;position:absolute;top:87px;left:0;right:0;flex-direction:column;gap:0;padding:12px 6% 20px;background:#fff;z-index:5;border-bottom:1px solid #deddd8;box-shadow:0 12px 20px #0000000a}header nav.is-open a,header nav.is-open a:last-child{display:block;padding:14px 0;font-size:15px}.breadcrumb{padding-top:22px}body:not(.page-home) main>.section:first-of-type{margin-top:20px}body:not(.page-home) h1{font-size:38px;letter-spacing:-1.6px}.page-services .section-heading>div{display:block}.page-about .about,.faq-page,.home-services,.contact-notes{grid-template-columns:1fr;gap:30px}.page-about .about{gap:0}.page-cta{align-items:start;flex-direction:column;padding-block:35px}.page-cta h2{font-size:26px}.home-services-heading h2{max-width:none}.faq-answer{padding-right:10px}.faq-list summary{font-size:14px}footer{display:grid;grid-template-columns:1fr 1fr}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:11px}footer nav a,footer nav a:last-child{display:block}footer .footer-company{grid-column:1/-1;text-align:left;border-top:1px solid #deddd8;padding-top:20px;width:100%}footer .footer-caption{display:block;max-width:170px}.contact-notes{gap:10px}.page-contact .contact h1{font-size:39px}}
