/* Generated from the original modular JAGS styles. */

/* ./settings/tokens.css */
:root {
    /* Colors */
    --color-navy-950: #152535;
    --color-red-600: #dc0008;
    --color-brand-gray: #707070;
    --color-accent-warm: #a66c43;
    --color-text: #152535;
    --color-text-muted: #5f6872;
    --color-background: #ffffff;
    --color-surface: #f6f6f4;
    --color-border: #d9dde1;

    /* Typography */
    --font-family-display: Georgia, "Times New Roman", serif;
    --font-family-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    /* Type scale */
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
    --font-size-2xl: clamp(1.5rem, 1.25rem + 1vw, 2rem);
    --font-size-3xl: clamp(2rem, 1.6rem + 1.6vw, 3rem);
    --font-size-4xl: clamp(2.5rem, 2rem + 2.2vw, 4rem);
    --font-size-display: clamp(3rem, 2.25rem + 3.5vw, 5rem);

    /* Line heights */
    --line-height-tight: 1.1;
    --line-height-heading: 1.2;
    --line-height-body: 1.5;

    /* Spacing */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4rem;
    --space-9: 6rem;
    --space-10: 8rem;

    /* Widths */
    --container-max-width: 75rem;
    --content-max-width: 42rem;
    --page-gutter: clamp(1rem, 0.5rem + 2vw, 2rem);

    /* Borders */
    --border-width: 0.0625rem;
    --border-radius-sm: 0.125rem;
    --border-radius-md: 0.25rem;

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;

    /* Stacking */
    --z-index-base: 0;
    --z-index-header: 10;
    --z-index-overlay: 20;
}

/* ./base/reset.css */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote {
    margin: 0;
}

img,
picture,
video {
    display: block;
    max-width: 100%;
}

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

textarea {
    resize: vertical;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ./base/document.css */
html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    background: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-family-body);
    font-size: var(--font-size-base);
    line-height: var(--line-height-body);
    text-rendering: optimizeLegibility;
}

main {
    min-height: 100%;
}

/* ./base/typography.css */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-navy-950);
    font-family: var(--font-family-display);
    font-weight: 400;
    line-height: var(--line-height-heading);
}

h1 {
    font-size: var(--font-size-display);
}

h2 {
    font-size: var(--font-size-4xl);
}

h3 {
    font-size: var(--font-size-3xl);
}

h4 {
    font-size: var(--font-size-2xl);
}

h5 {
    font-size: var(--font-size-xl);
}

h6 {
    font-size: var(--font-size-lg);
}

p {
    color: var(--color-text-muted);
}

strong {
    font-weight: 700;
}

a {
    color: inherit;
    text-decoration-thickness: var(--border-width);
    text-underline-offset: var(--space-1);
}

a:focus-visible {
    outline: var(--border-width) solid var(--color-red-600);
    outline-offset: var(--space-1);
}

/* ./layout/container.css */
.container {
    width: 100%;
    max-width: var(--container-max-width);
    margin-inline: auto;
    padding-inline: var(--page-gutter);
}

/* ./components/skip-link.css */
.skip-link {
    position: fixed;
    top: var(--space-3);
    left: var(--space-3);
    z-index: var(--z-index-overlay);
    padding: var(--space-3) var(--space-4);
    background: var(--color-navy-950);
    color: var(--color-background);
    transform: translateY(-200%);
}

.skip-link:focus {
    transform: translateY(0);
}

/* ./components/site-header.css */
:root {
    --site-header-height: 4rem;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-header);
    background: var(--color-background);
    border-bottom: var(--border-width) solid var(--color-border);
    transform: translateY(0);
    transition: transform var(--transition-fast);
}

.site-header[data-site-header-scroll-state="hidden"] {
    transform: translateY(-100%);
}

.site-header__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--space-4);
    min-height: var(--site-header-height);
}

.site-header__brand-group {
    display: flex;
    align-items: center;
}

.site-brand {
    color: var(--color-navy-950);
    font-family: var(--font-family-body);
    font-size: var(--font-size-xl);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: var(--line-height-tight);
    text-decoration: none;
}

.site-brand__ja {
    color: var(--color-brand-gray);
}

.site-brand__gs {
    color: var(--color-red-600);
}

.site-professional {
    display: none;
}

.site-menu-toggle {
    display: inline-grid;
    place-items: center;
    width: 2.625rem;
    height: 2.625rem;
    padding: 0;
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-sm);
    background: var(--color-background);
    color: var(--color-navy-950);
}

.site-menu-toggle:focus-visible {
    outline: var(--border-width) solid var(--color-red-600);
    outline-offset: var(--space-1);
}

.site-menu-toggle__icon,
.site-menu-toggle__icon::before,
.site-menu-toggle__icon::after {
    display: block;
    width: 1.125rem;
    height: var(--border-width);
    background: currentColor;
    transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.site-menu-toggle__icon {
    position: relative;
}

.site-menu-toggle__icon::before,
.site-menu-toggle__icon::after {
    position: absolute;
    left: 0;
    content: "";
}

.site-menu-toggle__icon::before {
    transform: translateY(-0.35rem);
}

.site-menu-toggle__icon::after {
    transform: translateY(0.35rem);
}

.site-header__panel {
    grid-column: 1 / -1;
    display: grid;
    gap: var(--space-3);
    padding-block: var(--space-3);
    border-top: var(--border-width) solid var(--color-border);
}

.site-header[data-site-navigation-enhanced="true"] .site-header__panel {
    display: none;
}

.site-header[data-site-navigation-open="true"] .site-header__panel {
    display: grid;
}

.site-header[data-site-navigation-open="true"] .site-menu-toggle__icon {
    background: transparent;
}

.site-header[data-site-navigation-open="true"] .site-menu-toggle__icon::before {
    transform: rotate(45deg);
}

.site-header[data-site-navigation-open="true"] .site-menu-toggle__icon::after {
    transform: rotate(-45deg);
}

.site-nav__list,
.language-switcher__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nav__list {
    flex-direction: column;
}

.site-nav__link,
.language-switcher__link,
.language-switcher__current {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding-inline: var(--space-3);
    color: var(--color-text);
    font-size: var(--font-size-sm);
    font-weight: 500;
    text-decoration: none;
}

.site-nav__link {
    text-decoration: none;
}

.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__link--active {
    text-decoration-line: underline;
    text-decoration-thickness: var(--border-width);
    text-underline-offset: var(--space-1);
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
    text-decoration-color: var(--color-navy-950);
}

.site-nav__link--active {
    text-decoration-color: var(--color-red-600);
}

.site-header__contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding-inline: var(--space-3);
    border: var(--border-width) solid var(--color-navy-950);
    border-radius: var(--border-radius-sm);
    background: var(--color-navy-950);
    color: var(--color-background);
    font-size: var(--font-size-xs);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-decoration: none;
}

