/* Approved typography and section-label palette. */
body .eyebrow,
body .qb-team-eyebrow,
body .qbt-section .qbt-eyebrow{color:#ff6935}
/* Preserve readable inverse labels on orange panels. */
body #contact .eyebrow{color:#fff}
/* Navigation labels match the 16px Start a project CTA, without bold weight. */
body .site-header .nav .links a,
body .site-header .nav .menu-toggle{font-size:16px;font-weight:400}
/* Contact columns share a top edge; address matches the 20px contact links. */
body #contact .contact-grid{align-items:start}
body .contact-card p.qb-contact-address{font-size:20px}
/* Section labels: approved 30px size and left alignment with their headings. */
body .eyebrow,
body .qb-team-eyebrow,
body .qbt-section .qbt-eyebrow,
body .stakeholder-kicker{
    font-size:30px;
    text-align:left;
    overflow-wrap:anywhere;
}
body .section-head{row-gap:16px}
body .section-head > .eyebrow,
body .section-head > div:not(.eyebrow),
body .section-head > h2{grid-column:2}
@media(max-width:820px){
    body .section-head > .eyebrow,
    body .section-head > div:not(.eyebrow),
    body .section-head > h2{grid-column:1}
}
body h1,
body h2,
body h3,
body .qb-team-section .qb-team-copy h3,
body .qbt-section .qbt-intro h2,
body .stakeholder-lead strong{
    font-family:Arial,Helvetica,sans-serif;
    font-weight:400;
}
body .eyebrow,
body .qb-team-eyebrow,
body .qbt-section .qbt-eyebrow,
body .stakeholder-kicker{
    font-family:Arial,Helvetica,sans-serif;
}
body .hero p,
body .section-head p,
body .service p,
body #process .steps .step p,
body .stakeholder-copy p,
body .stakeholder-copy li,
body .project small,
body .qb-about-intro .about-copy,
body .qb-team-head > p,
body .qb-team-note span,
body .contact-card p,
body .qbt-section .qbt-quote,
body .qbt-section .qbt-quote p{
    font-family:Arial,Helvetica,sans-serif;
    font-size:22px;
    font-weight:400;
    line-height:1.55;
    letter-spacing:normal;
}
body .qbt-section .qbt-attribution strong,
body .qbt-section .qbt-attribution span{
    font-family:Arial,Helvetica,sans-serif;
    font-size:22px;
    line-height:1.55;
}
body .qb-team-section .qb-team-bio{
    font-family:Arial,Helvetica,sans-serif;
    font-size:20px;
    font-weight:400;
    line-height:1.55;
    letter-spacing:normal;
}
@media(max-width:560px){
    body .hero p,
    body .section-head p,
    body .service p,
    body #process .steps .step p,
    body .stakeholder-copy p,
    body .stakeholder-copy li,
    body .project small,
    body .qb-about-intro .about-copy,
    body .qb-team-head > p,
    body .qb-team-note span,
    body .contact-card p,
    body .qbt-section .qbt-quote,
    body .qbt-section .qbt-quote p,
    body .qbt-section .qbt-attribution strong,
    body .qbt-section .qbt-attribution span{font-size:20px}
}
/* Approved compact mobile hero; the complete cube artwork is protected. */
.hero-mobile-break{display:none}
@media(max-width:600px){
 body .hero{grid-template-columns:minmax(0,1fr) 108px;column-gap:12px;row-gap:0;align-items:center;min-height:0;padding:30px 0 34px}
 body .hero .hero-copy{display:contents}
 body .hero .eyebrow{grid-column:1/-1;grid-row:1;font-size:14px;line-height:1.4;letter-spacing:.12em;margin:0 0 22px}
 body .hero h1{grid-column:1;grid-row:2;font-size:clamp(32px,11vw,44px);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0}
 body .hero .hero-mobile-break{display:block}
 body .hero .hero-media{grid-column:2;grid-row:2;width:108px;max-width:108px;aspect-ratio:1;margin:0;align-self:center}
 body .hero .hero-media img{max-height:108px;object-fit:contain}
 body .hero .hero-copy>p{grid-column:1/-1;grid-row:3;font-size:19px;line-height:1.5;margin:26px 0 24px}
 body .hero .actions{grid-column:1/-1;grid-row:4;display:grid;gap:10px;margin:0}
 body .hero .actions .btn{width:100%;min-height:48px;padding:12px 16px;font-size:15px;line-height:1.4;text-align:center;justify-content:center}
}
