:root {
    --gtsms-font-sans: "Segoe UI Variable Text", "Segoe UI", Inter, Arial, sans-serif;
    --gtsms-font-serif: Georgia, "Times New Roman", serif;
    --gtsms-ink: #0e565a;
    --gtsms-ink-deep: #083f43;
    --gtsms-aqua: #0eb1a6;
    --gtsms-aqua-soft: #dff7f3;
    --gtsms-paper: #fffdf9;
    --gtsms-sand: #f3eee4;
    --gtsms-mist: #edf6f3;
    --gtsms-text: #183a3c;
    --gtsms-muted: #60797a;
    --gtsms-line: rgba(14, 86, 90, .16);
    --gtsms-shadow: 0 25px 70px rgba(8, 63, 67, .14);
}

.gtsms-page-wrapper,
.gtsms-page-wrapper * {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--gtsms-paper);
    color: var(--gtsms-text);
    font-family: var(--gtsms-font-sans);
    -webkit-font-smoothing: antialiased;
}

.gtsms-page-wrapper a {
    color: inherit;
    text-decoration: none;
}

.gtsms-page-wrapper img {
    display: block;
    max-width: 100%;
}

.gtsms-page-wrapper button,
.gtsms-page-wrapper input,
.gtsms-page-wrapper select,
.gtsms-page-wrapper textarea {
    font: inherit;
}

.gtsms-skip-link {
    position: fixed;
    z-index: 10000;
    top: -6rem;
    left: 1rem;
    padding: .85rem 1rem;
    border-radius: .5rem;
    background: var(--gtsms-ink-deep);
    color: white;
}

.gtsms-skip-link:focus {
    top: 1rem;
}

/* Concrete affiche le contenu de démonstration tant que la zone est vide. */
.gtsms-demo-content {
    display: contents;
}

.ccm-edit-mode [data-gtsms-area] {
    min-height: 54px;
    outline: 1px dashed rgba(14, 177, 166, .5);
    outline-offset: 4px;
}

.ccm-edit-mode [data-gtsms-area]::before {
    content: attr(data-gtsms-area);
    display: inline-block;
    position: relative;
    z-index: 4;
    margin: .35rem;
    padding: .28rem .5rem;
    border-radius: 999px;
    background: var(--gtsms-aqua-soft);
    color: var(--gtsms-ink-deep);
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .04em;
}

/* Header */
.gtsms-site-header {
    position: relative;
    z-index: 30;
    min-height: 98px;
    display: grid;
    grid-template-columns: minmax(185px, 1fr) auto minmax(185px, 1fr);
    align-items: center;
    gap: 2rem;
    padding: 0 clamp(1.25rem, 5vw, 5rem);
    border-bottom: 1px solid var(--gtsms-line);
    background: rgba(255, 253, 249, .95);
    backdrop-filter: blur(18px);
    font-family: var(--gtsms-font-sans);
}

.gtsms-brand {
    width: 162px;
    display: inline-flex;
}

.gtsms-brand img {
    width: 100%;
}

.gtsms-desktop-nav,
.gtsms-desktop-nav .ccm-block-autonav,
.gtsms-desktop-nav ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.35rem, 3vw, 3rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.gtsms-desktop-nav a {
    position: relative;
    display: inline-block;
    padding: 2.4rem 0;
    color: var(--gtsms-text);
    font-size: .82rem;
    font-weight: 700;
}

.gtsms-desktop-nav a::after {
    content: "";
    position: absolute;
    right: 100%;
    bottom: 1.8rem;
    left: 0;
    height: 2px;
    background: var(--gtsms-aqua);
    transition: right .25s ease;
}

.gtsms-desktop-nav a:hover::after,
.gtsms-desktop-nav a:focus-visible::after,
.gtsms-desktop-nav .nav-selected a::after {
    right: 0;
}

.gtsms-header-cta {
    justify-self: end;
}

.gtsms-pill-link {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    padding: .82rem 1.15rem;
    border: 1px solid var(--gtsms-line);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 750;
    transition: background .2s, color .2s, transform .2s;
}

