/* =========================================================
   AG BODY SHOP — GLOBAL FOUNDATION
========================================================= */


/* =========================================================
   01 — FONTS
========================================================= */

@font-face {
    font-family:
        "AmericanaWeb";

    src:
    local("Americana Std Roman"),
    local("AmericanaStd-Roman");

    font-style:
        normal;

    font-weight:
        400;

    font-display:
        swap;
}


@font-face {
    font-family:
        "AvenirWeb";

    src:
    local("Avenir Light"),
    local("Avenir-Light");

    font-style:
        normal;

    font-weight:
        300;

    font-display:
        swap;
}


@font-face {
    font-family:
        "AvenirWeb";

    src:
    local("Avenir Bold"),
    local("Avenir-Bold");

    font-style:
        normal;

    font-weight:
        700;

    font-display:
        swap;
}


/* =========================================================
   02 — GLOBAL VARIABLES
========================================================= */

:root {
    /* Brand */

    --color-bg:
        #080a0c;

    --color-yellow:
        #e7b900;

    --color-yellow-hover:
        #f2c600;

    --color-white:
        #ffffff;

    --color-text:
        #181b1f;


    /* Fonts */

    --font-title:
        "AmericanaWeb",
        Georgia,
        serif;

    --font-body:
        "AvenirWeb",
        "Avenir",
        Arial,
        sans-serif;


    /* Typography colours */

    --type-ink:
        #17191c;

    --type-text:
        #555b5f;

    --type-muted:
        #777d81;

    --type-link:
        #806600;

    --type-warm:
        #f4f2ed;

    --type-line:
        rgba(20, 23, 25, .13);


    /* Structural titles */

    --type-page-title:
        clamp(36px, 2.75vw, 48px);

    --type-section-title:
        clamp(31px, 2.4vw, 42px);


    /* WordPress content headings */

    --type-content-h1:
        clamp(36px, 2.75vw, 48px);

    --type-content-h2:
        clamp(29px, 2.15vw, 38px);

    --type-content-h3:
        clamp(23px, 1.65vw, 29px);

    --type-content-h4:
        clamp(18px, 1.25vw, 22px);

    --type-content-h5:
        clamp(16px, 1vw, 18px);

    --type-content-h6:
        clamp(13px, .85vw, 15px);


    /* WordPress content body */

    --type-body:
        clamp(15px, .94vw, 16.5px);

    --type-body-large:
        clamp(16px, 1vw, 17.5px);

    --type-body-small:
        clamp(13.5px, .86vw, 15px);

    --type-line-height:
        1.78;

    --type-compact-line-height:
        1.7;
}


/* =========================================================
   03 — BOX MODEL
========================================================= */

*,
*::before,
*::after {
    box-sizing:
        border-box;
}


/* =========================================================
   04 — DOCUMENT
========================================================= */

html {
    width:
        100%;

    min-height:
        100%;

    margin:
        0;

    padding:
        0;

    scroll-behavior:
        smooth;

    scroll-padding-bottom:
        100px;
}


body {
    width:
        100%;

    min-height:
        100%;

    margin:
        0;

    padding:
        0;

    overflow-x:
        hidden;

    color:
        var(--color-white);

    background:
        var(--color-bg);

    font-family:
        var(--font-body);

    font-weight:
        300;

    line-height:
        1.5;

    text-rendering:
        optimizeLegibility;

    -webkit-font-smoothing:
        antialiased;

    -moz-osx-font-smoothing:
        grayscale;
}


/* =========================================================
   05 — BASIC ELEMENTS
========================================================= */

img {
    display:
        block;

    max-width:
        100%;

    height:
        auto;
}


a {
    color:
        inherit;

    text-decoration:
        none;
}


button,
input,
select,
textarea {
    font:
        inherit;
}


button,
a {
    -webkit-tap-highlight-color:
        transparent;
}


/* =========================================================
   06 — TEXT SELECTION
========================================================= */

::selection {
    color:
        #111416;

    background:
        var(--color-yellow);
}


/* =========================================================
   07 — ACCESSIBILITY
========================================================= */

.screen-reader-text {
    position:
        absolute !important;

    width:
        1px !important;

    height:
        1px !important;

    padding:
        0 !important;

    margin:
        -1px !important;

    overflow:
        hidden !important;

    clip:
        rect(0, 0, 0, 0) !important;

    clip-path:
        inset(50%) !important;

    white-space:
        nowrap !important;

    border:
        0 !important;
}


