/* Shared text rhythm. Keep navigation, icons, counters and brand colors untouched. */
body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) {
    --gwa-copy-size: 15px;
    --gwa-copy-leading: 1.65;
    font-family: Inter, Arial, sans-serif;
}
body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) :is(h1, h2, h3, h4) {
    font-family: Inter, Arial, sans-serif;
    font-style: normal;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    text-transform: none;
}
body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) h1 {
    font-size: clamp(34px, 3.15vw, 44px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
    margin-top: 0;
    margin-bottom: 20px;
}
body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) h2 {
    font-weight: 650;
    line-height: 1.22;
    letter-spacing: -.02em;
}
body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) h3 {
    font-weight: 650;
    line-height: 1.28;
    letter-spacing: -.01em;
}
body.gwa-gridx-light :is(.gwa-about-story, .gwa-about-process, .gwa-about-section-heading, .gwa-works-heading, .gwa-certificates-intro, .gwa-process-band, .gwa-work-principles, .gwa-certificate-note, .gwa-contact-info, .gwa-contact-form-card) h2 {
    font-size: clamp(25px, 2.3vw, 32px);
}
body.gwa-gridx-light :is(.gwa-service-detail, .gwa-certificate-values article) h2,
body.gwa-gridx-light :is(.gwa-about-skill, .gwa-project-card) h3 {
    font-size: 24px;
}
body.gwa-gridx-light :is(.gwa-about-story-columns, .gwa-about-skill, .gwa-service-detail, .gwa-project-card, .gwa-certificate-values article, .gwa-certificate-note) > p:not(.gwa-inner-eyebrow):not(.gwa-about-eyebrow),
body.gwa-gridx-light .gwa-about-story-columns p {
    font-size: var(--gwa-copy-size);
    font-weight: 400;
    line-height: var(--gwa-copy-leading);
    letter-spacing: normal;
    min-height: 0;
    margin-top: 0;
    margin-bottom: 16px;
    text-align: start;
}
body.gwa-gridx-light :is(.gwa-render-hero-copy, .gwa-about-hero-copy, .gwa-inner-hero-copy, .gwa-contact-hero > div) > p:not(.gwa-render-kicker):not(.gwa-about-eyebrow):not(.gwa-inner-eyebrow) {
    font-size: 16px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: normal;
    text-align: start;
    word-break: normal;
    overflow-wrap: break-word;
}
body.gwa-gridx-light :is(.gwa-render-hero-copy, .gwa-about-hero-copy, .gwa-inner-hero-copy) > .gwa-hero-detail {
    margin-top: 16px;
}
body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) :is(.gwa-render-kicker, .gwa-about-eyebrow, .gwa-inner-eyebrow) {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .12em;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 12px;
}
body.gwa-gridx-light .gwa-service-detail > ul > li {
    font-size: 14px;
    line-height: 1.6;
}
body.gwa-gridx-light .gwa-about-method p {
    line-height: 1.6;
    gap: 8px 14px;
}
body.gwa-gridx-light .gwa-contact-form label { line-height: 1.5; }
body.gwa-gridx-light .gwa-contact-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: normal;
}
body.gwa-gridx-light .gwa-contact-form textarea { line-height: 1.65; }