.gtsms-pill-link:hover {
    background: var(--gtsms-ink);
    color: white;
    transform: translateY(-2px);
}

.gtsms-mobile-menu {
    display: none;
}

/* Shared typography */
.gtsms-eyebrow,
.gtsms-kicker {
    margin: 0 0 1.6rem;
    color: var(--gtsms-ink);
    font-size: .67rem;
    font-weight: 780;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.gtsms-eyebrow {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.gtsms-eyebrow span {
    width: 28px;
    height: 2px;
    background: var(--gtsms-aqua);
}

.gtsms-kicker-light {
    color: var(--gtsms-aqua);
}

.gtsms-button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    padding: .85rem 1.35rem;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 750;
    transition: transform .2s, box-shadow .2s, background .2s;
}

.gtsms-button:hover {
    transform: translateY(-2px);
}

.gtsms-button-primary {
    background: var(--gtsms-ink);
    color: white !important;
    box-shadow: 0 14px 32px rgba(14, 86, 90, .18);
}

.gtsms-button-light {
    background: white;
    color: var(--gtsms-ink-deep) !important;
}

.gtsms-button-aqua {
    background: var(--gtsms-aqua);
    color: var(--gtsms-ink-deep) !important;
}

.gtsms-text-link {
    padding-bottom: .3rem;
    border-bottom: 1px solid rgba(14, 86, 90, .35);
    font-size: .82rem;
    font-weight: 720;
}

.gtsms-section-heading {
    display: grid;
    grid-template-columns: 1.2fr .7fr;
    align-items: end;
    gap: 5rem;
    margin-bottom: 4.5rem;
}

.gtsms-section-heading h2,
.gtsms-map-intro h2,
.gtsms-establishments-intro h2,
.gtsms-join-copy h2 {
    margin: 0;
    color: var(--gtsms-ink-deep);
    font-size: clamp(3.15rem, 5vw, 5.8rem);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.06em;
}

.gtsms-section-heading h2 em,
.gtsms-map-intro h2 em,
.gtsms-establishments-intro h2 em,
.gtsms-join-copy h2 em {
    color: var(--gtsms-aqua);
    font-family: Georgia, serif;
    font-weight: 400;
}

.gtsms-section-heading > div:last-child p,
.gtsms-map-intro > p:last-child,
.gtsms-establishments-intro > p,
.gtsms-join-copy > p {
    margin: 0;
    color: var(--gtsms-muted);
    font-size: .96rem;
    line-height: 1.75;
}

/* Home hero */
.gtsms-home-hero {
    min-height: 785px;
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
    align-items: center;
    gap: clamp(3rem, 6vw, 7rem);
    padding: 72px clamp(1.25rem, 6.5vw, 7rem) 84px;
    background: radial-gradient(circle at 8% 16%, rgba(14, 177, 166, .12), transparent 29%), linear-gradient(118deg, var(--gtsms-paper) 0 58%, var(--gtsms-mist) 58%);
}

.gtsms-home-hero-copy {
    position: relative;
    z-index: 3;
    max-width: 690px;
}

.gtsms-home-hero h1,
.gtsms-home-hero-copy .ccm-block-content h1 {
    margin: 0;
    color: var(--gtsms-ink-deep);
    font-size: clamp(3.8rem, 6vw, 7rem);
    font-weight: 720;
    line-height: .91;
    letter-spacing: -.067em;
}

.gtsms-home-hero h1 em {
    color: var(--gtsms-aqua);
    font-family: Georgia, serif;
    font-weight: 400;
}

.gtsms-hero-lead {
    max-width: 625px;
    margin: 2.1rem 0 0;
    color: #49696b;
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height: 1.7;
}

.gtsms-actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 2.2rem;
}

.gtsms-hero-note {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
}

.gtsms-hero-note strong {
    color: var(--gtsms-aqua);
    font-size: 3rem;
    line-height: 1;
    letter-spacing: -.08em;
}