.screen-reader-text:focus {
    position:
        fixed !important;

    z-index:
        2147483647;

    top:
        16px;

    left:
        16px;

    width:
        auto !important;

    height:
        auto !important;

    margin:
        0 !important;

    padding:
        12px 17px !important;

    overflow:
        visible !important;

    clip:
        auto !important;

    clip-path:
        none !important;

    white-space:
        normal !important;

    color:
        #111416;

    background:
        var(--color-yellow);

    border-radius:
        6px;

    font-weight:
        700;
}


/* =========================================================
   08 — GLOBAL STRUCTURAL TITLES
========================================================= */

/*
 * Shared internal Hero title scale.
 * Colour remains controlled by each component.
 */

body :is(
    .ag-page-title,
    .news-single-hero__title,
    .service-single-hero__title,
    .svc-archive-hero__title,
    .ag-news-hero__title
) {
    font-family:
        var(--font-title);

    font-size:
        var(--type-page-title);

    font-style:
        normal;

    font-weight:
        400;

    line-height:
        1;

    letter-spacing:
        -.35px;
}


/*
 * Shared main section title scale.
 * Compact card and Related headings are intentionally excluded.
 */

body :is(
    .ag-section-title,
    .service-single-article__heading,
    .ag-news-section-title,
    .ag-news-summary__title,
    .svc-archive-summary__title,
    .ag-about-section-title
) {
    font-family:
        var(--font-title);

    font-size:
        var(--type-section-title);

    font-style:
        normal;

    font-weight:
        400;

    line-height:
        1.08;

    letter-spacing:
        -.25px;
}


/* =========================================================
   09 — STANDARD WORDPRESS RICH TEXT CONTAINERS
========================================================= */

/*
 * This group covers:
 *
 * .ag-richtext             reusable future class
 * .news-single-content     Single News
 * .service-single-entry    Single Service
 * .ag-about-richtext       About page WYSIWYG
 * .entry-content           standard WordPress content
 * .wp-block-post-content   block-theme compatible content
 */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) {
    width:
        100%;

    min-width:
        0;

    color:
        var(--type-text);

    font-family:
        var(--font-body);

    font-size:
        var(--type-body);

    font-style:
        normal;

    font-weight:
        300;

    line-height:
        var(--type-line-height);

    overflow-wrap:
        anywhere;

    word-break:
        normal;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) > *:first-child {
    margin-top:
        0 !important;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) > *:last-child {
    margin-bottom:
        0 !important;
}


