:root{--ink:#222;--red:#f0542d;--black:#0b0000;--content:1140px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans",Arial,sans-serif;font-size:16px;line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.skip-link{position:fixed;left:12px;top:-60px;z-index:1000;padding:10px 15px;background:#fff;color:#111}
.skip-link:focus{top:12px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.content-width{width:min(var(--content),calc(100% - 40px));margin-inline:auto}
.wide{width:min(1600px,100%);margin-inline:auto}
.center{text-align:center}
.site-header{position:absolute;inset:0 0 auto;z-index:20;height:94px;background:transparent}
.header-inner{width:min(1200px,calc(100% - 40px));height:94px;margin:auto;display:flex;align-items:flex-start;justify-content:space-between}
.header-logo{width:135px;height:94px;display:flex;align-items:center}
.header-logo img{width:135px;height:62px;object-fit:contain}
.primary-navigation{height:64px;margin-top:15px;display:flex;align-items:center;gap:34px;font-size:16px;line-height:64px}
.primary-navigation a{color:#fff}
.primary-navigation a:hover {color: #F0542D;text-decoration: underline;}
.primary-navigation a.active{color:var(--red)}
.menu-button{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px;margin-top:20px}
.menu-button span{display:block;height:2px;margin:5px 0;background:#fff}
.home-hero{position:relative;height:873px;background:url("assets/home-hero.png") center center/cover no-repeat fixed}
.home-hero-overlay{position:absolute;inset:0;background:#fff;opacity:.49}
.home-hero-content{position:relative;z-index:1;padding-top:280px;text-align:center}
.main-logo{width:619px;height:auto;margin:0 auto 20px}
.pill-button{display:inline-block;min-width:167px;border-radius:28px;padding:17px 35px;font-size:14px;font-weight:700;line-height:14px;text-transform:uppercase;text-align:center}
.pill-button.grey{color:#fff;background:#54595f}
.pill-button.black{color:#fff;background:#090000}
.pill-button span{margin-left:4px}
.section-black{background:var(--black);color:#fff}
.approach{height:426px;display:flex;align-items:center;justify-content:center}
.approach .narrow{width:min(1120px,calc(100% - 40px))}
.approach h1{margin:0;font-family:Arial,sans-serif;font-size:55px;font-weight:300;line-height:1.4}
.approach p{margin:8px 0;font-size:21px;font-weight:500;line-height:1.5}
.short-rule{display:block;width:68px;height:3px;margin:18px 0 24px;background:#0c0003}
.grey-rule{width:112px;height:5px;margin:18px auto 27px;background:#837d7d}
.left-rule{margin-left:0}
.centered-rule{width:112px;height:5px;margin:18px auto 24px}
.intro-feature{position:relative;height:723px;color:#fff;background:url("assets/intro-background.jpg") center/cover no-repeat fixed}
.dark-overlay{position:absolute;inset:0;background:rgba(0,0,0,.69);opacity:.7}
.two-column{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.intro-image{text-align:center}
.intro-image img{width:70%;margin:auto}
.intro-copy{padding:0 30px 0 20px}
.intro-copy h2{margin:0;font-size:40px;line-height:1.4}
.intro-copy p{max-width:560px;margin:18px 0 20px}
.audience-section{height:767px;padding:120px 0;background:#fff}
.audience-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
.audience-copy{padding-right:60px}
.audience-copy h2{margin:0;font-family:Arial,sans-serif;font-size:40px;line-height:1.4}
.audience-copy p,.audience-copy ul{margin-top:17px}
.audience-copy ul{padding-left:36px;margin-bottom:28px}
.image-stack{padding:0 10px;display:grid;gap:20px}
.image-stack img{width:100%;height:244px;object-fit:cover;border-radius:4px}
.offset-stack{padding-top:0}
.help-heading{height:409px;margin-top:-109px;margin-bottom:-109px;padding:150px 0 147px;display:flex;align-items:center}
.help-heading h2{margin:0;font-family:Arial,sans-serif;font-size:45px;line-height:1.3}
.help-heading p{margin:10px 0 0;font-family:Arial,sans-serif;font-size:18px;font-weight:300}
.content-full{width:100%}
.service-strip{height:330px;display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch}
.service-card{margin:10px;padding:40px;background:#f8f8f8;text-align:center}
.service-card img{width:48px;height:48px;object-fit:contain;margin:10px auto 16px}
.service-card h3{margin:0 0 12px;font-family:Roboto,Arial,sans-serif;font-size:21px;font-weight:500;color:#444}
.service-card p{margin:0;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:300;color:#060000}
.why-section{padding:70px 0 40px;background:#fff}
.why-layout{height:401px;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.why-copy{padding:20px}
.why-copy h2{margin:0 0 30px;font-family:Arial,sans-serif;font-size:41px;line-height:1.3}
.arrow-list{font-family:Roboto,Arial,sans-serif;font-size:17px;font-weight:300;line-height:1.45}
.arrow-list p{margin:0 0 13px}
.arrow-list span{display:inline-block;padding-left:12px}
.letter-link{display:inline-block;margin-top:6px;font-family:Roboto,Arial,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:5.2px}
.why-image{padding:20px;background:#f8f8f8}
.why-image img{width:100%;height:360px;object-fit:cover}
.benefits-section{height:745px;padding:80px 0 50px}
.benefits-section h2{margin:0;font-family:Arial,sans-serif;font-size:44px;font-weight:400;line-height:1.4;color:#444}
.benefits-intro{max-width:760px;margin:0 auto 35px;font-family:Arial,sans-serif;font-size:21px;font-weight:300;line-height:1.5}
.benefits-grid{width:100%;height:310px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:22px 55px;text-align:left}
.benefit-item{display:grid;grid-template-columns:128px 1fr;align-items:center}
.benefit-item img{width:128px;height:128px;object-fit:contain}
.benefit-item h3{margin:0 0 0 30px;font-family:Arial,sans-serif;font-size:27px;font-weight:500;line-height:1.25}
.contact-band{position:relative;height:260px;padding-top:80px;background:url("assets/contact-band.jpg") center/cover no-repeat fixed}
.contact-band-overlay{position:absolute;inset:0;background:#f5f7fa;opacity:.97}
.contact-band-content{position:relative}
.contact-band-content p{margin:0;color:#73716e;font-family:Roboto,Arial,sans-serif;font-size:19px;font-weight:500}
.contact-band-content h2{margin:0;color:rgba(0,0,0,.8);font-family:Roboto,Arial,sans-serif;font-size:29px;font-weight:500;line-height:1.17}
.person-section{height:751px;padding:190px 0 100px}
.person-card{width:min(1140px,calc(100% - 40px));height:371px;margin:auto;padding:95px 35px 35px;border:1px solid #e5e5e5;text-align:center}
.person-card img{width:111px;height:166px;margin:-160px auto 15px;transition:transform .25s}
.person-card img:hover{transform:scale(1.06)}
.person-card h2{margin:0 0 2px;font-size:35px;font-weight:900;line-height:1.4}
.person-card .role{margin:0 0 18px;font-size:15px;font-weight:300;line-height:1;text-transform:uppercase;letter-spacing:2px}
.person-card p{margin:7px 0;font-weight:300}
.site-footer{height:161px;padding:42px 20px;color:#d3d3d3;background:#191919;text-align:center}
.site-footer p{margin:0 0 13px;line-height:1.85}
.contact-hero{position:relative;height:517px;padding-top:230px;text-align:center;color:#fff;overflow:hidden}
.contact-hero-image{position:absolute;inset:0;background:url("assets/contact-hero.jpg") center center/cover no-repeat;filter:grayscale(1)}
.contact-hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.22)}
.contact-hero h1{position:relative;margin:0;font-family:Arial,sans-serif;font-size:62px;font-weight:600;line-height:1.4;text-transform:uppercase}
.contact-section{height:719px;padding:120px 0}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.form-column,.contact-info{padding:0 10px}
.contact-section h2{margin:0 0 54px;font-family:Arial,sans-serif;font-size:40px;line-height:1.4}
.contact-form{display:grid;gap:20px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #e5e5e5;border-radius:0;padding:14px 12px;color:#222;background:#fafafa;font:16px/1.4 "Noto Sans",Arial,sans-serif;outline:0}
.contact-form input{height:53px}
.contact-form textarea{height:122px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:#777}
.send-button{width:max-content;border:0;border-radius:2px;padding:14px 24px;color:#fff;background:#333;font:700 12px/1.2 "Noto Sans",Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.contact-info{padding-left:55px}
.contact-info h2{margin-bottom:43px}
.info-block{margin-bottom:26px}
.info-block strong{display:block;margin-bottom:7px}
.info-block p{max-width:500px;margin:0;line-height:1.65}
.social-links{display:flex;gap:12px;margin-top:27px}
.social-links a{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#333;font-weight:700}
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.js .reveal:not(.is-visible){opacity:0;transform:translateY(18px)}

@media(max-width:1024px){.home-hero{height:auto;min-height:520px;padding:120px 0 100px;background-attachment:scroll}
.home-hero-content{padding:0 30px}
.main-logo{width:min(620px,70vw)}
.approach{padding:0 50px}
.intro-feature{height:auto;min-height:540px;padding:80px 60px 80px 0;background-attachment:scroll}
.audience-section{height:auto;padding:70px 0}
.audience-copy{padding:0 20px 0 25px}
.image-stack{padding-top:40px}
.help-heading{height:auto;margin:0;padding:100px 25px}
.why-section{height:auto}
.why-layout{height:auto}
.benefits-section{height:auto}
.person-section{height:auto;padding:145px 25px 100px}
.contact-band{background-attachment:scroll}
}

@media(max-width:767px){body{font-size:15px}
.site-header,.header-inner{height:84px}
.header-inner{width:calc(100% - 32px)}
.header-logo{height:84px}
.header-logo img{width:120px;height:auto}
.menu-button{display:block}
.primary-navigation{position:absolute;top:84px;left:0;right:0;height:auto;max-height:0;margin:0;overflow:hidden;display:grid;gap:0;background:rgba(15,15,15,.96);transition:max-height .3s}
.primary-navigation.open{max-height:150px}
.primary-navigation a{padding:10px 22px;line-height:42px;border-top:1px solid rgba(255,255,255,.15)}
.home-hero{min-height:510px;padding:120px 0 60px}
.main-logo{width:84vw;margin-bottom:25px}
.approach{height:auto;min-height:426px;padding:60px 30px}
.approach h1{font-size:38px;line-height:1.4}
.approach p{font-size:18px;line-height:1.8}
.intro-feature{padding:60px 20px;min-height:0}
.two-column{grid-template-columns:1fr;gap:38px}
.intro-image img{width:100%}
.intro-copy{text-align:center;padding:0}
.intro-copy .left-rule{margin-inline:auto}
.audience-section{padding:60px 0 78px}
.audience-layout{grid-template-columns:1fr}
.audience-copy{padding:0 20px 50px;text-align:center}
.audience-copy h2{font-size:34px}
.audience-copy .left-rule{margin-inline:auto}
.audience-copy ul{text-align:left}
.image-stack{padding:0 20px 20px}
.image-stack img{height:auto}
.help-heading{padding:50px 20px;text-align:center}
.help-heading h2{font-size:29px}
.help-heading p{line-height:1.3}
.service-strip{height:auto;grid-template-columns:1fr}
.service-card{min-height:230px}
.why-section{padding:50px 0}
.why-layout{grid-template-columns:1fr}
.why-copy{text-align:center}
.why-copy h2{font-size:23px}
.arrow-list{line-height:1.4}
.why-image{order:-1;margin-bottom:35px}
.why-image img{height:auto}
.benefits-section{padding:50px 30px}
.benefits-section h2{font-size:35px;line-height:1.3}
.benefits-intro{font-size:19px}
.benefits-grid{height:auto;grid-template-columns:1fr;gap:28px}
.benefit-item{grid-template-columns:95px 1fr}
.benefit-item img{width:90px;height:90px}
.benefit-item h3{font-size:22px;margin-left:20px}
.contact-band{height:auto;min-height:250px;padding:40px 0}
.contact-band-content{padding:0 20px}
.contact-band-content p{font-size:12px}
.contact-band-content h2{font-size:40px}
.person-section{padding:120px 20px 50px}
.person-card{height:auto;padding:80px 25px 35px}
.person-card img{margin-top:-145px}
.site-footer{height:auto;min-height:161px}
.contact-hero{height:420px;padding-top:190px}
.contact-hero h1{font-size:45px}
.contact-section{height:auto;padding:60px 0}
.contact-layout{grid-template-columns:1fr;gap:65px}
.contact-section h2{font-size:36px;margin-bottom:40px}
.contact-info{padding-left:10px}
}