.gtsms-hero-note span {
    padding-left: 1rem;
    border-left: 1px solid var(--gtsms-line);
    color: var(--gtsms-muted);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.gtsms-home-hero-media {
    position: relative;
    height: 620px;
}

.gtsms-home-hero-media > .ccm-block-image,
.gtsms-home-hero-media > .ccm-block-image > picture,
.gtsms-home-hero-media > .ccm-block-image > picture > img,
.gtsms-home-hero-media > .ccm-block-image > img {
    width: 100%;
    height: 100%;
}

.gtsms-home-hero-media > .ccm-block-image img {
    border-radius: 2rem;
    object-fit: cover;
    box-shadow: var(--gtsms-shadow);
}

.gtsms-resident-photo {
    position: absolute;
    inset: 0 0 24px 3%;
    margin: 0;
    overflow: hidden;
    border-radius: 2rem;
    background: var(--gtsms-ink);
    box-shadow: var(--gtsms-shadow);
}

.gtsms-resident-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(6, 48, 51, .76), transparent 48%);
}

.gtsms-resident-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 48% center;
}

.gtsms-resident-photo figcaption {
    position: absolute;
    z-index: 2;
    right: 2rem;
    bottom: 1.7rem;
    left: 2rem;
    display: grid;
    gap: .35rem;
    color: white;
    font-size: .95rem;
    font-weight: 650;
}

.gtsms-resident-photo figcaption span {
    color: var(--gtsms-aqua);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.gtsms-floating-story {
    width: 225px;
    position: absolute;
    z-index: 4;
    bottom: 0;
    left: -1.4rem;
    overflow: hidden;
    border: 8px solid var(--gtsms-paper);
    border-radius: 1.4rem;
    background: var(--gtsms-ink-deep);
    box-shadow: 0 24px 48px rgba(8, 63, 67, .25);
}

.gtsms-floating-story > img {
    width: 100%;
    height: 205px;
    object-fit: cover;
    object-position: center 44%;
}

.gtsms-floating-story::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(8, 63, 67, .98) 0 33%, transparent 68%);
}

.gtsms-floating-story p {
    position: relative;
    z-index: 2;
    margin: -2.6rem 0 0;
    padding: 1rem;
    color: white;
    font-size: .8rem;
    font-weight: 650;
    line-height: 1.35;
}

.gtsms-floating-story small {
    display: block;
    margin-bottom: .35rem;
    color: var(--gtsms-aqua);
    font-size: .57rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gtsms-play {
    position: absolute;
    z-index: 3;
    top: .85rem;
    right: .85rem;
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--gtsms-aqua);
    color: var(--gtsms-ink-deep);
    font-size: .66rem;
}

.gtsms-hero-badge {
    position: absolute;
    z-index: 5;
    top: 1.8rem;
    right: -1.8rem;
    width: 124px;
    height: 124px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--gtsms-aqua);
    color: var(--gtsms-ink-deep);
    font-size: 2.2rem;
    font-weight: 800;
    letter-spacing: -.08em;
    transform: rotate(8deg);
    box-shadow: 0 15px 34px rgba(14, 177, 166, .26);
}

/* Key figures */
.gtsms-key-strip {
    min-height: 170px;
    display: grid;
    grid-template-columns: repeat(3, 1fr) 1.3fr;
    align-items: center;
    padding: 0 clamp(1.25rem, 6.5vw, 7rem);
    border-top: 1px solid var(--gtsms-line);
    border-bottom: 1px solid var(--gtsms-line);
    background: white;
}