/* =========================================================
   10 — PARAGRAPHS
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) p {
    width:
        100%;

    margin:
        0 0 22px;

    padding:
        0;

    color:
        inherit;

    font-family:
        inherit;

    font-size:
        inherit;

    font-style:
        inherit;

    font-weight:
        inherit;

    line-height:
        inherit;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) > p:first-child {
    color:
        #464c50;

    font-size:
        var(--type-body-large);

    line-height:
        1.78;
}


/* =========================================================
   11 — WORDPRESS CONTENT HEADINGS
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6
) {
    width:
        100%;

    padding:
        0;

    color:
        var(--type-ink);

    font-style:
        normal;

    line-height:
        1.13;

    letter-spacing:
        -.2px;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    h1,
    h2,
    h3,
    h4
) {
    font-family:
        var(--font-title);

    font-weight:
        400;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) h1 {
    margin:
        clamp(48px, 5vw, 64px)
        0
        21px;

    font-size:
        var(--type-content-h1);
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) h2 {
    margin:
        clamp(42px, 4.5vw, 58px)
        0
        18px;

    font-size:
        var(--type-content-h2);
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) h3 {
    margin:
        34px
        0
        15px;

    color:
        #8e7000;

    font-size:
        var(--type-content-h3);
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) h4 {
    margin:
        28px
        0
        13px;

    font-size:
        var(--type-content-h4);
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) h5 {
    margin:
        25px
        0
        11px;

    color:
        var(--type-ink);

    font-family:
        var(--font-body);

    font-size:
        var(--type-content-h5);

    font-weight:
        700;

    line-height:
        1.3;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) h6 {
    margin:
        23px
        0
        10px;

    color:
        #6a7074;

    font-family:
        var(--font-body);

    font-size:
        var(--type-content-h6);

    font-weight:
        700;

    line-height:
        1.35;

    letter-spacing:
        .7px;

    text-transform:
        uppercase;
}


/* =========================================================
   12 — BOLD / ITALIC / INLINE TEXT
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    strong,
    b
) {
    color:
        var(--type-ink);

    font-family:
        inherit;

    font-style:
        inherit;

    font-weight:
        700 !important;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    em,
    i
) {
    font-style:
        italic;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) small {
    font-size:
        .84em;

    line-height:
        1.55;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) mark {
    padding:
        1px 4px;

    color:
        var(--type-ink);

    background:
        rgba(231, 185, 0, .28);
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    del,
    s
) {
    opacity:
        .72;

    text-decoration-thickness:
        1px;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    sup,
    sub
) {
    position:
        relative;

    font-size:
        .72em;

    line-height:
        0;

    vertical-align:
        baseline;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) sup {
    top:
        -.5em;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) sub {
    bottom:
        -.2em;
}


/* =========================================================
   13 — LINKS
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) a {
    color:
        var(--type-link);

    border-bottom:
        1px solid
        rgba(128, 102, 0, .34);

    text-decoration:
        none;

    text-underline-offset:
        3px;

    transition:
        color .2s ease,
        border-color .2s ease;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) a:hover {
    color:
        var(--type-ink);

    border-color:
        var(--type-ink);
}


/* =========================================================
   14 — LISTS
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    ul,
    ol
) {
    margin:
        0
        0
        24px;

    padding-left:
        25px;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) ul {
    list-style:
        disc;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) ol {
    list-style:
        decimal;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) li {
    padding-left:
        3px;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) li + li {
    margin-top:
        8px;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) li::marker {
    color:
        #8e7000;

    font-weight:
        700;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    ul,
    ol
) :is(
    ul,
    ol
) {
    margin-top:
        9px;

    margin-bottom:
        9px;
}


/* =========================================================
   15 — DEFINITION LISTS
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) dl {
    margin:
        0 0 24px;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) dt {
    color:
        var(--type-ink);

    font-weight:
        700;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) dd {
    margin:
        6px
        0
        16px
        20px;
}


/* =========================================================
   16 — BLOCKQUOTE
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) blockquote {
    width:
        100%;

    margin:
        36px
        0;

    padding:
        24px
        29px;

    color:
        #353a3e;

    background:
        var(--type-warm);

    border:
        0;

    border-left:
        3px solid
        var(--color-yellow);

    font-family:
        var(--font-title);

    font-size:
        clamp(20px, 1.5vw, 26px);

    font-style:
        normal;

    font-weight:
        400;

    line-height:
        1.45;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) blockquote p {
    color:
        inherit;

    font-family:
        inherit;

    font-size:
        inherit;

    font-weight:
        inherit;

    line-height:
        inherit;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) blockquote p:last-child {
    margin-bottom:
        0;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) blockquote cite {
    display:
        block;

    margin-top:
        13px;

    color:
        var(--type-muted);

    font-family:
        var(--font-body);

    font-size:
        11px;

    font-style:
        normal;

    font-weight:
        700;

    letter-spacing:
        .6px;

    text-transform:
        uppercase;
}


/* =========================================================
   17 — IMAGES / FIGURES / CAPTIONS
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) img {
    max-width:
        100%;

    height:
        auto;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    figure,
    .wp-caption,
    .wp-block-image,
    .wp-block-gallery,
    .wp-block-embed
) {
    max-width:
        100%;

    margin:
        36px
        0;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    figcaption,
    .wp-caption-text,
    .wp-element-caption
) {
    margin-top:
        9px;

    color:
        var(--type-muted);

    font-family:
        var(--font-body);

    font-size:
        11px;

    font-style:
        normal;

    font-weight:
        300;

    line-height:
        1.55;

    text-align:
        left;
}


/* =========================================================
   18 — IMAGE ALIGNMENT
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .aligncenter {
    display:
        block;

    margin-left:
        auto;

    margin-right:
        auto;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .alignleft {
    float:
        left;

    max-width:
        48%;

    margin:
        8px
        28px
        20px
        0;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .alignright {
    float:
        right;

    max-width:
        48%;

    margin:
        8px
        0
        20px
        28px;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
)::after {
    content:
        "";

    display:
        table;

    clear:
        both;
}


/* =========================================================
   19 — TABLES
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    table,
    .wp-block-table table
) {
    width:
        100%;

    margin:
        34px
        0;

    border-collapse:
        collapse;

    border-spacing:
        0;

    color:
        var(--type-text);

    background:
        #ffffff;

    font-family:
        var(--font-body);

    font-size:
        14px;

    line-height:
        1.6;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    th,
    td
) {
    padding:
        13px
        14px;

    border:
        1px solid
        var(--type-line);

    text-align:
        left;

    vertical-align:
        top;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) th {
    color:
        var(--type-ink);

    background:
        var(--type-warm);

    font-weight:
        700;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) tbody tr:nth-child(even) td {
    background:
        rgba(244, 242, 237, .42);
}


/* =========================================================
   20 — CODE / PREFORMATTED CONTENT
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) :is(
    code,
    kbd,
    samp
) {
    padding:
        2px
        6px;

    color:
        #2f3437;

    background:
        #f0eee9;

    border-radius:
        3px;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        "Liberation Mono",
        monospace;

    font-size:
        .9em;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) pre {
    width:
        100%;

    max-width:
        100%;

    margin:
        32px
        0;

    padding:
        20px;

    overflow-x:
        auto;

    color:
        rgba(255, 255, 255, .84);

    background:
        #111519;

    border:
        1px solid
        rgba(255, 255, 255, .08);

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        "Liberation Mono",
        monospace;

    font-size:
        13px;

    line-height:
        1.65;

    white-space:
        pre;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) pre code {
    padding:
        0;

    color:
        inherit;

    background:
        transparent;

    border-radius:
        0;

    font-size:
        inherit;
}


/* =========================================================
   21 — HORIZONTAL RULE
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) hr {
    width:
        100%;

    margin:
        40px
        0;

    border:
        0;

    border-top:
        1px solid
        var(--type-line);
}


/* =========================================================
   22 — GUTENBERG TEXT ALIGNMENT
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .has-text-align-left {
    text-align:
        left;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .has-text-align-center {
    text-align:
        center;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .has-text-align-right {
    text-align:
        right;
}


/* =========================================================
   23 — GUTENBERG BUTTON
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .wp-block-button {
    margin:
        28px
        0;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .wp-block-button__link {
    min-height:
        44px;

    padding:
        0
        20px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        #111416;

    background:
        var(--color-yellow);

    border:
        1px solid
        var(--color-yellow);

    border-radius:
        0;

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        .8px;

    text-transform:
        uppercase;

    transition:
        background-color .2s ease,
        border-color .2s ease;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) .wp-block-button__link:hover {
    color:
        #111416;

    background:
        var(--color-yellow-hover);

    border-color:
        var(--color-yellow-hover);
}


/* =========================================================
   24 — COMPACT ARCHIVE WYSIWYG CONTENT
========================================================= */