.site-header__contact:hover,
.site-header__contact:focus-visible {
    background: var(--color-navy-950);
    color: var(--color-background);
    text-decoration-color: var(--color-background);
}

.site-header__contact:focus-visible {
    outline: var(--border-width) solid var(--color-red-600);
    outline-offset: var(--space-1);
}

.language-switcher {
    padding-top: var(--space-3);
    border-top: var(--border-width) solid var(--color-border);
}

.language-switcher__link,
.language-switcher__current {
    min-height: 2.25rem;
    padding-inline: var(--space-2);
    color: var(--color-text-muted);
    font-size: var(--font-size-xs);
    letter-spacing: 0.08em;
}

.language-switcher__current {
    color: var(--color-navy-950);
    text-decoration: underline;
    text-decoration-color: var(--color-red-600);
    text-decoration-thickness: var(--border-width);
    text-underline-offset: var(--space-1);
}

@media (min-width: 72rem) {
    :root {
        --site-header-height: 4.25rem;
    }

    .site-header__inner {
        display: flex;
        gap: var(--space-5);
        min-height: var(--site-header-height);
    }

    .site-header__brand-group {
        flex: 0 0 auto;
        gap: var(--space-4);
    }

    .site-professional {
        display: grid;
        gap: var(--space-1);
        padding-left: var(--space-4);
        border-left: var(--border-width) solid var(--color-border);
        font-family: var(--font-family-body);
        line-height: var(--line-height-tight);
    }

    .site-professional__name {
        color: var(--color-text);
        font-size: var(--font-size-sm);
        font-weight: 600;
    }

    .site-professional__role {
        color: var(--color-text-muted);
        font-size: var(--font-size-xs);
    }

    .site-menu-toggle {
        display: none;
    }

    .site-header__panel,
    .site-header[data-site-navigation-enhanced="true"] .site-header__panel {
        display: flex;
        flex: 1;
        align-items: center;
        justify-content: flex-end;
        gap: var(--space-3);
        padding: 0;
        border: 0;
    }

    .site-nav__list {
        flex-direction: row;
        align-items: center;
        gap: var(--space-1);
    }

    .language-switcher {
        padding: 0 0 0 var(--space-2);
        border-top: 0;
        border-left: var(--border-width) solid var(--color-border);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header,
    .site-menu-toggle__icon,
    .site-menu-toggle__icon::before,
    .site-menu-toggle__icon::after {
        transition: none;
    }
}

/* ./components/button.css */
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: var(--space-2) var(--space-4);
    border: var(--border-width) solid transparent;
    border-radius: var(--border-radius-sm);
    font-family: var(--font-family-body);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.button:focus-visible {
    outline: var(--border-width) solid var(--color-navy-950);
    outline-offset: var(--space-1);
}

.button--primary {
    background: var(--color-navy-950);
    border-color: var(--color-navy-950);
    color: var(--color-background);
}

.button--primary:hover,
.button--primary:focus-visible {
    background: var(--color-navy-950);
    border-color: var(--color-navy-950);
    color: var(--color-background);
}

/* ./components/back-to-top.css */
.back-to-top {
    position: fixed;
    right: var(--space-4);
    bottom: calc(var(--space-4) + env(safe-area-inset-bottom));
    z-index: var(--z-index-header);
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: var(--border-width) solid var(--color-navy-950);
    border-radius: 50%;
    background: var(--color-navy-950);
    color: var(--color-background);
    cursor: pointer;
    line-height: 1;
    transition: background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.back-to-top svg {
    width: 1.25rem;
    height: 1.25rem;
}

.back-to-top[hidden] {
    display: none;
}

.back-to-top:hover {
    background: var(--color-red-600);
    border-color: var(--color-red-600);
}

.back-to-top:focus-visible {
    outline: calc(var(--border-width) * 2) solid var(--color-red-600);
    outline-offset: var(--space-1);
}

@media (prefers-reduced-motion: reduce) {
    .back-to-top {
        transition: none;
    }
}

/* ./components/site-footer.css */
.site-footer {
    border-top: var(--border-width) solid var(--color-brand-gray);
    background: var(--color-navy-950);
    color: var(--color-background);
}

.site-footer__main {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-7);
    padding-block: var(--space-6);
}

.site-footer__identity,
.site-footer__professional,
.site-footer__contact,
.site-footer__address {
    display: grid;
}

.site-footer__identity {
    justify-items: start;
    gap: var(--space-3);
}

.site-footer__brand {
    color: var(--color-background);
    font-family: var(--font-family-body);
    font-size: var(--font-size-2xl);
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: var(--line-height-tight);
    text-decoration: none;
}

.site-footer__brand-ja {
    color: var(--color-brand-gray);
}

.site-footer__brand-gs {
    color: var(--color-red-600);
}

.site-footer__professional {
    gap: var(--space-2);
}

.site-footer__professional-name {
    font-size: var(--font-size-base);
    font-weight: 600;
}

.site-footer__professional-role,
.site-footer__address,
.site-footer__navigation-list,
.site-footer__bottom p {
    color: var(--color-surface);
    font-size: var(--font-size-sm);
}

.site-footer__contact {
    align-content: start;
    gap: var(--space-3);
}

.site-footer__label {
    color: var(--color-background);
    font-size: var(--font-size-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.site-footer__address {
    gap: var(--space-2);
    font-style: normal;
}

.site-footer__address a,
.site-footer__navigation a {
    color: var(--color-background);
    text-decoration-color: var(--color-brand-gray);
}

.site-footer__address a:hover,
.site-footer__address a:focus-visible,
.site-footer__navigation a:hover,
.site-footer__navigation a:focus-visible,
.site-footer__navigation a[aria-current="page"] {
    text-decoration-color: var(--color-background);
}

.site-footer__address a:focus-visible,
.site-footer__navigation a:focus-visible,
.site-footer__brand:focus-visible {
    outline-color: var(--color-background);
}

.site-footer__email {
    overflow-wrap: anywhere;
}

.site-footer__navigation {
    display: grid;
    align-content: start;
    gap: var(--space-3);
}

.site-footer__navigation-list {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__bottom {
    display: grid;
    gap: var(--space-3);
    padding-block: var(--space-5);
    border-top: var(--border-width) solid var(--color-brand-gray);
}

.site-footer__legal ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__legal a {
    color: var(--color-background);
    font-size: var(--font-size-sm);
    text-decoration-color: var(--color-brand-gray);
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible,
.site-footer__legal a[aria-current="page"] {
    text-decoration-color: var(--color-background);
}

.site-footer__legal a:focus-visible {
    outline-color: var(--color-background);
}

.site-footer__consent-settings {
    justify-self: start;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-background);
    cursor: pointer;
    font: inherit;
    font-size: var(--font-size-sm);
    text-decoration: underline;
    text-decoration-color: var(--color-brand-gray);
    text-underline-offset: var(--space-1);
}

.site-footer__consent-settings:hover,
.site-footer__consent-settings:focus-visible {
    text-decoration-color: var(--color-background);
}

.site-footer__consent-settings:focus-visible {
    outline-color: var(--color-background);
}

@media (min-width: 64rem) {
    .site-footer__main {
        grid-template-columns: 1fr 1.1fr 0.8fr;
        gap: var(--space-8);
        padding-block: var(--space-6) var(--space-5);
    }

    .site-footer__identity {
        align-self: center;
        gap: var(--space-2);
    }

    .site-footer__professional {
        gap: var(--space-1);
    }

    .site-footer__bottom {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: var(--space-4);
    }

    .site-footer__bottom p {
        flex: 0 1 auto;
    }

    .site-footer__legal ul {
        flex-wrap: nowrap;
    }
}

/* ./components/external-consent.css */
.external-consent {
    position: fixed;
    z-index: var(--z-index-overlay);
    right: 0;
    bottom: 0;
    left: 0;
    border-top: var(--border-width) solid var(--color-border);
    background: var(--color-background);
}

.external-consent[hidden] {
    display: none;
}

.external-consent__inner {
    display: grid;
    max-width: var(--container-max-width);
    gap: var(--space-5);
    margin-inline: auto;
    padding: var(--space-5) var(--page-gutter);
}

.external-consent__content {
    display: grid;
    gap: var(--space-2);
}

.external-consent__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-lg);
    font-weight: 400;
}

.external-consent__message {
    max-width: 52rem;
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-body);
}

.external-consent__message a {
    color: var(--color-text);
    text-underline-offset: var(--space-1);
}

.external-consent__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
}