.gtsms-key {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.gtsms-key strong {
    color: var(--gtsms-ink);
    font-size: clamp(2.4rem, 3.4vw, 3.8rem);
    letter-spacing: -.075em;
}

.gtsms-key span {
    max-width: 110px;
    color: var(--gtsms-muted);
    font-size: .68rem;
    line-height: 1.45;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gtsms-key-message {
    margin: 0;
    padding-left: 2.6rem;
    border-left: 1px solid var(--gtsms-line);
    color: var(--gtsms-ink);
    font-family: Georgia, serif;
    font-size: 1.15rem;
    line-height: 1.55;
}

.gtsms-key-message em {
    color: var(--gtsms-aqua);
}

/* Pathways */
.gtsms-pathways {
    padding: 120px clamp(1.25rem, 6.5vw, 7rem) 130px;
    background: var(--gtsms-sand);
}

.gtsms-pathway-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.gtsms-pathway-grid > div {
    display: flex;
}

.gtsms-pathway-grid article,
.gtsms-pathway-grid .ccm-block-content {
    width: 100%;
    min-height: 350px;
    padding: 2.2rem;
    border: 1px solid var(--gtsms-line);
    background: rgba(255, 255, 255, .45);
    transition: transform .25s, background .25s;
}

.gtsms-pathway-grid > div:nth-child(2) article,
.gtsms-pathway-grid > div:nth-child(2) .ccm-block-content {
    background: var(--gtsms-ink);
    color: white;
    transform: translateY(-18px);
}

.gtsms-pathway-grid article > span {
    display: block;
    margin-bottom: 4.5rem;
    color: var(--gtsms-aqua);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.gtsms-pathway-grid h3 {
    margin: 0 0 1rem;
    font-size: 1.45rem;
    letter-spacing: -.035em;
}

.gtsms-pathway-grid p {
    margin: 0 0 2rem;
    color: var(--gtsms-muted);
    font-size: .9rem;
    line-height: 1.7;
}

.gtsms-pathway-grid > div:nth-child(2) p {
    color: rgba(255, 255, 255, .68);
}

.gtsms-pathway-grid a {
    display: inline-flex;
    gap: .6rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid currentColor;
    font-size: .77rem;
    font-weight: 750;
}

/* Map */
.gtsms-map-section {
    display: grid;
    grid-template-columns: .42fr 1fr;
    align-items: center;
    gap: clamp(3rem, 7vw, 8rem);
    padding: 130px clamp(1.25rem, 6.5vw, 7rem);
    background: var(--gtsms-ink-deep);
    color: white;
}

.gtsms-map-intro h2,
.gtsms-establishments-intro h2 {
    color: white;
}

.gtsms-map-intro > p:last-child,
.gtsms-establishments-intro > p {
    margin-top: 2rem;
    color: rgba(255, 255, 255, .64);
}

.gtsms-map-card {
    min-height: 620px;
    display: grid;
    grid-template-columns: minmax(280px, .78fr) 1fr;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 1.8rem;
    background: #07373a;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .18);
}

.gtsms-map-card > img {
    width: 100%;
    height: 620px;
    padding: 2rem 3rem;
    object-fit: contain;
    filter: drop-shadow(0 20px 35px rgba(0, 0, 0, .2));
}

.gtsms-map-card > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.3rem, 5vw, 4.8rem);
    background: var(--gtsms-aqua);
    color: var(--gtsms-ink-deep);
}

.gtsms-map-count {
    margin: 0 0 3rem;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.gtsms-map-card h3 {
    margin: 0;
    font-size: clamp(2.1rem, 3.5vw, 3.7rem);
    line-height: 1;
    letter-spacing: -.055em;
}

.gtsms-map-card > div > p:not(.gtsms-map-count) {
    margin: 1.5rem 0 2.5rem;
    font-size: .91rem;
    line-height: 1.7;
}

.gtsms-map-card .gtsms-button {
    align-self: flex-start;
}

/* News */
.gtsms-news {
    padding: 125px clamp(1.25rem, 6.5vw, 7rem) 140px;
}

.gtsms-social-copy a {
    display: inline-block;
    margin: 0 1rem .5rem 0;
    padding-bottom: .25rem;
    border-bottom: 1px solid var(--gtsms-line);
    font-size: .75rem;
    font-weight: 760;
}

.gtsms-news-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr .85fr;
    gap: 1.3rem;
}

.gtsms-news-card {
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--gtsms-line);
}

.gtsms-news-grid [data-gtsms-area] .ccm-block-content {
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--gtsms-line);
}

.gtsms-news-grid [data-gtsms-area] .ccm-block-content img {
    width: 100%;
    height: 285px;
    margin-bottom: 1.25rem;
    border-radius: 1.25rem;
    object-fit: cover;
}