/*
 * Archive summaries keep the same font family, Bold,
 * lists and headings, but use a more compact scale.
 */

body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) {
    width:
        100%;

    color:
        var(--type-text);

    font-family:
        var(--font-body);

    font-size:
        var(--type-body-small);

    font-weight:
        300;

    line-height:
        var(--type-compact-line-height);
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) > *:first-child {
    margin-top:
        0 !important;
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) > *:last-child {
    margin-bottom:
        0 !important;
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) p {
    margin:
        0
        0
        14px;

    color:
        inherit;

    font-family:
        inherit;

    font-size:
        inherit;

    font-weight:
        inherit;

    line-height:
        inherit;
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) p + p {
    margin-top:
        14px;
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) :is(
    strong,
    b
) {
    color:
        var(--type-ink);

    font-weight:
        700 !important;
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) h2 {
    margin:
        28px
        0
        13px;

    color:
        var(--type-ink);

    font-family:
        var(--font-title);

    font-size:
        clamp(24px, 1.7vw, 30px);

    font-weight:
        400;

    line-height:
        1.14;
}


body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content
) h3 {
    margin:
        34px
        0
        15px;

    color:
        var(--type-ink);

    font-size:
        var(--type-content-h3);
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) :is(
    ul,
    ol
) {
    margin:
        0
        0
        15px;

    padding-left:
        22px;
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) li + li {
    margin-top:
        6px;
}


body :is(
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .ag-richtext--compact
) a {
    color:
        var(--type-link);

    border-bottom:
        1px solid
        rgba(128, 102, 0, .34);
}


/* =========================================================
   25 — DARK FAQ RICH TEXT
========================================================= */

/*
 * FAQ answers use ag-rich-text on a dark background.
 * They therefore need an inverse compact variant.
 */

body .svc-faq-item__answer.ag-rich-text {
    width:
        100%;

    color:
        rgba(255, 255, 255, .64);

    font-family:
        var(--font-body);

    font-size:
        12.5px;

    font-weight:
        300;

    line-height:
        1.65;
}


body .svc-faq-item__answer.ag-rich-text > *:first-child {
    margin-top:
        0 !important;
}


body .svc-faq-item__answer.ag-rich-text > *:last-child {
    margin-bottom:
        0 !important;
}