.external-consent__action {
    min-height: 2.75rem;
    padding: var(--space-2) var(--space-4);
    border: var(--border-width) solid var(--color-navy-950);
    border-radius: var(--border-radius-sm);
    background: var(--color-navy-950);
    color: var(--color-background);
    cursor: pointer;
    font: inherit;
    font-weight: 600;
}

.external-consent__action:hover {
    background: var(--color-background);
    color: var(--color-navy-950);
}

.external-consent__action:focus-visible {
    outline: calc(var(--border-width) * 2) solid var(--color-red-600);
    outline-offset: var(--space-1);
}

@media (min-width: 64rem) {
    .external-consent__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    .external-consent__actions {
        min-width: 15rem;
    }
}

/* ./pages/home.css */
.home-hero {
    position: relative;
    padding-block: var(--space-5);
}

.home-hero__inner {
    display: grid;
    position: relative;
    gap: var(--space-6);
}

.home-hero__content {
    max-width: var(--content-max-width);
}

.home-hero__title {
    max-width: 100%;
    color: var(--color-navy-950);
    font-family: var(--font-family-display);
    font-size: var(--font-size-3xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.home-hero__accent,
.home-approach__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.home-hero__description {
    max-width: var(--content-max-width);
    max-width: 36rem;
    margin-top: var(--space-4);
    color: var(--color-text);
    font-size: var(--font-size-lg);
    line-height: var(--line-height-body);
}

.home-hero__content .button {
    margin-top: var(--space-5);
}

.home-hero__media {
    position: relative;
    min-height: 15rem;
    overflow: hidden;
    -webkit-mask-image: none;
    mask-image: none;
}

.home-hero__media picture {
    position: absolute;
    inset: 0;
    display: block;
}

.home-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% 54%;
}

@media (min-width: 64rem) {
    .home-hero {
        padding-block: 1.75rem var(--space-4);
    }

    .home-hero__inner {
        display: flex;
        align-items: center;
        min-height: 20rem;
    }

    .home-hero__content {
        position: relative;
        z-index: 1;
        width: 45%;
    }

    .home-hero__title {
        max-width: 20ch;
    }

    .home-hero__media {
        position: absolute;
        inset: 0 0 0 35%;
        min-height: 0;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 32%, black 100%);
        mask-image: linear-gradient(to right, transparent 0%, black 32%, black 100%);
    }

    .home-hero__media img {
        object-position: 78% 56%;
    }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
    .home-hero__media img {
        object-position: 76% 66%;
    }
}

.home-approach {
    padding-block: var(--space-6);
    background: var(--color-background);
    border-bottom: var(--border-width) solid var(--color-border);
}

.home-approach__inner {
    display: grid;
    gap: var(--space-6);
}

.home-approach__title {
    max-width: 18ch;
    color: var(--color-navy-950);
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.home-approach__body {
    max-width: var(--content-max-width);
}

.home-approach__text {
    color: var(--color-text);
    font-size: var(--font-size-base);
    line-height: var(--line-height-body);
}

.home-approach__text + .home-approach__text {
    margin-top: var(--space-5);
}

@media (min-width: 64rem) {
    .home-approach {
        padding-block: 2.25rem;
    }

    .home-approach__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
        align-items: center;
        gap: var(--space-8);
    }
}

.home-services {
    padding-block: var(--space-6);
    background: var(--color-background);
}

.home-services__header {
    display: grid;
    max-width: var(--content-max-width);
    gap: var(--space-3);
    margin-inline: auto;
    text-align: center;
    align-items: start;
}

.home-services__title {
    max-width: none;
    margin-inline: auto;
    color: var(--color-navy-950);
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.home-services__introduction {
    max-width: 36rem;
    margin-inline: auto;
    color: var(--color-text);
    font-size: var(--font-size-base);
    line-height: var(--line-height-body);
}

.home-services__list {
    display: grid;
    margin-top: var(--space-5);
    padding: 0;
    list-style: none;
}

.home-services__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    padding-block: 1.25rem;
    text-align: center;
}

.home-services__item + .home-services__item {
    border-top: var(--border-width) solid var(--color-border);
}

.home-services__icon {
    width: var(--space-7);
    color: var(--color-accent-warm);
}