/* Legal copy has its own reading measure and real list markers. */
body.gwa-gridx-light .gwa-policy-content {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: normal;
    text-align: start;
}
body.gwa-gridx-light .gwa-policy-content p {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: normal;
    margin-top: 0;
    margin-bottom: 18px;
}
body.gwa-gridx-light .gwa-policy-content h2 {
    font-size: clamp(22px, 2vw, 26px);
    margin-top: 32px;
    margin-bottom: 14px;
    line-height: 1.3;
}
body.gwa-gridx-light .gwa-policy-content :is(ul, ol) {
    display: block;
    padding-inline-start: 24px;
    margin-top: 0;
    margin-bottom: 22px;
    list-style-position: outside;
}
body.gwa-gridx-light .gwa-policy-content ul { list-style-type: disc; }
body.gwa-gridx-light .gwa-policy-content ol { list-style-type: decimal; }
body.gwa-gridx-light .gwa-policy-content li {
    display: list-item;
    list-style-type: inherit;
    font-size: 16px;
    line-height: 1.7;
    padding: 0;
    margin: 0 0 12px;
}
body.gwa-gridx-light .gwa-policy-content li:last-child { margin-bottom: 0; }
body.gwa-gridx-light .gwa-policy-content :is(strong, b) { font-weight: 650; }
body.gwa-gridx-light .gwa-policy-content :is(a, code, dd) { overflow-wrap: anywhere; }
body.gwa-gridx-light .gwa-policy-content > :last-child { margin-bottom: 0; }
body.gwa-gridx-light .gwa-policy-content .gwa-policy-tool-heading h3 { font-size: 21px; }
body.gwa-gridx-light .gwa-policy-content :is(.gwa-policy-tool > p, .gwa-policy-tool-description, .gwa-policy-tool-description p) {
    font-size: 15px;
    line-height: 1.65;
}
body.gwa-gridx-light .gwa-policy-content .gwa-policy-tool > .gwa-policy-tool-note {
    font-size: 13px;
    line-height: 1.65;
    margin-top: 18px;
    margin-bottom: 0;
}

/* Align sibling project content, not just type sizes.
   Every card has six content rows: preview, category, title, copy, tags, link. */
@media (min-width: 992px) {
    body.gwa-gridx-light .gwa-project-card > .gwa-inner-eyebrow {
        min-block-size: 3em;
    }
    body.gwa-gridx-light .gwa-project-card > h3 {
        min-block-size: 1.28em;
    }
    @supports (grid-template-rows: subgrid) {
        body.gwa-gridx-light .gwa-project-grid { row-gap: 0; }
        body.gwa-gridx-light .gwa-project-card {
            display: grid;
            grid-row: span 6;
            grid-template-rows: subgrid;
            row-gap: 0;
        }
        body.gwa-gridx-light .gwa-project-card > :is(.gwa-inner-eyebrow, h3) {
            min-block-size: 0;
        }
    }
}

/* Prose aligned on both margins; headings and short UI labels stay unchanged. */
body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) p:not([class*="eyebrow"]):not(.gwa-render-kicker):not(.gwa-about-role):not(.gwa-gallery-count):not(.gwa-project-hero-art > p):not(.gwa-about-section-heading > p):not(.gwa-works-heading > p):not(.gwa-certificates-intro > p),
body.gwa-gridx-light .gwa-policy-content :is(li, .gwa-policy-tool-description) {
    text-align: justify;
    text-align-last: start;
    text-justify: inter-word;
    word-spacing: normal;
    word-break: normal;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
}

/* Centered section introductions need balanced lines, not justified prose. */
body.gwa-gridx-light :is(.gwa-about-section-heading, .gwa-works-heading, .gwa-certificates-intro) > p {
    max-width: min(100%, 68ch);
    margin-inline: auto;
    text-align: center;
    text-align-last: auto;
    text-wrap: balance;
    line-height: 1.65;
    -webkit-hyphens: none;
    hyphens: none;
}
body.gwa-gridx-light :is(.gwa-about-section-heading, .gwa-works-heading, .gwa-certificates-intro) h2 {
    text-wrap: balance;
}

@media (max-width: 767px) {
    body.gwa-gridx-light :is(.gwa-render-home, .gwa-about-page, .gwa-inner-page) h1 {
        font-size: clamp(30px, 7.7vw, 36px);
        line-height: 1.16;
        letter-spacing: -.02em;
    }
    body.gwa-gridx-light :is(.gwa-about-story, .gwa-about-process, .gwa-about-section-heading, .gwa-works-heading, .gwa-certificates-intro, .gwa-process-band, .gwa-work-principles, .gwa-certificate-note, .gwa-contact-info, .gwa-contact-form-card) h2 {
        font-size: 26px;
        line-height: 1.25;
    }
    body.gwa-gridx-light :is(.gwa-service-detail, .gwa-certificate-values article) h2,
    body.gwa-gridx-light :is(.gwa-about-skill, .gwa-project-card) h3 { font-size: 23px; }
}
