/* Quirky Corridor - premium editorial direction (styling layer only).
   Same words, artwork, functions and QC colours. Calm, spacious, restrained motion. */
:root{--p-bg:#FFFFFF;--p-band:#f3efe8;--p-ink:#141316;--p-mute:#5f5c63;--p-line:#e2ddd4;--p-red:#c10a17;
 --qc-bg:var(--p-bg);--qc-card:var(--p-bg);--qc-line:var(--p-line);--qc-ink:var(--p-ink)}
html,body{background:var(--p-bg);color:var(--p-ink);-webkit-font-smoothing:antialiased}
body{font-size:17px;line-height:1.7}
/* sections: air */
.qc-section{padding-top:clamp(88px,11vw,152px)!important;padding-bottom:clamp(88px,11vw,152px)!important;background:var(--p-bg)!important}
#problems,#approach,#working{background:var(--p-band)!important;--band:var(--p-band)}
#services,#industries,#notes{background:var(--p-bg)!important;--band:var(--p-bg)}
#services{padding-bottom:0!important}
.qc-section h2{font-size:clamp(34px,4.4vw,60px)!important;font-weight:700!important;letter-spacing:-.035em!important;line-height:1.05!important;max-width:24ch;color:var(--p-ink)}
#approach h2,#problems h2,#working h2{max-width:26ch}
.qc-kicker,.qc-section .qc-kicker{font-size:12px!important;font-weight:600!important;letter-spacing:.22em!important;text-transform:uppercase;color:var(--p-red)!important;display:flex;align-items:center;gap:14px;margin-bottom:26px!important}
.qc-kicker::before{content:"";width:32px;height:1px;background:var(--p-red);display:inline-block}
.qc-lead,.qc-section p{color:var(--p-mute)}
/* nav */
.qc-nav{background:rgba(250,248,244,.82)!important;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--p-line)!important}
.qc-nav-links a,.qc-nav a{font-weight:500;letter-spacing:.01em}
/* buttons */
.qc-btn{border-radius:999px!important;letter-spacing:.02em;font-weight:600;transition:background-color .35s ease,color .35s ease,border-color .35s ease,transform .35s ease}
.qc-btn-red{box-shadow:none!important;background:var(--p-red)}
.qc-btn-red:hover{background:#a40813!important;box-shadow:none!important;transform:translateY(-1px)}
.qc-btn-ghost{background:transparent!important;border:1px solid #c9c3b8!important;color:var(--p-ink)}
.qc-btn-ghost:hover{border-color:var(--p-ink)!important}
/* hero */
.qc-hero{background:var(--p-bg)!important;padding-top:clamp(40px,7vw,96px)}
.qc-hero h1{font-size:clamp(46px,7.4vw,112px)!important;font-weight:700!important;letter-spacing:-.045em!important;line-height:1!important}
.qc-hero-sub{max-width:56ch!important;font-size:clamp(17px,1.35vw,20px)!important;line-height:1.65;color:var(--p-mute)}
.qc-eyebrow{letter-spacing:.24em!important;font-size:12px!important;font-weight:600}
/* ticker */
.qc-marquee-red,.qc-marquee{background:transparent!important;border-top:1px solid var(--p-line);border-bottom:1px solid var(--p-line);color:var(--p-ink)!important}
.qc-marquee-red *,.qc-marquee *{color:var(--p-ink)!important;font-weight:500;letter-spacing:.2em;opacity:.78}
.qc-marquee-red .qc-dot,.qc-marquee .qc-dot{color:var(--p-red)!important;background:var(--p-red)!important;opacity:1}
/* problems: open two-column list */
.qc-problem-grid-v2{gap:0 clamp(40px,6vw,96px)!important}
.qc-problem-v2,.qc-problem-v2.rv-in:hover{background:transparent!important;border:0!important;border-top:1px solid #d2ccc0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;padding:34px 0 40px!important}
.qc-problem-v2 h3,.qc-problem-v2 strong{font-size:clamp(20px,1.9vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.qc-problem-v2 p{max-width:44ch}
/* steps */
.qc-steps{gap:0 clamp(40px,6vw,96px)!important}
.qc-step,.qc-step.rv-in:hover,.qc-step.qc-lit,.qc-step.qc-tap{background:transparent!important;border:0!important;border-top:1px solid #d2ccc0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;padding:34px 0 40px!important}
.qc-step-thumb{box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important;mix-blend-mode:multiply}
.qc-step h3{font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.02em}
/* services: contained editorial rows */
.qc-alt{width:auto!important;max-width:none!important;margin:clamp(40px,5vw,72px) 0 0!important}
.qc-alt-row,.qc-alt-row:nth-child(even){background:transparent!important;border-top:1px solid var(--p-line);padding:clamp(36px,5vw,72px) 0;align-items:center;gap:clamp(28px,5vw,88px)}
.qc-alt-row:last-child{border-bottom:1px solid var(--p-line);margin-bottom:clamp(88px,11vw,152px)}
.qc-alt-img{border-radius:4px;aspect-ratio:5/4!important;min-height:0!important;max-height:none!important;box-shadow:none!important;background:var(--p-band)}
.qc-alt-img::before,.qc-alt-img::after{display:none!important}
.qc-alt-img img{transform:none!important;transition:filter .8s ease!important;filter:saturate(.96)}
@media (hover:hover){.qc-alt-row:hover .qc-alt-img img{filter:saturate(1.08)}}
.qc-alt-text{padding:0!important}
.qc-alt-text h3{font-size:clamp(28px,3.2vw,46px)!important;font-weight:700!important;letter-spacing:-.035em!important;line-height:1.05;margin-bottom:20px!important}
.qc-alt-text .qc-slide-n,.qc-slide-n{font-size:12px!important;letter-spacing:.22em;font-weight:600;color:var(--p-red)!important;margin-bottom:22px!important}
.qc-slide-blurb{font-size:clamp(16px,1.2vw,18px);line-height:1.75;color:var(--p-mute);max-width:46ch}
.qc-tags span,.qc-tag{border-radius:999px;border:1px solid #cfc9be;background:transparent;font-size:11px;letter-spacing:.14em;color:var(--p-mute)}
@media (min-width:860px){.qc-alt-row{grid-template-columns:1.05fr .95fr!important;min-height:0!important}.qc-alt-img{width:100%!important}}
@media (max-width:859px){.qc-alt-row{padding:36px 0}}
/* industries chips */
.qc-chips span,.qc-chips button{border-radius:999px;border:1px solid #cfc9be!important;background:transparent!important;color:var(--p-ink);font-weight:500;transition:border-color .3s ease,color .3s ease,background-color .3s ease}
.qc-chips .qc-chip-on,.qc-chips span.qc-chip-on{border-color:var(--p-red)!important;color:var(--p-red)!important}
/* working: open columns, hairline top */
#working .qc-working-grid{gap:56px clamp(32px,4vw,64px);margin-top:clamp(48px,6vw,80px)}
#working .qc-working-thumb{width:min(100%,176px)}
#working .qc-working-head{align-items:flex-start;text-align:left}
#working .qc-working-text,#working .qc-working-text h3,#working .qc-working-head h3{text-align:left}
#working .qc-working-text p{text-align:justify;text-align-last:left;hyphens:none}
#working .qc-working{padding-top:28px!important;border-top:1px solid #d2ccc0!important}
/* notes */
.qc-soon{background:transparent!important;border:1px solid var(--p-line)!important;border-radius:6px;box-shadow:none!important;transform:none!important}
.qc-tape{display:none}
/* contact + form */
.qc-contact{background:var(--p-bg)!important;border-top:1px solid var(--p-line)}
.qc-form input,.qc-form textarea{background:transparent!important;border:0!important;border-bottom:1px solid #c9c3b8!important;border-radius:0!important;padding-left:0!important;box-shadow:none!important;transition:border-color .3s ease}
.qc-form input:focus,.qc-form textarea:focus{border-bottom-color:var(--p-red)!important;box-shadow:none!important;outline:none}
.qc-form-btn{border-radius:999px!important;box-shadow:none!important}
.qc-footer{background:var(--p-band)!important;border-top:1px solid var(--p-line)}
/* calm reveal motion */
.qc-problem.rv,.qc-step.rv,.qc-service.rv,.qc-soon.rv,.qc-alt-row.rv,.rv{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)!important}
.rv:not(.rv-in){transform:translateY(14px)}
@media (prefers-reduced-motion:reduce){.rv{transition:none!important;transform:none!important}}
/* keep the no-flash fix for work-with-us */
#working .qc-working,#working .qc-working.rv{opacity:1!important;transform:none!important;transition:none!important}
@media (max-width:640px){.qc-hero h1{font-size:clamp(36px,10.6vw,46px)!important}.qc-rotate{font-size:clamp(30px,8.8vw,40px)!important}.qc-section h2{font-size:clamp(30px,8.4vw,38px)!important}}

.qc-step-text p{font-size:clamp(15.5px,1.15vw,17px)!important;line-height:1.7;text-align:left;hyphens:none}
.qc-step-head{align-items:flex-start}
@media (max-width:640px){.qc-step-head{flex-direction:column;gap:18px}.qc-step-thumb{width:112px!important;height:auto}.qc-step-text p{font-size:16px!important}}
#working h2,#working .qc-kicker{text-align:left!important;margin-left:0!important;justify-content:flex-start}