.home-services__icon svg {
    display: block;
    width: 100%;
    height: auto;
}

.home-services__item-title {
    color: var(--color-navy-950);
    font-family: var(--font-family-display);
    font-size: var(--font-size-xl);
    font-weight: 400;
    line-height: var(--line-height-heading);
}

.home-services__item-description {
    max-width: 22rem;
    color: var(--color-text);
    font-size: var(--font-size-base);
    line-height: var(--line-height-body);
}

@media (min-width: 64rem) {
    .home-services {
        padding-block: 2.5rem;
    }

    .home-services__header {
        max-width: none;
    }

    .home-services__list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        margin-top: var(--space-5);
    }

    .home-services__item {
        padding-block: 0;
        padding-inline: var(--space-5);
    }

    .home-services__item + .home-services__item {
        border-top: 0;
        border-left: var(--border-width) solid var(--color-border);
    }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
    .home-services__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 var(--space-6);
    }
}

.home-audience {
    padding-block: 0 var(--space-6);
    background: var(--color-background);
}

.home-audience__inner {
    display: grid;
    gap: var(--space-6);
    padding-top: var(--space-6);
    border-top: var(--border-width) solid var(--color-border);
}

.home-audience__header {
    align-self: start;
}

.home-audience__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.home-audience__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.home-audience__introduction {
    max-width: var(--content-max-width);
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.home-audience__introduction {
    margin-top: var(--space-4);
}

.home-audience__link {
    display: inline-block;
    margin-top: var(--space-5);
    color: var(--color-text);
    font-family: var(--font-family-body);
    font-weight: 600;
    text-decoration-line: underline;
    text-decoration-color: var(--color-red-600);
    text-decoration-thickness: var(--border-width);
    text-underline-offset: var(--space-1);
}

.home-audience__link:focus-visible {
    outline: var(--border-width) solid var(--color-red-600);
    outline-offset: var(--space-1);
}

.home-audience__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-audience__item {
    display: grid;
    gap: var(--space-3);
    padding-block: var(--space-4);
    border-bottom: var(--border-width) solid var(--color-border);
}

.home-audience__item:last-child {
    border-bottom: 0;
}

.home-audience__item-title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-xl);
    font-weight: 400;
    line-height: var(--line-height-heading);
}

.home-audience__item-description {
    color: var(--color-text);
    line-height: var(--line-height-body);
}

@media (min-width: 64rem) {
    .home-audience {
        padding-bottom: 2.5rem;
    }

    .home-audience__inner {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
        align-items: start;
        gap: 2.5rem;
        padding-top: 2.5rem;
    }

    .home-audience__header {
        align-self: center;
    }

    .home-audience__item {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
        gap: var(--space-5);
    }
}

.home-differentiators {
    padding-block: 0 var(--space-6);
    background: var(--color-background);
}

.home-differentiators__inner {
    display: grid;
    gap: var(--space-6);
    padding-top: var(--space-6);
    border-top: var(--border-width) solid var(--color-border);
}

.home-differentiators__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.home-differentiators__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.home-differentiators__introduction {
    max-width: var(--content-max-width);
    margin-top: var(--space-4);
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.home-differentiators__closing {
    max-width: var(--content-max-width);
    margin-top: var(--space-5);
    color: var(--color-text);
    font-family: var(--font-family-body);
    font-weight: 600;
    line-height: var(--line-height-body);
}

.home-differentiators__list {
    display: grid;
    gap: var(--space-5);
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-differentiators__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: var(--space-3);
}

.home-differentiators__marker {
    color: var(--color-red-600);
    font-family: var(--font-family-body);
    font-size: var(--font-size-base);
    font-weight: 700;
    line-height: var(--line-height-heading);
}

.home-differentiators__item-title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-xl);
    font-weight: 400;
    line-height: var(--line-height-heading);
}

.home-differentiators__item-description {
    margin-top: var(--space-2);
    color: var(--color-text);
    line-height: var(--line-height-body);
}

@media (min-width: 64rem) {
    .home-differentiators {
        padding-bottom: 2.5rem;
    }

    .home-differentiators__inner {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        align-items: start;
        gap: var(--space-7);
        padding-top: 2.5rem;
    }

    .home-differentiators__header {
        align-self: center;
    }

    .home-differentiators__list {
        gap: var(--space-5);
    }
}

.home-trust {
    padding-block: 0 var(--space-6);
    background: var(--color-background);
}

.home-trust__inner {
    display: grid;
    gap: var(--space-5);
    padding-top: var(--space-6);
    border-top: var(--border-width) solid var(--color-border);
}