.gtsms-news-card > img {
    width: 100%;
    height: 285px;
    border-radius: 1.25rem;
    object-fit: cover;
    background: var(--gtsms-mist);
}

.gtsms-news-featured > img {
    height: 430px;
    object-position: center 38%;
}

.gtsms-news-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.3rem 0 .8rem;
    color: var(--gtsms-muted);
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.gtsms-news-meta span:first-child {
    color: var(--gtsms-aqua);
}

.gtsms-news-card h3 {
    margin: 0 0 .7rem;
    color: var(--gtsms-ink-deep);
    font-size: 1.32rem;
    line-height: 1.25;
    letter-spacing: -.035em;
}

.gtsms-news-card > p:last-child {
    margin: 0;
    color: var(--gtsms-muted);
    font-size: .85rem;
    line-height: 1.65;
}

/* Establishments */
.gtsms-establishments {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    align-items: center;
    gap: 6rem;
    padding: 130px clamp(1.25rem, 6.5vw, 7rem);
    background: var(--gtsms-ink);
    color: white;
}

.gtsms-establishments-intro .gtsms-button {
    margin-top: 2.1rem;
}

.gtsms-establishment-list {
    border-top: 1px solid rgba(255, 255, 255, .15);
}

.gtsms-establishment-list > a {
    min-height: 103px;
    display: grid;
    grid-template-columns: 38px 1fr auto 22px;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    transition: padding .2s, background .2s;
}

.gtsms-establishment-list > a:hover {
    padding: 0 1rem;
    background: rgba(255, 255, 255, .05);
}

.gtsms-establishment-list span,
.gtsms-establishment-list i {
    color: var(--gtsms-aqua);
    font-size: .64rem;
    font-style: normal;
    font-weight: 760;
}

.gtsms-establishment-list strong {
    font-size: 1.18rem;
}

.gtsms-establishment-list em {
    color: rgba(255, 255, 255, .5);
    font-size: .67rem;
    font-style: normal;
    text-transform: uppercase;
}

/* Recruitment */
.gtsms-join {
    min-height: 650px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--gtsms-sand);
}

.gtsms-join > div {
    display: flex;
}

.gtsms-join > div:last-child > .ccm-block-image,
.gtsms-join > div:last-child > .ccm-block-image > picture,
.gtsms-join > div:last-child > .ccm-block-image img {
    width: 100%;
    height: 100%;
}

.gtsms-join > div:last-child > .ccm-block-image img {
    min-height: 650px;
    object-fit: cover;
}

.gtsms-join-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3rem, 7vw, 8rem);
}

.gtsms-join-copy .gtsms-button {
    align-self: flex-start;
    margin-top: 2.1rem;
}

.gtsms-join-image {
    width: 100%;
    position: relative;
    margin: 0;
    overflow: hidden;
}

.gtsms-join-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(8, 63, 67, .7), transparent 48%);
}

.gtsms-join-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% center;
}

