/* v18: one type scale, calmer layout, hero motion. White dominant, ink text, red used sparingly. */
:root{--t-h1:clamp(40px,4.6vw,76px);--t-h2:clamp(28px,3vw,44px);--t-h3:clamp(19px,1.6vw,23px);--t-body:clamp(15px,1.15vw,17px);--hair:#E6E6E4}
/* section headings: one size, no red rule */
.qc-section h2,#approach h2,#problems h2,#working h2,#industries h2,#contact h2{font-size:var(--t-h2)!important;line-height:1.1!important;letter-spacing:-.03em!important;max-width:26ch!important}
.qc-section h2::after,#contact h2::after,#industries h2::after{display:none!important}
.qc-section p,.qc-lead{font-size:var(--t-body)}
.qc-section{padding-top:clamp(56px,6vw,96px)!important;padding-bottom:clamp(56px,6vw,96px)!important}
/* hero */
.qc-hero h1{font-size:var(--t-h1)!important;line-height:1!important}
.qc-hero h1 .qc-rotate{font-size:.64em!important;white-space:nowrap}
.qc-hero h1::before{display:none!important}
.qc-hero-sub{font-size:var(--t-body)!important;max-width:44ch!important}
@media (min-width:861px){.qc-hero>*:not(.qc-marquee){max-width:min(620px,45%)!important}}
@media (min-width:1700px){.qc-hero>*:not(.qc-marquee){max-width:min(660px,40%)!important}}
.qc-hero::after{content:none!important;background:none!important}
.qc-hero>.qc-stage{position:absolute!important;z-index:0!important;right:0!important;bottom:0!important;left:auto!important;margin:0!important;max-width:none!important;width:clamp(460px,52vw,880px);height:clamp(460px,52vw,880px);pointer-events:none}
.qc-stage img{position:absolute;inset:0;width:100%;height:100%;display:block}
.qc-stage .l-bg{animation:stIn .5s cubic-bezier(.2,.8,.2,1) both}
.qc-stage .l-c{animation:stPop .5s cubic-bezier(.2,.9,.25,1.3) both,stTurn 4.5s cubic-bezier(.3,.7,.3,1) infinite;animation-duration:.5s,4.5s}
.qc-stage .l-phone{animation-delay:.15s,2.2s}.qc-stage .l-profile{animation-delay:.5s,3.1s}
.qc-stage .l-chart{animation-delay:.85s,4.0s}.qc-stage .l-pill1{animation-delay:1.2s,4.9s}
.qc-stage .l-pill2{animation-delay:1.55s,5.8s}
@keyframes stIn{from{opacity:0;translate:6% 0}to{opacity:1;translate:0 0}}
@keyframes stPop{from{opacity:0;scale:.78;translate:0 9%}to{opacity:1;scale:1;translate:0 0}}
@keyframes stTurn{0%{transform:none}9%{transform:translateY(-3.5%) scale(1.045)}20%{transform:none}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.qc-stage img{animation:none!important}}
@media (max-width:860px){.qc-hero>.qc-stage{width:min(100vw,560px);height:min(100vw,560px)}.qc-hero{padding-bottom:calc(min(100vw,560px)*.96)!important}.qc-hero::after{height:0!important}}
/* problems: open text, hairlines, no boxes, no hand-drawn rings */
#problems{background:var(--b-white)!important}
.qc-problem-grid-v2{gap:0 clamp(40px,6vw,96px)!important;margin-top:clamp(24px,3vw,44px)!important}
.qc-problem-v2,.qc-problem-v2.rv-in:hover{background:transparent!important;border:0!important;border-top:1px solid var(--hair)!important;border-radius:0!important;box-shadow:none!important;padding:28px 0 36px!important}
.qc-problem-v2 h3{font-size:var(--t-h3)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.02em!important}
.qc-problem-v2 p{font-size:var(--t-body)!important;max-width:42ch}
.qc-problem-v2 .qc-mark-circle svg,.qc-problem-v2 .qc-mark-under svg,#problems h2 .qc-mark-circle svg,#problems h2 .qc-mark-under svg{display:none!important}
.qc-mark-circle,.qc-mark-under{padding:0!important;margin:0!important}
#problems h2 .qc-mark-circle,#problems h2 .qc-mark-under{color:var(--b-red)}
/* services: compact rows */
#services{padding-bottom:0!important}
.qc-alt{margin-top:clamp(24px,3vw,40px)!important}
.qc-alt-row,.qc-alt-row:nth-child(even),.qc-alt-row.is-flip,.qc-alt-row.is-flip:nth-child(even){display:grid!important;grid-template-columns:minmax(0,360px) minmax(0,520px)!important;justify-content:center!important;gap:clamp(32px,5vw,80px)!important;align-items:center!important;padding:clamp(28px,3vw,44px) 24px!important}
.qc-alt-row.is-flip,.qc-alt-row.is-flip:nth-child(even){grid-template-columns:minmax(0,520px) minmax(0,360px)!important}
.qc-alt-img{border-radius:22px!important;overflow:hidden;background:transparent!important;aspect-ratio:1/1!important;width:100%!important;max-width:360px}
.qc-alt-row.is-flip .qc-alt-img{justify-self:end}
.qc-alt-row.is-flip .qc-alt-img{order:2}
.qc-alt-text,.qc-alt-row:nth-child(even) .qc-alt-text{background:transparent!important;box-shadow:none!important;margin:0!important;padding:0!important;max-width:560px!important;width:auto!important;justify-self:start!important}
.qc-alt-row.is-flip .qc-alt-text{justify-self:start!important;margin:0!important}
.qc-alt-text h3{font-size:var(--t-h3)!important;font-size:clamp(22px,2vw,28px)!important}
.qc-alt-text h3::after{display:none!important}
.qc-alt-text p{font-size:var(--t-body)!important}
.qc-tags span,.qc-tag{border-width:1px!important;font-weight:600!important}
@media (max-width:859px){.qc-alt-row,.qc-alt-row:nth-child(even),.qc-alt-row.is-flip,.qc-alt-row.is-flip:nth-child(even){grid-template-columns:1fr!important;padding:28px 24px!important;gap:20px!important}.qc-alt-img,.qc-alt-row.is-flip .qc-alt-img{order:0;justify-self:start;max-width:320px}.qc-alt-text{padding:0!important}}
/* approach: a journey with a rail */
#approach{background:var(--b-white)!important}
.qc-steps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0 clamp(24px,3vw,40px)!important;margin-top:clamp(32px,4vw,56px)!important}
.qc-step,.qc-step.rv-in:hover,.qc-step.qc-lit,.qc-step.qc-tap{background:transparent!important;box-shadow:none!important;transform:none!important;position:relative;padding:44px 0 0!important;border:0!important;overflow:visible!important;border-radius:0!important}
.qc-step::before{content:""!important;display:block!important;position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:var(--b-red);box-shadow:0 0 0 6px #fff,0 0 0 7px var(--b-red)}
.qc-step::after{content:"";position:absolute;left:28px;right:calc(-1 * clamp(24px,3vw,40px) + 12px);top:7px;height:2px;background:var(--hair)}
.qc-step:last-child::after{display:none}
.qc-step-n{display:none!important}
.qc-step-thumb{border-radius:22px!important;background:transparent!important;margin:0 0 22px!important;width:100%!important;max-width:300px}
.qc-step h3,.qc-step p,.qc-step.qc-tap h3,.qc-step.qc-tap p,.qc-step:hover h3,.qc-step:hover p{padding:0!important;color:var(--b-ink)!important}
.qc-step h3{font-size:var(--t-h3)!important}
.qc-step p{font-size:var(--t-body)!important;color:var(--b-mute)!important;text-align:left!important;hyphens:none!important}
@media (max-width:899px){.qc-steps{grid-template-columns:1fr!important;gap:36px!important;padding-left:36px}.qc-step{padding:0!important}.qc-step::before{left:-36px;top:4px}.qc-step::after{left:-29px;right:auto;top:26px;bottom:-34px;width:2px;height:auto}.qc-step-thumb{max-width:280px}}
/* working with us: calm 4 up, not a sequence */
#working{background:var(--b-sand)!important}
#working .qc-working-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0 clamp(24px,3vw,40px)!important;margin-top:clamp(28px,3vw,44px)!important}
.qc-working,.qc-working.rv-in:hover,.qc-working.qc-tap{background:transparent!important;border:0!important;border-top:1px solid #D9D9D6!important;border-radius:0!important;box-shadow:none!important;transform:none!important;padding:28px 0 0!important}
.qc-working-head{display:block!important}
.qc-working-thumb{width:120px!important;height:120px!important;border-radius:22px!important;margin:0 0 20px!important;background:transparent!important}
.qc-working h3,.qc-working-head h3,.qc-working.qc-tap h3,.qc-working:hover h3{font-size:var(--t-h3)!important;color:var(--b-ink)!important;line-height:1.25!important}
.qc-working p,.qc-working-text p,.qc-working.qc-tap p,.qc-working:hover p{font-size:var(--t-body)!important;color:var(--b-mute)!important;text-align:left!important;hyphens:none!important}
@media (max-width:899px){#working .qc-working-grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:560px){#working .qc-working-grid{grid-template-columns:1fr!important}}
/* industries: every chip is a white box with red text */
.qc-chips{justify-content:flex-start!important;gap:12px!important}
.qc-chips span,.qc-chips button,.qc-chip,.qc-chips span:hover,.qc-chips .qc-chip-more,.qc-chips .qc-chip-more:hover,.qc-chips span.qc-chip-on,.qc-chip-on{background:#fff!important;color:var(--b-red)!important;border:2px solid #fff!important;font-weight:700!important;animation:none!important}
.qc-chips span.qc-chip-on,.qc-chip-on,.qc-chips span:hover{box-shadow:0 0 0 4px rgba(255,255,255,.35)!important}
/* footer rule lighter */
.qc-footer{border-top-width:3px!important}
@media (min-width:861px){.qc-hero{justify-content:flex-start!important;padding-top:clamp(72px,8.5vw,140px)!important}}
/* v18 fixes */
#working h3,.qc-working h3{font-size:clamp(17px,1.35vw,20px)!important;overflow-wrap:anywhere}
#working [class*=grid],.qc-working [class*=grid]{column-gap:clamp(28px,3vw,48px)!important}
@media (max-width:860px){.qc-hero>.qc-stage{bottom:62px!important}.qc-hero{padding-bottom:calc(min(100vw,560px)*.92 + 132px)!important}.qc-hero .qc-cta,.qc-hero a[class*=btn]{margin-bottom:0}}
#problems h2 svg,#problems h2 [class*=ring],#problems h2 [class*=circle]{display:none!important}
@media (min-width:861px) and (max-width:1180px){.qc-hero>.qc-stage{width:46vw;height:46vw}.qc-hero>*:not(.qc-marquee):not(.qc-stage){max-width:48%!important}}
/* v19 batch */
.qc-alt-row:last-child{padding-bottom:0!important;margin-bottom:0!important}
#services{padding-bottom:clamp(8px,2vw,24px)!important}
#approach{padding-top:clamp(40px,5vw,80px)!important}
@media (min-width:900px){.qc-step:last-child::after{display:block!important;left:28px;right:0;top:-7px;height:30px;background:radial-gradient(circle at calc(100% - 15px) 50%,#C10A17 0 8px,#fff 8px 14px,#C10A17 14px 15px,transparent 15px),linear-gradient(var(--hair),var(--hair)) left 50%/calc(100% - 20px) 2px no-repeat}}
.qc-chips .qc-chip-more,.qc-chips .qc-chip-more:hover{background:#17161A!important;color:#fff!important;border-color:#17161A!important}
.qc-site-link{display:none!important}
#services{padding-bottom:0!important}
#approach{padding-top:clamp(28px,3.4vw,48px)!important}
#notes{padding-bottom:clamp(24px,3vw,48px)!important}
#contact{margin-top:clamp(16px,2.5vw,40px)!important}
@media (max-width:859px){#approach{padding-top:24px!important}#notes{padding-bottom:16px!important}}
/* work with us: illustration and text slide on hover */
.qc-working-thumb,.qc-working h3,.qc-working p{transition:translate .45s cubic-bezier(.2,.8,.2,1)!important}
.qc-working h3{transition-delay:.04s!important}.qc-working p{transition-delay:.08s!important}
@media (hover:hover){
.qc-working:hover .qc-working-thumb{translate:0 -10px!important}
.qc-working:hover h3{translate:0 -6px!important}
.qc-working:hover p{translate:0 -4px!important}
}
@media (prefers-reduced-motion:reduce){.qc-working-thumb,.qc-working h3,.qc-working p{transition:none!important}}
/* v20: Sounds familiar, structured cards and red emphasis */
.qc-mark-strike svg{display:none!important}
.qc-mark-strike{text-decoration:none!important}
.qc-problem-v2 h3 .qc-hl,.qc-problem-v2 h3 .qc-mark-under,.qc-problem-v2.qc-in-0 h3 .qc-mark-circle{color:var(--b-red,#C10A17)!important}
.qc-problem-v2.qc-in-3 h3 .qc-mark-circle{color:inherit!important}
.qc-problem-grid-v2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;align-items:stretch}
.qc-problem-v2,.qc-problem-v2.rv-in:hover{background:#FAFAFA!important;border:1px solid var(--hair)!important;border-radius:20px!important;padding:clamp(24px,2.6vw,36px)!important;display:flex!important;flex-direction:column;gap:12px}
.qc-problem-v2 h3{margin:0!important}
.qc-problem-v2 p{margin:0!important;max-width:46ch}
.qc-section-tail{margin-top:clamp(28px,3vw,44px)!important}
@media (max-width:760px){.qc-problem-grid-v2{grid-template-columns:1fr!important}.qc-problem-v2 h3{min-height:0}}
.qc-mark-strike{display:inline!important}
/* v21: dots centred over each tile; one continuous line, same start and end as before */
@media (min-width:900px){
.qc-steps{position:relative!important}
.qc-steps::before{content:"";position:absolute;left:28px;right:0;top:7px;height:2px;background:var(--hair);z-index:0;pointer-events:none}
.qc-step::before{left:calc(50% - 8px)!important;z-index:1}
.qc-step::after{display:none!important}
.qc-step:last-child::after{display:block!important;content:"";left:auto!important;right:0!important;top:0!important;width:16px!important;height:16px!important;border-radius:50%;background:var(--b-red,#C10A17)!important;box-shadow:0 0 0 6px #fff,0 0 0 7px var(--b-red,#C10A17);z-index:1}
}
/* v22: no end dot, line unchanged */
@media (min-width:900px){.qc-step:last-child::after{display:none!important}}
/* v23 preview: end caps */
@media (min-width:900px){
.qc-steps::before{left:0!important;right:0!important;top:7px;height:2px;background:linear-gradient(var(--hair),var(--hair)) 0 0/100% 2px no-repeat,linear-gradient(#BDBDB8,#BDBDB8) 0 50%/2px 16px no-repeat,linear-gradient(#BDBDB8,#BDBDB8) 100% 50%/2px 16px no-repeat!important;height:16px!important;top:0!important;background-position:0 7px,0 0,100% 0!important}
}
/* v23: option D, start tick and end arrow */
@media (min-width:900px){
.qc-steps::before{left:0!important;right:0!important;top:0!important;height:16px!important;background:linear-gradient(#E6E6E4,#E6E6E4) 0 7px/100% 2px no-repeat,linear-gradient(#BDBDB8,#BDBDB8) 0 0/2px 16px no-repeat!important}
.qc-step:last-child::after{display:block!important;content:"";position:absolute!important;left:auto!important;right:1px!important;top:4px!important;bottom:auto!important;width:9px!important;height:9px!important;background:none!important;border-radius:0!important;box-shadow:none!important;border-top:2px solid #BDBDB8;border-right:2px solid #BDBDB8;transform:rotate(45deg);z-index:1}
}
/* v24: centre the work-with-us illustrations */
.qc-working-thumb{margin:0 auto 20px!important}
/* v25: Sounds familiar heading in two lines on desktop */
@media (min-width:1000px){#problems.qc-problems-v2 h2{max-width:none!important;text-wrap:balance}}
.qc-br-d{display:none}
@media (min-width:1000px){.qc-br-d{display:inline}#problems.qc-problems-v2 h2{text-wrap:wrap}}
/* v25: illustration spans the column width, proportions preserved */
#working .qc-working-thumb{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain!important;margin:0 0 20px!important}
@media (max-width:899px){#working .qc-working-thumb{max-width:320px;margin-left:auto!important;margin-right:auto!important}}
/* v25: left-aligned heading, justified body */
#working .qc-working,#working .qc-working-head,#working .qc-working h3{text-align:left!important}
#working .qc-working p,#working .qc-working .qc-working-text p{text-align:left!important;text-align-last:auto!important;hyphens:none!important;margin-left:0!important;margin-right:0!important}
@media (max-width:899px){#working .qc-working-grid{row-gap:32px!important}}
/* v25: Say hello heading break and spacing */
.qc-br-c{display:none}
@media (min-width:700px){.qc-br-c{display:inline}}
#contact .qc-contact-left h2{max-width:none!important;margin-bottom:clamp(32px,3.4vw,52px)!important}
#contact .qc-contact-left .qc-mail{display:inline-block;margin-bottom:clamp(32px,3.4vw,52px)!important}
#contact .qc-contact-left .qc-socials{margin-top:0!important}
/* v25 closing: contact + footer share the page grid, no repeated email/CTA in footer */
@media (min-width:900px){
#contact.qc-contact{padding-left:max(28px,calc((100% - 1240px)/2 + 28px))!important;padding-right:max(28px,calc((100% - 1240px)/2 + 28px))!important;padding-top:clamp(64px,6vw,96px)!important;padding-bottom:clamp(64px,6vw,96px)!important;align-items:start}
.qc-footer{padding:0!important}
.qc-footer-top,.qc-footer-bar{padding-left:28px!important;padding-right:28px!important}
.qc-footer-top{grid-template-columns:1.5fr 1fr .7fr .7fr!important;border-top:0!important}
}
.qc-footer-brand a{display:none!important}
#contact .qc-contact-left .qc-socials{margin-left:-7px}

/* login submenu: no arrows, red hover */
.qc-login-options a>span{display:none!important}
.qc-login-options a{border-radius:6px;transition:background .15s ease,color .15s ease}
.qc-login-options a+a{border-top-color:transparent}
.qc-login-options a:hover,.qc-login-options a:focus-visible{background:#C10A17!important;color:#fff!important}

/* v26 contact: one invitation card - red panel (heading, email, socials) + white form panel */
@media (min-width:900px){
#contact.qc-contact{gap:0!important;align-items:stretch!important;grid-template-columns:1fr 1fr!important;background:#FAFAFA!important;padding-top:clamp(56px,5vw,88px)!important;padding-bottom:clamp(56px,5vw,88px)!important}
#contact .qc-contact-left{background:#C10A17;color:#fff;border-radius:28px 0 0 28px;padding:clamp(40px,4vw,64px);justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 24px 60px -30px rgba(23,22,26,.45)}
#contact .qc-contact-left::before{content:"";position:absolute;right:-120px;bottom:-140px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 70%);pointer-events:none}
#contact .qc-contact-left h2{color:#fff!important;font-size:clamp(26px,2.35vw,36px)!important}
#contact .qc-contact-left h2 .qc-dot{color:#FFFFFF!important}
#contact .qc-contact-left .qc-kicker{color:#fff!important}
#contact .qc-contact-left .qc-kicker::before{filter:brightness(0) invert(1)}
#contact .qc-contact-left .qc-mail{color:#fff!important;border-bottom-color:#fff!important;margin-bottom:0!important}
#contact .qc-contact-left .qc-socials{margin:0!important;gap:12px!important}
#contact .qc-contact-left a.qc-social{background:#fff;color:#17161A!important;border-radius:50%;width:40px;height:40px}
#contact .qc-contact-left a.qc-social:hover{background:#17161A;color:#fff!important}
#contact .qc-contact-left h2{margin-bottom:clamp(32px,4vw,56px)!important}
#contact .qc-form{background:#fff;border-radius:0 28px 28px 0;padding:clamp(40px,4vw,64px);box-shadow:0 24px 60px -30px rgba(23,22,26,.25);border:1px solid #ECE9E4;border-left:0}
}
@media (min-width:900px){
#contact .qc-contact-left .qc-socials{display:grid!important;grid-template-columns:repeat(3,max-content);gap:12px!important}
#contact .qc-contact-left a.qc-social{width:auto!important;height:46px!important;border-radius:999px!important;padding:0 18px 0 14px!important;gap:10px;font-size:15px;font-weight:600;font-family:Archivo,sans-serif;letter-spacing:0;text-transform:none;display:inline-flex}
#contact .qc-contact-left a.qc-social svg{width:24px!important;height:24px!important}
#contact .qc-contact-left a.qc-social::after{content:attr(title)}
}
@media (max-width:899px){
#contact.qc-contact{gap:0!important;background:#FAFAFA!important;padding:48px 16px 56px!important}
#contact .qc-contact-left{background:#C10A17;color:#fff;border-radius:24px 24px 0 0;padding:32px 24px 36px;position:relative;overflow:hidden}
#contact .qc-contact-left h2{color:#fff!important}
#contact .qc-contact-left h2 .qc-dot{color:#FFFFFF!important}
#contact .qc-contact-left .qc-kicker{color:#fff!important}
#contact .qc-contact-left .qc-kicker::before{filter:brightness(0) invert(1)}
#contact .qc-contact-left .qc-mail{color:#fff!important;border-bottom-color:#fff!important;margin-bottom:8px!important}
#contact .qc-contact-left .qc-socials{display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px!important;width:100%;margin:8px 0 0!important}
#contact .qc-contact-left a.qc-social{background:#fff;color:#17161A!important;width:auto!important;height:46px!important;border-radius:999px!important;padding:0 16px 0 12px!important;gap:10px;font-size:15px;font-weight:600;font-family:Archivo,sans-serif;letter-spacing:0!important;text-transform:none;justify-content:flex-start}
#contact .qc-contact-left a.qc-social svg{width:24px!important;height:24px!important}
#contact .qc-contact-left a.qc-social::after{content:attr(title)}
#contact .qc-form{background:#fff;border-radius:0 0 24px 24px;padding:28px 24px 32px;border:1px solid #ECE9E4;border-top:0}
}
@media (min-width:600px) and (max-width:899px){#contact .qc-contact-left .qc-socials{grid-template-columns:repeat(3,max-content)!important}}

/* v26 footer: brand wordmark band + Let's Talk as a red pill */
.qc-footer{display:flex!important;flex-direction:column;background:#fff!important;overflow:hidden}
.qc-footer-top{order:0;width:100%;box-sizing:border-box}
.qc-footer::before{content:"Quirky Corridor";order:1;display:block;width:100%;max-width:1240px;box-sizing:border-box;margin:0 auto;padding:0 28px;font-family:Archivo,sans-serif;font-weight:900;letter-spacing:-.045em;line-height:1.12;padding-bottom:.04em;font-size:clamp(40px,10.2vw,146px);white-space:nowrap;background:linear-gradient(90deg,#17161A 0 42.4%,#C10A17 42.4% 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin-top:8px;margin-bottom:clamp(16px,2vw,32px)}
.qc-footer-bar{order:2;width:100%;box-sizing:border-box}
.qc-footer-col:last-child a{display:inline-flex!important;width:fit-content;align-items:center;gap:8px;background:#C10A17;color:#fff!important;padding:12px 22px;border-radius:999px;font-weight:700;transition:background .15s ease}
.qc-footer-col:last-child a:hover{background:#17161A}
@media (max-width:899px){.qc-footer::before{text-align:left;padding-left:0;padding-right:0;font-size:11.4vw;margin-top:24px;background:linear-gradient(90deg,#17161A 0 43.4%,#C10A17 43.4% 100%);background-clip:text;-webkit-background-clip:text}}

/* v26 footer concept 2: a white card on the page grid, link chips, Let's Talk under the brand */
.qc-footer::before{content:none!important;display:none!important}
.qc-footer{background:#FAFAFA!important;padding:0 20px 8px!important}
.qc-footer .qc-footer-top{background:#fff;border:1px solid #ECE9E4!important;border-radius:28px;margin:clamp(28px,3vw,48px) auto 0!important;padding:clamp(28px,4vw,56px)!important;box-shadow:0 24px 60px -34px rgba(23,22,26,.22);max-width:1184px;gap:clamp(24px,3vw,48px)!important}
.qc-footer .qc-footer-bar{max-width:1184px;margin:0 auto!important;padding:20px clamp(28px,4vw,56px)!important;border-top:0!important}
.qc-footer-col:not(:last-child){flex-direction:row!important;flex-wrap:wrap;gap:10px!important;align-content:flex-start}
.qc-footer-col:not(:last-child) h4{width:100%;margin-bottom:4px}
.qc-footer-col:not(:last-child) a{display:inline-flex;align-items:center;border:1px solid #E4E0DA;border-radius:999px;padding:9px 16px;font-size:14px;line-height:1.2;background:#fff;transition:background .15s ease,color .15s ease,border-color .15s ease}
.qc-footer-col:not(:last-child) a:hover{background:#C10A17;border-color:#C10A17;color:#fff}
@media (min-width:900px){
.qc-footer .qc-footer-top{grid-template-columns:.7fr 2.3fr .62fr auto!important;align-items:start}
.qc-footer-top>.qc-footer-brand{grid-column:1;grid-row:1}
.qc-footer-top>.qc-footer-col:nth-child(2){grid-column:2;grid-row:1}
.qc-footer-top>.qc-footer-col:nth-child(3){grid-column:3;grid-row:1}
.qc-footer-top>.qc-footer-col:nth-child(4){grid-column:4;grid-row:1;align-self:start;justify-self:end}
}
.qc-footer-col h4{color:#C10A17!important;text-align:left}
/* v26 who-it-is-for: wide charcoal card */
#industries{background:#17161A!important;color:#fff!important;width:min(1184px,calc(100% - 40px))!important;max-width:1184px!important;margin:clamp(24px,3vw,48px) auto!important;border-radius:28px!important;padding:clamp(40px,5vw,72px) clamp(24px,5vw,72px)!important;box-sizing:border-box!important;position:relative;overflow:hidden}
#industries h2,#industries .qc-lead,#industries .qc-kicker{color:#fff!important}
#industries .qc-kicker{opacity:.9}
#industries::after{content:"";position:absolute;right:-120px;bottom:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(193,10,23,.55),rgba(193,10,23,0) 68%);pointer-events:none}
#industries .qc-chips span{border:1px solid rgba(255,255,255,.9)!important;color:#C10A17!important}
#industries .qc-chips .qc-chip-more,#industries .qc-chips .qc-chip-more:hover{background:#C10A17!important;border-color:#C10A17!important;color:#fff!important}
#industries .qc-chips span:hover{box-shadow:0 0 0 4px rgba(193,10,23,.45)!important}
#industries::before{display:none!important}
#industries::after{z-index:0}#industries>*{position:relative;z-index:1}

/* v26 footer concept 3: charcoal sign-off card, Let's Talk top right, plain link lists */
.qc-footer .qc-footer-top{background:#17161A!important;border:0!important;color:#fff;border-radius:28px 28px 0 0!important;box-shadow:none!important;margin-bottom:0!important}
.qc-footer .qc-footer-bar{background:#17161A;border-radius:0 0 28px 28px;color:rgba(255,255,255,.62)!important;border-top:1px solid rgba(255,255,255,.12)!important;margin-top:0!important;padding:22px clamp(28px,4vw,56px)!important;box-sizing:border-box}
.qc-footer .qc-footer-bar span{color:rgba(255,255,255,.62)!important}
.qc-footer .qc-footer-brand img{background:#fff;border-radius:16px;padding:12px 16px;box-sizing:content-box}
.qc-footer .qc-footer-brand p{color:rgba(255,255,255,.72)!important}
.qc-footer .qc-footer-col h4{color:#C10A17!important}
.qc-footer .qc-footer-col:not(:last-child){display:block!important}
.qc-footer .qc-footer-col:not(:last-child) a{display:block;border:0;border-radius:0;background:none;padding:6px 0;margin:0;font-size:15px;color:#fff;width:fit-content}
.qc-footer .qc-footer-col:not(:last-child) a:hover{background:none;color:#fff;text-decoration:underline;text-decoration-color:#C10A17;text-underline-offset:5px;text-decoration-thickness:2px}
@media (min-width:900px){
.qc-footer .qc-footer-top{grid-template-columns:repeat(4,1fr)!important;row-gap:40px!important}
.qc-footer-top>.qc-footer-brand{grid-column:1/3;grid-row:1}
.qc-footer-top>.qc-footer-col:nth-child(4){grid-column:3/5;grid-row:1;justify-self:end;text-align:right}
.qc-footer-top>.qc-footer-col:nth-child(2){grid-column:1/4;grid-row:2;border-top:1px solid rgba(255,255,255,.12);padding-top:32px}
.qc-footer-top>.qc-footer-col:nth-child(2) a{display:inline-block!important;width:calc(50% - 8px)!important;box-sizing:border-box}
.qc-footer-top>.qc-footer-col:nth-child(2) h4{display:block;width:100%}
.qc-footer-top>.qc-footer-col:nth-child(3){grid-column:4;grid-row:2;border-top:1px solid rgba(255,255,255,.12);padding-top:32px}
}

/* v26 footer concept 4: simple full-width charcoal band, no card */
.qc-footer{background:#17161A!important;padding:0!important}
.qc-footer .qc-footer-top{background:transparent!important;border-radius:0!important;margin:0 auto!important;max-width:1184px!important;width:100%;box-sizing:border-box;padding:clamp(48px,5vw,72px) 28px clamp(36px,4vw,56px)!important}
.qc-footer .qc-footer-bar{background:transparent!important;border-radius:0!important;border-top:0!important;max-width:1184px!important;width:100%;margin:0 auto!important;box-sizing:border-box;padding:0 28px 28px!important}
.qc-footer .qc-footer-bar::before{content:"";display:block;height:1px;background:rgba(255,255,255,.12);margin-bottom:22px}
.qc-footer .qc-footer-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 24px}
.qc-footer .qc-footer-bar::before{flex:0 0 100%}

/* v26 footer concept 5: compact single row, full-width charcoal */
.qc-footer .qc-footer-brand img{padding:8px 12px!important;border-radius:12px!important;height:auto;width:150px!important;max-width:100%;box-sizing:border-box!important}
@media (min-width:900px){
.qc-footer .qc-footer-top{grid-template-columns:1.05fr 2fr .7fr auto!important;column-gap:clamp(28px,4vw,64px)!important;row-gap:0!important;align-items:start;padding-top:clamp(40px,4vw,56px)!important;padding-bottom:clamp(32px,3vw,44px)!important}
.qc-footer-top>.qc-footer-brand{grid-column:1;grid-row:1}
.qc-footer-top>.qc-footer-col:nth-child(2){grid-column:2;grid-row:1;border-top:0!important;padding-top:0!important;display:block!important;column-count:2;column-gap:24px}
.qc-footer-top>.qc-footer-col:nth-child(2) h4{column-span:all;margin-bottom:12px}
.qc-footer-top>.qc-footer-col:nth-child(2) a{display:block!important;width:fit-content!important;break-inside:avoid}
.qc-footer-top>.qc-footer-col:nth-child(3){grid-column:3;grid-row:1;border-top:0!important;padding-top:0!important}
.qc-footer-top>.qc-footer-col:nth-child(4){grid-column:4;grid-row:1;justify-self:end;text-align:left}
}
@media (min-width:900px){
.qc-footer .qc-footer-top{grid-template-columns:.95fr 2.5fr .6fr auto!important;column-gap:clamp(24px,3vw,48px)!important}
.qc-footer-top>.qc-footer-col:nth-child(2) h4{margin-bottom:4px!important}
.qc-footer-top>.qc-footer-col:nth-child(2) a{white-space:nowrap}
}

/* v26 footer concept 6: same layout as concept 5, light */
.qc-footer{background:#FAFAFA!important}
.qc-footer .qc-footer-top{color:#17161A!important}
.qc-footer .qc-footer-brand img{background:transparent!important;padding:0!important;border-radius:0!important}
.qc-footer .qc-footer-brand p{color:#5b5a60!important}
.qc-footer .qc-footer-col:not(:last-child) a{color:#17161A!important}
.qc-footer .qc-footer-bar::before{background:#E4E0DA!important}
.qc-footer .qc-footer-bar,.qc-footer .qc-footer-bar span{color:#5b5a60!important}
@media (min-width:1000px){#services>h2{max-width:none!important}}
/* v26+ tighter gap above the charcoal card */
#approach{padding-bottom:clamp(20px,2.4vw,36px)!important}
#industries{margin-top:0!important}
/* tighter gap below the charcoal card */
#industries{margin-bottom:clamp(20px,2.4vw,36px)!important}
#working{padding-top:clamp(40px,4vw,56px)!important}
/* tighter gap between Working with us and Blogs */
#working{padding-bottom:clamp(36px,3.6vw,52px)!important}
#notes{padding-top:clamp(36px,3.6vw,52px)!important}
/* footer logo: keep natural proportions (was forced height with fixed width) */
.qc-footer .qc-logo.stacked .qc-logo-img,.qc-footer .qc-footer-brand img{height:auto!important;aspect-ratio:1895/872;object-fit:contain}
/* whole-site spacing rhythm: even section-end gaps */
#notes{padding-bottom:clamp(36px,3.6vw,52px)!important}
#contact{margin-top:0!important}
/* phone: balance the services heading lines (no orphan) */
@media (max-width:999px){#services>h2{text-wrap:balance}}
/* phone: keep "We build brands that" on one line */
@media (max-width:640px){.qc-hero h1{font-size:min(var(--t-h1),calc((100vw - 84px)/9.2))!important;white-space:nowrap!important;max-width:none!important}}
/* phone: larger rotating red phrase */
@media (max-width:640px){.qc-hero h1 .qc-rotate{font-size:.8em!important}}

/* v30: "We build brands that" stays on one line at every width.
   Size follows the hero text column so it can never wrap; the red phrase is 0.8 of the black size. */
.qc-hero{container-type:inline-size}
.qc-hero h1{white-space:nowrap!important}
@media (min-width:861px){.qc-hero h1{font-size:min(var(--t-h1),calc(min(620px,44cqw)/9.4))!important}}
@media (min-width:861px) and (max-width:1180px){.qc-hero h1{font-size:min(var(--t-h1),calc(48cqw/9.4))!important}}
@media (min-width:1700px){.qc-hero h1{font-size:min(var(--t-h1),calc(min(660px,40cqw)/9.4))!important}}
.qc-hero h1 .qc-rotate{font-size:.8em!important}

/* v31: How we think - no layout change on highlight; brief soft red flash on tap or hover */
@property --qcflash{syntax:"<number>";inherits:false;initial-value:0}
@keyframes qcFlash{0%{--qcflash:0}22%{--qcflash:1}100%{--qcflash:0}}
@media (max-width:899px){.qc-step,.qc-step.qc-lit,.qc-step.qc-tap,.qc-step.rv-in:hover{padding:0!important}}
#approach .qc-step,#approach .qc-step.qc-lit,#approach .qc-step.qc-tap,#approach .qc-step.rv-in:hover{border-radius:16px!important;background:rgba(193,10,23,calc(var(--qcflash) * .09))!important;box-shadow:0 0 0 12px rgba(193,10,23,calc(var(--qcflash) * .09))!important}
#approach .qc-step.qc-tap{animation:qcFlash .8s ease-out 1}
@media (hover:hover){#approach .qc-step.rv-in:hover{animation:qcFlash .8s ease-out 1}}
@media (prefers-reduced-motion:reduce){#approach .qc-step.qc-tap,#approach .qc-step.rv-in:hover{animation:none}}

/* v31: Who it is for - tidy industry tiles on phones */
@media (max-width:640px){.qc-chips{display:grid!important;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px!important}
.qc-chips span,.qc-chips button{display:flex!important;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:10px 12px!important;margin:0!important;line-height:1.2;box-sizing:border-box;font-size:15px!important}
.qc-chips .qc-chip-more{grid-column:1/-1}}

/* v31: How we think heading - first line "...In that order," second line "every time." on desktop */
@media (min-width:1000px){#approach h2{max-width:none!important;white-space:nowrap}}

/* v31: Work with us on phones/tablets - illustration shares the text's left edge, like the services rows */
@media (max-width:899px){#working .qc-working-thumb{margin-left:0!important;margin-right:auto!important}}

/* v34: phones - services heading wraps "make it" together; illustration cards have equal space left and right */
@media (max-width:999px){.qc-sixways{text-wrap:pretty!important}}
@media (max-width:640px){
.qc-alt-img,.qc-alt-row.is-flip .qc-alt-img{max-width:none!important;width:100%!important}
#approach .qc-step-thumb{max-width:none!important;width:calc(100% - 36px)!important}
#working .qc-working-thumb{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
}