.home-trust__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.home-trust__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.home-trust__trajectory {
    max-width: var(--content-max-width);
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.home-trust__closing {
    max-width: var(--content-max-width);
    margin-top: var(--space-4);
    color: var(--color-text);
    font-family: var(--font-family-body);
    font-weight: 600;
    line-height: var(--line-height-body);
}

@media (min-width: 64rem) {
    .home-trust {
        padding-bottom: var(--space-6);
    }

    .home-trust__inner {
        grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
        align-items: start;
        gap: 2.5rem;
        padding-top: var(--space-6);
    }
}

.home-contact-cta {
    padding-block: var(--space-5);
    background: var(--color-surface);
}

.home-contact-cta__inner {
    display: grid;
    align-items: start;
    gap: var(--space-5);
}

.home-contact-cta__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.home-contact-cta__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.home-contact-cta__text {
    max-width: var(--content-max-width);
    margin-top: var(--space-4);
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.home-contact-cta__action {
    justify-self: start;
    max-width: 100%;
    white-space: normal;
}

@media (min-width: 64rem) {
    .home-contact-cta {
        padding-block: 1.75rem;
    }

    .home-contact-cta__inner {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
        align-items: center;
        gap: var(--space-7);
    }

    .home-contact-cta__action {
        justify-self: end;
    }
}

/* ./pages/services.css */
.services-hero {
    position: relative;
    padding-block: var(--space-5) var(--space-6);
    background: var(--color-background);
}

.services-hero__inner {
    display: grid;
    position: relative;
    gap: var(--space-5);
}

.services-hero__content {
    max-width: var(--content-max-width);
}

.services-hero__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-3xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.services-hero__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.services-hero__body,
.services-tax__approach,
.services-accounting__approach,
.services-corporate__approach,
.services-financing__approach,
.services-financial-management__approach {
    max-width: var(--content-max-width);
}

.services-hero__body {
    margin-top: var(--space-5);
}

.services-hero__body p,
.services-transition__text,
.services-tax__approach p,
.services-tax__scope-item p,
.services-tax__scope-item li,
.services-tax__closing-item p,
.services-accounting__approach p,
.services-accounting__scope-item p,
.services-accounting__scope-item li,
.services-accounting__closing-item p,
.services-corporate__approach p,
.services-corporate__scope-item p,
.services-corporate__scope-item li,
.services-corporate__closing-item p,
.services-financing__approach p,
.services-financing__scope-item p,
.services-financing__scope-item li,
.services-financing__closing-item p,
.services-financial-management__approach p,
.services-financial-management__scope-item p,
.services-financial-management__scope-item li,
.services-financial-management__closing-item p {
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.services-tax__approach p + p,
.services-tax__closing-item p + p,
.services-accounting__approach p + p,
.services-accounting__closing-item p + p,
.services-corporate__approach p + p,
.services-corporate__closing-item p + p,
.services-financing__approach p + p,
.services-financing__closing-item p + p,
.services-financial-management__approach p + p,
.services-financial-management__closing-item p + p {
    margin-top: var(--space-4);
}

.services-hero__media {
    position: relative;
    min-height: 11rem;
    overflow: hidden;
    -webkit-mask-image: none;
    mask-image: none;
}

.services-hero__media picture {
    position: absolute;
    inset: 0;
    display: block;
}

.services-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 75% 54%;
}

.services-hero__transition {
    max-width: 38rem;
}

.services-transition__text {
    max-width: 38rem;
}

@media (min-width: 64rem) {
    .services-hero {
        padding-block: var(--space-6) var(--space-5);
    }

    .services-hero__inner {
        display: block;
        min-height: 24rem;
    }

    .services-hero__content {
        position: relative;
        z-index: 1;
        width: 58%;
        padding-top: var(--space-5);
    }

    .services-hero__body {
        max-width: 38rem;
    }

    .services-hero__transition {
        position: relative;
        z-index: 1;
        width: 58%;
        margin-top: var(--space-5);
    }

    .services-hero__media {
        position: absolute;
        inset: 0 0 0 48%;
        min-height: 0;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 36%, black 100%);
        mask-image: linear-gradient(to right, transparent 0%, black 36%, black 100%);
    }

    .services-hero__media img {
        object-position: 78% 56%;
    }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
    .services-hero__media img {
        object-position: 78% 68%;
    }
}

.services-area {
    background: var(--color-background);
}

.services-area__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding-block: 1.25rem;
    border-bottom: var(--border-width) solid var(--color-border);
    cursor: pointer;
    list-style: none;
    scroll-margin-top: calc(var(--site-header-height) + var(--space-4));
}

.services-area__summary::-webkit-details-marker {
    display: none;
}

.services-area__summary::after {
    flex: 0 0 auto;
    color: var(--color-red-600);
    font-family: var(--font-family-body);
    font-size: var(--font-size-xl);
    font-weight: 400;
    line-height: 1;
    content: "+";
}

.services-area[open] > .services-area__summary::after {
    content: "−";
}

.services-area__summary:focus-visible {
    outline: calc(var(--border-width) * 2) solid var(--color-red-600);
    outline-offset: calc(var(--border-width) * 2);
}

.services-area__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.services-area__content {
    padding-block: var(--space-6);
}

@media (hover: hover) {
    .services-area__summary:hover .services-area__title {
        color: var(--color-red-600);
    }
}

.services-tax__introduction,
.services-accounting__introduction,
.services-corporate__introduction,
.services-financing__introduction,
.services-financial-management__introduction {
    display: grid;
    gap: var(--space-5);
}

.services-tax__scope,
.services-accounting__scope,
.services-corporate__scope,
.services-financing__scope,
.services-financial-management__scope {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: var(--border-width) solid var(--color-border);
}

.services-tax__scope-grid,
.services-accounting__scope-grid,
.services-corporate__scope-grid,
.services-financing__scope-grid,
.services-financial-management__scope-grid {
    display: grid;
}

.services-tax__scope-item,
.services-accounting__scope-item,
.services-corporate__scope-item,
.services-financing__scope-item,
.services-financial-management__scope-item {
    padding-block: var(--space-5);
    border-top: var(--border-width) solid var(--color-border);
}

.services-tax__scope-item:first-child,
.services-accounting__scope-item:first-child,
.services-corporate__scope-item:first-child,
.services-financing__scope-item:first-child,
.services-financial-management__scope-item:first-child {
    border-top: 0;
}

.services-tax__scope-item h4,
.services-tax__closing-item h3,
.services-accounting__scope-item h4,
.services-accounting__closing-item h3,
.services-corporate__scope-item h4,
.services-corporate__closing-item h3,
.services-financing__scope-item h4,
.services-financing__closing-item h3,
.services-financial-management__scope-item h4,
.services-financial-management__closing-item h3 {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-xl);
    font-weight: 400;
    line-height: var(--line-height-heading);
}

.services-tax__scope-item p,
.services-tax__closing-item p,
.services-accounting__scope-item p,
.services-accounting__closing-item p,
.services-corporate__scope-item p,
.services-corporate__closing-item p,
.services-financing__scope-item p,
.services-financing__closing-item p,
.services-financial-management__scope-item p,
.services-financial-management__closing-item p {
    margin-top: var(--space-3);
}

.services-tax__scope-item ul,
.services-accounting__scope-item ul,
.services-corporate__scope-item ul,
.services-financing__scope-item ul,
.services-financial-management__scope-item ul {
    display: grid;
    gap: var(--space-2);
    margin: var(--space-4) 0 0;
    padding-left: var(--space-5);
}

.services-tax__scope-item li::marker,
.services-accounting__scope-item li::marker,
.services-corporate__scope-item li::marker,
.services-financing__scope-item li::marker,
.services-financial-management__scope-item li::marker {
    color: var(--color-red-600);
}

.services-tax__closing,
.services-accounting__closing,
.services-corporate__closing,
.services-financing__closing,
.services-financial-management__closing {
    display: grid;
    gap: var(--space-5);
    margin-top: var(--space-5);
    padding-top: var(--space-5);
    border-top: var(--border-width) solid var(--color-border);
}