.gtsms-join-image figcaption {
    position: absolute;
    z-index: 2;
    bottom: 1.8rem;
    left: 2rem;
    color: white;
    font-size: .72rem;
    font-weight: 720;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* Interior pages */
.gtsms-page-intro {
    min-height: 510px;
    display: grid;
    grid-template-columns: .42fr 1.2fr .62fr;
    align-items: center;
    gap: 4rem;
    padding: 75px clamp(1.25rem, 6.5vw, 7rem);
    background: radial-gradient(circle at 75% 20%, rgba(14, 177, 166, .12), transparent 27%), var(--gtsms-sand);
}

.gtsms-page-intro .gtsms-eyebrow {
    align-self: start;
    margin-top: 6rem;
}

.gtsms-page-intro h1 {
    margin: 0;
    color: var(--gtsms-ink-deep);
    font-family: Georgia, serif;
    font-size: clamp(3.8rem, 6vw, 7rem);
    font-weight: 400;
    line-height: .96;
    letter-spacing: -.055em;
}

.gtsms-page-intro > p:last-child {
    align-self: end;
    margin: 0 0 6rem;
    color: var(--gtsms-muted);
    font-size: .95rem;
    line-height: 1.8;
}

.gtsms-main-content {
    min-height: 42vh;
    padding: 100px clamp(1.25rem, 6.5vw, 7rem);
}

.gtsms-main-content h2,
.gtsms-main-content h3 {
    color: var(--gtsms-ink-deep);
}

.gtsms-main-content p,
.gtsms-main-content li {
    font-size: 1rem;
    line-height: 1.75;
}

.gtsms-single-page {
    max-width: 1440px;
    margin: 0 auto;
}

/* Layout presets */
.gtsms-layout {
    display: grid;
    gap: 1.5rem;
}

.gtsms-layout-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gtsms-layout-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gtsms-layout-asymmetric {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

/* Footer */
.gtsms-site-footer {
    padding: 80px clamp(1.25rem, 6.5vw, 7rem) 28px;
    background: #062f32;
    color: white;
}

.gtsms-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 4rem;
    padding-bottom: 4rem;
}

.gtsms-footer-brand img {
    width: 170px;
    filter: brightness(0) invert(1);
}

.gtsms-footer-brand p {
    max-width: 280px;
    margin: 1.3rem 0 0;
    color: rgba(255, 255, 255, .55);
    font-size: .82rem;
    line-height: 1.65;
}

.gtsms-footer-grid > div:not(.gtsms-footer-brand),
.gtsms-footer-grid > div:not(.gtsms-footer-brand) .ccm-block-content,
.gtsms-footer-fallback-editor {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .7rem;
}

.gtsms-footer-fallback-editor {
    width: 100%;
}

.gtsms-footer-grid a,
.gtsms-footer-grid > div:not(.gtsms-footer-brand) p:not(.gtsms-footer-label) {
    margin: 0;
    color: rgba(255, 255, 255, .63);
    font-size: .75rem;
    line-height: 1.6;
}

.gtsms-footer-label {
    margin: 0 0 .5rem;
    color: var(--gtsms-aqua);
    font-size: .61rem;
    font-weight: 780;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gtsms-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .38);
    font-size: .62rem;
}

