/* Page 1 Figma-inspired editorial openings. Only the three service pillars use full artwork heroes. */
body:has(.q-page-hero) .js-header,body:has(.q-home-hero) .js-header{background:#02050b!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important}
.q-page-hero{background:#fff;color:#101114;padding:clamp(72px,9vw,132px) 24px clamp(72px,9vw,132px);text-align:center}
.q-page-hero-inner{width:min(100%,1354px);margin-inline:auto}
.q-page-hero nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 34px;color:#687076;font-size:14px;line-height:1.5}
.q-page-hero nav ol{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.q-page-hero nav li{display:flex;align-items:center;gap:8px}
.q-page-hero nav a,.q-page-hero nav span{color:inherit}
.q-page-hero nav *{color:#687076!important}
.q-page-hero nav a:hover{color:#06b22d!important}
.q-page-hero h1{max-width:1040px;margin:0 auto;color:#101114;font-size:clamp(40px,5.4vw,80px);font-weight:400;line-height:1.08;letter-spacing:-.055em;text-wrap:balance}
.q-page-hero p{max-width:760px;margin:24px auto 0;color:#555f62;font-size:clamp(17px,1.45vw,21px);line-height:1.55;text-wrap:pretty}
.q-page-hero--editorial{padding-bottom:0}
.q-page-hero--editorial .q-page-hero-media{width:min(100%,1240px);height:clamp(330px,45vw,620px);margin:64px auto 0;overflow:hidden}
.q-page-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.q-page-hero--split{padding-block:clamp(80px,10vw,140px)}
.q-page-hero--split .q-page-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(40px,7vw,112px);text-align:left}
.q-page-hero--split nav{justify-content:flex-start}
.q-page-hero--split nav ol{justify-content:flex-start}
.q-page-hero--split h1,.q-page-hero--split p{margin-left:0;text-align:left}
.q-page-hero--split .q-page-hero-media{height:clamp(340px,38vw,610px);overflow:hidden}
.q-page-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:34px;padding:16px 24px;background:#101114;color:#fff;font-size:15px;font-weight:600;transition:background .2s,transform .2s}
.q-page-hero-cta:hover{background:#06b22d;transform:translateY(-2px)}

/* The homepage retains its three-slide interaction with the media presented beside the copy. */
.q-home-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(42px,6vw,100px);align-items:center;width:min(100% - 48px,1354px);min-height:650px;margin-inline:auto;padding-block:70px 90px;background:#fff;color:#101114}
.q-home-hero-media{grid-column:2;grid-row:1;position:relative;height:min(50vw,610px);min-height:430px;overflow:hidden;background:#061409}
.q-home-hero-slide{position:absolute;inset:0;transition:opacity 1s ease}
.q-home-hero-slide img,.q-home-hero-slide video{display:block;width:100%;height:100%;object-fit:cover}
.q-home-hero-copy{grid-column:1;grid-row:1;max-width:610px}
.q-home-hero-eyebrow{margin:0 0 28px;color:#078f2a;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.q-home-hero h1{margin:0;font-size:clamp(46px,5.5vw,82px);font-weight:400;line-height:1.04;letter-spacing:-.055em;text-wrap:balance}
.q-home-hero .js-hero-sub{max-width:520px;margin:28px 0 0;color:#555f62;font-size:clamp(18px,1.5vw,22px);line-height:1.55}
.q-home-hero .js-hero-cta{margin-top:34px}
.q-home-hero .js-hero-cta a{display:inline-flex;align-items:center;gap:16px;padding:16px 22px;background:#101114;color:#fff;font-size:15px;font-weight:600;transition:background .2s,transform .2s}
.q-home-hero .js-hero-cta a:hover{background:#06b22d;transform:translateY(-2px)}
.q-home-hero .js-hero-next{display:flex;align-items:center;gap:14px;margin-top:52px}
.q-home-hero [data-hero-next]{display:flex;align-items:center;gap:14px;max-width:385px;padding:10px;border:1px solid #e3e8e4;background:#f7f9f8;color:#101114;text-align:left;cursor:pointer}
.q-home-hero [data-hero-next] img,.q-home-hero [data-hero-next] video{width:72px;height:62px;flex:none;object-fit:cover}
.q-home-hero [data-hero-next] p{margin:0;font-size:14px;line-height:1.3}
.q-home-hero [data-hero-next] p:first-child{margin-bottom:6px;color:#687076;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.q-home-hero-progress{display:flex;gap:4px;margin-top:9px}
.q-home-hero-progress>div{width:44px;height:3px;background:#d9e4db;overflow:hidden}
.q-home-hero-progress .hero-progress-bar{width:100%;height:100%;background:#06b22d}
.q-home-hero .hero-controls{display:flex;gap:8px}
.q-home-hero .hero-controls button{display:grid;width:36px;height:36px;place-items:center;border:1px solid #dce4de;background:#fff;color:#101114;cursor:pointer}

.q-figma-category{min-height:calc(100svh - 73px)!important}
.q-figma-category>img{object-position:center}
.q-figma-category--marketing{background:radial-gradient(ellipse at 34% 18%,#138c3c 0%,#054321 40%,#031108 75%,#020905 100%)}
.q-figma-category--marketing>img{top:10%!important;left:50%!important;right:auto!important;bottom:auto!important;width:min(45vw,440px)!important;height:min(53vw,500px)!important;object-fit:contain!important;transform:translateX(-50%)}
@media(max-width:800px){.q-page-hero{padding:78px 22px 82px}.q-page-hero--editorial{padding-bottom:0}.q-page-hero--editorial .q-page-hero-media{height:320px;margin-top:44px}.q-page-hero--split .q-page-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:44px}.q-page-hero--split .q-page-hero-media{height:350px}.q-home-hero{display:flex;flex-direction:column;align-items:stretch;width:min(100% - 44px,620px);min-height:0;padding-block:74px}.q-home-hero-copy{order:0}.q-home-hero-media{order:1;height:410px;min-height:0}.q-home-hero .js-hero-next{margin-top:36px}.q-figma-category--marketing>img{top:16%!important;width:min(70vw,410px)!important;height:min(75vw,450px)!important}}
@media(max-width:480px){.q-page-hero nav{margin-bottom:26px}.q-page-hero h1{font-size:40px}.q-page-hero p{font-size:17px}.q-home-hero h1{font-size:46px}.q-home-hero-media{height:330px}.q-figma-category--marketing>img{top:20%!important}}