@media (min-width: 64rem) {
    .services-tax__introduction,
    .services-accounting__introduction,
    .services-corporate__introduction,
    .services-financing__introduction,
    .services-financial-management__introduction {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
        align-items: start;
        gap: var(--space-8);
    }

    .services-tax__approach,
    .services-accounting__approach,
    .services-corporate__approach,
    .services-financing__approach,
    .services-financial-management__approach {
        grid-column: 1;
    }

    .services-area__summary {
        padding-block: var(--space-5);
    }

    .services-area__content {
        padding-block: var(--space-6);
    }

    .services-tax__scope,
    .services-accounting__scope,
    .services-corporate__scope,
    .services-financing__scope,
    .services-financial-management__scope {
        margin-top: var(--space-4);
        padding-top: var(--space-4);
    }

    .services-tax__scope-grid,
    .services-accounting__scope-grid,
    .services-corporate__scope-grid,
    .services-financing__scope-grid,
    .services-financial-management__scope-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .services-tax__scope-item,
    .services-accounting__scope-item,
    .services-corporate__scope-item,
    .services-financing__scope-item,
    .services-financial-management__scope-item {
        padding-block: 1.75rem;
    }

    .services-tax__scope-item:nth-child(odd),
    .services-accounting__scope-item:nth-child(odd),
    .services-corporate__scope-item:nth-child(odd),
    .services-financing__scope-item:nth-child(odd),
    .services-financial-management__scope-item:nth-child(odd) {
        padding-right: var(--space-7);
    }

    .services-tax__scope-item:nth-child(even),
    .services-accounting__scope-item:nth-child(even),
    .services-corporate__scope-item:nth-child(even),
    .services-financing__scope-item:nth-child(even),
    .services-financial-management__scope-item:nth-child(even) {
        padding-left: var(--space-7);
        border-left: var(--border-width) solid var(--color-border);
    }

    .services-tax__scope-item:nth-child(2),
    .services-accounting__scope-item:nth-child(2),
    .services-corporate__scope-item:nth-child(2),
    .services-financing__scope-item:nth-child(2),
    .services-financial-management__scope-item:nth-child(2) {
        border-top: 0;
    }

    .services-accounting__scope-item:nth-child(5) {
        grid-column: 1 / -1;
        padding-right: 0;
    }

    .services-accounting__scope-item:nth-child(5) > * {
        width: 100%;
        max-width: var(--content-max-width);
        margin-inline: auto;
    }

    .services-financing__scope-item:nth-child(5) {
        grid-column: 1 / -1;
        padding-right: 0;
    }

    .services-financing__scope-item:nth-child(5) > * {
        width: 100%;
        max-width: var(--content-max-width);
        margin-inline: auto;
    }

    .services-financial-management__scope-item:nth-child(5) {
        grid-column: 1 / -1;
        padding-right: 0;
    }

    .services-financial-management__scope-item:nth-child(5) > * {
        width: 100%;
        max-width: var(--content-max-width);
        margin-inline: auto;
    }

    .services-corporate__scope-item:nth-child(3) {
        grid-column: 1 / -1;
        padding-right: 0;
    }

    .services-corporate__scope-item:nth-child(3) > * {
        width: 100%;
        max-width: var(--content-max-width);
        margin-inline: auto;
    }

    .services-tax__closing,
    .services-accounting__closing,
    .services-corporate__closing,
    .services-financing__closing,
    .services-financial-management__closing {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin-top: var(--space-5);
        padding-top: var(--space-5);
    }

    .services-tax__closing-item:first-child,
    .services-accounting__closing-item:first-child,
    .services-corporate__closing-item:first-child,
    .services-financing__closing-item:first-child,
    .services-financial-management__closing-item:first-child {
        padding-right: var(--space-7);
    }

    .services-tax__closing-item + .services-tax__closing-item,
    .services-accounting__closing-item + .services-accounting__closing-item,
    .services-corporate__closing-item + .services-corporate__closing-item,
    .services-financing__closing-item + .services-financing__closing-item,
    .services-financial-management__closing-item + .services-financial-management__closing-item {
        padding-left: var(--space-7);
        border-left: var(--border-width) solid var(--color-border);
    }
}

.services-page-closing {
    margin-top: var(--space-7);
    padding-block: var(--space-5);
    background: var(--color-surface);
}

.services-page-closing__inner {
    display: grid;
    align-items: start;
    gap: var(--space-5);
}

.services-page-closing__content {
    max-width: var(--content-max-width);
}