body .svc-faq-item__answer.ag-rich-text p {
    margin:
        0
        0
        10px;

    color:
        inherit;

    font-family:
        inherit;

    font-size:
        inherit;

    font-weight:
        inherit;

    line-height:
        inherit;
}


body .svc-faq-item__answer.ag-rich-text :is(
    strong,
    b
) {
    color:
        #ffffff;

    font-weight:
        700 !important;
}


body .svc-faq-item__answer.ag-rich-text :is(
    h2,
    h3,
    h4
) {
    margin:
        18px
        0
        9px;

    color:
        #ffffff;

    font-family:
        var(--font-title);

    font-weight:
        400;

    line-height:
        1.25;
}


body .svc-faq-item__answer.ag-rich-text h2 {
    font-size:
        22px;
}


body .svc-faq-item__answer.ag-rich-text h3 {
    color:
        var(--color-yellow);

    font-size:
        19px;
}


body .svc-faq-item__answer.ag-rich-text h4 {
    font-size:
        16px;
}


body .svc-faq-item__answer.ag-rich-text :is(
    ul,
    ol
) {
    margin:
        0
        0
        12px;

    padding-left:
        20px;
}


body .svc-faq-item__answer.ag-rich-text li + li {
    margin-top:
        5px;
}


body .svc-faq-item__answer.ag-rich-text li::marker {
    color:
        var(--color-yellow);
}


body .svc-faq-item__answer.ag-rich-text a {
    color:
        var(--color-yellow);

    border-bottom:
        1px solid
        rgba(231, 185, 0, .35);
}


/* =========================================================
   26 — MOBILE TYPOGRAPHY
========================================================= */

@media(max-width:720px) {

    :root {
        --type-page-title:
            clamp(32px, 9.5vw, 42px);

        --type-section-title:
            clamp(29px, 8.5vw, 38px);

        --type-content-h1:
            clamp(32px, 9.5vw, 42px);

        --type-content-h2:
            clamp(28px, 8vw, 37px);

        --type-content-h3:
            clamp(22px, 6.8vw, 28px);

        --type-content-h4:
            clamp(18px, 5.4vw, 22px);

        --type-body:
            15px;

        --type-body-large:
            15.8px;

        --type-body-small:
            14px;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) {
        line-height:
            1.76;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) h1 {
        margin-top:
            43px;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) h2 {
        margin-top:
            38px;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) h3 {
        margin-top:
            31px;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) :is(
        .alignleft,
        .alignright
    ) {
        float:
            none;

        max-width:
            100%;

        margin:
            29px
            0;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) .wp-block-table {
        max-width:
            100%;

        overflow-x:
            auto;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) table {
        min-width:
            620px;
    }


    body :is(
        .svc-archive-summary__content,
        .ag-news-summary__content,
        .ag-richtext--compact
    ) {
        font-size:
            14px;

        line-height:
            1.72;
    }


    body :is(
        .svc-archive-summary__content,
        .ag-news-summary__content,
        .ag-richtext--compact
    ) h2 {
        font-size:
            clamp(23px, 6.8vw, 29px);
    }


    body :is(
        .svc-archive-summary__content,
        .ag-news-summary__content,
        .ag-richtext--compact
    ) h3 {
        font-size:
            clamp(20px, 5.8vw, 25px);
    }

}


/* =========================================================
   27 — VERY SMALL MOBILE
========================================================= */

@media(max-width:420px) {

    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) blockquote {
        padding:
            20px
            21px;

        font-size:
            20px;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content
    ) :is(
        ul,
        ol
    ) {
        padding-left:
            21px;
    }

}


/* =========================================================
   28 — FOCUS
========================================================= */

body :is(
    .ag-richtext,
    .news-single-content,
    .service-single-entry,
    .ag-about-richtext,
    .entry-content,
    .wp-block-post-content,
    .svc-archive-summary__content,
    .ag-news-summary__content,
    .svc-faq-item__answer
) a:focus-visible {
    outline:
        2px solid
        var(--color-yellow);

    outline-offset:
        4px;
}


/* =========================================================
   29 — REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce) {

    html {
        scroll-behavior:
            auto;
    }


    body :is(
        .ag-richtext,
        .news-single-content,
        .service-single-entry,
        .ag-about-richtext,
        .entry-content,
        .wp-block-post-content,
        .svc-archive-summary__content,
        .ag-news-summary__content,
        .svc-faq-item__answer
    ) a {
        transition:
            none;
    }

}