@media (max-width: 1180px) {
    .gtsms-home-hero {
        padding-right: 3rem;
        padding-left: 3rem;
    }

    .gtsms-map-section {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .gtsms-site-header {
        min-height: 86px;
        grid-template-columns: 1fr auto;
    }

    .gtsms-desktop-nav,
    .gtsms-header-cta {
        display: none;
    }

    .gtsms-mobile-menu {
        display: block;
        justify-self: end;
        position: relative;
    }

    .gtsms-mobile-menu summary {
        width: 44px;
        height: 44px;
        display: grid;
        place-content: center;
        gap: 6px;
        border: 1px solid var(--gtsms-line);
        border-radius: 50%;
        cursor: pointer;
        list-style: none;
    }

    .gtsms-mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .gtsms-mobile-menu summary span {
        width: 18px;
        height: 2px;
        background: var(--gtsms-ink);
    }

    .gtsms-mobile-menu nav {
        width: min(300px, calc(100vw - 2rem));
        position: absolute;
        top: 58px;
        right: 0;
        display: grid;
        padding: 1rem;
        border: 1px solid var(--gtsms-line);
        border-radius: .8rem;
        background: white;
        box-shadow: var(--gtsms-shadow);
    }

    .gtsms-mobile-menu nav a {
        padding: .9rem;
        border-bottom: 1px solid var(--gtsms-line);
        font-size: .83rem;
        font-weight: 700;
    }

    .gtsms-home-hero {
        min-height: 0;
        grid-template-columns: 1fr;
        padding: 70px 2rem 90px;
    }

    .gtsms-home-hero-media {
        height: 560px;
    }

    .gtsms-key-strip {
        grid-template-columns: repeat(3, 1fr);
        padding: 1.8rem 2rem;
    }

    .gtsms-key-strip > div:last-child {
        grid-column: 1 / -1;
    }

    .gtsms-key-message {
        padding: 1.4rem 0 0;
        border-top: 1px solid var(--gtsms-line);
        border-left: 0;
    }

    .gtsms-section-heading {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .gtsms-pathway-grid {
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .gtsms-pathway-grid > div:nth-child(2) article,
    .gtsms-pathway-grid > div:nth-child(2) .ccm-block-content {
        transform: none;
    }

    .gtsms-map-card {
        grid-template-columns: 1fr 1fr;
    }

    .gtsms-news-grid {
        grid-template-columns: 1fr 1fr;
    }

    .gtsms-news-grid > div:first-child {
        grid-column: 1 / -1;
    }

    .gtsms-establishments {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .gtsms-join {
        grid-template-columns: 1fr;
    }

    .gtsms-join-image {
        min-height: 520px;
    }

    .gtsms-page-intro {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 90px 2rem;
    }

    .gtsms-page-intro .gtsms-eyebrow,
    .gtsms-page-intro > p:last-child {
        align-self: auto;
        margin: 0;
    }

    .gtsms-footer-grid {
        grid-template-columns: 1.4fr 1fr 1fr;
    }

    .gtsms-footer-grid > div:last-child {
        grid-column: 2;
    }
}

@media (max-width: 640px) {
    .gtsms-site-header {
        padding: 0 1.2rem;
    }

    .gtsms-brand {
        width: 142px;
    }

    .gtsms-home-hero {
        padding: 58px 1.2rem 74px;
    }

    .gtsms-home-hero h1,
    .gtsms-home-hero-copy .ccm-block-content h1 {
        font-size: clamp(3.3rem, 16vw, 5.2rem);
    }

    .gtsms-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.1rem;
    }

    .gtsms-home-hero-media {
        height: 475px;
        margin-top: 1.5rem;
    }

    .gtsms-resident-photo {
        inset: 0 0 28px 0;
        border-radius: 1.4rem;
    }

    .gtsms-floating-story {
        width: 160px;
        left: -.4rem;
        border-width: 6px;
    }

    .gtsms-floating-story > img {
        height: 155px;
    }

    .gtsms-hero-badge {
        width: 86px;
        height: 86px;
        right: -.5rem;
        font-size: 1.6rem;
    }

    .gtsms-key-strip {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    .gtsms-key-strip > div:last-child {
        grid-column: 1;
    }

    .gtsms-pathways,
    .gtsms-news {
        padding: 85px 1.2rem;
    }

    .gtsms-section-heading h2,
    .gtsms-map-intro h2,
    .gtsms-establishments-intro h2,
    .gtsms-join-copy h2 {
        font-size: clamp(2.8rem, 14vw, 4.5rem);
    }

    .gtsms-map-section {
        padding: 90px 1.2rem;
    }

    .gtsms-map-card {
        grid-template-columns: 1fr;
    }

    .gtsms-map-card > img {
        height: 540px;
        padding: 1rem 3rem;
    }

    .gtsms-news-grid {
        grid-template-columns: 1fr;
    }

    .gtsms-news-grid > div:first-child {
        grid-column: auto;
    }

    .gtsms-news-card > img,
    .gtsms-news-featured > img {
        height: 320px;
    }

    .gtsms-establishments {
        padding: 90px 1.2rem;
    }

    .gtsms-establishment-list > a {
        grid-template-columns: 30px 1fr 18px;
    }

    .gtsms-establishment-list em {
        display: none;
    }

    .gtsms-join-copy {
        padding: 80px 1.2rem;
    }

    .gtsms-join-image {
        min-height: 430px;
    }

    .gtsms-page-intro {
        padding: 75px 1.2rem;
    }

    .gtsms-page-intro h1 {
        font-size: clamp(3.2rem, 15vw, 5rem);
    }

    .gtsms-main-content {
        padding: 75px 1.2rem;
    }

    .gtsms-layout-two,
    .gtsms-layout-three,
    .gtsms-layout-asymmetric {
        grid-template-columns: 1fr;
    }

    .gtsms-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem 1.5rem;
    }

    .gtsms-footer-brand {
        grid-column: 1 / -1;
    }

    .gtsms-footer-grid > div:last-child {
        grid-column: auto;
    }

    .gtsms-footer-bottom {
        flex-direction: column;
        gap: .7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: .01ms !important;
    }
}