.services-page-closing__content p {
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.services-page-closing__content p + p {
    margin-top: var(--space-4);
}

.services-page-closing__action {
    justify-self: start;
    max-width: 100%;
    white-space: normal;
}

@media (min-width: 64rem) {
    .services-page-closing {
        margin-top: var(--space-8);
        padding-block: 1.75rem;
    }

    .services-page-closing__inner {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
        align-items: center;
        gap: var(--space-8);
    }

    .services-page-closing__action {
        justify-self: end;
    }
}

/* ./pages/audience.css */
.audience-hero {
    position: relative;
    padding-block: var(--space-5) var(--space-6);
    background: var(--color-background);
}

.audience-hero__inner {
    display: grid;
    position: relative;
    gap: var(--space-5);
}

.audience-hero__content,
.audience-hero__text,
.audience-transition__text,
.audience-contact-cta__text {
    max-width: var(--content-max-width);
}

.audience-hero__title,
.audience-section__title,
.audience-profiles__item h3 {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-weight: 400;
}

.audience-hero__title {
    font-size: var(--font-size-3xl);
    line-height: var(--line-height-tight);
}

.audience-hero__title::after,
.audience-section__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.audience-hero__text {
    margin-top: var(--space-5);
}

.audience-hero__text,
.audience-transition__text,
.audience-profiles__item p,
.audience-editorial__block p,
.audience-contact-cta__text {
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.audience-hero__media {
    position: relative;
    min-height: 11rem;
    overflow: hidden;
    -webkit-mask-image: none;
    mask-image: none;
}

.audience-hero__media picture {
    position: absolute;
    inset: 0;
    display: block;
}

.audience-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 71% 54%;
}

.audience-hero__transition {
    max-width: 38rem;
}

.audience-transition__text {
    max-width: 38rem;
}

.audience-profiles,
.audience-editorial {
    padding-block: var(--space-6);
    background: var(--color-background);
}

.audience-section__title {
    font-size: var(--font-size-2xl);
    line-height: var(--line-height-tight);
}

.audience-profiles__grid {
    display: grid;
    margin-top: var(--space-6);
    border-top: var(--border-width) solid var(--color-border);
}

.audience-profiles__item {
    padding-block: var(--space-5);
    border-top: var(--border-width) solid var(--color-border);
}

.audience-profiles__item:first-child {
    border-top: 0;
}

.audience-profiles__item h3 {
    font-size: var(--font-size-xl);
    line-height: var(--line-height-heading);
}

.audience-profiles__item p,
.audience-editorial__block p + p {
    margin-top: var(--space-3);
}

.audience-editorial {
    border-top: var(--border-width) solid var(--color-border);
}

.audience-editorial__inner {
    display: grid;
    gap: var(--space-6);
}

.audience-editorial__block p:first-of-type {
    margin-top: var(--space-5);
}

.audience-contact-cta {
    padding-block: var(--space-5);
    background: var(--color-surface);
}

.audience-contact-cta__inner {
    display: grid;
    align-items: start;
    gap: var(--space-5);
}

.audience-contact-cta__action {
    justify-self: start;
    max-width: 100%;
    white-space: normal;
}

@media (min-width: 64rem) {
    .audience-hero {
        padding-block: var(--space-6) var(--space-5);
    }

    .audience-hero__inner {
        display: block;
        min-height: 24rem;
    }

    .audience-hero__content {
        position: relative;
        z-index: 1;
        width: 58%;
        padding-top: var(--space-5);
    }

    .audience-hero__text {
        max-width: 38rem;
    }

    .audience-hero__transition {
        position: relative;
        z-index: 1;
        width: 58%;
        margin-top: var(--space-5);
    }

    .audience-hero__media {
        position: absolute;
        inset: 0 0 0 48%;
        min-height: 0;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 36%, black 100%);
        mask-image: linear-gradient(to right, transparent 0%, black 36%, black 100%);
    }

    .audience-hero__media img {
        object-position: 76% 56%;
    }

    .audience-profiles,
    .audience-editorial {
        padding-block: 2.5rem;
    }

    .audience-profiles__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 2.5rem;
    }

    .audience-profiles__item {
        padding-block: 1.75rem;
    }

    .audience-profiles__item:nth-child(odd) {
        padding-right: var(--space-7);
    }

    .audience-profiles__item:nth-child(even) {
        padding-left: var(--space-7);
        border-left: var(--border-width) solid var(--color-border);
    }

    .audience-profiles__item:nth-child(2) {
        border-top: 0;
    }

    .audience-editorial__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
    }

    .audience-editorial__block:first-child {
        padding-right: var(--space-7);
    }

    .audience-editorial__block + .audience-editorial__block {
        padding-left: var(--space-7);
        border-left: var(--border-width) solid var(--color-border);
    }

    .audience-contact-cta {
        padding-block: 1.75rem;
    }

    .audience-contact-cta__inner {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
        align-items: center;
        gap: var(--space-8);
    }

    .audience-contact-cta__action {
        justify-self: end;
    }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
    .audience-hero__media img {
        object-position: 74% 66%;
    }
}

/* ./pages/office.css */
.office-hero {
    position: relative;
    padding-block: var(--space-5) var(--space-6);
    background: var(--color-background);
}

.office-hero__inner {
    display: grid;
    position: relative;
    gap: var(--space-5);
}

.office-hero__content,
.office-hero__text,
.office-block__content,
.office-contact-cta__text {
    max-width: var(--content-max-width);
}

.office-hero__title,
.office-block__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-weight: 400;
}

.office-hero__title {
    font-size: var(--font-size-3xl);
    line-height: var(--line-height-tight);
}

.office-hero__title::after,
.office-block__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.office-hero__text {
    margin-top: var(--space-5);
}

.office-hero__text,
.office-block__content p,
.office-contact-cta__text {
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.office-hero__media {
    position: relative;
    min-height: 11rem;
    overflow: hidden;
    -webkit-mask-image: none;
    mask-image: none;
}

.office-hero__media picture {
    position: absolute;
    inset: 0;
    display: block;
}

.office-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 56% 58%;
}

.office-block {
    padding-block: var(--space-6);
    background: var(--color-background);
    border-top: var(--border-width) solid var(--color-border);
}

.office-block__inner {
    display: grid;
    gap: var(--space-5);
}

.office-block__title {
    font-size: var(--font-size-2xl);
    line-height: var(--line-height-tight);
}

.office-block__content p + p {
    margin-top: var(--space-4);
}

.office-contact-cta {
    padding-block: var(--space-5);
    background: var(--color-surface);
}

.office-contact-cta__inner {
    display: grid;
    align-items: start;
    gap: var(--space-5);
}

.office-contact-cta__action {
    justify-self: start;
    max-width: 100%;
    white-space: normal;
}

@media (min-width: 64rem) {
    .office-hero {
        padding-block: var(--space-6) var(--space-5);
    }

    .office-hero__inner {
        display: flex;
        align-items: center;
        min-height: 18rem;
    }

    .office-hero__content {
        position: relative;
        z-index: 1;
        width: 58%;
    }

    .office-hero__text {
        max-width: 38rem;
    }

    .office-hero__media {
        position: absolute;
        inset: 0 0 0 48%;
        min-height: 0;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 36%, black 100%);
        mask-image: linear-gradient(to right, transparent 0%, black 36%, black 100%);
    }

    .office-hero__media img {
        object-position: 58% 60%;
    }

    .office-block {
        padding-block: 2.5rem;
    }

    .office-block__inner {
        grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
        align-items: center;
        gap: var(--space-8);
    }

    .office-block__inner--reversed .office-block__title {
        grid-column: 2;
    }

    .office-block__inner--reversed .office-block__content {
        grid-row: 1;
        grid-column: 1;
    }

    .office-contact-cta {
        padding-block: 1.75rem;
    }

    .office-contact-cta__inner {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
        align-items: center;
        gap: var(--space-8);
    }

    .office-contact-cta__action {
        justify-self: end;
    }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
    .office-hero__media img {
        object-position: 56% 66%;
    }
}

/* ./pages/contact.css */
.contact-page {
    padding-block: var(--space-6);
    background: var(--color-background);
}

.contact-page__inner {
    display: grid;
    gap: var(--space-6);
}

.contact-page__title {
    color: var(--color-text);
    font-family: var(--font-family-display);
    font-size: var(--font-size-3xl);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.contact-page__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.contact-page__introduction {
    max-width: 38rem;
    margin-top: var(--space-5);
    color: var(--color-text);
    line-height: var(--line-height-body);
}

.contact-page__details {
    display: grid;
    gap: var(--space-5);
    margin-top: var(--space-6);
    color: var(--color-text);
    font-style: normal;
    line-height: var(--line-height-body);
}

.contact-page__details p,
.contact-page__details span {
    display: grid;
}

.contact-page__details a {
    color: inherit;
    text-decoration-color: var(--color-red-600);
    text-underline-offset: var(--space-1);
}

.contact-map {
    margin-top: var(--space-6);
}

.contact-map__viewport {
    position: relative;
    width: 100%;
    height: 16rem;
    overflow: hidden;
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-sm);
}

.contact-map__fallback {
    display: grid;
    height: 100%;
    place-content: center;
    gap: var(--space-4);
    padding: var(--space-5);
    background: var(--color-surface);
    color: var(--color-text);
    line-height: var(--line-height-body);
    text-align: center;
}

.contact-map__fallback[hidden] {
    display: none;
}

.contact-map__fallback address {
    display: grid;
    font-style: normal;
}

.contact-map__iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.contact-map__directions {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    margin-top: var(--space-3);
    padding-inline: var(--space-4);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--border-radius-sm);
    color: var(--color-text);
    font-weight: 600;
    text-decoration: none;
}

.contact-map__directions:hover,
.contact-map__directions:focus-visible {
    border-color: var(--color-navy-950);
}

.contact-map__directions:focus-visible {
    outline: var(--border-width) solid var(--color-navy-950);
    outline-offset: var(--space-1);
}

.contact-form {
    display: grid;
    gap: var(--space-5);
}

.contact-form__field {
    display: grid;
    gap: var(--space-2);
}

.contact-form label {
    color: var(--color-text);
    font-weight: 600;
}

.contact-form__privacy a {
    color: inherit;
    text-decoration-color: var(--color-red-600);
    text-underline-offset: var(--space-1);
}

.contact-form input:not([type="checkbox"]),
.contact-form textarea {
    width: 100%;
    padding: var(--space-3);
    border: var(--border-width) solid var(--color-border);
    border-radius: 0;
    background: var(--color-background);
    color: var(--color-text);
    font: inherit;
    line-height: var(--line-height-body);
}

.contact-form textarea {
    min-height: 11rem;
    resize: vertical;
}

.contact-form input:focus-visible,
.contact-form textarea:focus-visible,
.contact-form__privacy input:focus-visible {
    outline: calc(var(--border-width) * 2) solid var(--color-red-600);
    outline-offset: calc(var(--border-width) * 2);
}

.contact-form__privacy {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-3);
    align-items: start;
}

.contact-form__privacy input {
    width: 1rem;
    height: 1rem;
    margin-top: 0.25rem;
    accent-color: var(--color-red-600);
}

.contact-form__privacy .contact-form__error {
    grid-column: 2;
}

.contact-form__captcha {
    min-width: 0;
}

.contact-form__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.contact-form__error {
    color: var(--color-red-600);
    line-height: var(--line-height-body);
}

.contact-form__success {
    margin-bottom: var(--space-5);
    padding: var(--space-4);
    border-left: calc(var(--border-width) * 3) solid var(--color-red-600);
    background: var(--color-surface);
    color: var(--color-text);
    line-height: var(--line-height-body);
}

@media (min-width: 64rem) {
    .contact-page {
        padding-block: 2.5rem;
    }

    .contact-page__inner {
        grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
        gap: var(--space-8);
    }

    .contact-map__viewport {
        height: 18rem;
    }

    .contact-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-form__field--full,
    .contact-form__captcha,
    .contact-form__privacy,
    .contact-form button {
        grid-column: 1 / -1;
    }
}

/* ./pages/legal.css */
.legal-page {
    background: var(--color-background);
    color: var(--color-text);
}

.legal-page__header {
    padding-block: var(--space-6) var(--space-7);
    border-bottom: var(--border-width) solid var(--color-border);
}

.legal-page__header-inner,
.legal-page__body {
    max-width: calc(var(--content-max-width) + (var(--page-gutter) * 2));
}

.legal-page__title,
.legal-page__section h2,
.legal-page__subsection h3 {
    font-family: var(--font-family-display);
    font-weight: 400;
    line-height: var(--line-height-tight);
}

.legal-page__title {
    font-size: var(--font-size-3xl);
}

.legal-page__title::after {
    display: block;
    width: var(--space-6);
    height: var(--border-width);
    margin-top: var(--space-4);
    background: var(--color-red-600);
    content: "";
}

.legal-page__introduction {
    margin-top: var(--space-5);
    line-height: var(--line-height-body);
}

.legal-page__reference {
    margin-top: var(--space-4);
    line-height: var(--line-height-body);
}

.legal-page__body {
    padding-block: var(--space-7) var(--space-8);
}

.legal-page__index {
    padding-bottom: var(--space-6);
    border-bottom: var(--border-width) solid var(--color-border);
}

.legal-page__index ol {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding-left: var(--space-5);
}

.legal-page a {
    color: inherit;
    text-decoration-color: var(--color-red-600);
    text-underline-offset: var(--space-1);
}

.legal-page__section {
    padding-block: var(--space-7);
    border-bottom: var(--border-width) solid var(--color-border);
    scroll-margin-top: calc(var(--site-header-height) + var(--space-4));
}

.legal-page__section h2 {
    margin-bottom: var(--space-5);
    font-size: var(--font-size-2xl);
}

.legal-page__subsection {
    margin-top: var(--space-6);
}

.legal-page__subsection + .legal-page__subsection {
    margin-top: var(--space-5);
}

.legal-page__subsection h3 {
    margin-bottom: var(--space-4);
    font-size: var(--font-size-xl);
}

.legal-page__section p,
.legal-page__facts {
    line-height: var(--line-height-body);
}

.legal-page__section p + p {
    margin-top: var(--space-4);
}

.legal-page__list {
    display: grid;
    gap: var(--space-3);
    margin-block: var(--space-4);
    padding-left: var(--space-5);
    line-height: var(--line-height-body);
}

.legal-page__facts {
    display: grid;
    gap: var(--space-4);
    margin-top: var(--space-5);
}

.legal-page__facts div {
    display: grid;
    gap: var(--space-1);
}

.legal-page__facts dt {
    font-weight: 700;
}

.legal-page__facts dd {
    margin: 0;
}

.legal-page__table-wrap {
    margin-top: var(--space-5);
    overflow-x: auto;
}

.legal-page__attribution {
    padding-block: var(--space-6);
    line-height: var(--line-height-body);
}

.legal-page table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.legal-page th,
.legal-page td {
    padding: var(--space-3);
    border: var(--border-width) solid var(--color-border);
    vertical-align: top;
}

@media (min-width: 64rem) {
    .legal-page__header {
        padding-block: var(--space-7) var(--space-8);
    }

    .legal-page__body {
        padding-block: var(--space-8) var(--space-9);
    }

    .legal-page__subsection + .legal-page__subsection {
        margin-top: var(--space-6);
    }
}
